Files
gtav-src/script/dev_ng/singleplayer/scripts/Ambient/BaseJumping/bj_data.sch
T
2025-09-29 00:52:08 +02:00

1460 lines
55 KiB
Scheme
Executable File

//////////////////////////////////////////////////////////////////////
/* bj_data.sch */
/* Author: DJ Jones */
/* Hard-coded data for base jump activity. */
//////////////////////////////////////////////////////////////////////
//launcher data to pass to main script
STRUCT BJ_LAUNCHER_ARGS
VEHICLE_INDEX myHeli
VEHICLE_INDEX lastPlrVehicle
OBJECT_INDEX objLaunchPack
PED_INDEX myPilot
structPedsForConversation convPeds
INT iFlags
ENDSTRUCT
// Note to self: Need to figure out a way to specify drawables/prop setup per pilot.
// Also will apply to target vehicle drivers.
FUNC STRING BJ_GET_JUMP_NAME_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR RETURN "BJ_JUMP_01"
CASE BJJUMPID_RACE_TRACK RETURN "BJ_JUMP_02"
CASE BJJUMPID_WINDMILLS RETURN "BJ_JUMP_03"
CASE BJJUMPID_NORTH_CLIFF RETURN "BJ_JUMP_04"
CASE BJJUMPID_MAZE_BANK RETURN "BJ_JUMP_05"
CASE BJJUMPID_CRANE RETURN "BJ_JUMP_06"
CASE BJJUMPID_RIVER_CLIFF RETURN "BJ_JUMP_07"
CASE BJJUMPID_RUNAWAY_TRAIN RETURN "BJ_JUMP_08"
CASE BJJUMPID_GOLF_COURSE RETURN "BJ_JUMP_09"
CASE BJJUMPID_1K RETURN "BJ_JUMP_10"
CASE BJJUMPID_1_5K RETURN "BJ_JUMP_11"
CASE BJJUMPID_CANAL RETURN "BJ_JUMP_12"
CASE BJJUMPID_ROCK_CLIFF RETURN "BJ_JUMP_13"
ENDSWITCH
RETURN ""
ENDFUNC
// Return the model for this launcher vehicle.
FUNC MODEL_NAMES BJ_GET_LAUNCH_VEHICLE_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR
CASE BJJUMPID_RACE_TRACK
CASE BJJUMPID_WINDMILLS
CASE BJJUMPID_RUNAWAY_TRAIN
CASE BJJUMPID_1K
CASE BJJUMPID_1_5K
CASE BJJUMPID_CANAL
RETURN MAVERICK
BREAK
CASE BJJUMPID_MAZE_BANK
RETURN BATI
BREAK
ENDSWITCH
RETURN DUMMY_MODEL_FOR_SCRIPT
ENDFUNC
// Return the model for this launcher pilot.
FUNC MODEL_NAMES BJ_GET_LAUNCH_PILOT_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR RETURN S_M_Y_PILOT_01
CASE BJJUMPID_RACE_TRACK RETURN S_M_Y_PILOT_01
CASE BJJUMPID_WINDMILLS RETURN S_M_Y_PILOT_01
CASE BJJUMPID_NORTH_CLIFF RETURN S_M_Y_PILOT_01
CASE BJJUMPID_RUNAWAY_TRAIN RETURN A_M_Y_HIPPY_01
CASE BJJUMPID_1K RETURN S_M_Y_PILOT_01
CASE BJJUMPID_1_5K RETURN S_M_Y_PILOT_01
CASE BJJUMPID_CANAL RETURN A_M_M_GENFAT_02
ENDSWITCH
RETURN DUMMY_MODEL_FOR_SCRIPT
ENDFUNC
// Return the voice ID for dialogue for this pilot.
FUNC STRING BJ_GET_LAUNCH_PILOT_VOICE_FOR_DIALOGUE_BY_ID(BJ_JUMP_ID eJumpID)
UNUSED_PARAMETER(eJumpID)
RETURN "EXT1HELIPILOT"
ENDFUNC
// Return the voice ID for amb speech for this pilot.
FUNC STRING BJ_GET_LAUNCH_PILOT_VOICE_FOR_AMB_SPEECH_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR RETURN "EXT1HELIPILOT"
CASE BJJUMPID_RACE_TRACK RETURN "EXT1HELIPILOT"
CASE BJJUMPID_WINDMILLS RETURN "EXT1HELIPILOT"
CASE BJJUMPID_NORTH_CLIFF RETURN "EXT1HELIPILOT"
CASE BJJUMPID_RUNAWAY_TRAIN RETURN "BJPilot_Train"
CASE BJJUMPID_1K RETURN "EXT1HELIPILOT"
CASE BJJUMPID_1_5K RETURN "EXT1HELIPILOT"
CASE BJJUMPID_CANAL RETURN "BJPilot_Canal"
ENDSWITCH
RETURN "EXT1HELIPILOT"
ENDFUNC
// Grab the driver to use for the target vehicle for this jump.
FUNC MODEL_NAMES BJ_GET_DRIVER_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR RETURN A_M_Y_BEACH_01
CASE BJJUMPID_CRANE RETURN S_M_M_TRUCKER_01
CASE BJJUMPID_RUNAWAY_TRAIN RETURN A_M_Y_BEACH_01
ENDSWITCH
RETURN DUMMY_MODEL_FOR_SCRIPT
ENDFUNC
// Return the voice ID for dialogue for this driver.
FUNC STRING BJ_GET_LAUNCH_DRIVER_VOICE_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR RETURN "BJDriver_Harbor"
ENDSWITCH
RETURN ""
ENDFUNC
// Return the dialogue root for pilot greetings.
FUNC STRING BJ_GET_GREET_DLG_BY_ID(BJ_JUMP_ID eJumpID)
BOOL bFranklin = (GET_PLAYER_PED_ENUM(PLAYER_PED_ID()) = CHAR_FRANKLIN)
SWITCH eJumpID
CASE BJJUMPID_HARBOR RETURN PICK_STRING(bFranklin, "BJ_01F", "BJ_01L")
CASE BJJUMPID_RACE_TRACK RETURN PICK_STRING(bFranklin, "BJ_02F", "BJ_02L")
CASE BJJUMPID_WINDMILLS RETURN PICK_STRING(bFranklin, "BJ_03F", "BJ_03L")
CASE BJJUMPID_NORTH_CLIFF RETURN PICK_STRING(bFranklin, "BJ_04FG", "BJ_04L")
CASE BJJUMPID_RUNAWAY_TRAIN RETURN "BJ_08L"
CASE BJJUMPID_1K RETURN PICK_STRING(bFranklin, "BJ_10LF", "BJ_10L")
CASE BJJUMPID_1_5K RETURN PICK_STRING(bFranklin, "BJ_11LF", "BJ_11L")
CASE BJJUMPID_CANAL RETURN "BJ_12L"
ENDSWITCH
RETURN ""
ENDFUNC
FUNC VECTOR BJ_GET_SAFE_PLAYER_VEHICLE_COORDS(BJ_JUMP_ID iJumpID)
SWITCH INT_TO_ENUM(BJ_JUMP_ID, iJumpID)
CASE BJJUMPID_HARBOR RETURN <<-835.2823, -1303.2461, 4.0004>>
CASE BJJUMPID_RACE_TRACK RETURN <<1236.6125, 143.0208, 80.8622>>
CASE BJJUMPID_WINDMILLS RETURN <<2463.5227, 1495.4919, 34.8794>>
CASE BJJUMPID_NORTH_CLIFF RETURN <<-262.0742, 6590.7021, 0.9787>>
CASE BJJUMPID_MAZE_BANK RETURN <<-45.3960, -784.1727, 43.2721>>
CASE BJJUMPID_CRANE RETURN <<-182.8192, -890.5899, 28.3452>>
CASE BJJUMPID_RIVER_CLIFF RETURN <<-1236.6477, 4557.0938, 185.7374>>
CASE BJJUMPID_RUNAWAY_TRAIN RETURN <<-731.5519, 4497.1533, 75.5991>>
CASE BJJUMPID_GOLF_COURSE RETURN <<-790.7881, 293.8950, 84.7917>>
CASE BJJUMPID_1K RETURN <<-1426.0477, 4408.0493, 46.1198>>
CASE BJJUMPID_1_5K RETURN <<2491.8076, 5001.8213, 44.1871>>
CASE BJJUMPID_CANAL RETURN <<1067.1006, -198.2404, 68.6323>>
CASE BJJUMPID_ROCK_CLIFF RETURN <<-762.3691, 4301.3315, 145.2817>>
DEFAULT RETURN <<0, 0, 0>>
ENDSWITCH
RETURN <<0, 0, 0>>
ENDFUNC
FUNC FLOAT BJ_GET_SAFE_PLAYER_VEHICLE_HEADING(BJ_JUMP_ID iJumpID)
SWITCH INT_TO_ENUM(BJ_JUMP_ID, iJumpID)
CASE BJJUMPID_HARBOR RETURN 192.1528
CASE BJJUMPID_RACE_TRACK RETURN 144.2205
CASE BJJUMPID_WINDMILLS RETURN 82.0341
CASE BJJUMPID_NORTH_CLIFF RETURN 134.9389
CASE BJJUMPID_MAZE_BANK RETURN 241.8704
CASE BJJUMPID_CRANE RETURN 342.3180
CASE BJJUMPID_RIVER_CLIFF RETURN 174.9318
CASE BJJUMPID_RUNAWAY_TRAIN RETURN 186.4915
CASE BJJUMPID_GOLF_COURSE RETURN 93.0806
CASE BJJUMPID_1K RETURN 213.7284
CASE BJJUMPID_1_5K RETURN 55.5964
CASE BJJUMPID_CANAL RETURN 61.2421
CASE BJJUMPID_ROCK_CLIFF RETURN 304.1476
DEFAULT RETURN 0.0
ENDSWITCH
RETURN 0.0
ENDFUNC
// Get the position of the launcher (where the player needs to go to trigger the jump).
FUNC VECTOR BJ_GET_LAUNCHER_LOCATION_BY_ID(INT iJumpID)
SWITCH INT_TO_ENUM(BJ_JUMP_ID, iJumpID)
CASE BJJUMPID_HARBOR RETURN << -829.3729, -1289.8170, 4.0005>>
CASE BJJUMPID_RACE_TRACK RETURN << 1208.2003, 174.3914, 80.1245>>
CASE BJJUMPID_WINDMILLS RETURN << 2463.7935, 1509.9562, 35.0349>>
CASE BJJUMPID_NORTH_CLIFF RETURN << -274.6549, 6633.8984, 7.1166>>
CASE BJJUMPID_MAZE_BANK RETURN << -92.3500, -854.3000, 39.5710>>
CASE BJJUMPID_CRANE RETURN << -120.9200, -976.0500, 295.4900>>
CASE BJJUMPID_RIVER_CLIFF RETURN <<-1237.2000, 4540.7500, 184.7500>>
CASE BJJUMPID_RUNAWAY_TRAIN RETURN << -742.5269, 4493.3149, 75.1444>>
CASE BJJUMPID_GOLF_COURSE RETURN << -801.3582, 298.8532, 84.9490>>
CASE BJJUMPID_1K RETURN <<-1367.5952, 4381.9434, 41.1320>>
CASE BJJUMPID_1_5K RETURN << 2517.9312, 4971.7524, 44.7082>>
CASE BJJUMPID_CANAL RETURN << 1054.5343, -179.6562, 70.3066>>
CASE BJJUMPID_ROCK_CLIFF RETURN << -767.415, 4331.792, 147.6820>>
DEFAULT RETURN <<0,0,0>>
ENDSWITCH
ENDFUNC
// Get the coords of the parachute pack used to trigger this launch.
FUNC VECTOR BJ_GET_LAUNCH_PACK_COORDS_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK RETURN << -92.2500, -854.2800, 39.8500>>
CASE BJJUMPID_CRANE RETURN << -120.9200, -976.0500, 295.4900>>
CASE BJJUMPID_RIVER_CLIFF RETURN <<-1237.2000, 4540.7500, 184.7500>>
CASE BJJUMPID_GOLF_COURSE RETURN << -801.5700, 298.8500, 85.2500>>
CASE BJJUMPID_ROCK_CLIFF RETURN << -767.4150, 4331.7920, 147.6820>>
DEFAULT RETURN <<0,0,0>>
ENDSWITCH
ENDFUNC
// Get the rotation of the parachute pack used to trigger this launch.
FUNC VECTOR BJ_GET_LAUNCH_PACK_ROTATION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK RETURN <<12.00, 0.00, 12.77>>
CASE BJJUMPID_CRANE RETURN <<10.00, 0.00, -134.58>>
CASE BJJUMPID_RIVER_CLIFF RETURN <<76.00, 0.00, -89.95>>
CASE BJJUMPID_GOLF_COURSE RETURN <<12.00, 0.00, 89.56>>
CASE BJJUMPID_ROCK_CLIFF RETURN << 0.00, 75.00, -22.00>>
ENDSWITCH
RETURN <<0,0,0>>
ENDFUNC
FUNC FLOAT BJ_GET_LAUNCH_HELI_SCENE_CAM_FOV(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR
RETURN 46.7708
CASE BJJUMPID_RACE_TRACK
RETURN 30.5578//34.4245
CASE BJJUMPID_WINDMILLS
RETURN 31.1151
CASE BJJUMPID_NORTH_CLIFF
RETURN 43.4229//43.4229
CASE BJJUMPID_RUNAWAY_TRAIN
RETURN 48.6851//48.6851 //48.6851
CASE BJJUMPID_1K
RETURN 46.9470
CASE BJJUMPID_1_5K
RETURN 40.6109//36.8004
CASE BJJUMPID_CANAL
RETURN 32.1049
BREAK
ENDSWITCH
RETURN 45.0
ENDFUNC
FUNC VECTOR BJ_GET_LAUNCH_HELI_SCENE_CAM_POS(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR
RETURN <<-840.2545, -1317.9856, 6.1066>>
CASE BJJUMPID_RACE_TRACK
RETURN <<1210.9553, 153.4641, 81.7073>>//<<1236.7740, 188.9580, 81.6149>>
CASE BJJUMPID_WINDMILLS
RETURN <<2489.7312, 1537.9722, 36.1861>>
CASE BJJUMPID_NORTH_CLIFF
RETURN <<-286.5149, 6665.5220, 6.9225>>//<<-260.6946, 6666.9409, 8.0225>>
CASE BJJUMPID_RUNAWAY_TRAIN
RETURN <<-714.0350, 4491.0835, 79.9083>>//<<-777.5476, 4474.2876, 79.7001>> // <<-722.5692, 4450.7910, 62.9361>>
CASE BJJUMPID_1K
RETURN <<-1396.9629, 4363.5972, 43.1246>>
CASE BJJUMPID_1_5K
RETURN <<2547.7383, 4967.6826, 46.0189>>//<<2491.4395, 4939.5405, 46.2160>>
CASE BJJUMPID_CANAL
RETURN <<1091.1453, -169.1484, 70.7570>>
BREAK
ENDSWITCH
RETURN <<0, 0, 0>>
ENDFUNC
FUNC VECTOR BJ_GET_LAUNCH_HELI_SCENE_CAM_ROT(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR
RETURN <<6.5672, 0.0000, -15.3269>>
CASE BJJUMPID_RACE_TRACK
RETURN <<1.6743, -0.0000, 13.7295>>//<<2.4296, -0.0000, 113.3001>>
CASE BJJUMPID_WINDMILLS
RETURN <<2.2348, 0.0000, 141.3733>>
CASE BJJUMPID_NORTH_CLIFF
RETURN <<0.7682, -0.0000, -154.1293>>//<<-1.4348, -0.0000, 157.3475>>
CASE BJJUMPID_RUNAWAY_TRAIN
RETURN <<-1.8117, 0.0000, 100.4016>>//<<-2.2116, -0.0000, -84.6893>> //<<18.0900, -0.0000, 31.5900>>
CASE BJJUMPID_1K
RETURN <<0.7611, -0.0000, -71.8023>>
CASE BJJUMPID_1_5K
RETURN <<2.3742, 0.0000, 86.6743>>//<<4.2815, 0.0000, -34.0279>>
CASE BJJUMPID_CANAL
RETURN <<0.7300, -0.0000, 109.0678>>
BREAK
ENDSWITCH
RETURN <<0, 0, 0>>
ENDFUNC
// Player walks from this position after putting on the parachute pack.
FUNC VECTOR BJ_GET_WALKFROM_ORIGIN_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK RETURN << -93.1897, -847.1473, 39.5826>>
CASE BJJUMPID_GOLF_COURSE RETURN <<-788.3174, 306.0833, 84.7047>>
ENDSWITCH
RETURN <<0,0,0>>
ENDFUNC
// Player walks to this position after putting on the parachute pack.
FUNC VECTOR BJ_GET_WALKTO_DESTINATION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK RETURN << -83.4741, -835.4191, 39.5575>>
CASE BJJUMPID_GOLF_COURSE RETURN <<-772.8513, 312.9656, 84.6996>>
ENDSWITCH
RETURN <<0,0,0>>
ENDFUNC
// An optional motorcycle will be placed here.
FUNC VECTOR BJ_GET_OPTIONAL_MOTO_LOCATION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_RIVER_CLIFF RETURN <<-1243.6058, 4543.0156, 185.9527>>
//CASE BJJUMPID_ROCK_CLIFF RETURN << -768.1418, 4317.3330, 148.6269>>
ENDSWITCH
RETURN <<0,0,0>>
ENDFUNC
// Heading for optional motorcycle.
FUNC FLOAT BJ_GET_OPTIONAL_MOTO_HEADING_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_RIVER_CLIFF RETURN 165.0425
//CASE BJJUMPID_ROCK_CLIFF RETURN 352.5599
ENDSWITCH
RETURN 0.0
ENDFUNC
// Get the position the player starts walking from during the cutscene.
FUNC VECTOR BJ_GET_CUTSCENE_WALK_START_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_CRANE RETURN << -120.0078, -976.4348, 295.2008>>
CASE BJJUMPID_RIVER_CLIFF RETURN <<-1242.7094, 4539.6582, 185.6828>>
CASE BJJUMPID_ROCK_CLIFF RETURN << -768.0306, 4330.4092, 147.6768>>
//CASE BJJUMPID_GOLF_COURSE RETURN << -803.5144, 328.9535, 232.6766>>
ENDSWITCH
RETURN <<0,0,0>>
ENDFUNC
// Get the position the player starts walking from during the cutscene.
FUNC INT BJ_GET_CUTSCENE_WALK_DELAY_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_CRANE RETURN 3000
CASE BJJUMPID_RIVER_CLIFF RETURN 1500
CASE BJJUMPID_ROCK_CLIFF RETURN 2000
//CASE BJJUMPID_GOLF_COURSE RETURN 5900
ENDSWITCH
RETURN 0
ENDFUNC
// Get the position of the player during the course.
FUNC VECTOR BJ_GET_COURSE_PLAYER_LOCATION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR RETURN <<-1152.0527, -1857.8835, 204.0663>>
CASE BJJUMPID_RACE_TRACK RETURN << 885.1140, -437.3520, 529.8670>>
CASE BJJUMPID_WINDMILLS RETURN << 2034.9117, 1971.0510, 582.7461>>
CASE BJJUMPID_NORTH_CLIFF RETURN << 409.7498, 5703.5254, 695.1700>>
CASE BJJUMPID_MAZE_BANK RETURN << -74.9632, -827.4467, 324.9521>>
CASE BJJUMPID_CRANE RETURN << -117.6998, -975.5710, 295.0000>>
CASE BJJUMPID_RIVER_CLIFF RETURN <<-1243.7838, 4534.1631, 184.8471>>
CASE BJJUMPID_RUNAWAY_TRAIN RETURN << -359.1000, 4119.5000, 304.1000>>
CASE BJJUMPID_GOLF_COURSE RETURN << -807.0730, 330.8846, 232.6766>>
CASE BJJUMPID_1K RETURN <<-1286.9900, 3668.9216, 1072.4663>>
CASE BJJUMPID_1_5K RETURN << 1018.4410, 3956.7056, 1354.0000>>
CASE BJJUMPID_CANAL RETURN << 1627.1957, -421.7584, 1321.4835>>
CASE BJJUMPID_ROCK_CLIFF RETURN << -766.5999, 4334.8052, 147.1205>>
DEFAULT RETURN <<0,0,0>>
ENDSWITCH
ENDFUNC
// Get the position of the vehicle target during the course.
FUNC VECTOR BJ_GET_COURSE_VEHICLE_LOCATION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR RETURN <<-1039.7124, -1731.1447, 1.0>>
CASE BJJUMPID_RACE_TRACK RETURN <<0, 0, 0>>
CASE BJJUMPID_WINDMILLS RETURN <<0, 0, 0>>
CASE BJJUMPID_NORTH_CLIFF RETURN <<0, 0, 0>>
CASE BJJUMPID_MAZE_BANK RETURN <<0, 0, 0>>
CASE BJJUMPID_CRANE RETURN <<-96.9738, -662.5833, 34.7843>>
CASE BJJUMPID_RIVER_CLIFF RETURN <<0, 0, 0>>
CASE BJJUMPID_RUNAWAY_TRAIN RETURN <<-487.5452, 4252.1924, 87.7120>>
CASE BJJUMPID_GOLF_COURSE RETURN <<0, 0, 0>>
CASE BJJUMPID_1K RETURN <<0, 0, 0>>
CASE BJJUMPID_1_5K RETURN <<0, 0, 0>>
CASE BJJUMPID_CANAL RETURN <<0, 0, 0>>
CASE BJJUMPID_ROCK_CLIFF RETURN <<0, 0, 0>>
DEFAULT RETURN <<0,0,0>>
ENDSWITCH
ENDFUNC
// Get the position of the initial cutscene camera.
FUNC VECTOR BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR RETURN <<-1143.5859, -1859.7469, 208.3878>>
CASE BJJUMPID_RACE_TRACK RETURN << 877.5864, -436.3322, 536.9036>>
CASE BJJUMPID_WINDMILLS RETURN << 2041.2306, 1978.9803, 585.9358>>
CASE BJJUMPID_NORTH_CLIFF RETURN << 405.2326, 5705.8867, 697.2318>>
CASE BJJUMPID_MAZE_BANK RETURN << -103.8901, -870.8046, 298.7574>>
CASE BJJUMPID_CRANE RETURN << -118.2569, -975.1133, 297.3781>>//<< -123.2542, -975.5555, 297.6797>>
CASE BJJUMPID_RIVER_CLIFF RETURN <<-1237.4655, 4526.6606, 181.7929>>
CASE BJJUMPID_RUNAWAY_TRAIN RETURN << -357.7932, 4107.9141, 314.8059>>
CASE BJJUMPID_GOLF_COURSE RETURN << -809.6324, 331.3331, 233.2818>>
CASE BJJUMPID_1K RETURN <<-1286.9258, 3660.2034, 1076.0510>>
CASE BJJUMPID_1_5K RETURN << 1022.1777, 3975.7383, 1362.5334>>
CASE BJJUMPID_CANAL RETURN << 1608.5526, -434.5186, 1321.9155>>
CASE BJJUMPID_ROCK_CLIFF RETURN << -756.3533, 4341.5210, 143.8134>>
DEFAULT RETURN <<0,0,0>>
ENDSWITCH
ENDFUNC
// Get the rotation of the initial cutscene camera.
FUNC VECTOR BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR RETURN <<-21.7965, -0.0328, 70.0438>>
CASE BJJUMPID_RACE_TRACK RETURN <<-26.5541, 0.0092, -86.4416>>
CASE BJJUMPID_WINDMILLS RETURN <<-11.2825, 0.0213, 148.5283>>
CASE BJJUMPID_NORTH_CLIFF RETURN <<-39.9350, 0.0000, 12.8174>>
CASE BJJUMPID_MAZE_BANK RETURN << 0.9749, 0.0000, -5.2236>>
CASE BJJUMPID_CRANE RETURN <<-12.8890, -0.0000, 1.6227>>//<< -5.5311, -0.0000, -44.0572>>
CASE BJJUMPID_RIVER_CLIFF RETURN <<-48.5605, -0.0000, 160.4909>>
CASE BJJUMPID_RUNAWAY_TRAIN RETURN <<-37.0509, 0.0324, 24.0288>>
CASE BJJUMPID_GOLF_COURSE RETURN <<-17.4118, -0.0000, 117.7175>>
CASE BJJUMPID_1K RETURN <<-15.4633, 0.0328, -5.1142>>
CASE BJJUMPID_1_5K RETURN <<-20.9567, 0.0000, 170.5743>>
CASE BJJUMPID_CANAL RETURN << 1.9344, 0.0000, -55.2084>>
CASE BJJUMPID_ROCK_CLIFF RETURN <<-46.0342, -0.0000, 37.5935>>
DEFAULT RETURN <<0,0,0>>
ENDSWITCH
ENDFUNC
// Get the initial position of the 'walk to' camera.
FUNC VECTOR BJ_GET_WALKTO_CAMERA_INITIAL_POSITION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK RETURN <<-119.8524, -866.9928, 42.3211>>
CASE BJJUMPID_GOLF_COURSE RETURN <<-846.0496, 277.5203, 92.9133>>
ENDSWITCH
RETURN <<0,0,0>>
ENDFUNC
// Get the initial rotation of the 'walk to' camera.
FUNC VECTOR BJ_GET_WALKTO_CAMERA_INITIAL_ROTATION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK RETURN <<-4.0151, -0.0000, -47.5544>>
CASE BJJUMPID_GOLF_COURSE RETURN <<2.5127, -0.0000, -55.2921>>
ENDSWITCH
RETURN <<0,0,0>>
ENDFUNC
// Get the initial fov of the 'walk to' camera.
FUNC FLOAT BJ_GET_WALKTO_CAMERA_INITIAL_FOV_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK RETURN 50.0000
CASE BJJUMPID_GOLF_COURSE RETURN 50.0000
ENDSWITCH
RETURN 60.0
ENDFUNC
// Get the final position of the 'walk to' camera.
FUNC VECTOR BJ_GET_WALKTO_CAMERA_FINAL_POSITION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK RETURN <<-119.8524, -866.9928, 42.3211>>
CASE BJJUMPID_GOLF_COURSE RETURN <<-846.0496, 277.5203, 92.9133>>
ENDSWITCH
RETURN <<0,0,0>>
ENDFUNC
// Get the final rotation of the 'walk to' camera.
FUNC VECTOR BJ_GET_WALKTO_CAMERA_FINAL_ROTATION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK RETURN <<58.4197, -0.0000, -47.9402>>
CASE BJJUMPID_GOLF_COURSE RETURN <<47.6798, 0.0000, -55.2921>>
ENDSWITCH
RETURN <<0,0,0>>
ENDFUNC
// Get the final fov of the 'walk to' camera.
FUNC FLOAT BJ_GET_WALKTO_CAMERA_FINAL_FOV_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK RETURN 50.0000
CASE BJJUMPID_GOLF_COURSE RETURN 50.0000
ENDSWITCH
RETURN 60.0
ENDFUNC
// Get the duration of the initial camera lerp for the walk-to cutscene.
FUNC INT BJ_GET_WALKTO_INITIAL_LERP_DURATION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK
CASE BJJUMPID_GOLF_COURSE
RETURN 3000
BREAK
ENDSWITCH
RETURN 0
ENDFUNC
// Get the duration of the initial camera lerp for the walk-to cutscene.
FUNC INT BJ_GET_WALKTO_FINAL_LERP_DURATION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK
CASE BJJUMPID_GOLF_COURSE
RETURN 3500
BREAK
ENDSWITCH
RETURN 0
ENDFUNC
// Get the duration of the camera lerp for the intro cutscene.
FUNC INT BJ_GET_CUTSCENE_LERP_DURATION_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_CRANE
CASE BJJUMPID_RIVER_CLIFF
CASE BJJUMPID_ROCK_CLIFF
RETURN 6000
BREAK
ENDSWITCH
RETURN 10000
ENDFUNC
// Get the delay before walking toward a building.
FUNC INT BJ_GET_WALKTO_DELAY_BY_ID(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_MAZE_BANK
CASE BJJUMPID_GOLF_COURSE
RETURN 0
BREAK
ENDSWITCH
RETURN 0
ENDFUNC
// How long to wait before playing upper body animation.
FUNC FLOAT BJ_GET_ANTICIPATION_DELAY_BY_ID(BJ_JUMP_ID eJumpID, INT iAnticipation = 0)
SWITCH eJumpID
CASE BJJUMPID_NORTH_CLIFF
SWITCH iAnticipation
CASE 0 RETURN 6.0
CASE 1 RETURN 7.3
CASE 2 RETURN 6.8
ENDSWITCH
BREAK
CASE BJJUMPID_GOLF_COURSE
SWITCH iAnticipation
CASE 0 RETURN 4.2
CASE 1 RETURN 5.5
CASE 2 RETURN 5.0
ENDSWITCH
BREAK
CASE BJJUMPID_CRANE RETURN 0.0
CASE BJJUMPID_RIVER_CLIFF RETURN 0.0
CASE BJJUMPID_ROCK_CLIFF RETURN 0.0
ENDSWITCH
RETURN 0.0
ENDFUNC
// Set ped clothing so it's consistent for each jump.
PROC BJ_SET_PILOT_COMPONENTS_BY_ID(PED_INDEX pedPilot, BJ_JUMP_ID eJumpID)
IF IS_ENTITY_DEAD(pedPilot)
EXIT
ENDIF
SWITCH eJumpID
// CASE BJJUMPID_HARBOR
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HEAD, 1, 2)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HAIR, 1, 0)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_TORSO, 1, 2)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_LEG, 0, 1)
// SET_PED_PROP_INDEX(pedPilot, ANCHOR_HEAD, 1, 1)
// BREAK
//
// CASE BJJUMPID_RACE_TRACK
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HEAD, 1, 0)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HAIR, 0, 2)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_TORSO, 1, 3)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_LEG, 0, 0)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_SPECIAL, 1, 0)
// BREAK
//
// CASE BJJUMPID_WINDMILLS
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HEAD, 1, 0)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HAIR, 3, 0)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_TORSO, 0, 1)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_LEG, 0, 2)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_SPECIAL, 2, 0)
// SET_PED_PROP_INDEX(pedPilot, ANCHOR_HEAD, 0, 1)
// CLEAR_PED_PROP(pedPilot, ANCHOR_EYES)
// BREAK
//
// CASE BJJUMPID_NORTH_CLIFF
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HEAD, 0, 0)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HAIR, 0, 0)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_TORSO, 1, 0)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_LEG, 1, 2)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_SPECIAL, 2, 0)
// SET_PED_PROP_INDEX(pedPilot, ANCHOR_EYES, 0, 0)
// BREAK
CASE BJJUMPID_RUNAWAY_TRAIN
SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HEAD, 0, 1)
SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HAIR, 1, 0)
SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_TORSO, 0, 0)
SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_LEG, 0, 0)
SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_SPECIAL, 1, 0)
SET_PED_PROP_INDEX(pedPilot, ANCHOR_EYES, 0, 0)
BREAK
// CASE BJJUMPID_1K
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HEAD, 0, 0)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_TORSO, 0, 2)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_LEG, 0, 0)
// CLEAR_PED_PROP(pedPilot, ANCHOR_HEAD)
// SET_PED_PROP_INDEX(pedPilot, ANCHOR_EYES, 1, 0)
// BREAK
//
// CASE BJJUMPID_1_5K
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HEAD, 0, 1)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HAIR, 1, 0)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_TORSO, 0, 1)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_LEG, 1, 0)
// SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_SPECIAL, 0, 0)
// CLEAR_PED_PROP(pedPilot, ANCHOR_HEAD)
// SET_PED_PROP_INDEX(pedPilot, ANCHOR_EYES, 0, 0)
// BREAK
CASE BJJUMPID_CANAL
SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HEAD, 1, 0)
SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_HAIR, 2, 0)
SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_TORSO, 1, 0)
SET_PED_COMPONENT_VARIATION(pedPilot, PED_COMP_LEG, 0, 2)
SET_PED_PROP_INDEX(pedPilot, ANCHOR_HEAD, 1, 2)
SET_PED_PROP_INDEX(pedPilot, ANCHOR_EYES, 1, 0)
BREAK
ENDSWITCH
ENDPROC
// Set ped clothing so it's consistent for each jump.
PROC BJ_SET_DRIVER_COMPONENTS_BY_ID(PED_INDEX pedDriver, BJ_JUMP_ID eJumpID)
IF IS_ENTITY_DEAD(pedDriver)
EXIT
ENDIF
SWITCH eJumpID
CASE BJJUMPID_HARBOR
SET_PED_COMPONENT_VARIATION(pedDriver, PED_COMP_HEAD, 1, 0)
SET_PED_COMPONENT_VARIATION(pedDriver, PED_COMP_TORSO, 0, 0)
SET_PED_COMPONENT_VARIATION(pedDriver, PED_COMP_LEG, 0, 2)
CLEAR_PED_PROP(pedDriver, ANCHOR_HEAD)
SET_PED_PROP_INDEX(pedDriver, ANCHOR_EYES, 1, 0)
BREAK
CASE BJJUMPID_CRANE
SET_PED_COMPONENT_VARIATION(pedDriver, PED_COMP_HEAD, 0, 1)
SET_PED_COMPONENT_VARIATION(pedDriver, PED_COMP_HAIR, 0, 1)
SET_PED_COMPONENT_VARIATION(pedDriver, PED_COMP_TORSO, 1, 2)
SET_PED_COMPONENT_VARIATION(pedDriver, PED_COMP_LEG, 1, 1)
CLEAR_PED_PROP(pedDriver, ANCHOR_HEAD)
CLEAR_PED_PROP(pedDriver, ANCHOR_EYES)
BREAK
CASE BJJUMPID_RUNAWAY_TRAIN
SET_PED_COMPONENT_VARIATION(pedDriver, PED_COMP_HEAD, 0, 1)
SET_PED_COMPONENT_VARIATION(pedDriver, PED_COMP_TORSO, 0, 2)
SET_PED_COMPONENT_VARIATION(pedDriver, PED_COMP_LEG, 0, 2)
SET_PED_COMPONENT_VARIATION(pedDriver, PED_COMP_SPECIAL, 0, 1)
SET_PED_PROP_INDEX(pedDriver, ANCHOR_HEAD, 0, 2)
BREAK
ENDSWITCH
ENDPROC
// Should return true if this launcher requires the player to get into a chopper.
FUNC BOOL BJ_IS_JUMP_ID_HELI_LAUNCHER(BJ_JUMP_ID eJumpID)
SWITCH eJumpID
CASE BJJUMPID_HARBOR
CASE BJJUMPID_RACE_TRACK
CASE BJJUMPID_WINDMILLS
CASE BJJUMPID_NORTH_CLIFF
CASE BJJUMPID_RUNAWAY_TRAIN
CASE BJJUMPID_1K
CASE BJJUMPID_1_5K
CASE BJJUMPID_CANAL
RETURN TRUE
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
FUNC TEXT_LABEL_15 BJ_GET_FREE_JUMP_OBJECTIVE(BJ_JUMP_ID eJumpID)
TEXT_LABEL_15 sMessage
SWITCH eJumpID
CASE BJJUMPID_NORTH_CLIFF
CASE BJJUMPID_ROCK_CLIFF
CASE BJJUMPID_RIVER_CLIFF
sMessage = "BJ_OBJ_JCL"
BREAK
CASE BJJUMPID_MAZE_BANK
sMessage = "BJ_OBJ_JDB"
BREAK
CASE BJJUMPID_CRANE
sMessage = "BJ_OBJ_JCR"
BREAK
CASE BJJUMPID_GOLF_COURSE
sMessage = "BJ_OBJ_JB"
BREAK
DEFAULT
SCRIPT_ASSERT("Trying to get free jump objective for something that's not a free jump!")
BREAK
ENDSWITCH
RETURN sMessage
ENDFUNC
// Get the nearest launcher location to the position given.
FUNC BJ_JUMP_ID BJ_GET_NEAREST_LAUNCHER_LOCATION(VECTOR vTestPos, BOOL bHeli)
FLOAT fNearest = 999999999.9
FLOAT fCurrent
INT iNearest
INT iCurrent
REPEAT BJJUMPIDS iCurrent
IF bHeli = BJ_IS_JUMP_ID_HELI_LAUNCHER(INT_TO_ENUM(BJ_JUMP_ID, iCurrent))
fCurrent = VDIST2(vTestPos, BJ_GET_LAUNCHER_LOCATION_BY_ID(iCurrent))
IF fNearest > fCurrent
fNearest = fCurrent
iNearest = iCurrent
ENDIF
ENDIF
ENDREPEAT
RETURN INT_TO_ENUM(BJ_JUMP_ID, iNearest)
ENDFUNC
// Fill in our args according to the jump ID.
PROC BJ_GET_JUMP_INFORMATION_BY_ID(BJ_ARGS& bjArgs, BJ_JUMP_ID eJumpID)
enumCharacterList plrChar = GET_PLAYER_PED_ENUM(PLAYER_PED_ID())
SWITCH eJumpID
// Harbor (heli)
CASE BJJUMPID_HARBOR
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_HARBOR)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, SQUALO)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 41.0737) //334.400)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 0.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 0.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<0,0,0>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 0.0)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<-1039.7124, -1731.1447, 1.0>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 317.8872 )
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, -2, 0>>)
// Cutscene Dialogue
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_01P")
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_HARBOR))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_HARBOR))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 53.4142)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<-1151.4016, -1864.3694, 214.9385>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-55.1298, -0.0328, -19.7985>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 39.6124)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, FALSE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0, 0, 0>>)
BREAK
// Race Track (heli)
CASE BJJUMPID_RACE_TRACK
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_RACE_TRACK)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 10.500)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 0.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 0.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<0,0,0>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 0.0)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<978.232, -397.611, 416.607>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 1, <<873.389, -183.851, 302.972>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 2, <<1082.347, -86.822, 174.287>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 3, <<1151.0980, 124.6955, 81.4805>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 0)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, 0, 0>>)
// Cutscene Dialogue
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_02P")
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_RACE_TRACK))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_RACE_TRACK))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 52.5984)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<886.5799, -442.7917, 535.8002>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-41.7780, 0.0092, -13.8287>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 41.3305)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, FALSE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
// Windmills (heli)
CASE BJJUMPID_WINDMILLS
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_WINDMILLS)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 289.2623)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 0.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 0.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<0,0,0>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 0.0)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<2028.516, 1759.102, 424.7939>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 1, <<2230.7800, 1600.250, 318.384>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 2, <<2410.550, 1739.710, 253.494>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 3, <<2273.7869, 1885.168, 152.702>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 4, <<2111.9119, 1887.4564, 92.5308>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 0)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, 0, 0>>)
// Cutscene Dialogue
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_03P")
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_WINDMILLS))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_WINDMILLS))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 31.9702)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<2038.8071, 1971.5627, 591.7618>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-79.6953, 0.0213, 159.6313>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 50.8804)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, FALSE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
// Northern cliff (foot)
CASE BJJUMPID_NORTH_CLIFF
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_NORTH_CLIFF)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 60.1427)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, FROGGER)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<402.6013, 5736.4507, 696.3928>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 119.8889)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 5.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<0,0,0>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 0.0)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<320.690, 5808.490, 550.560>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 1, <<220.590, 5943.149, 415.514>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 2, <<30.630, 6117.630, 227.900>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 3, <<-80.950, 6440.430, 100.480>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 4, <<-273.773, 6633.584, 6.533>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 0)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, 0, 0>>)
// Cutscene Dialogue
IF plrChar = CHAR_MICHAEL
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_04M")
ELIF plrChar = CHAR_FRANKLIN
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_04F")
ELSE
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_04T")
ENDIF
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_NORTH_CLIFF))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_NORTH_CLIFF))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 44.3626)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<409.9299, 5701.4766, 696.7185>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-5.0705, -0.0000, 20.8267>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 43.8549)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, TRUE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
// Maze Bank (moto)
CASE BJJUMPID_MAZE_BANK
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_MAZE_BANK)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 1.8891)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, SKYLIFT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<-75.3, -823.9, 329.2>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 150.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 4.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<0,0,0>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 0.0)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<-77.2067, -444.2080, 37>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 0)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, 0, 0>>)
// Cutscene Dialogue
IF plrChar = CHAR_MICHAEL
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_05M")
ELIF plrChar = CHAR_FRANKLIN
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_05F")
ELSE
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_05T")
ENDIF
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_MAZE_BANK))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_MAZE_BANK))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 26.7726)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<-111.8981, -862.3896, 334.5773>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-5.4775, 0.0397, -29.0222>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 30.0131)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, FALSE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
// Crane (foot)
CASE BJJUMPID_CRANE
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_CRANE)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, HAULER)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 358.9586)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 0.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 0.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<0,0,0>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 0.0)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<-96.9738, -662.5833, 34.7843>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, -18.6000)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, -6, 0>>)
// Cutscene Dialogue
IF plrChar = CHAR_MICHAEL
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_06M")
ELIF plrChar = CHAR_FRANKLIN
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_06F")
ELSE
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_06T")
ENDIF
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_CRANE))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_CRANE))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 55.7667)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<-117.2447, -977.6218, 297.0984>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-7.6574, 0.0000, 0.8528>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 60.0)
// BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<-120.5237, -973.8779, 297.0817>>)
// BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-12.1772, 0.0000, -113.6702>>)
// BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 43.9479)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, TRUE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
// River cliff (foot)
CASE BJJUMPID_RIVER_CLIFF
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_RIVER_CLIFF)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 164.6178)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 0.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 0.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, BLAZER)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<-1310.9476, 4330.1265, 7.2444>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 87.84)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<-1246.490, 4482.091, 100.349>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 1, <<-1309.670, 4400.428, 50.542>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 2, <<-1304.670, 4348.428, 5.750>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 0.0)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, 0, 0>>)
// Cutscene Dialogue
IF plrChar = CHAR_MICHAEL
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_07M")
ELIF plrChar = CHAR_FRANKLIN
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_07F")
ELSE
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_07T")
ENDIF
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_RIVER_CLIFF))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_RIVER_CLIFF))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 47.1789)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<-1242.7314, 4536.2979, 186.6862>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-13.6409, -0.0000, 172.0553>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 47.1789)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, TRUE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
// Runaway Train (heli)
CASE BJJUMPID_RUNAWAY_TRAIN
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_RUNAWAY_TRAIN)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, FREIGHT)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 112.6)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 0.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 0.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<0,0,0>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 0.0)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<-487.5452, 4252.1924, 87.7120>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 10.8894)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, -20, 4.0>>)
// Cutscene Dialogue
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_08P")
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_RUNAWAY_TRAIN))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_RUNAWAY_TRAIN))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 24.3623)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<-337.5233, 4110.1597, 315.6679>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-29.1422, 0.0324, 47.5813>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 37.0424)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, FALSE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
// Golf course (foot)
CASE BJJUMPID_GOLF_COURSE
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_GOLF_COURSE)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 104.2070)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 0.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 0.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<0,0,0>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 0.0)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<-1154.4427, 204.1726, 64.4915>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 0.0)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, 0, 0>>)
// Cutscene Dialogue
IF plrChar = CHAR_MICHAEL
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_09M")
ELIF plrChar = CHAR_FRANKLIN
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_09F")
ELSE
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_09T")
ENDIF
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_GOLF_COURSE))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_GOLF_COURSE))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 50.0000)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<-805.2963, 332.5761, 234.6604>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-19.7458, -0.0000, 116.6405>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 55.2882)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, TRUE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
// The 1K (heli)
CASE BJJUMPID_1K
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_1K)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 329.4791)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 0.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 0.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, BLAZER)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<-818.3042, 4405.6753, 20.1095>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, -89.36)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<-1200.000, 3616.000, 964.000>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 1, <<-1240.000, 3307.000, 854.000>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 2, <<-1552.000, 3456.000, 655.000>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 3, <<-1616.000, 3808.000, 505.000>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 4, <<-1157.6840, 4128.3480, 288.6070>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 5, <<-1063.9950, 4246.1367, 163.2910>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 6, <<-938.5410, 4360.1401, 82.3720>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 7, <<-828.1418, 4413.5615, 20.0620>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 0.0)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, 0, 0>>)
// Cutscene Dialogue
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_10P")
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_1K))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_1K))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 31.7648)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<-1286.9763, 3660.1375, 1082.2080>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-47.0453, 0.0328, -13.4198>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 39.6786)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, FALSE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
// The 1.5K (heli)
CASE BJJUMPID_1_5K
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_1_5K)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 0.0)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 0.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 0.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<0,0,0>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 0.0)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<1239.342, 4008.389, 1135.372>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 1, <<1374.479, 4156.592, 1019.694>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 2, <<1391.310, 4362.621, 909.212>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 3, <<1240.832, 4598.044, 758.002>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 4, <<1382.169, 4377.629, 600.013>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 5, <<1624.116, 4207.519, 471.225>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 6, <<1910.345, 4175.518, 362.862>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 7, <<2236.975, 4282.967, 218.116>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 8, <<2330.282, 4534.430, 90.000>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 9, <<2473.3438, 4715.3472, 33.524>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 0.0)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, 0, 0>>)
// Cutscene Dialogue
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_11P")
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_1_5K))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_1_5K))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 27.2187)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<1012.6727, 3960.4355, 1367.7009>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-54.7868, 0.0000, -90.1280>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 35.5634)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, FALSE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
// Canal (heli)
CASE BJJUMPID_CANAL
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_CANAL)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 24.9200)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 0.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 0.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, SANCHEZ)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<1280.9326, -50.6157, 61.8195>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 130.39)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<1829.4600, -260.6650, 1141.8520>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 1, <<1816.4600, -10.6650, 1033.0840>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 2, <<1688.4600, 218.3350, 924.3070>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 3, <<1503.4600, 382.3350, 815.5290>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 4, <<1554.4600, 598.3350, 706.7510>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 5, <<1813.4600, 724.3350, 597.9730>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 6, <<1975.4600, 519.3350, 486.1960>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 7, <<1946.4600, 125.3350, 364.4170>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 8, <<1663.4600, -15.6650, 241.6400>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 9, <<1396.6400, -62.6650, 118.0000>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 10, <<1278.5000, -41.0500, 61.7000>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 0.0)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, 0, 0>>)
// Cutscene Dialogue
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_12P")
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_CANAL))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_CANAL))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 18.9374)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<1628.1558, -431.2605, 1332.7611>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-54.5827, 0.0000, -2.0463>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 56.4495)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, FALSE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
// Rock Cliff (foot)
CASE BJJUMPID_ROCK_CLIFF
// Static blip
BJ_SET_ARG_STATIC_BLIP(bjArgs, STATIC_BLIP_AMBIENT_BASEJUMP_ROCK_CLIFF)
// Vehicle models
BJ_SET_ARG_TARGET_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
// Start position
BJ_SET_ARG_LAUNCH_HEADING(bjArgs, 359.2885)
// Flyaway helicopter
BJ_SET_ARG_DROPOFF_MODEL(bjArgs, DUMMY_MODEL_FOR_SCRIPT)
BJ_SET_ARG_DROPOFF_POSITION(bjArgs, <<0, 0, 0>>)
BJ_SET_ARG_DROPOFF_HEADING(bjArgs, 0.0)
BJ_SET_ARG_FLYAWAY_DELAY(bjArgs, 0.0)
// Convenience vehicle
BJ_SET_ARG_EXIT_MODEL(bjArgs, SANCHEZ)
BJ_SET_ARG_EXIT_POSITION(bjArgs, <<-885.2659, 4433.5923, 20.3810>>)
BJ_SET_ARG_EXIT_HEADING(bjArgs, 104.35)
// Targets (heading for vehicle)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 0, <<-771.9196, 4400.4526, 60.5786>>)
//BJ_SET_ARG_TARGET_POSITION(bjArgs, 1, <<-821.183, 4414.571, 45.697>>)
//BJ_SET_ARG_TARGET_POSITION(bjArgs, 2, <<-866.658, 4426.487, 30.856>>)
BJ_SET_ARG_TARGET_POSITION(bjArgs, 1, <<-892.6581, 4427.4868, 19.8561>>)
BJ_SET_ARG_TARGET_HEADING(bjArgs, 0.0)
BJ_SET_ARG_TARGET_VEHICLE_OFFSET(bjArgs, <<0, 0, 0>>)
// Cutscene Dialogue
IF plrChar = CHAR_MICHAEL
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_13M")
ELIF plrChar = CHAR_FRANKLIN
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_13F")
ELSE
BJ_SET_ARG_CUTSCENE_DLG_ROOT(bjArgs, "BJ_13T")
ENDIF
// Cutscene start camera
BJ_SET_ARG_CUTSCENE_START_POSITION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_POSITION_BY_ID(BJJUMPID_ROCK_CLIFF))
BJ_SET_ARG_CUTSCENE_START_ROTATION(bjArgs, BJ_GET_COURSE_INITIAL_CAMERA_ROTATION_BY_ID(BJJUMPID_ROCK_CLIFF))
BJ_SET_ARG_CUTSCENE_START_FOV(bjArgs, 48.3921)
// Cutscene end camera
BJ_SET_ARG_CUTSCENE_END_POSITION(bjArgs, <<-765.6544, 4332.8359, 149.0282>>)
BJ_SET_ARG_CUTSCENE_END_ROTATION(bjArgs, <<-18.0357, 0.0000, 6.0212>>)
BJ_SET_ARG_CUTSCENE_END_FOV(bjArgs, 48.3921)
BJ_SET_ARG_CUTSCENE_FADE(bjArgs, FALSE)
BJ_SET_ARG_HOLD_LAST_CUTSCENE_FRAME(bjArgs, TRUE)
// Remove vehicle generators
BJ_SET_ARG_CAR_REMOVAL_COORDS_MIN(bjArgs, <<0,0,0>>)
BJ_SET_ARG_CAR_REMOVAL_COORDS_MAX(bjArgs, <<0,0,0>>)
BREAK
ENDSWITCH
ENDPROC