Page 1 of 6

Revenge_on_Hesperus_for_ripping_me_off.oxp

Posted: Mon Jun 04, 2007 11:07 pm
by Arexack_Heretic
It deserves its own thread by now.

This OXP will attempt to:

-Expand on one of the first scripted classic missions.
-Give each of us the chance to kill Captain Hesperus.


SPOILER WARNING

For those that have yet to buy their first ship upgrade:
It may be more fun to just install the thing (once it's finished),
don't read the below discussion of the innards of this OXP and the earlygame missions it relates to.

script

Posted: Mon Jun 04, 2007 11:34 pm
by Arexack_Heretic
The entire current (6/6/07) script.plist:

Code: Select all

{
	"Trumblerevenge" = (
		{
			conditions = (
				"mission_trumbles TRUMBLE_BOUGHT",
				"mission_trumblerevenge equal undefined",
				"set: mission_variable_hesperus_lives 9"
			);
			do = (
				"set: mission_trumblerevenge equal INCUBATING"
			);
		},
/**	Determine trumble status **/
		{
			conditions = ("status_string equal STATUS_DOCKED");
			do = ("testForEquipment: EQ_TRUMBLE",
				{
					conditions = ("foundEquipment_bool equal YES");
					do = ("set: mission_variable_trumblecheck GOT_TRUMBLE");
					else = ("set: mission_variable_trumblecheck NOT_TRUMBLE");
				},
			);
		},
/**	Block docking at Hermits with pets **/
		{
			conditions = (
				"mission_local_variable_trumblecheck equal GOT_TRUMBLE",
				"status_string equal STATUS_DOCKED",
				"dockedStationName_string equal rock-hermit"
			);
			do = (
				"showShipModel: none",
				"setMissionImage: screamcat.png",
				setGuiToMissionScreen,
				"set: local_variable_hermitreply_die [d100_number]",
				{
					conditions = ("local_variable_hermitreply_die lessThan 11");
					do = ("addMissionText: trumble_getout1");
				},
				{
					conditions = ("local_variable_hermitreply_die moreThan 10");
					do = (
						{
							conditions = ("local_variable_hermitreply_die lessThan 21");
							do = ("addMissionText: trumble_getout2");
						},
					);
				},
				{
					conditions = ("local_variable_hermitreply_die moreThan 20");
					do = (
						{
							conditions = ("local_variable_hermitreply_die lessThan 31");
							do = ("addMissionText: trumble_getout3");
						},
					);
				},
				{
					conditions = ("local_variable_hermitreply_die moreThan 30");
					do = (
						{
							conditions = ("local_variable_hermitreply_die lessThan 41");
							do = ("addMissionText: trumble_getout4");
						},
					);
				},
				{
					conditions = ("local_variable_hermitreply_die moreThan 40");
					do = (
						{
							conditions = ("local_variable_hermitreply_die lessThan 51");
							do = ("addMissionText: trumble_getout5");
						},
					);
				},
				{
					conditions = ("local_variable_hermitreply_die moreThan 50");
					do = (
						{
							conditions = ("local_variable_hermitreply_die lessThan 61");
							do = ("addMissionText: trumble_getout6");
						},
					);
				},
				{
					conditions = ("local_variable_hermitreply_die moreThan 60");
					do = (
						{
							conditions = ("local_variable_hermitreply_die lessThan 71");
							do = ("addMissionText: trumble_getout7");
						},
					);
				},
				{
					conditions = ("local_variable_hermitreply_die moreThan 70");
					do = (
						{
							conditions = ("local_variable_hermitreply_die lessThan 81");
							do = ("addMissionText: trumble_getout8");
						},
					);
				},
				{
					conditions = ("local_variable_hermitreply_die moreThan 80");
					do = (
						{
							conditions = ("local_variable_hermitreply_die lessThan 91");
							do = ("addMissionText: trumble_getout9");
							else = ("addMissionText: trumble_getout10");
						},
					);
				},
				launchFromStation
			);
		},
		/**	Incubating script. **?
		{
			conditions = (
				"status_string equal STATUS_EXITING_WITCHSPACE",
				"mission_trumblerevenge equal INCUBATING",
				"d100_number lessthan 5"
			);
			do = ("set: mission_trumblerevenge: OFFER");
		},
		/**	Offer choice: get hesperus or ignore. **/
		{
			conditions = (
				"status_string equal STATUS_DOCKED",
				"dockedAtMainStation_bool equal YES",
				"mission_trumblerevenge equal OFFER",
				"missionChoice_string undefined"
			);
			do = (
				{
					conditions = ("mission_local_variable_trumblecheck equal GOT_TRUMBLE");
					do = (
						"showShipModel: dubious_profit.dat",
						"setMissionImage: none",
						setGuiToMissionScreen,
						"addMissionText: trumble_get_hesperus",
						"setMissionChoices: trumble_revenge_yesno",
						"set: mission_trumblesrevenge CHOICE_OFFERED"
					);
				},
				{
					conditions = ("mission_local_variable_trumblecheck equal NOT_TRUMBLE");
					do = (
						"showShipModel: dubious_profit.dat",
						"setMissionImage: none",
						setGuiToMissionScreen,
						"addMissionText: trumble_help_hesperus",
						"setMissionChoices: trumble_revenge_yesno",
						"set: mission_trumblesrevenge CHOICE_OFFERED"
					);
				},
			);
		},

		/** Choice made, now decide missiontext depending on galaxy and trumble-state **/
		{
			conditions = (
				"status_string equal STATUS_DOCKED",
				"dockedAtMainStation_bool equal YES",
				"mission_trumblerevenge equal CHOICE_OFFERED"
				);
			do = (
				{
					conditions = (
						"status_string equal STATUS_DOCKED",
						"mission_trumbles equal CHOICE_OFFERED",
						"missionChoice_string equal NO"
					);
					do = (
						resetMissionChoice, "reset: mission_trumblerevenge"
					);
				},
				{
					conditions = (
						"status_string equal STATUS_DOCKED",
						"mission_trumbles equal CHOICE_OFFERED",
						"missionChoice_string equal YES"
					);
					do = (
						resetMissionChoice,
						"setMissionImage: none",
						setGuiToStatusScreen,
						"set: mission_trumblerevenge CHASE",
						{
							conditions = ("galaxy_number equal 0");
							do = ("addMissionText: trumble_chase_0_0", "setMissionDescription: Chase_Hesperus_description");
						},
						{
							conditions = ("galaxy_number equal 1");
							do = ("addMissionText: trumble_chase_1_0");
						},
						{
							conditions = ("galaxy_number equal 2");
							do = ("addMissionText: trumble_chase_2_0");
						},
						{
							conditions = ("galaxy_number equal 3");
							do = ("addMissionText: trumble_chase_3_0");
						},
						{
							conditions = ("galaxy_number equal 4");
							do = ("addMissionText: trumble_chase_4_0");
						},
						{
							conditions = ("galaxy_number equal 5");
							do = ("addMissionText: trumble_chase_5_0");
						},
						{
							conditions = ("galaxy_number equal 6");
							do = ("addMissionText: trumble_chase_6_0");
						},
						{
							conditions = ("galaxy_number equal 7");
							do = ("addMissionText: trumble_chase_7_0");
						},
					);
				},
			);
		},


		/** 	location hints galaxy one **/
		{
			conditions = (
				"status_string equal STATUS_DOCKED",
				"mission_trumblerevenge equal CHASE",
				"gui_screen_string equal GUI_SCREEN_SYSTEM_DATA");
			do = (
				{
					conditions = ("galaxy_number equal 0", "status_string equal STATUS_DOCKED");
					do = (
						{
							conditions = ("planet_number equal 63");
							do = ("addMissionText: trumblechase_0_63");
						},
						{
							conditions = ("planet_number equal 143");
							do = ("addMissionText: trumblechase_0_143");
						},
						{
							conditions = ("planet_number equal 199");
							do = ("addMissionText: trumblechase_0_199",
									"addMissionText: dubious_cargo_query",
									"set: local_variable_dubious_cargo CHOOSE");
						},
						{
							conditions = ("status_string equal STATUS_DOCKED", "planet_number equal 199", "local_variable_dubious_cargo CHOOSE", "missionChoice_string equal YES");
							do = ("awardCargo: food 2", "awardEquipment: EQ_TRUMBLE", resetMissionChoice, "addMisionText: dubious_cargo1");
							else = (
								{
									conditions = ("status_string equal STATUS_DOCKED", "planet_number equal 199", "local_variable_dubious_cargo CHOOSE", "missionChoice_string equal NO");
									do = (resetMissionChoice, );
								},
							);
						},
						{
							conditions = ("planet_number equal 150");
							do = ("addMissionText: trumblechase_0_150");
						},
						{
							conditions = ("planet_number equal 85");
							do = ("addMissionText: trumblechase_0_85");
						},
						{
							conditions = ("planet_number equal 247");
							do = ("addMissionText: trumblechase_0_247");
						},
						{
							conditions = ("planet_number oneof ");
							do = ("addMissionText: trumblechase_0_Lave");
						},
						{
							conditions = ("planet_number equal 7");
							do = ("addMissionText: trumblechase_0_Lave");
						},
					);
				},
			);
		},

		/** 	Hesperus found at Tianve, galaxy 0 **/
		/** 	Checking for Tianve_OXP **/
		{
			conditions = (
				"status_string equals IN_FLIGHT",
				"galaxy_number equal 0",
				"planet_number equal 247",
				"mission_trumblerevenge oneof CHASE, INCUBATING"
			);
			do = (	"checkForShips: station-pulsar",
				{
					conditions = ("shipsFound_number greaterThan 0");
					do = ("checkForShips: Dubious_Profit",
						{
							conditions = ("shipsFound_number equal 0", "mission_variable_hesperus_lives greaterThan 0");
							do = ("addShipsAtPrecisely: Dubious_Profit 1 pwm -4381198.00 2271925.50 623546.50");
						},
					);
					else =  ("set: mission_variable_TianvePulsar NONE", "checkForShips: Dubious_Profit",
						{
							conditions = ("shipsFound_number equal 0", "mission_variable_hesperus_lives greaterThan 0");
							do = ("addShips: dubious_profit 1");
						},
					);
				},
			);
		},

		/** WRAP IT UP **/
		{
			conditions = (
				"status_string equal STATUS_DOCKED",
				"galaxy_number equal 0",
				"planet_number equal 247");
			do = (
				"showShipModel: dubious_profit.dat",
				"setMissionImage: none",
				setGuiToMissionScreen,
				{
					conditions = ("mission_trumblerevenge oneof COMPLETED_SHIP_DESTROYED, COMPLETED_DEAD, COMPLETED_ESCAPED");
					do = ("addMissionText: trumble_got_Hesperus");
				},
				{
				conditions = ("mission_trumblerevenge oneof COMPLETED_CAPTURED, COMPLETED_MERCY");
				do = ("addMissionText: trumble_Hesperus_negotiations");
				},
			);
		},
		/** Reactivating trumbles **/
		{
			conditions = ("mission_trumble equal TRUMBLE_BOUGHT", "dockedAtMainStation_bool equal YES");
			do = (
				{
					conditions = ("score_number greaterThan 5000");
					do = ();
					else = (
						{
							conditions = ("score_number greaterThan 4000");
							do = ("reset: mission_trumble", "reset: mission_trumblerevenge");
							else = (
								{
									conditions = ("score_number greaterThan 3000");
									do = ("reset: mission_trumble", "reset: mission_trumblerevenge");
									else = (
										{
											conditions = ("score_number greaterThan 2000");
											do = ("reset: mission_trumble", "reset: mission_trumblerevenge");
											else = (
												{
													conditions = ("score_number greaterThan 1500");
													do = ("reset: mission_trumble", "reset: mission_trumblerevenge");
													else = (
														{
															conditions = ("score_number greaterThan 1000");
															do = ("reset: mission_trumble", "reset: mission_trumblerevenge");
															else = (
																{
																	conditions = ("score_number greaterThan 750");
																	do = ("reset: mission_trumble", "reset: mission_trumblerevenge");
																	else = (
																		{
																			conditions = ("score_number greaterThan 500");
																			do = ("reset: mission_trumble", "reset: mission_trumblerevenge");
																		},
																	);
																},
															);
														},
													);
												},
											);
										},
									);
								},
							);
						},
					);
				},
			);
		},
		/** Damaged station temporary **/
		{
			conditions =("mission_trumblerevenge equal CHASE");
			do = ("setSpecificPlanetInfo: 0=179=station=coriolis-station-two");
			else = (
				{
					conditions =( "mission_trumble equal TRUMBLE_BOUGHT" );
					do = ("setSpecificPlanetInfo: 0=179=station=coriolis-station-two" );
				},
			);
		},
	);
}

shipdata

Posted: Mon Jun 04, 2007 11:43 pm
by Arexack_Heretic
The boyracer (to save on dependencies, I have copied relevant bits):
current (6/6/07) shipdata.plist:

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Dubious_Profit</key>
	<dict>
		<key>like_ship</key>
		<string>pythonM2-blackdog</string>
		<key>ai_type</key>
		<string>HesperusAI.plist</string>
		<key>missile_role</key>
		<string>EQ_HARDENED_MISSILE</string>
		<key>escorts</key>
		<integer>0</integer>
		<key>max_cargo</key>
		<integer>115</integer>
		<key>forward_weapon_type</key>
		<string>WEAPON_MILITARY_LASER</string>
		<key>aft_weapon_type</key>
		<string>WEAPON_MILITARY_LASER</string>
		<key>port_weapon_type</key>
		<string>WEAPON_TWIN_PLASMA_CANNON</string>
		<key>starboard_weapon_type</key>
		<string>WEAPON_TWIN_PLASMA_CANNON</string>
		<key>has_ecm</key>
		<real>1</real>
		<key>has_fuel_injection</key>
		<real>0.75</real>
		<key>has_escape_pod</key>
		<real>1</real>
		<key>has_scoop</key>
		<real>1.00</real>
		<key>has_shield_booster</key>
		<real>0.25</real>
		<key>has_shield_enhancer</key>
		<real>0.05</real>
		<key>roles</key>
		<string>pirate(0.01) trader(0.01) dubious_profit</string>
		<key>model</key>
		<string>dubious_profit.dat</string>
		<key>death_actions</key>
			<array>
				<string>decrement: mission_variable_hesperus_lives</string>
				<string>set: mission_trumblerevenge COMPLETED_SHIPDESTROYED</string>
				<string>commsMessageToTarget: KATCHICK! BO.....</string>
				<string>ejectItem: dubious-escape 1</string>
				<string>ejectItem: Cat_In_Box 1</string>
				<string>ejectItem: dubious-cargopod 5</string>
				<string>ejectItem: infected-cargopod 3</string>
			</array>
		<key>name</key>
		<string>Dubious profit</string>
		<key>unpiloted</key>
		<false/>
		<key>pilot</key>
		<string>Hesperus</string>
	</dict>
	<key>Dubious_Escape1</key>
	<dict>
		<key>like_ship</key>
		<string>escape-capsule</string>
		<key>cargo_type</key>
		<string>CARGO_SCRIPTED_ITEM</string>
		<key>death_actions</key>
			<array>
				<dict>
					<key>conditions</key>
						<array>
							<string>mission_trumblerevenge: COMPLETED_CAPTURED</string>
						</array>
					<key>do</key>
						<array><string></string></array>
					<key>else</key>
						<array>
							<string>set: mission_trumblerevenge COMPLETED_DEAD</string>
							<string>CommsMessage: so cruel . . .</string>
						</array>
				</dict>
			</array>
		<key>script_actions</key>
			<array>
				<dict>
					<key>conditions</key>
						<array>
							<string>mission_trumblerevenge: COMPLETED_SHIPDESTROYED</string>
						</array>
					<key>do</key>
						<array>
							<string>increment: mission_variable_hesperus_lives</string>
							<string>set: mission_trumblerevenge COMPLETED_CAPTURED</string>
							<string>CommsMessage: Hey! destroying my ship was totally uncalled for!</string>
						</array>
					<key>else</key>
						<array>
							<string>awardCargo: Slaves 1</string>
							<string>CommsMessage: Hi, thanks for rescueing us. I'm Stepan, the navigator. Do you have chewy-bars onboard? Thermadore and Bique are not quite to my taste. Hesperus is not abourd this pod Unfortunately.</string>
						</array>
				</dict>
			</array>
		<key>roles</key>
		<string>dubious-escape</string>
	</dict>
	<key>Dubious_cargo1</key>
	<dict>
		<key>like_ship</key>
		<string>infected-cargopod</string>
		<key>cargo_type</key>
		<string>CARGO_SCRIPTED_ITEM</string>
		<key>model</key>
		<string>cargo4g.dat</string>
		<key>name</key>
		<string>cargopod</string>
		<key>script_actions</key>
			<array>
				<string>awardCargo: EQ_TRUMBLE</string>
				<string>awardCargo: 1 furs</string>
			</array>
		<key>roles</key>
		<string>dubious-cargopod</string>
	</dict>
	<key>Dubious_cargo2</key>
	<dict>
		<key>like_ship</key>
		<string>cargopod</string>
		<key>model</key>
		<string>cargo3.dat</string>
		<key>cargo_type</key>
		<string>CARGO_CARRIED</string>
		<key>cargo_carried</key>
		<string>Narcotics</string>
		<key>roles</key>
		<string>dubious-cargopod</string>
	</dict>
	<key>Dubious_cargo3</key>
	<dict>
		<key>like_ship</key>
		<string>infected-cargopod</string>
		<key>roles</key>
		<string>dubious-cargopod</string>
	</dict>
	<key>Cat_In_Box</key>
	<dict>
		<key>like_ship</key>
		<string>infected-cargopod</string>
		<key>cargo_type</key>
		<string>CARGO_SCRIPTED_ITEM</string>
		<key>death_actions</key>
			<array>
				<dict>
					<key>conditions</key>
						<array>
							<string>mission_trumblerevenge: COMPLETED_CAPTURED</string>
						</array>
					<key>do</key>
						<array>
							<string>awardCargo: Gold 10</string>
						</array>
					<key>else</key>
						<array>
							<string>commsMessage: Mewl!</string>
							<string>set: mission_trumblerevenge COMPLETED_DEAD</string>
						</array>
				</dict>
			</array>
		<key>script_actions</key>
			<array>
				<dict>
					<key>conditions</key>
						<array>
							<string>mission_trumblerevenge: COMPLETED_CAPTURED</string>
						</array>
					<key>do</key>
						<array>
							<string>awardEquipment: EQ_TRUMBLE</string>
							<string>awardCargo: 1 Narcotics</string>
						</array>
					<key>else</key>
						<array>
							<string>increment: mission_variable_hesperus_lives</string>
							<string>set: mission_trumblerevenge COMPLETED_CAPTURED</string>
						</array>
				</dict>
			</array>
		<key>roles</key>
		<string>dubious-escape</string>
	</dict>
	<key>coriolis_station-two</key>
	<dict>
		<key>like_ship</key>
		<string>coriolis-station</string>
		<key>ai_type</key>
		<string>damagedstationAI.plist</string>
		<key>roles</key>
		<string>coriolis station</string>
		<key>rotating</key>
		<true/>
		<key>subentities</key>
		<array>
			<string>broken-bay-flat 0 0 500 1 0 0 1</string><!-- rotated 90 degrees -->
			<string>arc-detail 0 0 0 1 0 0 0</string>
			<string>arc-detail 0 0 0 1 0 0 1</string>
			<string>arc-detail 0 0 0 0 0 0 1</string>
			<string>arc-detail 0 0 0 1 0 0 -1</string>
			<string>*FLASHER* 0 92 475 60.0 1 -0.50 12</string>
			<string>*FLASHER* 0 92 425 45.0 1 -0.60 12</string>
			<string>*FLASHER* 0 92 375 30.0 1 -0.70 12</string>
			<string>*FLASHER* 0 92 325 15.0 1 -0.80 12</string>
			<string>*FLASHER* 0 92 275 0.0 1 -0.90 12</string>
			<string>*FLASHER* 0 -92 475 60.0 1 -0.50 12</string>
			<string>*FLASHER* 0 -92 425 45.0 1 -0.60 12</string>
			<string>*FLASHER* 0 -92 375 30.0 1 -0.70 12</string>
			<string>*FLASHER* 0 -92 325 15.0 1 -0.80 12</string>
			<string>*FLASHER* 0 -92 275 0.0 1 -0.90 12</string>
			<string>*FLASHER* 0 -16 252 0.0 1 0.5 12</string>
			<string>*FLASHER* 0 16 252 0.0 1 0.5 12</string>
			<string>*FLASHER* 16 0 252 0.0 1 0.0 12</string>
			<string>*FLASHER* -16 0 252 0.0 1 0.0 12</string>
		</array>
		<key>name</key>
		<string>Coriolis Station Two</string>
	</dict>
	<key>broken-bay-flat</key>
	<dict>
		<key>ai_type</key>
		<string>nullAI.plist</string>
		<key>model</key>
		<string>dock-flat.dat</string>
		<key>name</key>
		<string>Docking Slit (horizontal)</string>
		<key>roles</key>
		<string>brokenbay-horizontal</string>
	</dict>
	<key>coriolis-station-one</key>
	<dict>
		<key>ai_type</key>
		<string>stationAI.plist</string>
		<key>bounty</key>
		<integer>0</integer>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>energy_recharge_rate</key>
		<real>100</real>
		<key>forward_weapon_type</key>
		<string>WEAPON_NONE</string>
		<key>frangible</key>
		<false/>
		<key>has_ecm</key>
		<true/>
		<key>has_escape_pod</key>
		<false/>
		<key>has_scoop</key>
		<false/>
		<key>likely_cargo</key>
		<integer>0</integer>
		<key>max_cargo</key>
		<integer>0</integer>
		<key>max_energy</key>
		<real>25000</real>
		<key>max_flight_pitch</key>
		<real>8</real>
		<key>max_flight_roll</key>
		<real>8</real>
		<key>max_flight_speed</key>
		<real>0.0</real>
		<key>max_missiles</key>
		<integer>0</integer>
		<key>missiles</key>
		<integer>0</integer>
		<key>model</key>
		<string>new_coriolis.dat</string>
		<key>name</key>
		<string>Coriolis Station One</string>
		<key>port_radius</key>
		<real>500</real>
		<key>roles</key>
		<string>coriolis station coriolis-one</string>
		<key>rotating</key>
		<true/>
		<key>subentities</key>
		<array>
			<string>dock-flat 0 0 500 1 0 0 1</string>
			<string>arc-detail 0 0 0 1 0 0 0</string>
			<string>arc-detail 0 0 0 1 0 0 1</string>
			<string>arc-detail 0 0 0 0 0 0 1</string>
			<string>arc-detail 0 0 0 1 0 0 -1</string>
			<string>*FLASHER* 0 92 475 60.0 1 -0.50 12</string>
			<string>*FLASHER* 0 92 425 75.0 1 -0.60 12</string>
			<string>*FLASHER* 0 92 375 90.0 1 -0.70 12</string>
			<string>*FLASHER* 0 92 325 105.0 1 -0.80 12</string>
			<string>*FLASHER* 0 92 275 120.0 1 -0.90 12</string>
			<string>*FLASHER* 0 -92 475 60.0 1 -0.50 12</string>
			<string>*FLASHER* 0 -92 425 75.0 1 -0.60 12</string>
			<string>*FLASHER* 0 -92 375 90.0 1 -0.70 12</string>
			<string>*FLASHER* 0 -92 325 105.0 1 -0.80 12</string>
			<string>*FLASHER* 0 -92 275 120.0 1 -0.90 12</string>
			<string>*FLASHER* 0 -16 252 30.0 1 0.5 12</string>
			<string>*FLASHER* 0 16 252 30.0 1 0.5 12</string>
			<string>*FLASHER* 16 0 252 30.0 1 0.0 12</string>
			<string>*FLASHER* -16 0 252 30.0 1 0.0 12</string>
		</array>
		<key>thrust</key>
		<real>100</real>
		<key>weapon_energy</key>
		<real>0.0</real>
		<key>weapon_offset_x</key>
		<real>0.0</real>
		<key>beacon</key>
		<string>1-CS</string>
		<key>spawn</key>
		<dict>
			<key>position</key>
			<string>pwp	0 0 -2</string><!-- one planet radius above the planet surface oposite the witchpoint -->
			<key>facing_position</key>
			<string>pwp	0 0 -1</string><!-- +z facing towards planet -->
		</dict>
	</dict>
	<key>dubious_escape2</key>
	<dict>
		<key>aft_eject_position</key>
		<string>0.0 -2.5 -19.5</string>
		<key>ai_type</key>
		<string>Hesperus_escapeAI.plist</string>
		<key>bounty</key>
		<integer>0</integer>
		<key>cargo_type</key>
		<string>CARGO_NOT_CARGO</string>
		<key>energy_recharge_rate</key>
		<real>2.8</real>
		<key>exhaust</key>
		<array>
			<string>0.0 0.00 -20.85 2 0.75 15.0</string>
		</array>
		<key>forward_weapon_type</key>
		<string>WEAPON_PULSE_LASER</string>
		<key>fuel</key>
		<integer>40</integer>
		<key>has_ecm</key>
		<false/>
		<key>has_escape_pod</key>
		<false/>
		<key>has_scoop</key>
		<false/>
		<key>has_fuel_injection</key>
		<true/>
		<key>laser_color</key>
		<string>blueColor</string>
		<key>likely_cargo</key>
		<integer>0</integer>
		<key>max_cargo</key>
		<integer>0</integer>
		<key>max_energy</key>
		<real>240</real>
		<key>max_flight_pitch</key>
		<real>1.7</real>
		<key>max_flight_roll</key>
		<real>1.9</real>
		<key>max_flight_speed</key>
		<real>365</real>
		<key>max_missiles</key>
		<integer>0</integer>
		<key>missiles</key>
		<integer>0</integer>
		<key>model</key>
		<string>hbr3_redux.dat</string>
		<key>name</key>
		<string>Hatchling BoyRacer3 'Dubious Escape'</string>
		<key>roles</key>
		<string>dubious_escape(0.5)</string>
		<key>thrust</key>
		<real>40</real>
		<key>view_position_aft</key>
		<string>0.0 4.0 -15.0</string>
		<key>view_position_forward</key>
		<string>0.0 4.0 10.8</string>
		<key>view_position_port</key>
		<string>-6.5 4.0 7.9</string>
		<key>view_position_starboard</key>
		<string>6.5 4.0 7.9</string>
		<key>weapon_position_aft</key>
		<string>0.0 -8.0 -15.0</string>
		<key>weapon_position_forward</key>
		<string>0.0 -2.28 20.80</string>
		<key>weapon_position_port</key>
		<string>-6.45 0.0 1.75</string>
		<key>weapon_position_starboard</key>
		<string>6.45 0.0 1.75</string>
		<key>death_actions</key>
			<array>
				<string>set: mission_trumblerevenge COMPLETED_DEAD</string>
				<string>decrement: mission_variable_hesperus_lives</string>
			</array>
		<key>setup_actions</key>
			<array>
				<string>set: mission_trumblerevenge COMPLETED_ESCAPED</string>
				<string>increment: mission_variable_hesperus_lives</string>
			</array>
	</dict>
	<key>nubarrel</key>
	<dict>
		<key>ai_type</key>
		<string>dumbAI.plist</string>
		<key>bounty</key>
		<integer>1</integer>
		<key>cargo_type</key>
		<string>CARGO_RANDOM</string>
		<key>energy_recharge_rate</key>
		<real>0.0</real>
		<key>forward_weapon_type</key>
		<string>WEAPON_NONE</string>
		<key>likely_cargo</key>
		<integer>0</integer>
		<key>max_cargo</key>
		<integer>0</integer>
		<key>max_energy</key>
		<real>1</real>
		<key>max_flight_pitch</key>
		<real>0.5</real>
		<key>max_flight_roll</key>
		<real>0.5</real>
		<key>max_flight_speed</key>
		<real>50</real>
		<key>missiles</key>
		<integer>0</integer>
		<key>model</key>
		<string>nubarrel.dat</string>
		<key>name</key>
		<string>Cargo container</string>
		<key>roles</key>
		<string>cargopod(0.1)</string>
		<key>smooth</key>
		<true/>
		<key>thrust</key>
		<real>0.0</real>
		<key>weapon_energy</key>
		<real>0.0</real>
		<key>weapon_offset_x</key>
		<real>0.0</real>
	</dict>
	<key>nubarrel2</key>
	<dict>
		<key>ai_type</key>
		<string>dumbAI.plist</string>
		<key>bounty</key>
		<integer>1</integer>
		<key>cargo_type</key>
		<string>CARGO_SCRIPTED_ITEM</string>
		<key>energy_recharge_rate</key>
		<real>0.0</real>
		<key>forward_weapon_type</key>
		<string>WEAPON_NONE</string>
		<key>likely_cargo</key>
		<integer>0</integer>
		<key>max_cargo</key>
		<integer>0</integer>
		<key>max_energy</key>
		<real>1</real>
		<key>max_flight_pitch</key>
		<real>0.5</real>
		<key>max_flight_roll</key>
		<real>0.5</real>
		<key>max_flight_speed</key>
		<real>50</real>
		<key>missiles</key>
		<integer>0</integer>
		<key>model</key>
		<string>nubarrel2.dat</string>
		<key>name</key>
		<string>Cargo container</string>
		<key>roles</key>
		<string>cargopod(0.05) infected-cargopod</string>
		<key>script_actions</key>
		<array>
			<string>debugOn</string>
			<dict>
				<key>conditions</key>
				<array>
					<string>d100_number lessthan 10</string>
				</array>
				<key>do</key>
				<array>
					<string>awardEquipment: EQ_TRUMBLE</string>
				</array>
			</dict>
			<string>awardCargo: 1 Furs</string>
			<string>debugOff</string>
		</array>
		<key>smooth</key>
		<true/>
		<key>thrust</key>
		<real>0.0</real>
	</dict>
</dict>
</plist>

current (6/6/07) missiontext.plist :

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<!-- hermit response to trumbles -->
	<key>trumble_getout1</key>
	<string>Dude! You got a trumble infection! My cousin at the station told me about them. Now get out!</string>
	<key>trumble_getout2</key>
	<string>Man, your hull is crawling with furry critters! First get your ship fumigated at the coriolis.</string>
	<key>trumble_getout3</key>
	<string>Aww. . . trumbles! They are so cute. I cannot allow you to dock here though, they will eat my stash in record time.</string>
	<key>trumble_getout4</key>
	<string>Honney, the best thing you can do with those furrballs is exposing them to some nice sunshine . . . real upclose.</string>
	<key>trumble_getout5</key>
	<string>Don't even try to open your cargohatch! You may want to visit my nephew at xxx, he knows more about these creatures. </string>
	<key>trumble_getout6</key>
	<string>Trumbles . . . hmm. They seem to be a favorite of several species of reptiles, most others feel they are too hard to digest.</string>
	<key>trumble_getout7</key>
	<string>Did you know that more than 95% of the trumble metabolism is geared towards reproduction? They are born pregnant!</string>
	<key>trumble_getout8</key>
	<string>Get out! You have those filthy vermin aboard.</string>
	<key>trumble_getout9</key>
	<string>No pets allowed!! Go fly into a sun will ye?</string>
	<key>trumble_getout10</key>
	<string>GO AWAY! Trumblehugger</string>
	<!-- /hermit response to trumbles -->

	<!-- Trumble revenge -->
	<key>trumblerevenge_yesno</key>
        <dict>
                <key>YES</key>
                <string>Yes, I desire blood!</string>
                <key>NO</key>
                <string>No, his life will end soon enough.</string>
        </dict>
	<key>trumblerevenge_mission_descr</key>
	<string>You are tracking down the infamous 'independent trader' Jack Hesperus,/nthe name 'Dubious Profit' he gave to his 2521 python is an indication of his bussines ethics./nHesperus is wanted for many things in many systems, however you just want to get back at him for selling you that blasted first trumble.</string>
	<key>trumblerevenge_mission_description</key>
	<string>Tracking Captain Hasperus:/nYou have procured a yellowed wanted transcript from a GalCop noticeboard at the Lave Galcop offices./n/n/n--WANTED--/n/nPreferably DEAD/nRepeat Offender and Fugitive Capt. Hesperus/nSpecies: Furry Feline/nOrigins: Orrira/nOccupation: independent entrepreneur, starship commander /nRanking: dangerous /n/nSHIP_MANIFEST/nType: Python 'BlackDog' variant/nFoundrydate: 2521/nGalactic Cooperative of Worlds Ship Designation Number (SDN): DP (Delta-Papa) 099 /nCargoBay: 115TC (Extended)/nWeaponCapability: fore and aft militarygrade Ingram Lasers, two missile cradles operational/nEquipment bay:/nECM, Fuelscoop, Additional PGU, QF Injection System, DocCom, ASC, heatshielding applied, but probably not intact.</string>
	<key>trumble_revenge_hint_0_8</key>
	<string>"The 'Dubious Profit' was last seen at Esusti, Commander."</string>
	<key>trumble_revenge_hint_0_90</key>
	<string>"You should go to the place where all GalCom information is collected, at Lave commander. They are bound to have a lead on your man there."</string>

	<key>	trumblechase_0_0	</key>		<!-- anyplace -->
	<string>	"Captain Hesperus' is the name of the brigand that sold you that creature./n/nThe guy was here a few weeks ago, selling those monsters. /nThey got loose and started chewing on everything, in the end the only option was to void the station of all air. /nEven now we get occasional outbreaks of them, station security is now patrolling the corridors equiped with flamethrowers./nHe was overheard saying he was heading for Esusti."	</string>
	<key>	trumblechase_0_62	</key>		<!-- esusti, rare cats -->
	<string>	"Someone sold these furry things as catfood, then after he left to party at Anarlaqu they started to eat our prized cats! 	</string>
	<key>	trumblechase_0_42	</key>		<!-- anarlaqu, very hoopy nightlife-->
	<string>	"Hesperus . . . You mean that groovy cat?/nYeah, he was here yesterday . . . sold me this nice hat./nAh! /nIt bit me! /n/nHe went to Ritila, said he had bought a 'foolproof system', I figure the fool wasn't refering to his dock-bot. /nTell him what a good joke this hat was, then kick him for me will ya?"	</string>
	<key>	trumblechase_0_199	</key>		<!-- Ritila, gambling-->
	<string>	"The 'Dubious Profit'? /nYeah, they were in quite a hurry to leave here, they left behind a couple of crates on the dock./nProbably took a loan with the Brotherhood to cover their losses at the casino. They are probably laying low in one of the less savoury systems around here."	</string>

	<key>	trumblechase_0_167	</key>		<!-- Dizaoner. hint at killing trumbles. -->
	<string>"Hey those stupid pets again! An Orririan feline sold many of them, they were a craze for a while, then they all died during a solarstorm.</string>

	<key>	trumblechase_0_xx	</key>		<!-- xxx just a dead lead, plus a present-->
	<string>	"A person fitting that description left 'this' here last week." /n"Take it with you . . .  I insist!" /n :proot:?	</string>
	<key>	trumblechase_0_28	</key>		<!--  xxx just a dead lead, plus a present -->
	<string>	"The station is overrun with vermin! /nThe one responsible was an Orriranian." 	</string>

	<key>	trumble_chase_0_149	</key>		<!-- Orrira, home sweet home -->
	<string>	"Mr. Hesperus is a native of this system. /nHe isn't from the planet proper, that may be the reason why he left. /nGrowing up in space without treeoids to scratch . . . he ranked just a kitten down below. /nOut there in GalCoop-space however even a small-time thug can become a big criminal. (snjarf !) /nHe hid out at his mothers' for a while, but she was getting into some heat herself (snjarf, snjarf !), so she sent him to relatives at Anxebiza." 	</string>




	<key>	trumblechase_0_179</key>	<!-- any system on the way with rodents-->
	<string>"That homicidal maniac!"/n"He got drunk at the spaceport bar and savagely mangled two locals."/n"Following his arrest he was taken back to CS-2 to inspect his cargohold for contraband."/n"As the grime-caked doors creaked open, the aresting team were bombarded with a deluge of starved trumbles."/n"In the confusion, Hesperus got into his vessel and launched manually without requesting clearance."/n/n"Hesperous is wanted in this system for:/n-Drunken Disorderly/n-Assault/n-Torture/n-Murder/n-Littering/-nTrafficing in hostile lifeforms without permit/n-Theft of an inpounded starship/n-Piloting while intoxicated/n-Reckless endagerment of station personell/n-Ignition of main motivators while inside a pressurised space-contruct./n-Disruption of Anxebiza interstellar trade/n-Terrorism/n/nAccording to our latest reports he defeated several of our investigators in a furrball above Bivea.</string>

	<key>	trumblechase_0_85  	</key>		<!-- Bivea -->
	<string>	"A trader sold his offspring here as slaves, they turned out to be useless pets! /nDunno where he gone to. /nNobody docks at this dump unless they are on their way to Tianve though, ever been to the pulsar?"	</string>
	<key>	trumblechase_0_247	</key>		<!-- tianve -->
	<string>	"He is out there now. /nScraped the dock somewhat too, going out no less!"</string>

	<key>dubious_cargo_query</key>
	<string>"You want the cargo they left? it may contain a clue to their destination."</string>

	<key>dubious_cargo_yesno</key>
        <dict>
                <key>YES</key>
                <string>Yes, put them in my cargobay, I'll check it out.</string>
                <key>NO</key>
                <string>No way, it's probably just refuge.</string>
        </dict>
	<key>dubious_cargo1</key>
	<string>The crates appear to contain a large amount of 'Chewy bars', they have been loaded into a spare cargopod.</string>



	<key>	trumblechase_1_0	</key>		<!-- anyplace  -->
	<string>"Captain Hesperus' is the name of the briggand that sold you that creature./n/nThe guy was here a few weeks ago, selling those monsters. /nThey got loose and started chewing on everything, in the end the only option was to void the station of all air. /nEven now we get occasional outbreaks of them, station security is now patrolling the corridors equiped with flamethrowers./n/nHe was overheard saying he was heading for Esusti."</string>






	<!-- trumble_get_hesperus
	 trumble_help_hesperus
	  Chase_Hesperus_description
	  trumble_chase_0_0
	  trumble_chase_1_0
	  trumble_chase_2_0
	  trumble_chase_3_0
	trumble_chase_4_0
	trumble_chase_5_0
	trumble_chase_6_0
	trumble_chase_7_0
	trumble_got_Hesperus
	trumble_Hesperus_negotiations
-->

</dict>
</plist>

final confrontation gal1.

Posted: Mon Jun 04, 2007 11:47 pm
by Arexack_Heretic
current (6/6/07) stderr.log <snippet>:

Code: Select all

2007-06-05 22:42:17.000 oolite.exe[4064] [plist.parse.foundation.failed]: Failed to parse AddOns/revenge.oxp/Config/missiontext.plist as a property list using Foundation. Retrying using homebrew parser. WARNING: the homebrew parser is deprecated and will be removed in a future version of Oolite.
Parse failed at line 1 (char 1) - extra data after parsed string
2007-06-05 22:42:17.000 oolite.exe[4064]   [plist.homebrew.success]: Successfully interpreted property list... for now.
2007-06-05 22:42:17.000 oolite.exe[4064] [plist.parse.foundation.failed]: Failed to parse AddOns/revenge.oxp/Config/script.plist as a property list using Foundation. Retrying using homebrew parser. WARNING: the homebrew parser is deprecated and will be removed in a future version of Oolite.
Parse failed at line 1 (char 1) - extra data after parsed string
2007-06-05 22:42:17.000 oolite.exe[4064]   [plist.homebrew.parseError]: Property list isn't in XML format, homebrew parser can't help you.

AIs

Posted: Mon Jun 04, 2007 11:48 pm
by Arexack_Heretic
AI's:
Boyracer_escape:

Code: Select all

{
    "ATTACK_SHIP" = {
        ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: ATTACK_SHIP");
        "ENERGY_LOW" = (setTargetToPrimaryAggressor, "sendTargetCommsMessage: Hey, [boyracer-reneg], Sir!", "setStateTo: FLEE");
        ENTER = (performAttack);
        EXIT = ();
        "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: FLEE");
        "TARGET_DESTROYED" = ("setStateTo: HEAD_FOR_SUN");
        "TARGET_LOST" = ("setStateTo: HEAD_FOR_SUN");
        UPDATE = ();
    };
    "EXIT_SYSTEM" = {
		ENTER = ();
		EXIT = ();
		UPDATE = ("pause: 10.0", performHyperSpaceExit, "setStateTo: ESCAPED" );
		"WITCHSPACE OKAY" = (wormholeEscorts, wormholeGroup);
		"WITCHSPACE BLOCKED" = (setTargetToFoundTarget, setDestinationWithinTarget, "setDesiredRangeTo: 10000.0", performFlyToRangeFromDestination);
		"WITCHSPACE UNAVAILABLE" = ("setStateTo: FLEE");
	};
	{
	ESCAPED = (ENTER = ("scanForShipsWithRole: player", "pause: 5.0");
		EXIT = ();
		UPDATE = ();
		TARGET_FOUND = ("setStateTo: HEAD_FOR_SUN");
		NO_TARGET = ("set: mission_trumblerevenge ESCAPED", "increment: mission_local_variable_hesperus_lives", landOnPlanet);
    };
FLEE = {
        ENTER = ("setDesiredRangeTo: 15000", performFlee);
        "ENERGY_FULL" = (performIdle, "setStateTo: HEAD_FOR_SUN");
        "TARGET_LOST" = ("setStateTo: EXIT");
        "DESIRED_RANGE_ACHIEVED" = ("setStateTo: HEAD_FOR_SUN");
        "INCOMING_MISSILE" = (fightOrFleeMissile, "setStateTo: EXIT");
        "REACHED_SAFETY" = ("sendTargetCommsMessage: Later, [boyracer-insult]!", "setStateTo: EXIT");
        ATTACKED = (setTargetToPrimaryAggressor, "setStateTo: FLEE");
        UPDATE = ();
        EXIT = ();
    };
    GLOBAL = {ENTER = ("setSpeedFactor: 2.0", "setStateTo: HEAD_FOR_SUN"); EXIT = (); UPDATE = (); };
    "HEAD_FOR_SUN" = {
		ENTER = (setSunSkimStartCoordinates);
		"WAIT_FOR_SUN" = ("pauseAI: 10.0", setSunSkimStartCoordinates);
		"APPROACH_COORDINATES" = (setDestinationFromCoordinates, "setDesiredRangeTo: 50000", checkCourseToDestination);
		"COURSE_OK" = ("setSpeedFactorTo: 0.80", performFlyToRangeFromDestination);
		"WAYPOINT_SET" = ("setStateTo: GO_TO_WAYPOINT_SUN");
		"DESIRED_RANGE_ACHIEVED" = (dockEscorts, "setStateTo: GO_TO_SKIM");
		EXIT = ();
		UPDATE = ("setStateTo: ESCAPED");
        ATTACKED = (setTargetToPrimaryAggressor, "sendTargetCommsMessage: [boyracer-intro], [boyracer-insult]!", fightOrFleeTarget);
        "INCOMING_MISSILE" = (fightOrFleeMissile);
		FIGHTING = ("sendTargetCommsMessage: [boyracer-intro], [boyracer-insult]!", "setStateTo: ATTACK_SHIP");
		FLEEING = ("setStateTo: FLEE");
	};
}
BrokenStation:

Code: Select all

{
    "DEFENSE_MODE" = {
        ATTACKED = (setTargetToPrimaryAggressor, increaseAlertLevel);
        ENTER = (checkTargetLegalStatus);
        EXIT = ();
        "RED_ALERT" = (performGroupAttack);
        "YELLOW_ALERT" = (performAttack);
        "CONDITION_YELLOW" = (requestEscort);
        "CONDITION_GREEN" = ("setStateTo: CHECK_FOR_DEBRIS");
        "INCOMING_MISSILE" = (fireECM, increaseAlertLevel);
        "TARGET_OFFENDER" = (increaseAlertLevel, "targetCommsMessage: [police_warning]");
        "TARGET_FUGITIVE" = (increaseAlertLevel, "targetCommsMessage: [police_warning]");
        "ENERGY_FULL" = ("pauseAI: 1.0", "setStateTo: IDLE");
        "OFFENCE_COMMITTED" = (setTargetToFoundTarget, "markTargetForOffence: 150", increaseAlertLevel);
        "TARGET_DESTROYED" = ("pauseAI: 1.0", "setStateTo: IDLE");
        "TARGET_LOST" = ("pauseAI: 1.0", "setStateTo: IDLE");
        "NO_TARGET" = ("pauseAI: 1.0", "setStateTo: IDLE");
        UPDATE = ();
    };
    GLOBAL = {ENTER = ("setStateTo: IDLE"); EXIT = (); UPDATE = (); };
    IDLE = {
        ATTACKED = (setTargetToPrimaryAggressor, increaseAlertLevel, "setStateTo: DEFENSE_MODE");
        "OFFENCE_COMMITTED" = (setTargetToFoundTarget, "markTargetForOffence: 150", increaseAlertLevel);
        ENTER = ("pauseAI: 5.0");
        EXIT = ();
        "INCOMING_MISSILE" = (fireECM, increaseAlertLevel);
        UPDATE = (decreaseAlertLevel, "setStateTo: SCAN_FOR_SHIPS");
    };
    SCAN_FOR_SHIPS = {
    ENTER = ("scanForShipsWithRole: player");
    UPDATE = ();
    TARGET_FOUND = (setTargetToFoundTarget, "sendCommsMessageToTarget: [This station is out of order]", "pauseAI: 5", "sendTargetCommsMessage: [Some idiot managed to ram all four sides of the dock before the grapplingfield got a lock on him.]", "pauseAI: 5.0", "sendTargetCommsMessage: [Please follow beacon-1]", "pauseAI: 5.0", "setStateTo: IDLE");
    NOTHING_FOUND = ("pauseAI:10","setStateTo: IDLE");
    EXIT = ();
    ATTACKED = (setTargetToPrimaryAggressor, increaseAlertLevel, "setStateTo: DEFENSE_MODE");
    "OFFENCE_COMMITTED" = (setTargetToFoundTarget, "markTargetForOffence: 150", increaseAlertLevel);
    "INCOMING_MISSILE" = (fireECM, increaseAlertLevel);
    };
}

To make things even more annoying

Posted: Mon Jun 04, 2007 11:50 pm
by Arexack_Heretic

Code: Select all

/**	Determine trumble status **/
{
	conditions = (
		status_string equal STATUS_DOCKED
	);
	do = (
		"testForEquipment: EQ_TRUMBLE",
		{
			conditions = (
				"foundEquipment_bool equal YES"
			);
			do = (
				"set: mission_variable_trumblecheck GOT_TRUMBLE"
			);
			else = (
				"set: mission_variable_trumblecheck NOT_TRUMBLE"
			);
		}
	);
},
/**	Block docking at Hermits with pets **/
{
	conditions = (
		"mission_local_variable_trumblecheck equal GOT_TRUMBLE",
		"status_string equal STATUS_DOCKED",
		"dockedStationName_string equal rock-hermit"
	);
	do = (
		"showShipModel: none",
		"setMissionImage: screamcat.png",
		setGuiToMissionScreen,
		"set: local_variable_hermitreply_die [d100_number]",
		{
			conditions = ("local_variable_hermitreply_die lessThan 11");
			do = ("addMissionText: trumble_getout1");
		},
		{
			conditions = ("local_variable_hermitreply_die moreThan 10");
			do = (
				{
					conditions = ("local_variable_hermitreply_die lessThan 21");
					do = ("addMissionText: trumble_getout2");
				}
			);
		},
		{
			conditions = ("local_variable_hermitreply_die moreThan 20");
			do = (
				{
					conditions = ("local_variable_hermitreply_die lessThan 31");
					do = ("addMissionText: trumble_getout3");
				}
			);
		},
		{
			conditions = ("local_variable_hermitreply_die moreThan 30");
			do = (
				{
					conditions = ("local_variable_hermitreply_die lessThan 41");
					do = ("addMissionText: trumble_getout4");
				}
			);
		},
		{
			conditions = ("local_variable_hermitreply_die moreThan 40");
			do = (
				{
					conditions = ("local_variable_hermitreply_die lessThan 51");
					do = ("addMissionText: trumble_getout5");
				}
			);
		},
		{
			conditions = ("local_variable_hermitreply_die moreThan 50");
			do = (
				{
					conditions = ("local_variable_hermitreply_die lessThan 61");
					do = ("addMissionText: trumble_getout6");
				}
			);
		},
		{
			conditions = ("local_variable_hermitreply_die moreThan 60");
			do = (
				{
					conditions = ("local_variable_hermitreply_die lessThan 71");
					do = ("addMissionText: trumble_getout7");
				}
			);
		},
		{
			conditions = ("local_variable_hermitreply_die moreThan 70");
			do = (
				{
					conditions = ("local_variable_hermitreply_die lessThan 81");
					do = ("addMissionText: trumble_getout8");
				}
			);
		},
		{
			conditions = ("local_variable_hermitreply_die moreThan 80");
			do = (
				{
					conditions = ("local_variable_hermitreply_die lessThan 91");
					do = ("addMissionText: trumble_getout9");
					else = ("addMissionText: trumble_getout10");
				}
			);
		},
		launchFromStation
	);
},

Posted: Tue Jun 05, 2007 4:50 pm
by Captain Hesperus
Image
Those prison cameras just don't catch your best side.....

How's this for a background image?
The original can be supplied without prison card.

Captain Hesperus

Posted: Tue Jun 05, 2007 4:58 pm
by Arexack_Heretic
oh please!

I'll give it scanlines etc...biometric scan of retina...hopefully.
this will do as a cool placeholder

Posted: Tue Jun 05, 2007 5:40 pm
by Captain Hesperus
Here I am.

Captain Hesperus

Posted: Tue Jun 05, 2007 6:06 pm
by JensAyton
It’s not as cute and fluffy and kitteny as the rifle-toting one… I guess that’s Hesperus as a cub, wiv his vewwy fist sniper wifle, then.

Posted: Tue Jun 05, 2007 6:10 pm
by Arexack_Heretic
Done texture for DP.
no shaders yet....
and new python wreck model coming along nicely too..using Griff+AH_alloy shadered textures as a base there.
Will have to mix the nonshader/shader texs a bit.

I would be very exited with more of these basic 'thing-a-bob' textures to play around with.
(I like to recycle textures over and over...just look at Thargorn)

Posted: Tue Jun 05, 2007 6:17 pm
by Captain Hesperus
Ahruman wrote:
It’s not as cute and fluffy and kitteny as the rifle-toting one…
Ten years in GalPenOne can do that to a Feline. I'm lucky I came out with both ears.
Ahruman wrote:
I guess that’s Hesperus as a cub, wiv his vewwy fist sniper wifle, then.
Ah, the good old days. Capping GalCop police officials from the book repository window, or was it the grassy knoll. I can't remember.

Captain Hesperus

Posted: Tue Jun 05, 2007 6:19 pm
by Arexack_Heretic
Captain Hesperus wrote:
I'm lucky I came out with both ears.
lol.
no you did not you liar you. ;)

photoshoOp or cybernetic feline?

Posted: Tue Jun 05, 2007 6:57 pm
by Captain Hesperus
Arexack_Heretic wrote:
no you did not you liar you. ;)

photoshoOp or cybernetic feline?
Okay, you got me. The left one is a prosthetic replacement. Can't see the scars unless you squint ;-)

Captain Hesperus

Posted: Tue Jun 05, 2007 8:03 pm
by LittleBear
:lol: Maybe just use the Cat image as a PNG displayed behind the mission text, as in :-

Code: Select all

---- INCOMING MESSAGE

Good morning [commander name]

The cute furry feline you are now viewing is a minor criminal, normally contenting himself with making small profits committing breaches of GalCop Health and Saftey and Narcotics regulations.

It has come to our attention however, that this feline has recently commenced selling Trumbles to unsuspecting traders. The damage these creatures can do to the Galactic economy is serious. Some admires of this cute feline would therefore wish him a happy retirement.

Intelligence indicates that the target is currently commanding a battered Python Class trade ship, named "The doubious profit" and was last seen in the XXX system.

Please ensure that he meets with an accident.

--- MESSAGE ENDS
[/code]