//////////////////////////////////////
// GRAND THEFT AUTO 2 LONDON SCRIPT //
///////////// BY PYRO ////////////////
//////////////////////////////////////

/* ANGLES FOR REFERENCE:
225 180 135
270  x  090
315 000 045
*/

// player
PLAYER_PED p1 = ( 248.5 , 040.5 , 2.0 ) 25 270

// arrows
ARROW_DATA arrow01
ARROW_DATA arrow02
ARROW_DATA arrow03
ARROW_DATA end_arrow

// parked cars
	// cars that drive around like normal but not found on roads... perhaps give bonus missions?
CAR_DATA trucktrailer_red = ( 157.5 , 229.5 , 2.0 ) 28 180 TRUKCAB2
CAR_DATA trucktrailer_blue = ( 153.5 , 170.5 , 2.0 ) 3 270 TRUKCAB2
CAR_DATA trucktrailer_white = ( 237.5 , 240.5 , 2.0 ) 34 270 TRUKCAB2
CAR_DATA cartransported01
CAR_DATA cartransported02
CAR_DATA cartransported03
	// intro
CAR_DATA introcar = ( 245.5 , 040.5 , 2.0 ) 13 2 ZCX5
CAR_DATA car01 = ( 249.5 , 039.5 , 2.0 ) -1 270 TOWTRUCK
CAR_DATA car02 = ( 249.5 , 041.5 , 2.0 ) -1 270 TRUKTRNS
	// part 2
CAR_DATA part2_bus

// objects (like benches, bins etc)
	// GTA2 tokens... 50 of them!
OBJ_DATA gta2token01 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token02 = ( 238.5 , 164.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token03 = ( 178.5 , 171.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token04 = ( 174.5 , 216.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token05 = ( 253.5 , 253.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token06 = ( 124.5 , 174.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token07 = ( 171.5 , 134.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token08 = ( 040.5 , 240.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token09 = ( 113.5 , 226.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token10 = ( 164.5 , 208.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token11 = ( 191.5 , 176.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token12 = ( 251.5 , 176.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token13 = ( 126.5 , 135.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token14 = ( 141.5 , 166.5 , 3.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token15 = ( 158.5 , 246.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token16 = ( 009.5 , 249.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token17 = ( 051.5 , 230.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token18 = ( 195.5 , 125.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token19 = ( 194.5 , 225.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token20 = ( 148.5 , 180.5 , 2.0 ) 0 BONUS_TOKEN
/*
OBJ_DATA gta2token21 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token22 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token23 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token24 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token25 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token26 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token27 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token28 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token29 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token30 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token31 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token32 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token33 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token34 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token35 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token36 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token37 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token38 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token39 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token40 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token41 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token42 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token43 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token44 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token45 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token46 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token47 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token48 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token49 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
OBJ_DATA gta2token50 = ( 245.5 , 140.5 , 2.0 ) 0 BONUS_TOKEN
*/
// bollards
OBJ_DATA bollard01 = ( 244.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard02 = ( 245.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard03 = ( 246.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard04 = ( 247.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard05 = ( 248.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard06 = ( 232.5 , 148.2 , 2.0 ) 180 BOLLARD
OBJ_DATA bollard07 = ( 233.5 , 148.2 , 2.0 ) 180 BOLLARD
OBJ_DATA bollard08 = ( 234.5 , 148.2 , 2.0 ) 180 BOLLARD
OBJ_DATA bollard09 = ( 235.5 , 148.2 , 2.0 ) 180 BOLLARD
OBJ_DATA bollard10 = ( 236.5 , 148.2 , 2.0 ) 180 BOLLARD
OBJ_DATA bollard11 = ( 232.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard12 = ( 233.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard13 = ( 234.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard14 = ( 235.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard15 = ( 236.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard16 = ( 237.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard17 = ( 238.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard18 = ( 239.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard19 = ( 240.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard20 = ( 241.5 , 156.8 , 2.0 ) 0 BOLLARD
OBJ_DATA bollard21 = ( 232.2 , 148.6 , 2.0 ) 270 BOLLARD
OBJ_DATA bollard22 = ( 232.2 , 149.5 , 2.0 ) 270 BOLLARD
OBJ_DATA bollard23 = ( 232.2 , 150.5 , 2.0 ) 270 BOLLARD
OBJ_DATA bollard24 = ( 232.2 , 151.5 , 2.0 ) 270 BOLLARD
OBJ_DATA bollard25 = ( 232.2 , 152.5 , 2.0 ) 270 BOLLARD
OBJ_DATA bollard26 = ( 232.2 , 153.5 , 2.0 ) 270 BOLLARD
OBJ_DATA bollard27 = ( 232.2 , 156.4 , 2.0 ) 270 BOLLARD


// characters
	// bonus characters
CHAR_DATA truckdriver_red
CHAR_DATA truckdriver_blue
CHAR_DATA truckdriver_white
CHAR_DATA l
	// intro
CHAR_DATA introchar_boss = ( 246.5 , 041.5 , 2.0 ) 7 225 NO_OCCUPATION
CHAR_DATA intro_thief = ( 244.8 , 040.5 , 2.0 ) 6 90 NO_OCCUPATION
CHAR_DATA intro_helper01 = ( 250.5 , 047.5 , 2.0 ) 7 180 NO_OCCUPATION
CHAR_DATA intro_helper02 = ( 251.5 , 047.5 , 2.0 ) 7 180 NO_OCCUPATION
	// part 2
CHAR_DATA part2_garageboss
CHAR_DATA part2_01
CHAR_DATA part2_02
CHAR_DATA part2_03
CHAR_DATA part2_04
CHAR_DATA part2_05
CHAR_DATA part2_06
CHAR_DATA part2_07
CHAR_DATA part2_08
CHAR_DATA part2_09
CHAR_DATA part2_10
	// part 3
CHAR_DATA part3_friend

// cranes
CRANE_DATA crane = ( 243.5 , 156.5 ) 270 NO_HOMECRANE FIRST ( 245.5 , 155.5 ) 0

// one-off weapons/pickups
	// intro
OBJ_DATA smg
OBJ_DATA shotgun
OBJ_DATA armour
OBJ_DATA grenade
	// part 2
OBJ_DATA part2_smg
	// part 3
OBJ_DATA part3_case01
OBJ_DATA part3_case02
OBJ_DATA part3_case03

// weapon generators

// declarations
DECLARE_FINISH_SCORE ( 3000000 )
DECLARE_TOTAL_MISSIONS ( 1 )
DECLARE_POLICELEVEL ( 5 ) // FBI

// countdown timer
TIMER_DATA timer

// counters
COUNTER loop = 1
	// bonus
COUNTER in_hotdogvan = 0
COUNTER hotdogmission = 0
COUNTER hotdogmissioncomplete = 0
COUNTER in_icecreamvan = 0
COUNTER icecreammission = 0
COUNTER icecreammissioncomplete = 0
COUNTER hotdogdestroyed = 0
COUNTER icecreamdestroyed = 0
	// intro
COUNTER intro_incar = 0
COUNTER introcar_offscreen = 0
COUNTER intro_bosstalk = 0
COUNTER introdone = 0
	// part 2
COUNTER part2_setup = 0
COUNTER part2_talk = 0
COUNTER part2_getbus = 0
COUNTER part2_inbus = 0
COUNTER part2_pickup = 0
COUNTER part2_01_passed = 0
COUNTER part2_02_passed = 0
COUNTER part2_03_passed = 0
COUNTER part2_04_passed = 0
COUNTER part2_05_passed = 0
COUNTER part2_06_passed = 0
COUNTER part2_07_passed = 0
COUNTER part2_08_passed = 0
COUNTER part2_09_passed = 0
COUNTER part2_10_passed = 0
COUNTER part2_crewinbus = 0
COUNTER part2_bustrip = 0
COUNTER part2_busspeed = 0
COUNTER part2_01_offbus = 0
COUNTER part2_02_offbus = 0
COUNTER part2_03_offbus = 0
COUNTER part2_04_offbus = 0
COUNTER part2_05_offbus = 0
COUNTER part2_06_offbus = 0
COUNTER part2_07_offbus = 0
COUNTER part2_08_offbus = 0
COUNTER part2_09_offbus = 0
COUNTER part2_10_offbus = 0
COUNTER part2_alloffbus = 0
COUNTER part2_athouse = 0
COUNTER part2_complete = 0
	// mission complete
COUNTER mission_complete = 0

LEVELSTART

CHANGE_CAR_LOCK ( introcar , LOCKOUT_PLAYER )
DISPLAY_MESSAGE ( 3030 )
DISPLAY_BRIEF ( 3031 )
DISPLAY_TIMER ( timer , 360 )

WHILE_EXEC ( loop = 1 )

// INTRO
/* Thief gets in car without paying, and drives off. The owner of the garage shoots the car with a shotgun until it gets off screen. When he's off screen, the car and character is removed and the player is asked to go find it. Then after the speech is over the owners objective is st to NO_OBJ to make him walk off. */

IF ( ( NOT ( IS_CHARACTER_IN_CAR ( intro_thief , introcar ) ) )
AND ( intro_incar = 0 ) )
GIVE_WEAPON ( introchar_boss , shotgun )
SET_CHAR_THREAT_SEARCH ( introchar_boss , NO_THREATS )
SET_CHAR_THREAT_REACTION ( introchar_boss , NO_REACTION )
SET_CHAR_OBJECTIVE ( intro_thief , ENTER_CAR_AS_DRIVER , introcar )
SET_CHAR_OBJECTIVE ( intro_helper01 , NO_OBJ )
SET_CHAR_OBJECTIVE ( intro_helper02 , NO_OBJ )
ELSE
SET intro_incar = 1
ENDIF

IF ( ( intro_incar = 1 )
AND ( introcar_offscreen = 0 ) )
SET_CHAR_OBJECTIVE ( introchar_boss , DESTROY_CAR , introcar )
ENDIF

IF ( ( NOT ( IS_ITEM_ONSCREEN ( introcar ) ) )
AND ( introcar_offscreen = 0 ) )
REMOVE_WEAPONS ( introchar_boss )
SET_CHAR_OBJECTIVE ( introchar_boss , GOTO_CHAR_ON_FOOT , p1 )
SET introcar_offscreen = 1
ENDIF

IF ( ( ( IS_CHAR_OBJECTIVE_PASSED ( introchar_boss ) )
AND ( introcar_offscreen = 1 ) )
AND ( intro_bosstalk = 0 ) )
DISPLAY_BRIEF ( 3032 ) // "That stupid fuck didn't pay! Find the bastard and kill him! 2 of the lads will help you. Go see Ivor down south at the garage for any news!"
SET_CHAR_OBJECTIVE ( introchar_boss , NO_OBJ )
SET intro_bosstalk = 1
ENDIF

IF ( ( intro_bosstalk = 1 )
AND ( introdone = 0 ) )
smg = CREATE_OBJ ( 250.5 , 039.5 , 2.0 ) 0 COLLECT_01 30 END
shotgun = CREATE_OBJ ( 250.5 , 040.5 , 2.0 ) 0 COLLECT_06 14 END
armour = CREATE_OBJ ( 250.5 , 041.5 , 2.0 ) 0 COLLECT_31 10 END
grenade = CREATE_OBJ ( 250.5 , 042.5 , 2.0 ) 0 COLLECT_05 4 END
ADD_GROUP_TO_CHARACTER ( p1 , 0 )
ADD_EXISTING_CHAR_TO_GROUP ( p1 , intro_helper01 )
ADD_EXISTING_CHAR_TO_GROUP ( p1 , intro_helper02 )
SET_CHAR_THREAT_SEARCH ( intro_helper01 , AREA )
SET_CHAR_THREAT_SEARCH ( intro_helper02 , AREA )
SET_CHAR_THREAT_REACTION ( intro_helper01 , REACT_AS_NORMAL )
SET_CHAR_THREAT_REACTION ( intro_helper02 , REACT_AS_NORMAL )
SET_CHAR_OBJECTIVE ( intro_helper01 , GUARD_AREA )
SET_CHAR_OBJECTIVE ( intro_helper02 , GUARD_AREA )
GIVE_WEAPON ( intro_helper01 , machine_gun )
GIVE_WEAPON ( intro_helper02 , machine_gun )
SET_CHAR_MAX_DRIVESPEED ( intro_thief , 1.0 )
CHANGE_CAR_LOCK ( introcar , LOCKED )
SET introdone = 1
ENDIF

// INTRO DONE!!

// PART 2...
/* The player is asked to go to a garage down south (244,153) to ask about any car that has passed him. He tells the player to get the parked bus (246,154) to pickup some people from the football stadium (129,192) and they might talk. After that, the player is told to drop them off at one of the guy's house (241,238).*/

IF ( ( introdone = 1 )
AND ( part2_setup = 0 ) )
part2_garageboss = CREATE_CHAR ( 244.5 , 153.5 , 2.0 ) 10 0 NO_OCCUPATION END
SET_CHAR_THREAT_SEARCH ( part2_garageboss , NO_THREATS )
SET_CHAR_THREAT_REACTION ( part2_garageboss , NO_REACTION )
SET_CHAR_OBJECTIVE ( part2_garageboss , WAIT_ON_FOOT )
part2_bus = CREATE_CAR ( 246.5 , 154.5 , 2.0 ) -1 0 BUS END
POINT_ARROW_AT ( arrow01 , part2_garageboss )
SET part2_setup = 1
ENDIF

IF ( ( ( part2_setup = 1 )
AND ( LOCATE_CHARACTER_ON_FOOT ( p1 , 244.5 , 153.5 , 2.0 , 0.5 , 0.5 ) ) )
AND ( part2_getbus = 0 ) )
DISPLAY_BRIEF ( 3033 ) // "Harry sent you? He phoned ahead about the problem. I heard about a group of footballers saying about getting a new car recently. Grab the bus, pick them up and find out."
REMOVE_ARROW ( arrow01 )
POINT_ARROW_AT ( arrow01 , part2_bus )
SET_CHAR_OBJECTIVE ( part2_garageboss , NO_OBJ )
part2_01 = CREATE_CHAR ( 130.5 , 191.8 , 2.0 ) 11 0 NO_OCCUPATION END
part2_02 = CREATE_CHAR ( 131.5 , 191.8 , 2.0 ) 11 0 NO_OCCUPATION END
part2_03 = CREATE_CHAR ( 132.5 , 191.8 , 2.0 ) 11 0 NO_OCCUPATION END
part2_04 = CREATE_CHAR ( 133.5 , 191.8 , 2.0 ) 11 0 NO_OCCUPATION END
part2_05 = CREATE_CHAR ( 134.5 , 191.8 , 2.0 ) 11 0 NO_OCCUPATION END
part2_06 = CREATE_CHAR ( 130.5 , 191.2 , 2.0 ) 11 0 NO_OCCUPATION END
part2_07 = CREATE_CHAR ( 131.5 , 191.2 , 2.0 ) 11 0 NO_OCCUPATION END
part2_08 = CREATE_CHAR ( 132.5 , 191.2 , 2.0 ) 11 0 NO_OCCUPATION END
part2_09 = CREATE_CHAR ( 133.5 , 191.2 , 2.0 ) 11 0 NO_OCCUPATION END
part2_10 = CREATE_CHAR ( 134.5 , 191.2 , 2.0 ) 11 0 NO_OCCUPATION END
SET_CHAR_THREAT_SEARCH ( part2_01 , NO_THREATS )
SET_CHAR_THREAT_SEARCH ( part2_02 , NO_THREATS )
SET_CHAR_THREAT_SEARCH ( part2_03 , NO_THREATS )
SET_CHAR_THREAT_SEARCH ( part2_04 , NO_THREATS )
SET_CHAR_THREAT_SEARCH ( part2_05 , NO_THREATS )
SET_CHAR_THREAT_SEARCH ( part2_06 , NO_THREATS )
SET_CHAR_THREAT_SEARCH ( part2_07 , NO_THREATS )
SET_CHAR_THREAT_SEARCH ( part2_08 , NO_THREATS )
SET_CHAR_THREAT_SEARCH ( part2_09 , NO_THREATS )
SET_CHAR_THREAT_SEARCH ( part2_10 , NO_THREATS )
SET_CHAR_THREAT_REACTION ( part2_01 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( part2_02 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( part2_03 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( part2_04 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( part2_05 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( part2_06 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( part2_07 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( part2_08 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( part2_09 , NO_REACTION )
SET_CHAR_THREAT_REACTION ( part2_10 , NO_REACTION )
SET_CHAR_OBJECTIVE ( part2_01 , WAIT_ON_FOOT )
SET_CHAR_OBJECTIVE ( part2_02 , WAIT_ON_FOOT )
SET_CHAR_OBJECTIVE ( part2_03 , WAIT_ON_FOOT )
SET_CHAR_OBJECTIVE ( part2_04 , WAIT_ON_FOOT )
SET_CHAR_OBJECTIVE ( part2_05 , WAIT_ON_FOOT )
SET_CHAR_OBJECTIVE ( part2_06 , WAIT_ON_FOOT )
SET_CHAR_OBJECTIVE ( part2_07 , WAIT_ON_FOOT )
SET_CHAR_OBJECTIVE ( part2_08 , WAIT_ON_FOOT )
SET_CHAR_OBJECTIVE ( part2_09 , WAIT_ON_FOOT )
SET_CHAR_OBJECTIVE ( part2_10 , WAIT_ON_FOOT )
SET part2_getbus = 1
ENDIF

IF ( ( IS_CHARACTER_IN_CAR ( p1 , part2_bus ) )
AND ( part2_inbus = 0 ) )
REMOVE_ARROW ( arrow01 )
POINT_ARROW_AT ( arrow01 , 132.5 , 192.5 , 2.0 )
SET part2_inbus = 1
ENDIF

IF ( ( ( part2_inbus = 1 )
AND ( LOCATE_CHARACTER_BY_CAR ( p1 , 132.5 , 192.5 , 2.0 , 1.0 , 1.0 ) ) )
AND ( part2_pickup = 0 ) )
DISPLAY_BRIEF ( 3034 ) // "Ah, the bus has arrived. About fucking time too. Get on lads. Driver, take us down Trev's... pronto."
SET_CHAR_OBJECTIVE ( part2_01 , ENTER_CAR_AS_PASSENGER , part2_bus )
SET_CHAR_OBJECTIVE ( part2_02 , ENTER_CAR_AS_PASSENGER , part2_bus )
SET_CHAR_OBJECTIVE ( part2_03 , ENTER_CAR_AS_PASSENGER , part2_bus )
SET_CHAR_OBJECTIVE ( part2_04 , ENTER_CAR_AS_PASSENGER , part2_bus )
SET_CHAR_OBJECTIVE ( part2_05 , ENTER_CAR_AS_PASSENGER , part2_bus )
SET_CHAR_OBJECTIVE ( part2_06 , ENTER_CAR_AS_PASSENGER , part2_bus )
SET_CHAR_OBJECTIVE ( part2_07 , ENTER_CAR_AS_PASSENGER , part2_bus )
SET_CHAR_OBJECTIVE ( part2_08 , ENTER_CAR_AS_PASSENGER , part2_bus )
SET_CHAR_OBJECTIVE ( part2_09 , ENTER_CAR_AS_PASSENGER , part2_bus )
SET_CHAR_OBJECTIVE ( part2_10 , ENTER_CAR_AS_PASSENGER , part2_bus )
REMOVE_ARROW ( arrow01 )
SET part2_pickup = 1
ENDIF

IF ( ( ( part2_pickup = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_01 ) ) )
AND ( part2_01_passed = 0 ) )
++ part2_crewinbus
SET part2_01_passed = 1
ENDIF

IF ( ( ( part2_pickup = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_02 ) ) )
AND ( part2_02_passed = 0 ) )
++ part2_crewinbus
SET part2_02_passed = 1
ENDIF

IF ( ( ( part2_pickup = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_03 ) ) )
AND ( part2_03_passed = 0 ) )
++ part2_crewinbus
SET part2_03_passed = 1
ENDIF

IF ( ( ( part2_pickup = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_04 ) ) )
AND ( part2_04_passed = 0 ) )
++ part2_crewinbus
SET part2_04_passed = 1
ENDIF

IF ( ( ( part2_pickup = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_05 ) ) )
AND ( part2_05_passed = 0 ) )
++ part2_crewinbus
SET part2_05_passed = 1
ENDIF

IF ( ( ( part2_pickup = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_06 ) ) )
AND ( part2_06_passed = 0 ) )
++ part2_crewinbus
SET part2_06_passed = 1
ENDIF

IF ( ( ( part2_pickup = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_07 ) ) )
AND ( part2_07_passed = 0 ) )
++ part2_crewinbus
SET part2_07_passed = 1
ENDIF

IF ( ( ( part2_pickup = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_08 ) ) )
AND ( part2_08_passed = 0 ) )
++ part2_crewinbus
SET part2_08_passed = 1
ENDIF

IF ( ( ( part2_pickup = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_09 ) ) )
AND ( part2_09_passed = 0 ) )
++ part2_crewinbus
SET part2_09_passed = 1
ENDIF

IF ( ( ( part2_pickup = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_10 ) ) )
AND ( part2_10_passed = 0 ) )
++ part2_crewinbus
SET part2_10_passed = 1
ENDIF

IF ( ( part2_crewinbus = 10 )
AND ( part2_bustrip = 0 ) )
POINT_ARROW_AT ( arrow01 , 241.5 , 238.5 , 2.0 )
DISPLAY_BRIEF ( 3035 ) // "That was one fuck of a game lads. We off down Trev's for a piss up?"
DISPLAY_BRIEF ( 3036 ) // "Fucking yeah! I wanna see his new car as well!"
DISPLAY_BRIEF ( 3037 ) // "Alright! Come on bus driver, move it or you'll be paying for our fucking beer!!"
SET part2_bustrip = 1
ENDIF

IF ( ( ( part2_bustrip = 1 )
AND ( CHECK_CAR_SPEED ( part2_bus , 3500 ) ) )
AND ( part2_busspeed = 0 ) )
DISPLAY_BRIEF ( 3038 ) // "Fucking hell driver! You really are blasting it today! Have £100 on us!"
ADD_SCORE ( p1 , 100 )
SET part2_busspeed = 1
ENDIF

IF ( ( part2_athouse = 0 )
AND ( LOCATE_CHARACTER_BY_CAR ( p1 , 241.5 , 238.5 , 2.0 , 1.0 , 1.0 ) ) )
// DISPLAY_BRIEF ( 1234 ) // "Nice one driver, see you around!"
SET_CHAR_OBJECTIVE ( part2_01 , LEAVE_CAR , part2_bus )
SET_CHAR_OBJECTIVE ( part2_02 , LEAVE_CAR , part2_bus )
SET_CHAR_OBJECTIVE ( part2_03 , LEAVE_CAR , part2_bus )
SET_CHAR_OBJECTIVE ( part2_04 , LEAVE_CAR , part2_bus )
SET_CHAR_OBJECTIVE ( part2_05 , LEAVE_CAR , part2_bus )
SET_CHAR_OBJECTIVE ( part2_06 , LEAVE_CAR , part2_bus )
SET_CHAR_OBJECTIVE ( part2_07 , LEAVE_CAR , part2_bus )
SET_CHAR_OBJECTIVE ( part2_08 , LEAVE_CAR , part2_bus )
SET_CHAR_OBJECTIVE ( part2_09 , LEAVE_CAR , part2_bus )
SET_CHAR_OBJECTIVE ( part2_10 , LEAVE_CAR , part2_bus )
REMOVE_ARROW ( arrow01 )
SET part2_athouse = 1
ENDIF

IF ( ( ( part2_athouse = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_01 ) ) )
AND ( part2_01_offbus = 0 ) )
SET_CHAR_OBJECTIVE ( part2_01 , NO_OBJ )
++ part2_alloffbus
SET part2_01_offbus = 1
ENDIF

IF ( ( ( part2_athouse = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_02 ) ) )
AND ( part2_02_offbus = 0 ) )
SET_CHAR_OBJECTIVE ( part2_02 , NO_OBJ )
++ part2_alloffbus
SET part2_02_offbus = 1
ENDIF

IF ( ( ( part2_athouse = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_03 ) ) )
AND ( part2_03_offbus = 0 ) )
SET_CHAR_OBJECTIVE ( part2_03 , NO_OBJ )
++ part2_alloffbus
SET part2_03_offbus = 1
ENDIF

IF ( ( ( part2_athouse = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_04 ) ) )
AND ( part2_04_offbus = 0 ) )
SET_CHAR_OBJECTIVE ( part2_04 , NO_OBJ )
++ part2_alloffbus
SET part2_04_offbus = 1
ENDIF

IF ( ( ( part2_athouse = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_05 ) ) )
AND ( part2_05_offbus = 0 ) )
SET_CHAR_OBJECTIVE ( part2_05 , NO_OBJ )
++ part2_alloffbus
SET part2_05_offbus = 1
ENDIF

IF ( ( ( part2_athouse = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_06 ) ) )
AND ( part2_06_offbus = 0 ) )
SET_CHAR_OBJECTIVE ( part2_06 , NO_OBJ )
++ part2_alloffbus
SET part2_06_offbus = 1
ENDIF

IF ( ( ( part2_athouse = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_07 ) ) )
AND ( part2_07_offbus = 0 ) )
SET_CHAR_OBJECTIVE ( part2_07 , NO_OBJ )
++ part2_alloffbus
SET part2_07_offbus = 1
ENDIF

IF ( ( ( part2_athouse = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_08 ) ) )
AND ( part2_08_offbus = 0 ) )
SET_CHAR_OBJECTIVE ( part2_08 , NO_OBJ )
++ part2_alloffbus
SET part2_08_offbus = 1
ENDIF

IF ( ( ( part2_athouse = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_09 ) ) )
AND ( part2_09_offbus = 0 ) )
SET_CHAR_OBJECTIVE ( part2_09 , NO_OBJ )
++ part2_alloffbus
SET part2_09_offbus = 1
ENDIF

IF ( ( ( part2_athouse = 1 )
AND ( IS_CHAR_OBJECTIVE_PASSED ( part2_10 ) ) )
AND ( part2_10_offbus = 0 ) )
SET_CHAR_OBJECTIVE ( part2_10 , NO_OBJ )
++ part2_alloffbus
SET part2_10_offbus = 1
ENDIF

IF ( ( part2_alloffbus = 10 )
AND ( part2_complete = 0 ) )
// DISPLAY_BRIEF ( 1234 ) // "Good, you found the info we need and we've done a check. Go visit an old friend of mine and he'll give you the tools for the job!"
SET part2_complete = 1
ENDIF

// PART 2 DONE!!

// PART 3 START...
/* Part 3... the player is asked to visit an old friend (041,147) for some weapons, but he asks a favour first to collect weapon parts dotted around London town... once this is all collected, the player is rewarded with a Rocket Launcher spawn (049,146).*/

// BONUS PARTS
	// Icecream Drivers Must Die!


ENDWHILE

LEVELEND