Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

Random Hits - or Your Murder Here!

Discussion and information relevant to creating special missions, new ships, skins etc.

Moderators: another_commander, winston

User avatar
Captain Hesperus
Grand High Clock-Tower Poobah
Grand High Clock-Tower Poobah
Posts: 2312
Joined: Tue Sep 19, 2006 1:10 pm
Location: Anywhere I can sell Trumbles.....

Post by Captain Hesperus »

nijineko wrote:
wow, that's a lot of crimes. impressive. has anyone ever managed to break all and/or not break any of them?
<waves hand in air> Oh, oh, oh! Me, me, me, me! :wink:

Captain Hesperus
....as enthusiastic at law-breaking as he is at ripping off Jamesons.
The truth, revealed!!
Image
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2867
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

Nearly finished a fully playable Version 1.0!

I'll put it up next week. Still got a few things to finish off, but I've shot down over 10 victims in playtesting. I've gone rather overboard with randomization as every single hail and mission screen are randomly generated. Mission text template:-

Code: Select all

<key>random_hits_notwelcome</key>
<string>[random_hits_notwelcome_para1] [random_hits_notwelcome_para2]\n\n[random_hits_notwelcome_para3]\n\n[random_hits_notwelcome_para4] [mission_random_hits_broken]</string>

<key>level_one_mark_advert</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nPOSTED BY  : mission_random_hits_assassination_board_poster_title %R mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT      : mission_random_hits_assassination_board_subject\n\nmission_random_hits_assassination_board_part1 mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name], mission_random_hits_mark_race_part1 [mission_random_hits_mark_race_part2] mission_random_hits_assassination_board_part2 mission_random_hits_assassination_board_part3 mission_random_hits_mark_ship_description mission_random_hits_mark_ship mission_random_hits_assassination_board_part4 mission_random_hits_mark_system System. mission_random_hits_assassination_board_part5 mission_random_hits_mark_fee Credits mission_random_hits_assassination_board_part6 mission_random_hits_mark_gender mission_random_hits_assassination_board_part7\n\nREPLIES TO   : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n--------------------------------------------------------------------------------------------------------------------------\nCurrently viewing [assassination_board_job_name] mission_random_hits_page of 3. [assassination_board_easykill]</string>

<key>level_two_mark_advert</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nPOSTED BY  : mission_random_hits_assassination_board_poster_title %R mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT      : mission_random_hits_assassination_board_subject\n\nmission_random_hits_assassination_board_part1 mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name], mission_random_hits_mark_race_part1 [mission_random_hits_mark_race_part2] mission_random_hits_assassination_board_part2 mission_random_hits_assassination_board_part3 mission_random_hits_mark_ship_description mission_random_hits_mark_ship mission_random_hits_assassination_board_part4 mission_random_hits_mark_system System. mission_random_hits_assassination_board_part5 mission_random_hits_mark_fee Credits mission_random_hits_assassination_board_part6 mission_random_hits_mark_gender mission_random_hits_assassination_board_part7\n\nREPLIES TO   : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n--------------------------------------------------------------------------------------------------------------------------\nCurrently viewing [assassination_board_job_name] mission_random_hits_page of 3. [assassination_board_mediumkill]</string>

<key>level_three_mark_advert</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nPOSTED BY  : mission_random_hits_assassination_board_poster_title %R mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT      : mission_random_hits_assassination_board_subject\n\nmission_random_hits_assassination_board_part1 mission_random_hits_mark_first_name mission_random_hits_mark_nick_name [mission_random_hits_mark_second_name], mission_random_hits_mark_race_part1 [mission_random_hits_mark_race_part2] mission_random_hits_assassination_board_part2 mission_random_hits_assassination_board_part3 mission_random_hits_mark_ship_description mission_random_hits_mark_ship mission_random_hits_assassination_board_part4 mission_random_hits_mark_system System. mission_random_hits_assassination_board_part5 mission_random_hits_mark_fee Credits mission_random_hits_assassination_board_part6 mission_random_hits_mark_gender mission_random_hits_assassination_board_part7\n\nREPLIES TO   : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n--------------------------------------------------------------------------------------------------------------------------\nCurrently viewing [assassination_board_job_name] mission_random_hits_page of 3. [assassination_board_hardkill]</string>

<key>random_hits_refused</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name mission_random_hits_mark_second_name \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2] Commander [commander_name], [assassination_board_refused3]. [assassination_board_refused4] [assassination_board_refused5] [assassination_board_refused6]. [assassination_board_refused7] [assassination_board_insult]!\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_refused2</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1b] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name mission_random_hits_mark_second_name \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2b] Commander [commander_name], [assassination_board_refused3b]. [assassination_board_refused4b] [assassination_board_refused5b] [assassination_board_refused6b]. [assassination_board_refused7b] [assassination_board_insult]!\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_refused3</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1c] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name mission_random_hits_mark_second_name \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2c] Commander [commander_name], [assassination_board_refused3c]. [assassination_board_refused4c] [assassination_board_refused5c] [assassination_board_refused6c]. [assassination_board_refused7c] [assassination_board_insult]!\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_jobaccepted</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name mission_random_hits_mark_second_name \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2] Commander [commander_name], you [assassination_board_accepted1] [assassination_board_accepted2] [assassination_board_accepted3] [assassination_board_accepted4] [assassination_board_accepted5] this [assassination_board_job_name]. [assassination_board_accepted6] [assassination_board_refused5] [assassination_board_accepted7]! [assassination_board_part5] mission_random_hits_mark_fee Credits [assassination_board_accepted7a] upon docking with any GalCop Station or Bounty Hunters' Bar following the [assassination_board_accepted8] of [assassination_board_refused5b]. This [assassination_board_accepted9] will be in addition to any bounty paid by GalCop. [assassination_board_accepted10]!\n\n--------------------------------------------------------------------------------------------------------------------------\nYou have accepted this [assassination_board_job_name]. [assassination_board_accepted11]. If you leave the current Galaxy you will be deemed to have abandoned the [assassination_board_job_name].</string>

<key>random_hits_busy</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name mission_random_hits_mark_second_name \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2] Commander [commander_name], you [assassination_board_accepted1] [assassination_board_accepted2] [assassination_board_accepted3] [assassination_board_accepted4] [assassination_board_accepted5] this [assassination_board_job_name]. However, [assassination_board_busy1] you [assassination_board_busy2] to [assassination_board_busy3] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name mission_random_hits_store_mark_second_name in the mission_random_hits_store_mark_system System. [assassination_board_busy4] [assassination_board_job_name] is [assassination_board_busy5].\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_busy2</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1b] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name mission_random_hits_mark_second_name \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2b] Commander [commander_name], you [assassination_board_accepted1b] [assassination_board_accepted2b] [assassination_board_accepted3b] [assassination_board_accepted4b] [assassination_board_accepted5b] this [assassination_board_job_name]. However, [assassination_board_busy1b] you [assassination_board_busy2b] to [assassination_board_busy3b] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name mission_random_hits_store_mark_second_name in the mission_random_hits_store_mark_system System. [assassination_board_busy4b] [assassination_board_job_name] is [assassination_board_busy5b].\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_busy3</key>
<string>mission_random_hits_seedy_spacebar_name\n--------------------------------------------------------------------------------------------------------------------------\nREPLY FROM : mission_random_hits_assassination_board_poster_title mission_random_hits_assassination_board_poster_name from the mission_random_hits_assassination_board_poster_system System.\nSUBJECT        : [assassination_board_refused1c] mission_random_hits_mark_first_name mission_random_hits_mark_nick_name mission_random_hits_mark_second_name \nADDRESS       : [mission_random_hits_assassination_board_address1] [mission_random_hits_assassination_board_poster_name]@[mission_random_hits_assassination_board_address2]\n\nThank you [assassination_board_refused2b] Commander [commander_name], you [assassination_board_accepted1c] [assassination_board_accepted2c] [assassination_board_accepted3c] [assassination_board_accepted4c] [assassination_board_accepted5c] this [assassination_board_job_name]. However, [assassination_board_busy1c] you [assassination_board_busy2c] to [assassination_board_busy3c] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name mission_random_hits_store_mark_second_name in the mission_random_hits_store_mark_system System. [assassination_board_busy4c] [assassination_board_job_name] is [assassination_board_busy5c].\n\n--------------------------------------------------------------------------------------------------------------------------\nThis [assassination_board_job_name] is unavailable to you at this time.</string>

<key>random_hits_paid</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : mission_random_hits_store_assassination_board_poster_title mission_random_hits_store_assassination_board_poster_name from the mission_random_hits_store_assassination_board_poster_system System.\nSUBJECT              : [assassination_board_refused1] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name mission_random_hits_store_mark_second_name \nADDRESS             : [mission_random_hits_store_assassination_board_address1] [mission_random_hits_store_assassination_board_poster_name]@[mission_random_hits_store_assassination_board_address2]\n\n[random_hits_killed1] Commander [commander_name]. We [random_hits_killed2] [random_hits_killed3] have [random_hits_killed4] [random_hits_killed5]. [random_hits_killed6] [random_hits_killed7]! [random_hits_killed8] [mission_random_hits_store_mark_fee] Credits [random_hits_killed9]. [random_hits_killed10].\n\n[random_hits_killed11]\n\n--------------------------------------------------------------------------------------------------------------------------\nYou have successfully [assassination_board_busy5] this [assassination_board_job_name]. [random_hits_abandoned2] [random_hits_abandoned3] Bounty Hunters' Space Bar for a new [assassination_board_job_nameb].</string>

<key>random_hits_failed</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : mission_random_hits_store_assassination_board_poster_title mission_random_hits_store_assassination_board_poster_name from the mission_random_hits_store_assassination_board_poster_system System.\nSUBJECT              : [assassination_board_refused1] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name mission_random_hits_store_mark_second_name \nADDRESS             : [mission_random_hits_store_assassination_board_address1] [mission_random_hits_store_assassination_board_poster_name]@[mission_random_hits_store_assassination_board_address2]\n\nCommander [commander_name] you are [random_hits_failed1] [assassination_board_insult]! We are [random_hits_failed2] [random_hits_failed2b], [random_hits_failed3] you [random_hits_failed4] [random_hits_killed4] [random_hits_failed5] the [random_hits_notwelcome_para3e] [mission_random_hits_store_mark_race_part2]'s [mission_random_hits_store_mark_ship] [random_hits_failed6], you [random_hits_failed7] [random_hits_failed8] [random_hits_failedA] [mission_random_hits_store_mark_gender] escape [random_hits_poded2]. [mission_random_hits_store_mark_first_name] [mission_random_hits_store_mark_second_name] [random_hits_failed9] and, [random_hits_failed10] your [random_hits_failed11] [random_hits_failed12], [assassination_board_refused5] [random_hits_failed13]. [random_hits_failed14]\n\n[random_hits_killed11]\n\n--------------------------------------------------------------------------------------------------------------------------\nYou have failed to complete this [assassination_board_job_name]. [random_hits_abandoned2] [random_hits_abandoned3] Bounty Hunters' Space Bar for a new [assassination_board_job_nameb].</string>

<key>random_hits_npckill</key>
<string>[random_hits_header]\n--------------------------------------------------------------------------------------------------------------------------\nMESSAGE FROM : mission_random_hits_store_assassination_board_poster_title mission_random_hits_store_assassination_board_poster_name from the mission_random_hits_store_assassination_board_poster_system System.\nSUBJECT              : [assassination_board_refused1] mission_random_hits_store_mark_first_name mission_random_hits_store_mark_nick_name mission_random_hits_store_mark_second_name \nADDRESS             : [mission_random_hits_store_assassination_board_address1] [mission_random_hits_store_assassination_board_poster_name]@[mission_random_hits_store_assassination_board_address2]\n\n[random_hits_npcfail1] Commander [commander_name]! As you [random_hits_npcfail2], [mission_random_hits_store_mark_first_name] [mission_random_hits_store_mark_second_name] was [mission_random_hits_deathcause] on Star Date [mission_random_hits_npcdays]. [random_hits_npcfail3] [assassination_board_refused5] was not [random_hits_npcfail3a] [random_hits_npcfail4], [random_hits_npcfail4a] [random_hits_npcfail5]. A consolation [random_hits_npckill2] of [mission_random_hits_npcmoney] Credits [random_hits_killed9] [random_hits_npcfail6]. [random_hits_npcfail7]!\n\n[random_hits_killed11]\n\n--------------------------------------------------------------------------------------------------------------------------\nYou were unable to complete this [assassination_board_job_name]. [random_hits_abandoned2] [random_hits_abandoned3] Bounty Hunters' Space Bar for a new [assassination_board_job_nameb].</string>

<key>random_hits_shortdescription</key>
<string>[assassination_board_shortstart] mission_random_hits_mark_first_name mission_random_hits_mark_second_name aboard mission_random_hits_mark_ship_description mission_random_hits_mark_ship at [mission_random_hits_mark_system].</string>

<key>random_hits_shortdescription2</key>
<string>[random_hits_complete]</string>

<key>random_hits_shortdescription3</key>
<string>[random_hits_rank]</string>

<key>random_hits_shortdescription4</key>
<string>[random_hits_poded]</string>

<key>random_hits_shortdescription5</key>
<string>[random_hits_failed]</string>

<key>random_hits_shortdescription6</key>
<string>[random_hits_npckill]</string>

<key>random_hits_eject</key>
<dict>
<key>random_hits_kickout</key>
<string>[random_hits_launch]</string>
</dict>

<key>random_hits_board_choice</key>
<dict>
<key>random_hits_accept</key>
<string>Offer your services for this [assassination_board_job_name]</string>
<key>random_hits_next</key>
<string>View the next Advertisement on the Bulletin Board</string>
<key>random_hits_exit</key>
<string>Exit the Bulletin Board</string>
</dict>

<key>random_hits_board_choice2</key>
<dict>
<key>random_hits_accept</key>
<string>Offer your services for this [assassination_board_job_name]</string>
<key>random_hits_loop</key>
<string>Return to the first Advertisement on the Bulletin Board</string>
<key>random_hits_exit</key>
<string>Exit the Bulletin Board</string> 
</dict>

<key>random_hits_board_choice3</key>
<dict>
<key>random_hits_refusedreturn</key>
<string>Return to browsing the Bulletin Board</string>
<key>random_hits_refusedexit</key>
<string>Exit the Bulletin Board</string>  
</dict>

<key>random_hits_board_choice4</key>
<dict>
<key>random_hits_exitwithjob</key>
<string>Exit the Bulletin Board</string>
<key>random_hits_returnwithjob</key>
<string>Return to browsing the Bulletin Board</string> 
</dict>

<key>random_hits_board_choice5</key>
<dict>
<key>random_hits_exitbusy</key>
<string>Exit the Bulletin Board</string>
<key>random_hits_returnbusy</key>
<string>Return to browsing the Bulletin Board</string> 
</dict>

<key>random_hits_pause</key>
<dict>
<key>random_hits_paidplayer</key>
<string>[random_hits_pressenter]</string>
</dict>

<key>random_hits_pause2</key>
<dict>
<key>random_hits_failedplayer</key>
<string>[random_hits_pressenterB]</string>
</dict>

<key>random_hits_pause3</key>
<dict>
<key>random_hits_failedbynpc</key>
<string>[random_hits_pressenterC]</string>
</dict>

</dict>	
</plist>
AI for an easy victim:-

Code: Select all

{
GLOBAL = {
ENTER = ("setSpeedFactorTo: 0.75", performIdle, "setStateTo: DECIDE_COURSE"); 
EXIT = (); 
UPDATE = ();    }; 

"DECIDE_COURSE" = {
ENTER = ("scriptActionOnTarget: reset: mission_random_hits_marklow", "scriptActionOnTarget: reset: mission_random_hits_npcfired", "scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "rollD: 2");
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"ROLL_1" = ("setStateTo: GO_TO_WITCHPOINT");
"ROLL_2" = ("setStateTo: GO_TO_STATION");
EXIT = ();
UPDATE = ("setStateTo: DECIDE_COURSE");	};

"GO_TO_STATION" = {
ENTER = ("setSpeedFactorTo: 0.75", "scanForNearestShipWithRole: player");
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"TARGET_FOUND" = (setTargetToFoundTarget, "scriptActionOnTarget: set: mission_random_hits_playernear TRUE", "setStateTo: REACT_TO_PLAYER");
"NOTHING_FOUND" = (setTargetToSystemStation, "setDesiredRangeTo: 5000.0", setDestinationToTarget, checkCourseToDestination);
"COURSE_OK" = ("setSpeedFactorTo: 0.75", performFlyToRangeFromDestination);
"DESIRED_RANGE_ACHIEVED" = ("scriptActionOnTarget: reset: mission_random_hits_marklow", "scriptActionOnTarget: reset: mission_random_hits_npcfired", "scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: GO_TO_WITCHPOINT");
"AEGIS_IN_DOCKING_RANGE" = ("scriptActionOnTarget: reset: mission_random_hits_marklow", "scriptActionOnTarget: reset: mission_random_hits_npcfired", "scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: GO_TO_WITCHPOINT"); 
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, "scriptActionOnTarget: set: mission_random_hits_npcfired TRUE", fightOrFleeMissile, setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "setStateTo: FLEE_NPC_ATTACK"); 
ATTACKED = (setTargetToPrimaryAggressor, "scriptActionOnTarget: set: mission_random_hits_npcfired TRUE", setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "setStateTo: FLEE_NPC_ATTACK"); 
UPDATE = ("scanForNearestShipWithRole: player");
EXIT = ();
	};     

"GO_TO_WITCHPOINT" = {
ENTER = ("setSpeedFactorTo: 0.75", "scanForNearestShipWithRole: player");
"TARGET_FOUND" = (setTargetToFoundTarget, "scriptActionOnTarget: set: mission_random_hits_playernear TRUE", "setStateTo: REACT_TO_PLAYER");
"NOTHING_FOUND" = (setDestinationToWitchpoint, "setDesiredRangeTo: 1000.0", setDestinationToTarget, checkCourseToDestination);
"COURSE_OK" = ("setSpeedFactorTo: 0.75", performFlyToRangeFromDestination);
"DESIRED_RANGE_ACHIEVED" = ("scriptActionOnTarget: reset: mission_random_hits_marklow", "scriptActionOnTarget: reset: mission_random_hits_npcfired", "scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: GO_TO_STATION");
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, "scriptActionOnTarget: set: mission_random_hits_npcfired TRUE", fightOrFleeMissile, setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "setStateTo: FLEE_NPC_ATTACK"); 
ATTACKED = (setTargetToPrimaryAggressor, "scriptActionOnTarget: set: mission_random_hits_npcfired TRUE", setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "setStateTo: FLEE_NPC_ATTACK"); 
UPDATE = ("scanForNearestShipWithRole: player");
EXIT = ();
	};     

"FLEE_NPC_ATTACK" = {
ENTER = ("addFuel: 15", "setSpeedFactorTo: 2.0", "setDesiredRangeTo: 25600", performFlee);
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, fightOrFleeMissile, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "setStateTo: FLEE_NPC_ATTACK"); 
ATTACKED = (setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "setStateTo: FLEE_NPC_ATTACK"); 
"TARGET_LOST" = ("scriptActionOnTarget: reset: mission_random_hits_npcfired", performIdle, "addFuel: -15", "scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: DECIDE_COURSE"); 
"TARGET_DESTROYED" = ("scriptActionOnTarget: reset: mission_random_hits_npcfired", performIdle, "addFuel: -15", "scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: DECIDE_COURSE"); 
EXIT = ();  
"REACHED_SAFETY" = ("scriptActionOnTarget: reset: mission_random_hits_npcfired", performIdle, "addFuel: -15", "scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: DECIDE_COURSE"); 
UPDATE = ();     }; 

"REACT_TO_PLAYER" = {
ENTER = ("rollD: 9");
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"ROLL_1" = ("setStateTo: FOUND_PLAYER_HURRY_ON_COURSE");
"ROLL_2" = ("setStateTo: FOUND_PLAYER_HURRY_ON_COURSE");
"ROLL_3" = ("setStateTo: FOUND_PLAYER_HURRY_ON_COURSE");
"ROLL_4" = ("setStateTo: FOUND_PLAYER_HURRY_ON_COURSE");
"ROLL_5" = ("setStateTo: FOUND_PLAYER_HURRY_ON_COURSE");
"ROLL_6" = ("setStateTo: FOUND_PLAYER_HURRY_ON_COURSE");
"ROLL_7" = ("setStateTo: FOUND_PLAYER_FIGHT_PLAYER");
"ROLL_8" = ("setStateTo: FOUND_PLAYER_FIGHT_PLAYER");
"ROLL_9" = ("setStateTo: FOUND_PLAYER_FLEE_PLAYER");
EXIT = ();
UPDATE = ("setStateTo: REACT_TO_PLAYER");	};

"FOUND_PLAYER_HURRY_ON_COURSE" = {
ENTER = ("setSpeedFactorTo: 1.1");
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"COURSE_OK" = ("setSpeedFactorTo: 1.1", performFlyToRangeFromDestination);
"NOTHING_FOUND" = ("scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: DECIDE_COURSE");
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: DECIDE_COURSE"); 
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, fightOrFleeMissile, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "scriptActionOnTarget: set: mission_random_hits_playerfired TRUE", "setStateTo: REACT_TO_PLAYER_ATTACK"); 
ATTACKED = (setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "scriptActionOnTarget: set: mission_random_hits_playerfired TRUE", "setStateTo: REACT_TO_PLAYER_ATTACK"); 
UPDATE = ("scanForNearestShipWithRole: player");
EXIT = ();	};     

"FOUND_PLAYER_FLEE_PLAYER" = {
ENTER = ("commsMessage: [mark-fleeing]", "addFuel: 5", "setSpeedFactorTo: 2.0", "setDesiredRangeTo: 25600", performFlee);
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, fightOrFleeMissile, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", performFlee); 
ATTACKED = (setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", performFlee); 
"TARGET_LOST" = (performIdle, "addFuel: -10", "scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: DECIDE_COURSE"); 
"TARGET_DESTROYED" = (performIdle, "addFuel: -10", "scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: DECIDE_COURSE"); 
EXIT = ();  
"REACHED_SAFETY" = (performIdle, "addFuel: -10", "scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: DECIDE_COURSE"); 
UPDATE = (performFlee);     }; 

"FOUND_PLAYER_FIGHT_PLAYER" = {
ENTER = ("scanForNearestShipWithRole: player");
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"TARGET_FOUND" = (setTargetToFoundTarget, setTargetToPrimaryAggressor, "scriptActionOnTarget: set: mission_random_hits_playernear TRUE", "setStateTo: ATTACK_SHIP"); 
"NOTHING_FOUND" = ("scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: DECIDE_COURSE");
UPDATE = ("scanForNearestShipWithRole: player");     };

"ATTACK_SHIP" = {
ENTER = ("commsMessage: [mark-fighting]", performAttack); 
"ATTACKED" = (setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "scriptActionOnTarget: set: mission_random_hits_playerfired TRUE");
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE", "setStateTo: MARK_HURT"); 
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "scriptActionOnTarget: set: mission_random_hits_playerfired TRUE", fightOrFleeMissile);
"TARGET_DESTROYED" = ("setStateTo: GLOBAL"); 
"TARGET_LOST" = ("setStateTo: GLOBAL");
"FRUSTRATED" = (performAttack);
EXIT = (); 
UPDATE = ();      };

"REACT_TO_PLAYER_ATTACK" = {
ENTER = ("rollD: 9");
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"ROLL_1" = ("setStateTo: FOUND_PLAYER_FIGHT_PLAYER");
"ROLL_2" = ("setStateTo: FOUND_PLAYER_FIGHT_PLAYER");
"ROLL_3" = ("setStateTo: FOUND_PLAYER_FIGHT_PLAYER");
"ROLL_4" = ("setStateTo: FOUND_PLAYER_FIGHT_PLAYER");
"ROLL_5" = ("setStateTo: FOUND_PLAYER_FIGHT_PLAYER");
"ROLL_6" = ("setStateTo: FOUND_PLAYER_FIGHT_PLAYER");
"ROLL_7" = ("setStateTo: FOUND_PLAYER_FIGHT_PLAYER");
"ROLL_8" = ("setStateTo: FOUND_PLAYER_FLEE_PLAYER");
"ROLL_9" = ("setStateTo: FOUND_PLAYER_FLEE_PLAYER");
EXIT = ();
UPDATE = ("setStateTo: REACT_TO_PLAYER_ATTACK");	};

"MARK_HURT" = {
ENTER = ("rollD: 9");
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"ROLL_1" = ("setStateTo: BEG_FOR_LIFE");
"ROLL_2" = ("setStateTo: BEG_FOR_LIFE");
"ROLL_3" = ("setStateTo: BEG_FOR_LIFE");
"ROLL_4" = ("setStateTo: FOUND_PLAYER_FLEE_PLAYER");
"ROLL_5" = ("setStateTo: FOUND_PLAYER_FLEE_PLAYER");
"ROLL_6" = ("setStateTo: FOUND_PLAYER_FLEE_PLAYER");
"ROLL_7" = ("setStateTo: FIGHT_TO_DEATH");
"ROLL_8" = ("setStateTo: FIGHT_TO_DEATH");
"ROLL_9" = ("setStateTo: CONSIDER_JUMP");
EXIT = ();
UPDATE = ("setStateTo: MARK_HURT");	};

"CONSIDER_JUMP" = {
ENTER = ("rollD: 3");
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"ROLL_1" = ("setStateTo: BEG_FOR_LIFE");
"ROLL_2" = ("setStateTo: FIGHT_TO_DEATH");
"ROLL_3" = ("setStateTo: JUMP_OUT");
EXIT = ();
UPDATE = ("setStateTo: MARK_HURT");	};

"FIGHT_TO_DEATH" = {
ENTER = (performAttack); 
"ATTACKED" = (setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "scriptActionOnTarget: set: mission_random_hits_playerfired TRUE"); 
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE", performAttack); 
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "scriptActionOnTarget: set: mission_random_hits_playerfired TRUE", fightOrFleeMissile);
"TARGET_DESTROYED" = ("setStateTo: GLOBAL"); 
"TARGET_LOST" = ("setStateTo: GLOBAL");
"FRUSTRATED" = (performAttack);
EXIT = (); 
UPDATE = ();      };

"BEG_FOR_LIFE" = {
ENTER = ("commsMessage: [mark-begging]", setTargetToSystemStation, "setDesiredRangeTo: 5000.0", setDestinationToTarget, checkCourseToDestination, "setSpeedFactorTo: 0.5");
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"COURSE_OK" = ("setSpeedFactorTo: 0.5", performFlyToRangeFromDestination);
"DESIRED_RANGE_ACHIEVED" = ("setStateTo: GO_TO_WITCHPOINT");
"AEGIS_IN_DOCKING_RANGE" = ("setStateTo: GO_TO_WITCHPOINT"); 
"INCOMING_MISSILE" = (setTargetToPrimaryAggressor, "scriptActionOnTarget: set: mission_random_hits_playerfired TRUE", fightOrFleeMissile, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "setStateTo: BEG_FAILED"); 
ATTACKED = (setTargetToPrimaryAggressor, "scriptActionOnTarget: set: mission_random_hits_playerfired TRUE", "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "setStateTo: BEG_FAILED"); 
UPDATE = ();
EXIT = ();	};     

"BEG_FAILED" = {
ENTER = ("scanForNearestShipWithRole: player");
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"TARGET_FOUND" = (setTargetToFoundTarget, setTargetToPrimaryAggressor, "scriptActionOnTarget: set: mission_random_hits_playernear TRUE", "setStateTo: FIGHT_TO_DEATH"); 
"NOTHING_FOUND" = ("scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: DECIDE_COURSE");
UPDATE = ("scanForNearestShipWithRole: player");     };

"JUMP_OUT" = {
ENTER = ("commsMessage: [mark-jumping]", "scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "addFuel: 70", performHyperSpaceExit);		
EXIT = ();
UPDATE = (performHyperSpaceExit);
"ENERGY_LOW" = ("scriptActionOnTarget: set: mission_random_hits_marklow TRUE");
"INCOMING_MISSILE" = (fightOrFleeMissile, setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "setStateTo: FLEE_NPC_ATTACK"); 
ATTACKED = (setTargetToPrimaryAggressor, "scriptActionOnTarget: setAITo: randomhitsharmlessAI.plist", "setStateTo: FLEE_NPC_ATTACK");  
"WITCHSPACE OKAY" = (wormholeEscorts);
"WITCHSPACE BLOCKED" = (setTargetToFoundTarget, setDestinationWithinTarget, "setDesiredRangeTo: 10000.0", performFlyToRangeFromDestination);
"WITCHSPACE UNAVAILABLE" = ("addFuel: -70", "setStateTo: DECIDE_COURSE");
	};

}
None of the ships are any tougher than the normal versions, but their special piolts have some tricks up their sleezes. :wink:
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

Some lines make no sense:

Code: Select all

"NOTHING_FOUND" = ("scriptActionOnTarget: reset: mission_random_hits_playernear", "scriptActionOnTarget: reset: mission_random_hits_playerfired", "setStateTo: DECIDE_COURSE");
When you have found nothing, than you have no target to put a scriptaction on and none of the variables wil be set. ??
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2867
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

Does work though! I think to set a variable in the AI you have to do it by scriptaction on target even if no target is present. The script only gives the player credit for the death of the victim if the player was near the victim and was an attacker. If an NPC manages to kill the mark or he does somthing silly like zooming into an asteroid, then the mission is over with the player getting a small payment for his wasted trip. In playtesting, when I've got the mark on energy low and he's fled on injectors and i didn't give chase, the variables were reset (so if an npc killed him after I let him escape the NPC got the credit), so I think the player not found reset playnear variable is working as intended.
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

In the past I noticed that when the target is not the player, the mission_variables were not set with the AI function "scriptActionsOnTarget:". So I assumed that with no target it would also not work.

Probably you are just lucky it worked. The complete C code for this function is:

Code: Select all

- (void) scriptActionOnTarget:(NSString*) action
{
	PlayerEntity*	player = [PlayerEntity sharedPlayer];
	Entity*		  targEnt = [UNIVERSE entityForUniversalID:primaryTarget];
	if ((targEnt)&&(player))
	{
		[player scriptAction: action onEntity: targEnt];
		[player checkScript];
	}
}
So this makes sure that when there is no primary target, the internal functions scriptAction and checkScript will never be executed. When the player gets out of range, the foundTarget becomes none, but the primary target is probably still the player although he is out of reach.

----

The AI function "addFuel: 70" needs the real value of fuel and that is 7. Internally it uses 70 for max fuel, but the addFuel: function does the multiplication with 10 itself.

And this function can not really handle negative values. There is a test for fuel greater than 7, but none for lower than 0. If larger it is set to the max of 7. When you use -15, it will subtract 15 and when it becomes negative it will stay negative. It wont have real problems with it, but when you add a positive number again, don't count on it that the starting point never gets lower than zero.
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2867
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

Hmm. The ship should have a target though whatever state it's in as it's target should be the ship it is fighting or fleeing or its destination. I thought the Nothing Found related to whether a scan for [shiprole] had not found a ship with that role rather than whether the ship had a current targrt, but this AI should always have a target. Eg in flying to the station the ship should have the station as its target but return a Not Found when scanning for the player, until the player comes in scanner range. The fact that the target of the script action is on an NPC still seems to work to record a varible though. In playtesting, I surrounded a mark in a boyracer with 20 odd Thargoids who opened up hitting the mark (who fled on injectors). When I checked my save file, npcfired had been set to true and one of the Thargoids must have been the mark's target as he was performing a flee from them.

Cheers on the add fuel. What I'd tried to do was give the victim a good chance of escaping an npc attack, (so the player dosn't travel 20ly to watch his mark blown away by a passing cop), but reset the mark's fuel back to normal when the npc is evaded, so he dosn't have an unfair amount of fuel when the player finds him.
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
Eric Walch
Slightly Grand Rear Admiral
Slightly Grand Rear Admiral
Posts: 5536
Joined: Sat Jun 16, 2007 3:48 pm
Location: Netherlands

Post by Eric Walch »

Hmm. The ship should have a target though whatever state it's in as it's target should be the ship it is fighting or fleeing or its destination. I thought the Nothing Found related to whether a scan for [shiprole] had not found a ship with that role rather than whether the ship had a current targrt, but this AI should always have a target....
Yes the "primaryTarget" stays target even when you do a scan for something and don't find it. The "primaryTarget" is only set to zero when it dies or when it activates it's cloaking. So when the player cloaks the primaryTarget is reset. But a search for a cloaked ship will find someting but you can not set it to primary target.
The fact that the target of the script action is on an NPC still seems to work to record a varible though. In playtesting, I surrounded a mark in a boyracer with 20 odd Thargoids who opened up hitting the mark (who fled on injectors). When I checked my save file, npcfired had been set to true and one of the Thargoids must have been the mark's target as he was performing a flee from them.
Ill check it. I thought my variables were not set with targeting a NPC ship, but maybe I did something other wrong. EDIT: tested it today. setting mission varriables and other player scripts are executed with any target set. With no target nothing happens.
Cheers on the add fuel. What I'd tried to do was give the victim a good chance of escaping an npc attack, (so the player dosn't travel 20ly to watch his mark blown away by a passing cop), but reset the mark's fuel back to normal when the npc is evaded, so he dosn't have an unfair amount of fuel when the player finds him.
I saw it. A little bit cheating with the game physics by just creating fuel out of nothing, but sometimes you have to invent something to protect your victim against police attacks until he player can kill him. Anyhow, at the end the victim is DEATH and who bothers then where he got his fuel.
----
In "FOUND_PLAYER_FLEE_PLAYER" you have a "performFlee" in the UPDATE line. I think every time the range will now be set from scratch and you never "REACHED_SAFETY". Only one performFlee in the ENTER will be enough.
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

If I may, I'd like to add yet two more <key>random_hits_cool_item</key> to the list:

<string>[random_hits_cool_item_owner] complete collection of 'What Spaceship?'-magazine</string>
<string>[random_hits_cool_item_owner] 'Witch-Craft'-magazine vintage prints collection</string>

And a suggestion: In the planet descriptions it's always "food blenders" (two words). So shouldn't it be the same in the crime lists?
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2867
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

Added them. Nearly done. Still to do:-

- Code to detect failure of the player to follow a victim though his wormhole and finish him off. (some victims will make a H jump if things look bad).

- Escorts for the larger ships.

- Code to detect capturing a mark's pod rather than shooting it down.

Added randomly generated companies to the list:-

Code: Select all

	<key>assassination_board_part2</key>
	<array>
	<string>[assassination_board_part2_general]</string>
	<string>[assassination_board_part2_personal_thing]</string>
	<string>[assassination_board_part2_personal_being]</string>
	<string>[assassination_board_company]</string>
	</array>

	<key>assassination_board_part2_general</key>
	<array>
	<string>[assassination_board_crime] tax evasion</string>
	<string>and known cat juggler</string>
	<string>[assassination_board_crime] spamming bulletin boards</string>
	<string>seen urinating outside a public convenience</string>
	<string>[assassination_board_crime] moral turpitude</string>
	<string>[assassination_board_crime] imagining the death of a monarch</string>
	<string>[assassination_board_crime] persistent breaches of docking regulations</string>
	<string>who failed to read the small print on the organ-donor card</string>
	<string>[assassination_board_crime] illegal chimp dumping</string>
	<string>[assassination_board_crime] chump dumping without a licence</string>
	<string>[assassination_board_crime] umpty-bagging</string>
	<string>and known organ-legger</string>
	<string>[assassination_board_crime] crimes against reality</string>
	<string>[assassination_board_crime] passing the Maleveian Lethal Brandy counter-spinwards</string>
	<string>[assassination_board_crime] criminal food blending</string>
	<string>[assassination_board_crime] docking violations too numerous to mention</string>
	<string>and third-degree solipsist</string>
	<string>[assassination_board_crime] lese majeste</string>
	<string>seen whistling on a Tuesday</string>
	<string>and known Thargoid sympathiser</string>
	<string>[assassination_board_crime] committing unnatural acts with a Thargoid</string>
	<string>whose library books are overdue</string>
	<string>and repeated abuser of medicinal megaweed</string>
	<string>and convicted shrew-rustler</string>
	<string>and peddler of vapourware</string>
	<string>[assassination_board_crime] numerous petty criminal acts</string>
	<string>[assassination_board_crime] trading in illegal goods</string>
	<string>[assassination_board_crime] making anti-crustacean remarks</string>
	<string>[assassination_board_crime] breach of contract</string>
	<string>[assassination_board_crime] playing with marked cards</string>
	<string>who has the death sentence on twelve systems</string>
	<string>[assassination_board_crime] grand theft astro across the galaxies</string>
	<string>and witness in an important case</string>
	<string>who didn't know when to fold playing cards with legitimate business beings</string>
	<string>and minion who knows too much</string>
	<string>and suspected Spartacus Brotherhood sympathiser</string>
	<string>and slave trading low-life</string>
	<string>whose death is required in the interests of GalCop</string>
	<string>[assassination_board_crime] non-payment of fines</string>
	<string>[assassination_board_crime] causing a total existence failure in the Sol System</string>
	<string>[assassination_board_crime] smuggling battle weapons across systems</string>
	<string>[assassination_board_crime] smuggling trumbles across systems</string>
	<string>and known member of the Knights who say Ni</string>
	<string>and suspected heretic against the Church of Lord [mark-fighting3a]</string>
	<string>[assassination_board_crime] feeding beings to ravenous Bug Blatter Beasts</string>
	<string>[assassination_board_crime] crimes against the Laws of Time</string>
	<string>[assassination_board_crime] cruelty to trumbles</string>
	<string>[assassination_board_crime] numerous violations of Galactic Health and Safety Law</string>
	<string>who has earned the right to be treated with extreme prejudice</string>
	<string>and rotten narcotics trader</string>
	<string>and ordinary trader</string>
	<string>and well known pirate</string>
	<string>and Minister of the Unholy Church of the Supreme Anti-[mark-fighting3a]</string>
	<string>and pesky union agitator</string>
	<string>[assassination_board_crime] impregnating two felines and running away</string>
	<string>[assassination_board_crime] causing the loss of a passenger liner with a cargo container contaminated with trumbles</string>
	<string>and member of the Smugglers Guild</string>
	<string>and member of the local commercial athenaeum</string>
	<string>[assassination_board_crime] selling trade secrets</string>
	<string>and foul-smelling, grog-swilling blackguard</string>
 	<string>who must be dispatched with the utmost urgency for the common good</string>
	<string>[assassination_board_crime] the planning and preparation of aggressive war</string>
	<string>[assassination_board_crime] conspiracy to commit crimes against felinity</string>
	<string>[assassination_board_crime] inciting lobstoid identity theft</string>
	<string>[assassination_board_crime] solicitation to commit malfeasance in public office</string>
	<string>[assassination_board_crime] arson aboard an orbital space station</string>
	<string>[assassination_board_crime] thought crime whilst docked in a Communist system</string>
	<string>[assassination_board_crime] attempted blackmail of a GalCop Officer</string>
	<string>[assassination_board_crime] embezzlement from Communist Party funds</string>
	<string>[assassination_board_crime] piracy and murder</string>
	<string>know to have caused unnecessary suffering to a Weeviloid</string>
	<string>[assassination_board_crime] having caused unnecessary suffering to small harmless rodents</string>
	<string>[assassination_board_crime] littering</string>
	<string>[assassination_board_crime] jayspacewalking</string>
	<string>[assassination_board_crime] personality theft</string>
	<string>[assassination_board_crime] brainjacking</string>
	<string>who removed the "do not remove" label from a mattress</string>
	<string>[assassination_board_crime] contravening the Being Bloody Stupid Act of 1581</string>
	<string>[assassination_board_crime] being too clever by half</string>
	<string>whom we really, really don't like</string>
	<string>who has a very ugly sister</string>
	<string>and all-round unpleasant individual</string>
	<string>whose sibling looked at me funny once</string>
	<string>[assassination_board_crime] having a real life</string>
	<string>and tele-sales being of ill repute</string>
	<string>[assassination_board_crime] smelling of cabbage in a public place</string>
	<string>[assassination_board_crime] transmitting irrational communications</string>
	<string>[assassination_board_crime] irradiating a mallard on a Sunday</string>
	<string>[assassination_board_crime] taking pot-shots at [assassination_board_poster_systemd] Station</string>
	<string>last seen in possession of an illegal food blender</string>
	<string>[assassination_board_crime] the illegal re-sale of defective slaves</string>
	<string>[assassination_board_crime] sentient carnivory</string>
	<string>[assassination_board_crime] copyright infringement</string>
	<string>[assassination_board_crime] quantum disruption of the time-line</string>
	<string>[assassination_board_crime] breaching a Judicial Order to clean up after the craboids</string>
	<string>who etch-a-sketched a crude rude image of The Lord [mark-fighting3a]</string>
	<string>and notorious Witchspace Lobster worshipper</string>
	<string>who utterly displeases the Happy Eye</string>
	<string>who disturbed [random_hits_cool_item_owner] mid-morning nap</string>
	<string>and strike-breaking scab</string>
	<string>who forged zero-G Hockey Galactic Cup tickets</string>
	<string>who defaced Ad-X property</string>
	<string>and escapee from an Astrogulag</string>
	<string>who robbed a Pi-47 convenience store</string>
	<string>who missed an important penalty shot</string>
	<string>who spreads Mad Avian Disease</string>
	<string>and vacuum karate black belt</string>
	<string>and former Space Rickshaw pilot</string>
	<string>and recent Looto winner</string>
	<string>who transported a feline to Esisor</string>
	<string>and hot Thoraxxx Twister show performer</string>
	<string>who claims to have seen Orbs</string>
	<string>and undaunted guerrilla plumber</string>
	<string>[assassination_board_crime] selling hazardous xenoforms without a permit</string>
	<string>[assassination_board_crime] smoking mega-weed without a prescription</string>
	<string>[assassination_board_crime] trading in defective snake-oil</string>
	<string>[assassination_board_crime] uttering the word 'Belgium' in a public place</string>
	<string>[assassination_board_crime] breaking the rules of acquisition</string>
	<string>and corrupt croupier</string>
	<string>[assassination_board_crime] inciting the Dice Life across the Galaxies</string>
        <string>who failed to repay a loan</string>
	<string>[assassination_board_crime] ramming the [assassination_board_poster_systemd]ian Navigational Beacon</string>
	<string>and suspected member of 'The Link' insurgent group</string>
	<string>who failed to attend attitude adjustment class</string>
	<string>who failed to clean groigoid-droppings from [assassination_board_poster_systemd] Station flightdeck</string>
	<string>[assassination_board_crime] taking Lord [mark-fighting3a]'s name in vain</string>
	<string>[assassination_board_crime] infecting [assassination_board_poster_systemd] with the Black Death</string>
	<string>[assassination_board_crime] cursing in a Zenarchy Monastery</string>
	<string>who made Grandma Thruttle really angry</string>
	<string>who fell asleep watching an exciting [assassination_board_poster_systemd]ian sit com</string>
	</array>

	<key>assassination_board_part2_personal_thing</key>
	<array>
	<string>thought to possess [random_hits_cool_item]</string>
	<string>[assassination_board_crime] stealing [random_hits_cool_item]</string>
	<string>rumoured to be in possession of [random_hits_cool_item]</string>
	<string>who recently acquired [random_hits_cool_item] in suspicious circumstances</string>
	<string>[assassination_board_crime] criminal use of [random_hits_cool_item]</string>
	<string>[assassination_board_crime] vandalising [random_hits_cool_item]</string>
	<string>[assassination_board_crime] selling [random_hits_cool_item] without permission</string>
	<string>[assassination_board_crime] illegal possession of [random_hits_cool_item]</string>
	<string>[assassination_board_crime] setting fire to [random_hits_cool_item]</string>
	<string>[assassination_board_crime] attempted theft of [random_hits_cool_item]</string>
	<string>[assassination_board_crime] conspiracy to steal [random_hits_cool_item]</string>
	<string>[assassination_board_crime] unauthorised use of [random_hits_cool_item]</string>
	<string>[assassination_board_crime] deliberately damaging [random_hits_cool_item]</string>
	<string>[assassination_board_crime] urinating on [random_hits_cool_item]</string>
	<string>[assassination_board_crime] making off with [random_hits_cool_item]</string>
	<string>[assassination_board_crime] looking covetously at [random_hits_cool_item]</string>
	<string>[assassination_board_crime] looking sideways at [random_hits_cool_item]</string>
	<string>[assassination_board_crime] coveting [random_hits_cool_item]</string>
	<string>[assassination_board_crime] using [random_hits_cool_item] for immoral purposes</string>
	<string>whom the [assassination_board_poster_systemd]ian authorities believe to have recently acquired [random_hits_cool_item] in questionable circumstances</string>
	<string>who stole [random_hits_cool_item]</string>
	<string>who vandalised [random_hits_cool_item]</string>
	<string>who set fire to [random_hits_cool_item]</string>
	<string>who deliberately damaged [random_hits_cool_item]</string>
	<string>who urinated on [random_hits_cool_item]</string>
	<string>who made off with [random_hits_cool_item]</string>
	<string>who covets [random_hits_cool_item]</string>
	<string>who attempted to steal [random_hits_cool_item]</string>
	<string>who conspired to steal [random_hits_cool_item]</string>
	<string>who destroyed [random_hits_cool_item]</string>
	<string>who wreaked [random_hits_cool_item]</string>
	<string>who broke [random_hits_cool_item]</string>
	<string>who sold [random_hits_cool_item] without permission</string>
	<string>who ruined [random_hits_cool_item]</string>
	<string>who lost [random_hits_cool_item]</string>
	<string>who looked sideways at [random_hits_cool_item]</string>
	<string>who used [random_hits_cool_item] for immoral purposes</string>
	</array>

	<key>assassination_board_part2_personal_being</key>
	<array>
	<string>[assassination_board_crime] kidnapping [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] abducting [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] teasing [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] cruelty towards [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] cooking [random_hits_cool_item2] in a stew</string>
	<string>[assassination_board_crime] torturing [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] coveting [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] upseting [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] setting fire to [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] assaulting [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] vaporising [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] causing unnecessary suffering to [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] stamping on [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] microwaving [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] annoying [random_hits_cool_item2]</string>
	<string>[assassination_board_crime] embarrassing [random_hits_cool_item2]</string>
	<string>who kidnapped [random_hits_cool_item2]</string>
	<string>who abducted [random_hits_cool_item2]</string>
	<string>who teased [random_hits_cool_item2]</string>
	<string>who was cruel to [random_hits_cool_item2]</string>
	<string>who cooked [random_hits_cool_item2] in a stew</string>
	<string>who tortured [random_hits_cool_item2]</string>
	<string>who covets [random_hits_cool_item2]</string>
	<string>who upset [random_hits_cool_item2]</string>
	<string>who set fire to [random_hits_cool_item2]</string>
	<string>who looked sideways at [random_hits_cool_item2]</string>
	<string>who assaulted [random_hits_cool_item2]</string>
	<string>who vaporised [random_hits_cool_item2]</string>
	<string>who stamped on [random_hits_cool_item2]</string>
	<string>who caused unnecessary suffering to [random_hits_cool_item2]</string>
	<string>who boiled [random_hits_cool_item2]</string>
	<string>who annoyed [random_hits_cool_item2]</string>
	<string>who embarrassed [random_hits_cool_item2]</string>
	<string>who baked [random_hits_cool_item2] in a pie</string>
	<string>who poked [random_hits_cool_item2] with a stick</string>
	</array>

	<key>assassination_board_company</key>
	<array>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Security [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Small Arms [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Investigations [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Fruit and Vegetables [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Trading [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Construction [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Metal Works [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Liquors and Wines [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Foam Metals [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Farm Machinery [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the [assassination_board_poster_systemd]ian Legal Academy</string>
	<string>and [assassination_board_company2] musician of [assassination_board_poster_systemd]ian Philharmonic Orchestra</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the [assassination_board_poster_systemd]ian HoOpy Casino</string>
	<string>and [assassination_board_company2] wise-being of the [assassination_board_poster_systemd]ian Mafia</string>
	<string>and [assassination_board_company2] priest of the Holy Church of [assassination_board_poster_systemd]</string>
	<string>and [assassination_board_company2] member of the [assassination_board_poster_systemd]ian Traders Guild</string>
	<string>and [assassination_board_company2] member of the [assassination_board_poster_systemd]ian Triads</string>
	<string>and [assassination_board_company2] member of the [assassination_board_poster_systemd]ian Yardies</string>
	<string>and [assassination_board_company2] member of the [assassination_board_poster_systemd]ian Snakeheads</string>
	<string>and [assassination_board_company2] officer of the [assassination_board_poster_systemd]ian Police Force</string>
	<string>and [assassination_board_company2] minister of the [assassination_board_poster_systemd]ian Government</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Arexeian Broadcasting Corporation</string>	
	<string>and [assassination_board_company2] [assassination_board_company3] the Sirius Corporation</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Nakashimi Corporation</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Salient Enterprises [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Rigel Cartel</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Ramon Security [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Soin Classic Shipyards [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Aegis Secoority [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] sibling of the Bank of the Black Monks</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Griff Research Limited</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Heretic Shipyards [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Sirius Cybernetics Incorporated</string>
	<string>and [assassination_board_company2] member of the Triad Elders Council</string>
	<string>and [assassination_board_company2] member of the Order of the Knights of [assassination_board_poster_systemd]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd] Investments [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd] Pharmaceuticals [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd] Enterprises [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd] Corporation [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Laveian Flight Training Academy</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Taranis Corporation</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Benulobiweed Incorporated</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Ionics Corporation</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Executive SpaceWays [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Augeaian Orbital Repair Facility</string>
	<string>and [assassination_board_company2] member of the Zarausxeian Zero-G Hockey Team Fan Club</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Air Processors [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Industrial Parts [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Battle Weapons [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Heavy Plastics [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Synthetic Meats [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Grain Products [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Liquid Oxygen [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Precious Stones [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Gems and Jewellery [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Animal Skins [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Precious Metals [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Mineral Holdings [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Robotics [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Artificial Beings [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Intelligent Machines [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Human Resources [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Radioactive Materials [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Furriers [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Animal Meats [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [assassination_board_poster_systemd]ian Corn Products [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Tescoo Oxpress Franchise</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Weyland Yutani Corporation</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Starbugs Chain</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Mabelala Institute of Technology</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Central Services [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Kruger Ore Processors [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the [mission_random_hits_assassination_board_poster_system]ian Medical School</string>
	<string>and [assassination_board_company2] [assassination_board_company3] L-Crate Haulage [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Ooniversal Cooling [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Ad-X Corporation</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Tionisla Stellar Cemetary</string>
	<string>and [assassination_board_company2] [assassination_board_company3] the Thoraxxx Twister Chain</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Space Rickshaws [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] [mission_random_hits_assassination_board_poster_system]ian Hand Crafted Wheels [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Lance and Ferman Energy Arms [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Spalder and Prime [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Thru-Space [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Hassoni-Kruger Burst Lasers [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Paynou, Prossett and Salem Shipyards [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Zieman Energy Deflection Shields [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Cowell and McRath Shipyards [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Kruger Lightfast Motors [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Ace and Faber Hull Works [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Faulcon Manspace [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Outworld Workshops [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Voltaire Stinger Pulse Drives [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Whatt and Pritney Ship Construction [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Raddlett and Rayburn Shipyards [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Zorgon Petterson Systems [random_hits_employer_end]</string>
	<string>and [assassination_board_company2] [assassination_board_company3] Seldar Shipyards [random_hits_employer_end]</string>
	</array>

	<key>random_hits_employer_end</key>
	<array>
	<string>Incorporated</string>
	<string>Limited</string>
	</array>

	<key>assassination_board_company2</key>
	<array>
	<string>disloyal</string>
	<string>treacherous</string>
	<string>incompetent</string>
	<string>corrupt</string>
	<string>lazy</string>
	<string>disgraced</string>
	<string>amoral</string>
	<string>unprincipled</string>
	<string>unscrupulous</string>
	<string>sneaky</string>
	<string>strange</string>
	<string>unpleasant</string>
	<string>nasty</string>
	<string>murderous</string>
	<string>perverted</string>
	<string>weird</string>
	<string>creepy</string>
	<string>horrible</string>
	<string>fearsome</string>
	<string>malevolent</string>
	<string>unethical</string>
	<string>pestillent</string>
	<string>sinister</string>
	<string>alcoholic</string>
	<string>insane</string>
	<string>cynical</string>
	<string>sarcastic</string>
	<string>secretive</string>
	<string>scheming</string>
	<string>deceitful</string>
	<string>barbaric</string>
	<string>cruel</string>
	<string>sadistic</string>
	<string>mean</string>
	<string>horrid</string>
	<string>vile</string>
	<string>rotten</string>
	<string>beastly</string>
	<string>dishonourable</string>
	<string>vicious</string>
	<string>deceitful</string>
	<string>scurrilous</string>
	<string>duplicitous</string>
	<string>homicidal</string>
	</array>

	<key>assassination_board_company2b</key>
	<array>
	<string>[assassination_board_company2]</string>
	</array>

	<key>assassination_board_company3</key>
	<array>
	<string>employee of</string>
	<string>ex-employee of</string>
	<string>worker at</string>
	<string>minion of</string>
	<string>union leader at</string>
	<string>former employee of</string>
	<string>shop steward at</string>
	<string>major shareholder of</string>
	<string>local area manager of</string>
	<string>executive of</string>
	<string>former executive of</string>
	<string>sales being for</string>
	<string>buisness rival of</string>
	</array>

	<key>assassination_board_crime</key>
	<array>
	<string>wanted for</string>
	<string>suspected of</string>
	<string>guilty of</string>
	<string>indicted for</string>
	<string>convicted of</string>
	<string>convicted in absentia of</string>
	<string>charged with</string>
	<string>currently on the run for</string>
	<string>believed to be responsible for</string>
	<string>who failed to attend at [mission_random_hits_mark_gender] trial for</string>
	</array>

	<key>random_hits_cool_item</key>
	<array>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] food blender</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] flintlock pistol</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] copper golem</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] silk underwear</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] silver surfboard</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] broccoli plant</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] copy of Elite 4</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] rubber chicken</string>
	<string>[random_hits_cool_item_owner] finest turnip</string>
	<string>[random_hits_cool_item_owner] very well cured Corsicoid cheese</string>
	<string>[random_hits_cool_item_owner] unbelievably sharp katana sword</string>
	<string>the Holy Hand Grenade of Antioch</string>
	<string>the [assassination_board_poster_systemd]ian Sceptre of Authority</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] copy of the Federal Times</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] copy of the Imperial Herald</string>
	<string>[random_hits_cool_item_owner] very funny hat</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] [assassination_board_poster_systemd]ian bowtie</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] bowler hat</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] chemistry set</string>
	<string>[random_hits_cool_item_owner] deadly cream pie</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] collection of bad jokes</string>
	<string>[random_hits_cool_item_owner] shipment of hi-tech military hardware</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] Baudelaire's 'Fleurs du Mal'</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] copy of Poe's anthology</string>
	<string>[random_hits_cool_item_owner] canister of Soholian Plague virus</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] combat computer</string>
	<string>[random_hits_cool_item_owner] devilishly ingenious auto-target system</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] set of bagpipes</string>
	<string>[random_hits_cool_item_owner] bank of Aegis Suprema shield generators</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] 4MW beam laser</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] collection of military missiles</string>
	<string>[random_hits_cool_item_owner] original Masamune katana sword</string>
	<string>[random_hits_cool_item_owner] fully functional scale model of the Ark of Alliance</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] Playsentient holo-cube</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] vacuum cleaner</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] bottle of 75% proof puncheon rum</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] mass projectile railgun</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] laser cooling system</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] asteroid plough</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] Valkyrie laser array</string>
	<string>[random_hits_cool_item_owner] copy of 'How to Conquer the Ooniverse in 30 Easy Lessons'</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] artificial leg</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] wooden false teeth</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] dead trumble on a spring</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] glow in the dark OmniDeity</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] vibrating pilot's chair</string>
	<string>[random_hits_cool_item_owner] pint of Riedquatian Brown Ale</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a]sonic screwdriver</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a]psychic paper</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] robotic dog</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] Bruce Willis clone</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] Chuck Norris clone</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] Rupert Bear Annual</string>
	<string>[random_hits_cool_item_owner] blue and white striped golfing umbrella</string>
	<string>[random_hits_cool_item_owner] election manifesto</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] machine that goes 'ping'</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] vulcanized rubber glove</string>
	<string>[random_hits_cool_item_owner] stash of medicinal mega-weed</string>
	<string>[random_hits_cool_item_owner] Airfix model of [assassination_board_poster_systemd] Station</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] Jake Thackray compact disc</string>
	<string>[random_hits_cool_item_owner] last will and testament</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] Happy Eye Pulpit Pod</string>
	<string>[random_hits_cool_item_owner] sacred relics of the Witchspace Lobster</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] Terascreen</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] pointed stick</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] bag of Liquorice Allsorts</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] Eject-o-Hat</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] Kill-O-Zap pistol</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] potted cactus plant</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] Improbability Drive</string>
	<string>[random_hits_cool_item_owner] prehistoric [random_hits_oldcomputer]</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] towel</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] bath cubes</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] lurex apron</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item1a] garden gnome</string>
	<string>[random_hits_cool_item_owner] complete collection of 'What Spaceship?' magazine</string>
	<string>[random_hits_cool_item_owner] 'Witch-Craft' magazine vintage prints collection</string>
	</array>

	<key>random_hits_oldcomputer</key>
	<array>
	<string>Acorn Electron</string>
	<string>BBC Micro-Computer</string>
	<string>ZX Spectrum</string>
	<string>Commodore 64</string>
	</array>

	<key>random_hits_cool_item1a</key>
	<array>
	<string>antique</string>
	<string>valuable</string>
	<string>favourite</string>
	<string>prized</string>
	<string>treasured</string>
	<string>precious</string>
	<string>beloved</string>
	<string>brand new</string>
	<string>top of the range</string>
	<string>state of the art</string>
	<string>priceless</string>
	</array>

	<key>random_hits_cool_item2</key>
	<array>
	<string>[random_hits_cool_item_owner] lover</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] Bruce Willis clone</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] Chuck Norris clone</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] robotic dog</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] copper golem</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] tabby kitten</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] albino trumble</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] pet lobster</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] libel lawyer</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] bodyguard</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] personal fitness instructor</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] accountant</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] cocker spaniel</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] guinea pig</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] rabbit</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] private nurse</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] bug-blatter beast</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] talking parrot</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] butler</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] speckled hen</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] golden retriever</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] personal spiritual adviser</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] racing pigeon</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] chauffer</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] performing seal</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] pet penguin</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] vacuum karate instructor</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] personal poet</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] bantam cockerel</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] pleasure Gelf</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] physiatrist</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] blood-beast</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] mechanoid</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] Scutter Droid</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] pet polymorph</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] astrologer</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] pet porcupine</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] guard dog</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] financial adviser</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] bank manager</string>
	<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] priest</string>
	</array>

	<key>random_hits_cool_item2a</key>
	<array>
	<string>cute</string>
	<string>rare</string>
	<string>lovely</string>
	<string>favourite</string>
	<string>loyal</string>
	<string>pedigree</string>
	<string>friendly</string>
	<string>long-suffering</string>
	<string>faithful</string>
	<string>prize-winning</string>
	<string>beloved</string>
	<string>talented</string>
	<string>attractive</string>
	<string>beautiful</string>
	<string>elderly</string>
	<string>precious</string>
	<string>decrepit</string>
	<string>homicidal</string>
	<string>hard working</string>
	<string>highly-strung</string>
	</array>
	
	<key>random_hits_cool_item_owner</key>
	<array>
	<string>my</string>
	<string>my daughter's</string>
	<string>my mother's</string>
	<string>my hatchling's</string>
	<string>my uncle's</string>
	<string>my son's</string>
	<string>my cousin's</string>
	<string>my auntie's</string>
	<string>my father's</string>
	<string>my nephew's</string>
	<string>my brother's</string>
	<string>my sister's</string>
	<string>my grandmother's</string>
	<string>my grandfather's</string>
	<string>the [assassination_board_poster_systemd]ian President's</string>
	<string>the [assassination_board_poster_systemd]ian Chief Tax Inspector's</string>
	<string>the [assassination_board_poster_systemd]ian Police Chief's</string>
	<string>the [assassination_board_poster_systemd]ian Pontiff's</string>
	<string>the [assassination_board_poster_systemd]ian Prime Minister's</string>
	<string>[assassination_board_poster_titled] [assassination_board_poster_named]'s</string>
	<string>[random_hits_cool_item_ownerb]'s</string>
	<string>[random_hits_cool_item_ownerb]'s</string>
	</array>

	<key>random_hits_cool_item_ownerb</key>
	<array>
	<string>a captain</string>
	<string>a doctor</string>
	<string>a peasant</string>
	<string>a trader</string>
	<string>a sergeant</string>
	<string>a councillor</string>
	<string>a judge</string>
	<string>a minister</string>
	<string>a commodore</string>
	<string>an abbott</string>
	<string>a general</string>
	<string>a professor</string>
	<string>an admiral</string>
	<string>a senator</string>
	<string>a counselor</string>
	<string>a commissioner</string>
	<string>a superintendent</string>
	<string>a mayor</string>
	<string>a governor</string>
 	<string>a serf</string>
	<string>a viceroy</string>
	<string>a president</string>
	<string>a chair-Sentient</string>
	<string>a representative</string>
	<string>a ambassador</string>
 	<string>a constable</string>
	<string>a sheriff</string>
	<string>a deputy</string>
	<string>a chancellor</string>
	<string>a secretary general</string>
	<string>a secretary</string>
	<string>a prime minister</string>
 	<string>an ombudsman</string>
	<string>a lord</string>
	<string>a knight</string>
	<string>a dame</string>
	<string>a prince</string>
	<string>a princess</string>
	<string>a commissar</string>
	<string>a comrade</string>
	<string>a grand inqusitor</string>
	<string>an arch bishop</string>
	<string>a bishop</string>
	<string>a chairman</string>
	<string>a count</string>
	<string>a sheikh</string>
	<string>a supreme bureaucrat</string>
	<string>a duke</string>
	<string>a dutchess</string>
	<string>a friar</string>
	</array>
	
	<key>assassination_board_part2b</key>
	<array>
	<string>[assassination_board_part2]</string>
	</array>

	<key>assassination_board_part2c</key>
	<array>
	<string>[assassination_board_part2]</string>
	</array>

OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
Disembodied
Jedi Spam Assassin
Jedi Spam Assassin
Posts: 6881
Joined: Thu Jul 12, 2007 10:54 pm
Location: Carter's Snort

Post by Disembodied »

Looking good, LB! A few minor corrections:

In <key>assassination_board_part2_general</key>
<string>know to have caused unnecessary suffering to a Weeviloid</string>
should be
<string>known to have caused unnecessary suffering to a Weeviloid</string>

In
<key>assassination_board_part2_personal_thing</key>
<string>who wreaked [random_hits_cool_item]</string>
should be
<string>who wrecked [random_hits_cool_item]</string>

In
<key>assassination_board_part2_personal_being</key>
<string>[assassination_board_crime] upseting [random_hits_cool_item2]</string>
should be
<string>[assassination_board_crime] upsetting [random_hits_cool_item2]</string>

In
<key>assassination_board_company2</key>
<string>pestillent</string>
should be
<string>pestilent</string>

In
<key>assassination_board_company3</key>
<string>buisness rival of</string>
should be
<string>business rival of</string>

In
<key>random_hits_cool_item2</key>
<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] chauffer</string>
should be
<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] chauffeur</string>

and
<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] physiatrist</string>
should be
<string>[random_hits_cool_item_owner] [random_hits_cool_item2a] psychiatrist</string>

In
<key>random_hits_cool_item_ownerb</key>
<string>a ambassador</string>
should be
<string>an ambassador</string>

<string>an arch bishop</string>
should be
<string>an archbishop</string>

and
<string>a dutchess</string>
should be
<string>a duchess</string>
User avatar
Commander McLane
---- E L I T E ----
---- E L I T E ----
Posts: 9520
Joined: Thu Dec 14, 2006 9:08 am
Location: a Hacker Outpost in a moderately remote area
Contact:

Post by Commander McLane »

The Bruce Willis clone and the Chuck Norris clone appear twice now, in the cool_items and in the cool_items2. I think you want to erase them from cool_items.
User avatar
LittleBear
---- E L I T E ----
---- E L I T E ----
Posts: 2867
Joined: Tue Apr 04, 2006 7:02 pm
Location: On a survey mission for GalCop. Ship: Cobra Corvette: Hidden Dragon Rated: Deadly.

Post by LittleBear »

They make sense as both things and people though "wanted for stealing the Lavian Pontiff's treasured Bruce Wills Clone" or "currently on the run for poking the Lavian President's beutiful Bruce Willis Clone with a stick", hence they are in both tables. :wink:

Got my victims in Annacondas and Boas launching worms with pulse lasers out of the aft hatch when attacked.
OXPS : The Assassins Guild, Asteroid Storm, The Bank of the Black Monks, Random Hits, The Galactic Almanac, Renegade Pirates can be downloaded from the Elite Wiki here.
User avatar
Rxke
Retired Assassin
Retired Assassin
Posts: 1757
Joined: Thu Aug 12, 2004 4:54 pm
Location: Belgium

Post by Rxke »

LittleBear wrote:
Got my victims in Annacondas and Boas launching worms with pulse lasers out of the aft hatch when attacked.
8)
User avatar
nijineko
---- E L I T E ----
---- E L I T E ----
Posts: 353
Joined: Wed Jul 04, 2007 3:37 pm
Location: two strange quarks short of a graviton....
Contact:

Post by nijineko »

nice. very nice. i wonder how many 10-10-30's one could fit in a cargo hold, outfitted with some lasers....
arukibito ga michi wo erabu no ka, michi ga arukibito wo erabu no deshou ka?

Image
Play games. Win Amazon gift cards! Brag. Repeat.
Micaelis
Average
Average
Posts: 11
Joined: Mon Jul 03, 2006 4:11 pm
Location: Rio de Janeiro, Brasil

Post by Micaelis »

Hey LittleBear, please don't forget the MSX, in the old computer list.

I think MSX had one of the best ports of Elite IMHO! :oops:

Cheers!
Post Reply