Advertisement
General_101

01a_tutorial_mission

Jun 30th, 2019
387
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 65.64 KB | None | 0 0
  1. ; Nibre - This script has been reconstructed from the extracted compiled script, to match it as closely as possible to what the
  2. ; source script /should/ be like. This includes formatting and 'un'-compiling (turning nested 'if's back into 'cond',
  3. ; removing redundancy etc.).
  4.  
  5. ; 01a_TUTORIAL Mission Script
  6.  
  7.  
  8. ;=================================
  9. ;======== Globals =========
  10. ;=================================
  11.  
  12. (global short seconds 30)
  13. (global short global_random 0)
  14. (global short global_random_rumble 0)
  15. (global short global_random_bridge 0)
  16. (global short delay_prompt_blink (* 2 seconds))
  17. (global short delay_prompt_short (* 8 seconds))
  18. (global short delay_prompt_medium (* 16 seconds))
  19. (global short delay_prompt_long (* 36 seconds))
  20. (global short delay_prompt_drag (* 48 seconds))
  21. (global short delay_prompt_final (* 60 seconds))
  22. (global boolean mark_bsp0 false)
  23. (global boolean mark_bsp1 false)
  24. (global boolean mark_bsp2 false)
  25. (global boolean mark_bsp3 false)
  26. (global boolean mark_bsp4 false)
  27. (global boolean mark_bsp5 false)
  28. (global short counter_mindread_normal_success 0)
  29. (global short counter_mindread_invert_success 0)
  30. (global short counter_training_pitch_choose 0)
  31. (global short counter_prompt_looker_start 0)
  32. (global short counter_prompt_looker 0)
  33. (global short counter_prompt_start_spot 0)
  34. (global short counter_prompt_careful 0)
  35. (global short counter_prompt_zapper_lookatme 0)
  36. (global short counter_prompt_zapper_getin 0)
  37. (global short counter_prompt_zapper_button 0)
  38. (global short counter_prompt_elevator_plr 0)
  39. (global boolean mark_looker_light_left false)
  40. (global boolean mark_looker_light_right false)
  41. (global boolean mark_looker_light_top false)
  42. (global boolean mark_looker_light_bottom false)
  43. (global boolean mark_training_free false)
  44. (global boolean mark_training_done false)
  45. (global short timer_training_pitch_choose 0)
  46. (global short timer_prompt_looker_start 0)
  47. (global short timer_prompt_looker 0)
  48. (global short timer_prompt_start_spot 0)
  49. (global short timer_prompt_careful 0)
  50. (global short timer_prompt_zapper 0)
  51. (global short timer_prompt_zapper_lookatme 0)
  52. (global short timer_prompt_zapper_getin 0)
  53. (global short timer_prompt_zapper_button 0)
  54. (global short timer_prompt_elevator_plr 0)
  55. (global boolean mark_ice_cream false)
  56.  
  57.  
  58. ;========== Checkpoint Scripts ==========
  59. (script static void save_look_start
  60. (if
  61. (game_safe_to_save)
  62. (data_mine_set_mission_segment "01a_look_start")
  63. )
  64. )
  65.  
  66. (script static void save_move_start
  67. (game_save)
  68. (if
  69. (game_safe_to_save)
  70. (data_mine_set_mission_segment "01a_move_start")
  71. )
  72. )
  73.  
  74. (script static void save_shield_start
  75. (game_save)
  76. (if
  77. (game_safe_to_save)
  78. (data_mine_set_mission_segment "01a_shield_start")
  79. )
  80. )
  81.  
  82. (script static void save_tram_start
  83. (game_save)
  84. (if
  85. (game_safe_to_save)
  86. (data_mine_set_mission_segment "01a_tram_start")
  87. )
  88. )
  89.  
  90. ;=================================
  91. ;======== Command Scripts =========
  92. ;=================================
  93. (script command_script cs_lookat_player
  94. (cs_face_player true)
  95. (sleep_forever)
  96. )
  97.  
  98. (script command_script cs_lookat_guns
  99. (cs_face_object true (ai_get_object guns))
  100. (sleep_forever)
  101. )
  102.  
  103. (script command_script cs_johnson_glanceat_guns
  104. (cs_enable_looking true)
  105. (cs_look_object true (ai_get_object guns))
  106. (sleep_forever)
  107. )
  108.  
  109. (script command_script cs_lookat_johnson
  110. (cs_face_object true (ai_get_object johnson))
  111. (sleep_forever)
  112. )
  113.  
  114. (script command_script cs_lookat_console_zapper
  115. (cs_look true guns_points/console_zapper)
  116. (sleep 45)
  117. (cs_face_player true)
  118. (sleep_forever)
  119. )
  120.  
  121. (script command_script cs_lookat_console_toplight
  122. (cs_aim_object true looker_light_top_red)
  123. (sleep 45)
  124. (cs_face true guns_points/console_inhibitor)
  125. (sleep 30)
  126. (cs_face_player true)
  127. (sleep_forever)
  128. )
  129.  
  130. (script command_script cs_lookat_console_bottomlight
  131. (cs_aim_object true looker_light_bottom_red)
  132. (sleep 45)
  133. (cs_face true guns_points/console_inhibitor)
  134. (sleep 30)
  135. (cs_face_player true)
  136. (sleep_forever)
  137. )
  138.  
  139. (script command_script cs_lookat_console_inhibitor
  140. (cs_face true guns_points/console_inhibitor)
  141. (sleep 30)
  142. (cs_face_player true)
  143. (sleep_forever)
  144. )
  145.  
  146. (script command_script cs_guns_start
  147. (cs_force_combat_status 2)
  148. (cs_enable_moving false)
  149. (cs_enable_pathfinding_failsafe true)
  150. (cs_go_to guns_points/start)
  151. (cs_face_player true)
  152. (sleep_forever)
  153. )
  154.  
  155. (script command_script cs_guns_zapper_halfway
  156. (cs_force_combat_status 2)
  157. (cs_enable_moving false)
  158. (cs_enable_pathfinding_failsafe true)
  159. (cs_go_to guns_points/zapper_halfway)
  160. (cs_face_player true)
  161. (sleep_forever)
  162. )
  163.  
  164. (script command_script cs_guns_zapper_wait
  165. (cs_force_combat_status 2)
  166. (cs_enable_moving false)
  167. (cs_enable_pathfinding_failsafe true)
  168. (cs_go_to guns_points/zapper)
  169. (cs_face_player true)
  170. (sleep_forever)
  171. )
  172.  
  173. (script command_script cs_guns_zapper
  174. (cs_force_combat_status 2)
  175. (cs_enable_moving false)
  176. (cs_enable_pathfinding_failsafe true)
  177. (cs_go_to_and_face guns_points/zapper guns_points/zapper_face)
  178. (cs_face true guns_points/zapper_face)
  179. (sleep_forever)
  180. )
  181.  
  182. (script command_script cs_guns_zapper_prompt
  183. (cs_force_combat_status 2)
  184. (cs_enable_moving false)
  185. (cs_enable_pathfinding_failsafe true)
  186. (cs_face_player true)
  187. (sleep 90)
  188. (cs_face_player false)
  189. (cs_go_to_and_face guns_points/zapper guns_points/zapper_face)
  190. (cs_face true guns_points/zapper_face)
  191. (sleep_forever)
  192. )
  193.  
  194. (script command_script cs_johnson_start
  195. (cs_force_combat_status 2)
  196. (cs_enable_moving false)
  197. (cs_enable_pathfinding_failsafe true)
  198. (cs_go_to johnson_points/start)
  199. (cs_face_player true)
  200. (sleep_forever)
  201. )
  202.  
  203. (script command_script cs_johnson_elevator
  204. (cs_force_combat_status 2)
  205. (cs_enable_moving false)
  206. (cs_enable_pathfinding_failsafe true)
  207. (cs_go_to johnson_points/elevator)
  208. (cs_face_player true)
  209. (sleep_forever)
  210. )
  211.  
  212. (script command_script cs_johnson_elevator_face_guns
  213. (cs_force_combat_status 2)
  214. (cs_enable_moving false)
  215. (cs_enable_pathfinding_failsafe true)
  216. (cs_go_to johnson_points/elevator)
  217. (cs_face_object true (ai_get_object guns))
  218. (sleep_forever)
  219. )
  220.  
  221. (script command_script cs_guns_elevator
  222. (cs_force_combat_status 2)
  223. (cs_enable_moving false)
  224. (cs_enable_pathfinding_failsafe true)
  225. (cs_go_to guns_points/elevator)
  226. (cs_face_player true)
  227. (sleep_forever)
  228. )
  229.  
  230. (script command_script cs_johnson_tram
  231. (cs_force_combat_status 2)
  232. (cs_enable_moving false)
  233. (cs_enable_pathfinding_failsafe true)
  234. (cs_go_to_and_face johnson_points/tram johnson_points/earth)
  235. (cs_face true johnson_points/earth)
  236. (sleep_forever)
  237. )
  238.  
  239. (script command_script cs_lookat_macgun
  240. (cs_force_combat_status 2)
  241. (cs_enable_moving false)
  242. (cs_enable_pathfinding_failsafe true)
  243. (cs_ignore_obstacles true)
  244. (cs_go_to_and_face johnson_points/tram_2 johnson_points/macgun)
  245. (cs_face true johnson_points/macgun)
  246. (sleep_forever)
  247. )
  248.  
  249. (script command_script cs_lookat_malta
  250. (cs_face true johnson_points/malta)
  251. (sleep_forever)
  252. )
  253.  
  254. (script command_script cs_lookat_fleet
  255. (cs_face_object true inamberclad)
  256. (cs_look_object true inamberclad)
  257. (sleep_forever)
  258. )
  259.  
  260. (script command_script cs_johnson_lookat_station
  261. (cs_face true johnson_points/station)
  262. (sleep_forever)
  263. )
  264.  
  265. (script command_script cs_johnson_station
  266. (cs_force_combat_status 2)
  267. (cs_enable_moving false)
  268. (cs_enable_pathfinding_failsafe true)
  269. (cs_go_to johnson_points/station)
  270. (cs_face_player true)
  271. (sleep_forever)
  272. )
  273.  
  274. ;=================================
  275. ;======== Mission Scripts =========
  276. ;=================================
  277. (script static boolean prompt_looker_start
  278. (cond
  279. (
  280. (= counter_prompt_looker_start 0)
  281. (begin
  282. (print "Go ahead and look at each of the four lights, Chief.")
  283. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3110_gun (ai_get_object guns) 1)
  284. ;(set timer_prompt_looker (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3110_gun))
  285. (set timer_prompt_looker (+ timer_prompt_looker delay_prompt_short))
  286. )
  287. )
  288. (
  289. (= counter_prompt_looker_start 1)
  290. (begin
  291. (print "Go ahead and target them one more time.")
  292. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1360_gun (ai_get_object guns) 1)
  293. ;(set timer_prompt_looker (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1360_gun))
  294. (set timer_prompt_looker (+ timer_prompt_looker delay_prompt_medium))
  295. )
  296. )
  297. (
  298. true
  299. (set counter_prompt_looker_start 0)
  300. )
  301. )
  302. (set counter_prompt_looker_start (+ counter_prompt_looker_start 1))
  303. )
  304.  
  305. (script static boolean prompt_looker
  306. (cond
  307. (
  308. (= counter_prompt_looker 0)
  309. (begin
  310. (print "You have to look at each light until it turns green.")
  311. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1310_gun (ai_get_object guns) 1)
  312. ;(set timer_prompt_looker (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1310_gun))
  313. (set timer_prompt_looker (+ timer_prompt_looker delay_prompt_short))
  314. )
  315. )
  316. (
  317. (= counter_prompt_looker 1)
  318. (begin
  319. (print "You gotta look at all the lights to complete the test.")
  320. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1370_gun (ai_get_object guns) 1)
  321. ;(set timer_prompt_looker (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1370_gun))
  322. (set timer_prompt_looker (+ timer_prompt_looker delay_prompt_short))
  323. )
  324. )
  325. (
  326. (= counter_prompt_looker 2)
  327. (begin
  328. (unit_set_emotional_state (ai_get_unit guns) annoyed 0.5 1)
  329. (print "Look at the lights, Chief, one by one.")
  330. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1300_gun (ai_get_object guns) 1)
  331. ;(set timer_prompt_looker (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1300_gun))
  332. (set timer_prompt_looker (+ timer_prompt_looker delay_prompt_medium))
  333. )
  334. )
  335. (
  336. (= counter_prompt_looker 3)
  337. (begin
  338. (unit_set_emotional_state (ai_get_unit guns) annoyed 0.5 1)
  339. (print "Please look at the lights again, son.")
  340. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1350_gun (ai_get_object guns) 1)
  341. ;(set timer_prompt_looker (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1350_gun))
  342. (set timer_prompt_looker (+ timer_prompt_looker delay_prompt_medium))
  343. )
  344. )
  345. (
  346. true
  347. (set counter_prompt_looker 0)
  348. )
  349. )
  350. (set counter_prompt_looker (+ counter_prompt_looker 1))
  351. )
  352.  
  353. (script static boolean prompt_start_spot
  354. (cond
  355. (
  356. (= counter_prompt_start_spot 0)
  357. (begin
  358. (print "Go on, walk around, try it out.")
  359. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0820_gun (ai_get_object guns) 1)
  360. ;(set timer_prompt_start_spot (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0820_gun))
  361. (set timer_prompt_start_spot (+ timer_prompt_start_spot delay_prompt_short))
  362. )
  363. )
  364. (
  365. (= counter_prompt_start_spot 1)
  366. (begin
  367. (unit_set_emotional_state (ai_get_unit guns) inquisitive 0.5 1)
  368. (print "Something wrong son? Can't you move?")
  369. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0830_gun (ai_get_object guns) 1)
  370. ;(set timer_prompt_start_spot (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0830_gun))
  371. (set timer_prompt_start_spot (+ timer_prompt_start_spot delay_prompt_medium))
  372. )
  373. )
  374. (
  375. (= counter_prompt_start_spot 2)
  376. (begin
  377. (unit_set_emotional_state (ai_get_unit guns) inquisitive 0.5 1)
  378. (print "Inhibitors are definitely off. You should be able to walk around.")
  379. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0840_gun (ai_get_object guns) 1)
  380. ;(set timer_prompt_start_spot (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0840_gun))
  381. (set timer_prompt_start_spot (+ timer_prompt_start_spot delay_prompt_medium))
  382. )
  383. )
  384. (
  385. true
  386. (set counter_prompt_start_spot 0)
  387. )
  388. )
  389. (set counter_prompt_start_spot (+ counter_prompt_start_spot 1))
  390. )
  391.  
  392. (script static boolean prompt_careful
  393. (cond
  394. (
  395. (= counter_prompt_careful 0)
  396. (begin
  397. (cs_run_command_script guns cs_lookat_player)
  398. (unit_set_emotional_state (ai_get_unit guns) scared 0.5 1 )
  399. (sleep 8)
  400. (print "Hey! Take it easy!")
  401. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0850_gun (ai_get_object guns) 1 )
  402. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0850_gun))
  403. (sleep 30)
  404. (cs_run_command_script guns cs_guns_zapper_wait)
  405. )
  406. )
  407. (
  408. (= counter_prompt_careful 1)
  409. (begin
  410. (cs_run_command_script guns cs_lookat_player)
  411. (unit_set_emotional_state (ai_get_unit guns) scared 0.5 1)
  412. (sleep 8)
  413. (print "Careful! You'll tear a tendon doing that!")
  414. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0860_gun (ai_get_object guns) 1)
  415. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0860_gun))
  416. (sleep 30)
  417. (cs_run_command_script guns cs_guns_zapper_wait)
  418. )
  419. )
  420. (
  421. (= counter_prompt_careful 2)
  422. (begin
  423. (cs_run_command_script guns cs_lookat_player)
  424. (unit_set_emotional_state (ai_get_unit guns) annoyed 0.5 1)
  425. (sleep 8)
  426. (print "Fine. But don't come crying to me when your rip your leg out of its socket.")
  427. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0870_gun (ai_get_object guns) 1)
  428. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0870_gun))
  429. (sleep 30)
  430. (cs_run_command_script guns cs_guns_zapper_wait)
  431. )
  432. )
  433. (
  434. true
  435. (set counter_prompt_careful 2)
  436. )
  437. )
  438. (set timer_prompt_careful delay_prompt_blink)
  439. (set counter_prompt_careful (+ counter_prompt_careful 1))
  440. )
  441.  
  442. (script static boolean prompt_zapper_lookatme
  443. (hud_show_training_text false)
  444. (cond
  445. ((= counter_prompt_zapper_lookatme 0)
  446. (begin
  447. (cs_run_command_script guns cs_guns_zapper_prompt)
  448. (unit_set_emotional_state (ai_get_unit guns)annoyed 0.5 1)
  449. (sleep 30)
  450. (print "Are you listening to me?.")
  451. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3160_gun (ai_get_object guns) 1)
  452. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3160_gun))
  453. (set timer_prompt_zapper_lookatme (+ timer_prompt_zapper delay_prompt_short))
  454. )
  455. )
  456. ((= counter_prompt_zapper_lookatme 1)
  457. (begin
  458. (cs_run_command_script guns cs_guns_zapper_prompt)
  459. (unit_set_emotional_state (ai_get_unit guns) annoyed 0.5 1)
  460. (sleep 30)
  461. (print "Over here, Chief. Focus.")
  462. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3170_gun (ai_get_object guns) 1)
  463. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3170_gun))
  464. (set timer_prompt_zapper_lookatme (+ timer_prompt_zapper delay_prompt_short))
  465. )
  466. )
  467. ((= counter_prompt_zapper_lookatme 2)
  468. (begin
  469. (cs_run_command_script guns cs_guns_zapper_prompt)
  470. (unit_set_emotional_state (ai_get_unit guns) annoyed 0.5 1)
  471. (sleep 30)
  472. (print "It's considered respectful to look at someone when they are talking.")
  473. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3180_gun (ai_get_object guns) 1)
  474. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3180_gun))
  475. (set timer_prompt_zapper_lookatme (+ timer_prompt_zapper delay_prompt_medium))
  476. )
  477. )
  478. ((= counter_prompt_zapper_lookatme 3)
  479. (begin
  480. (cs_run_command_script guns cs_guns_zapper_prompt)
  481. (unit_set_emotional_state (ai_get_unit guns) angry 0.5 1)
  482. (sleep 30)
  483. (print "This is important, you could at least look at me while I explain it.")
  484. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3190_gun (ai_get_object guns) 1)
  485. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3190_gun))
  486. (set timer_prompt_zapper_lookatme (+ timer_prompt_zapper delay_prompt_medium))
  487. )
  488. )
  489. ((= counter_prompt_zapper_lookatme 4)
  490. (begin
  491. (cs_run_command_script guns cs_guns_zapper_prompt)
  492. (unit_set_emotional_state (ai_get_unit guns) angry 0.5 1)
  493. (sleep 30)
  494. (print "I'm talking to you, Chief. Loot at me.")
  495. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3200_gun (ai_get_object guns) 1)
  496. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3200_gun))
  497. (set timer_prompt_zapper_lookatme (+ timer_prompt_zapper delay_prompt_long))
  498. (hud_set_training_text tutorial_zapper_lookatme)
  499. (hud_show_training_text true)
  500. )
  501. )
  502. ((= counter_prompt_zapper_lookatme 5)
  503. (begin
  504. (cs_run_command_script guns cs_guns_zapper_prompt)
  505. (unit_set_emotional_state (ai_get_unit guns) angry 0.5 1)
  506. (sleep 30)
  507. (print "I know you Spartans think you know everything, but it couldn't hurt you to at least look this way.")
  508. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3210_gun (ai_get_object guns) 1)
  509. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3210_gun))
  510. (set timer_prompt_zapper_lookatme (+ timer_prompt_zapper delay_prompt_long))
  511. (hud_set_training_text tutorial_zapper_lookatme)
  512. (hud_show_training_text true)
  513. )
  514. )
  515. ((= counter_prompt_zapper_lookatme 6)
  516. (begin
  517. (cs_run_command_script guns cs_guns_zapper_prompt)
  518. (unit_set_emotional_state (ai_get_unit guns) angry 0.5 1)
  519. (sleep 30)
  520. (print "Look, just because the Brass kisses your ass, doesn't mean I will. Look at me when I talk to you!")
  521. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3220_gun (ai_get_object guns) 1)
  522. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3220_gun))
  523. (set timer_prompt_zapper_lookatme (+ timer_prompt_zapper delay_prompt_drag))
  524. (hud_set_training_text tutorial_zapper_lookatme)
  525. (hud_show_training_text true)
  526. )
  527. )
  528. (
  529. true
  530. (set counter_prompt_zapper_lookatme 3)
  531. )
  532. )
  533. (set counter_prompt_zapper_lookatme (+ counter_prompt_zapper_lookatme 1))
  534. )
  535.  
  536. (script static boolean prompt_zapper_getin
  537. (hud_show_training_text false)
  538. (cond
  539. (
  540. (= counter_prompt_zapper_getin 0)
  541. (begin
  542. (custom_animation (ai_get_unit guns) objects\characters\marine\tutorial\tutorial l01_0900_jon true)
  543. (objectives_finish_up_to 0)
  544. (objectives_show_up_to 1)
  545. (sleep 10)
  546. (print "Step on in. I'll show you.")
  547. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0900_gun (ai_get_object guns) 1)
  548. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0900_gun))
  549. (set timer_prompt_zapper_getin (+ timer_prompt_zapper delay_prompt_short))
  550. )
  551. )
  552. (
  553. (= counter_prompt_zapper_getin 1)
  554. (begin
  555. (cs_run_command_script guns cs_guns_zapper_prompt)
  556. (sleep 30)
  557. (print "Step into the red sqaure, Chief, and we'll get started.")
  558. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3230_gun (ai_get_object guns) 1)
  559. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3230_gun))
  560. (set timer_prompt_zapper_getin (+ timer_prompt_zapper delay_prompt_short))
  561. )
  562. )
  563. (
  564. (= counter_prompt_zapper_getin 2)
  565. (begin
  566. (cs_run_command_script guns cs_guns_zapper_prompt)
  567. (sleep 30)
  568. (print "Chief? Stand in the red square.")
  569. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3240_gun (ai_get_object guns) 1)
  570. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3240_gun))
  571. (set timer_prompt_zapper_getin (+ timer_prompt_zapper delay_prompt_medium))
  572. )
  573. )
  574. (
  575. (= counter_prompt_zapper_getin 3)
  576. (begin
  577. (cs_run_command_script guns cs_guns_zapper_prompt)
  578. (sleep 30)
  579. (print "You have to stand in the red square before we can start the test.")
  580. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3250_gun (ai_get_object guns) 1)
  581. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3250_gun))
  582. (set timer_prompt_zapper_getin (+ timer_prompt_zapper delay_prompt_medium))
  583. )
  584. )
  585. (
  586. (= counter_prompt_zapper_getin 4)
  587. (begin
  588. (cs_run_command_script guns cs_guns_zapper_prompt)
  589. (unit_set_emotional_state (ai_get_unit guns) annoyed 0.5 1)
  590. (sleep 30)
  591. (print "Go ahead and stand in the red sqaure. it'll just take a minute.")
  592. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3260_gun (ai_get_object guns) 1)
  593. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3260_gun))
  594. (set timer_prompt_zapper_getin (+ timer_prompt_zapper delay_prompt_long))
  595. )
  596. )
  597. (
  598. (= counter_prompt_zapper_getin 5)
  599. (begin
  600. (cs_run_command_script guns cs_guns_zapper_prompt)
  601. (unit_set_emotional_state (ai_get_unit guns) annoyed 0.5 1)
  602. (sleep 30)
  603. (print "Come on, son, step into the red square.")
  604. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3270_gun (ai_get_object guns) 1)
  605. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3270_gun))
  606. (set timer_prompt_zapper_getin (+ timer_prompt_zapper delay_prompt_long))
  607. (hud_set_training_text tutorial_zapper_getin)
  608. (hud_show_training_text true)
  609. )
  610. )
  611. (
  612. (= counter_prompt_zapper_getin 5)
  613. (begin
  614. (cs_run_command_script guns cs_guns_zapper_prompt)
  615. (unit_set_emotional_state (ai_get_unit guns) annoyed 0.5 1)
  616. (sleep 30)
  617. (print "Will you stop screwing around? Stand in the red square!")
  618. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3280_gun (ai_get_object guns) 1)
  619. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3280_gun))
  620. (set timer_prompt_zapper_getin (+ timer_prompt_zapper delay_prompt_long))
  621. (hud_set_training_text tutorial_zapper_getin)
  622. (hud_show_training_text true)
  623. )
  624. )
  625. (
  626. (= counter_prompt_zapper_getin 5)
  627. (begin
  628. (cs_run_command_script guns cs_guns_zapper_prompt)
  629. (unit_set_emotional_state (ai_get_unit guns) angry 0.5 1)
  630. (sleep 30)
  631. (print "Stop bustin' my balls, and step in the damn square!")
  632. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3290_gun (ai_get_object guns) 1)
  633. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3290_gun) )
  634. (set timer_prompt_zapper_getin (+ timer_prompt_zapper delay_prompt_drag) )
  635. (hud_set_training_text tutorial_zapper_getin)
  636. (hud_show_training_text true)
  637. )
  638. )
  639. (
  640. true
  641. (set counter_prompt_zapper_getin 2)
  642. )
  643. )
  644. (set counter_prompt_zapper_getin (+ counter_prompt_zapper_getin 1))
  645. )
  646.  
  647. (script static boolean prompt_zapper_button
  648. (hud_show_training_text false)
  649. (cond
  650. ((= counter_prompt_zapper_button 0)
  651. (begin
  652. (unit_set_emotional_state (ai_get_unit guns) angry 0 1)
  653. (unit_set_emotional_state (ai_get_unit guns) annoyed 0 1)
  654. (device_set_power zapper_control 1)
  655. (print "Your new armor's shields are extremely resilient - very efficient.")
  656. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0880_gun (ai_get_object guns) 1)
  657. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0880_gun))
  658. (set timer_prompt_zapper_button (+ timer_prompt_zapper 0))
  659. )
  660. )
  661. ((= counter_prompt_zapper_button 1)
  662. (begin
  663. (print "Much better than the Covenant tech we used for the mark-five.")
  664. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0890_gun (ai_get_object guns) 1)
  665. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0890_gun))
  666. (set timer_prompt_zapper_button (+ timer_prompt_zapper 0))
  667. )
  668. )
  669. ((= counter_prompt_zapper_button 2)
  670. (begin
  671. (custom_animation (ai_get_unit guns) objects\characters\marine\tutorial\tutorial l01_0910_jon true)
  672. (objectives_finish_up_to 1)
  673. (objectives_show_up_to 2)
  674. (sleep 10)
  675. (print "Go ahead and use the switch in front of you to start the shield test.")
  676. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3300_gun (ai_get_object guns) 1)
  677. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3300_gun))
  678. (set timer_prompt_zapper_button (+ timer_prompt_zapper delay_prompt_short))
  679. )
  680. )
  681. ((= counter_prompt_zapper_button 3)
  682. (begin
  683. (print "Just place your hand on the touchpad to activate the switch.")
  684. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3310_gun (ai_get_object guns) 1)
  685. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3310_gun))
  686. (set timer_prompt_zapper_button (+ timer_prompt_zapper delay_prompt_medium))
  687. )
  688. )
  689. ((= counter_prompt_zapper_button 4)
  690. (begin
  691. (print "Hit the switch, it won't hurt... much")
  692. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3340_gun (ai_get_object guns) 1)
  693. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3340_gun))
  694. (set timer_prompt_zapper_button (+ timer_prompt_zapper delay_prompt_medium))
  695. )
  696. )
  697. ((= counter_prompt_zapper_button 5)
  698. (begin
  699. (print "Go ahead and use that switch in front of you.")
  700. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3330_gun (ai_get_object guns) 1)
  701. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3330_gun))
  702. (set timer_prompt_zapper_button (+ timer_prompt_zapper delay_prompt_long))
  703. (hud_set_training_text tutorial_zapper_button)
  704. (hud_show_training_text true)
  705. )
  706. )
  707. ((= counter_prompt_zapper_button 6)
  708. (begin
  709. (print "The switch right in front of you will start the shield test.")
  710. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3320_gun (ai_get_object guns) 1)
  711. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3320_gun))
  712. (set timer_prompt_zapper_button (+ timer_prompt_zapper delay_prompt_long))
  713. (hud_set_training_text tutorial_zapper_button)
  714. (hud_show_training_text true)
  715. )
  716. )
  717. ((= counter_prompt_zapper_button 7)
  718. (begin
  719. (unit_set_emotional_state (ai_get_unit guns) annoyed 0.5 1)
  720. (print "It's a switch. You press it.")
  721. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3350_gun (ai_get_object guns) 1)
  722. ;(set timer_prompt_zapper (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3350_gun))
  723. (set timer_prompt_zapper_button (+ timer_prompt_zapper delay_prompt_drag))
  724. (hud_set_training_text tutorial_zapper_button)
  725. (hud_show_training_text true)
  726. )
  727. )
  728. (
  729. true
  730. (set counter_prompt_zapper_button 2)
  731. )
  732. )
  733. (set counter_prompt_zapper_button (+ counter_prompt_zapper_button 1))
  734. )
  735.  
  736. (script static boolean prompt_elevator_plr
  737. (hud_show_training_text false)
  738. (cond
  739. (
  740. (= counter_prompt_elevator_plr 0)
  741. (begin
  742. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_short))
  743. (objectives_show_up_to 3)
  744. )
  745. )
  746. (
  747. (= counter_prompt_elevator_plr 1)
  748. (begin
  749. (print "C'mon, Chief, they're ready for us on the bridge.")
  750. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1640_jon (ai_get_object johnson) 1)
  751. ;(set timer_prompt_elevator_plr (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1640_jon))
  752. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_short))
  753. )
  754. )
  755. (
  756. (= counter_prompt_elevator_plr 2)
  757. (begin
  758. (print "Get on the lift, Cheif, we're gonna be late.")
  759. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1650_jon (ai_get_object johnson) 1)
  760. ;(set timer_prompt_elevator_plr (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1650_jon))
  761. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_long))
  762. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_medium))
  763. )
  764. )
  765. (
  766. (= counter_prompt_elevator_plr 3)
  767. (begin
  768. (unit_set_emotional_state (ai_get_unit johnson) annoyed 0.5 1)
  769. (print "I don't want to keep the Brass waiting, Chief.")
  770. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1660_jon (ai_get_object johnson) 1)
  771. ;(set timer_prompt_elevator_plr (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1660_jon))
  772. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_long))
  773. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_medium))
  774. )
  775. )
  776. (
  777. (= counter_prompt_elevator_plr 4)
  778. (begin
  779. (unit_set_emotional_state (ai_get_unit johnson) annoyed 0.5 1)
  780. (print "Fine. you can tell Lord Hood why we're late!")
  781. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1670_jon (ai_get_object johnson) 1)
  782. ;(set timer_prompt_elevator_plr (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1670_jon))
  783. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_long))
  784. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_long))
  785. )
  786. )
  787. (
  788. (= counter_prompt_elevator_plr 5)
  789. (begin
  790. (unit_set_emotional_state (ai_get_unit johnson) angry 0.5 1)
  791. (print "Get your shiny green posterior on this elevator!")
  792. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1680_jon (ai_get_object johnson) 1)
  793. ;(set timer_prompt_elevator_plr (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1680_jon))
  794. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_long))
  795. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_long))
  796. )
  797. )
  798. (
  799. (= counter_prompt_elevator_plr 6)
  800. (begin
  801. (unit_set_emotional_state (ai_get_unit johnson) angry 0.5 1)
  802. (print "Would it help if I said please?")
  803. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1690_jon (ai_get_object johnson) 1)
  804. ;(set timer_prompt_elevator_plr (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1690_jon))
  805. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_long))
  806. (set timer_prompt_elevator_plr (+ timer_prompt_elevator_plr delay_prompt_drag))
  807. (set mark_ice_cream true)
  808. )
  809. )
  810. (
  811. true
  812. (set counter_prompt_elevator_plr 0)
  813. )
  814. )
  815. (set counter_prompt_elevator_plr (+ counter_prompt_elevator_plr 1))
  816. )
  817.  
  818. (script static void training_setup
  819. (game_can_use_flashlights false)
  820. (unit_set_maximum_vitality (player0) 30 1)
  821. (device_set_power zapper_control 0)
  822. (device_set_position_immediate elevator_tram 0)
  823. (ai_place guns)
  824. (ai_cannot_die guns true)
  825. (cs_run_command_script guns cs_guns_start)
  826. )
  827.  
  828. (script startup icecream
  829. (sleep_until
  830. (and
  831. mark_ice_cream
  832. (difficulty_legendary)
  833. )
  834. 1
  835. )
  836. (object_create cookiesncream)
  837. (sleep_until
  838. (or
  839. (unit_has_weapon (unit (player0)) objects\weapons\multiplayer\ball\head_sp.weapon)
  840. (unit_has_weapon (unit (player1)) objects\weapons\multiplayer\ball\head_sp.weapon)
  841. )
  842. 1
  843. )
  844. (ice_cream_flavor_stock 14)
  845. (print "Blam")
  846. )
  847.  
  848. (script static void test_mindread_up
  849. (object_create looker_light_top_red)
  850. (player_action_test_reset)
  851. (player_action_test_look_up_begin)
  852. (player_camera_control true)
  853. (cs_run_command_script guns cs_lookat_console_toplight)
  854. (sleep_until
  855. (or
  856. (objects_can_see_object (players) looker_light_top_red 5)
  857. (player0_looking_up)
  858. )
  859. 1
  860. 360
  861. )
  862. (if
  863. (not
  864. (or
  865. (objects_can_see_object (players) looker_light_top_red 5)
  866. (player0_looking_up)
  867. )
  868. )
  869. (begin
  870. (print "Go ahead and look at the top light, Chief.")
  871. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3070_gun (ai_get_object guns) 1)
  872. (hud_set_training_text tutorial_look_up)
  873. (hud_show_training_text true)
  874. (hud_enable_training true)
  875. )
  876. )
  877. (cs_run_command_script guns cs_lookat_console_inhibitor)
  878. (sleep_until
  879. (or
  880. (objects_can_see_object (players) looker_light_top_red 5)
  881. (player0_looking_up)
  882. )
  883. 1
  884. )
  885. (player_camera_control false)
  886. (hud_enable_training false)
  887. (hud_show_training_text false)
  888. (object_destroy looker_light_top_red)
  889. (cond
  890. (
  891. (not (player_action_test_lookstick_backward))
  892. (begin
  893. (set counter_mindread_normal_success (+ counter_mindread_normal_success 1))
  894. (set counter_mindread_invert_success 0)
  895. (print "Normal success")
  896. )
  897. )
  898. (
  899. (not (player_action_test_lookstick_forward))
  900. (begin
  901. (set counter_mindread_invert_success
  902. (+ counter_mindread_invert_success 1)
  903. )
  904. (set counter_mindread_normal_success 0)
  905. (print "Invert success")
  906. )
  907. )
  908. (
  909. true
  910. (begin
  911. (set counter_mindread_normal_success 0)
  912. (set counter_mindread_invert_success 0)
  913. )
  914. )
  915. )
  916. (player_camera_control false)
  917. (player_action_test_look_pitch_end)
  918. (player_action_test_reset)
  919. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3070_gun))
  920. )
  921.  
  922. (script static void test_mindread_down
  923. (object_create looker_light_bottom_red)
  924. (player_action_test_reset)
  925. (player_action_test_look_down_begin)
  926. (player_camera_control true)
  927. (cs_run_command_script guns cs_lookat_console_bottomlight)
  928. (sleep_until
  929. (or
  930. (objects_can_see_object (players) looker_light_bottom_red 3)
  931. (player0_looking_down)
  932. )
  933. 1
  934. 360
  935. )
  936. (if
  937. (not
  938. (or
  939. (objects_can_see_object (players) looker_light_bottom_red 3)
  940. (player0_looking_down)
  941. )
  942. )
  943. (begin
  944. (print "Look at the bottom light, son.")
  945. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3060_gun (ai_get_object guns) 1)
  946. (hud_set_training_text tutorial_look_down)
  947. (hud_show_training_text true)
  948. (hud_enable_training true)
  949. )
  950. )
  951. (cs_run_command_script guns cs_lookat_console_inhibitor)
  952. (sleep_until
  953. (or
  954. (objects_can_see_object (players) looker_light_bottom_red 3)
  955. (player0_looking_down)
  956. )
  957. 1
  958. )
  959. (player_camera_control false)
  960. (hud_enable_training false)
  961. (hud_show_training_text false)
  962. (object_destroy looker_light_bottom_red)
  963. (cond
  964. (
  965. (not (player_action_test_lookstick_forward))
  966. (begin
  967. (set counter_mindread_normal_success (+ counter_mindread_normal_success 1))
  968. (set counter_mindread_invert_success 0)
  969. (print "Normal success")
  970. )
  971. )
  972. (
  973. (not (player_action_test_lookstick_backward))
  974. (begin
  975. (set counter_mindread_invert_success (+ counter_mindread_invert_success 1))
  976. (set counter_mindread_normal_success 0)
  977. (print "Invert success")
  978. )
  979. )
  980. (
  981. true
  982. (begin
  983. (set counter_mindread_normal_success 0)
  984. (set counter_mindread_invert_success 0)
  985. )
  986. )
  987. )
  988. (player_camera_control false)
  989. (player_action_test_look_pitch_end)
  990. (player_action_test_reset)
  991. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3060_gun))
  992. )
  993.  
  994. (script static void training_looker_lights_on
  995. (object_destroy looker_light_left_green)
  996. (object_create looker_light_left_red)
  997. (set mark_looker_light_left true)
  998. (object_destroy looker_light_right_green)
  999. (object_create looker_light_right_red)
  1000. (set mark_looker_light_right true)
  1001. (object_destroy looker_light_top_green)
  1002. (object_create looker_light_top_red)
  1003. (set mark_looker_light_top true)
  1004. (object_destroy looker_light_bottom_green)
  1005. (object_create looker_light_bottom_red)
  1006. (set mark_looker_light_bottom true)
  1007. )
  1008.  
  1009. (script static void training_looker_lights_off
  1010. (object_destroy looker_light_left_green)
  1011. (object_destroy looker_light_left_red)
  1012. (object_destroy looker_light_right_green)
  1013. (object_destroy looker_light_right_red)
  1014. (object_destroy looker_light_top_green)
  1015. (object_destroy looker_light_top_red)
  1016. (object_destroy looker_light_bottom_green)
  1017. (object_destroy looker_light_bottom_red)
  1018. )
  1019.  
  1020. (script static boolean test_all_lights_off
  1021. (not
  1022. (or
  1023. mark_looker_light_left
  1024. mark_looker_light_right
  1025. mark_looker_light_top
  1026. mark_looker_light_bottom
  1027. )
  1028. )
  1029. )
  1030.  
  1031. (script static boolean training_pitch_choose
  1032. (if
  1033. (<= counter_training_pitch_choose 2)
  1034. (begin
  1035. (training_looker_lights_on)
  1036. (prompt_looker_start)
  1037. (sleep_until
  1038. (if
  1039. (test_all_lights_off)
  1040. (begin true)
  1041. (cond
  1042. (
  1043. (objects_can_see_object (players) looker_light_left_red 5)
  1044. (begin
  1045. (object_destroy looker_light_left_red)
  1046. (object_create_anew looker_light_left_green)
  1047. (set mark_looker_light_left false)
  1048. )
  1049. )
  1050. (
  1051. (objects_can_see_object (players) looker_light_right_red 5)
  1052. (begin
  1053. (object_destroy looker_light_right_red)
  1054. (object_create_anew looker_light_right_green)
  1055. (set mark_looker_light_right false)
  1056. )
  1057. )
  1058. (
  1059. (objects_can_see_object (players) looker_light_top_red 5)
  1060. (begin
  1061. (object_destroy looker_light_top_red)
  1062. (object_create_anew looker_light_top_green)
  1063. (set mark_looker_light_top false)
  1064. )
  1065. )
  1066. (
  1067. (objects_can_see_object (players) looker_light_bottom_red 5)
  1068. (begin
  1069. (object_destroy looker_light_bottom_red)
  1070. (object_create_anew looker_light_bottom_green)
  1071. (set mark_looker_light_bottom false)
  1072. )
  1073. )
  1074. (
  1075. (> timer_prompt_looker 0)
  1076. (begin
  1077. (set timer_prompt_looker (- timer_prompt_looker 1))
  1078. false
  1079. )
  1080. )
  1081. (
  1082. true
  1083. (prompt_looker)
  1084. )
  1085. )
  1086. )
  1087. 1
  1088. )
  1089. )
  1090. )
  1091. (set counter_training_pitch_choose (+ counter_training_pitch_choose 1))
  1092. (if
  1093. (controller_get_look_invert)
  1094. (begin
  1095. (print "Should I leave it inverted, or put it back to normal?")
  1096. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1450_gun (ai_get_object guns) 1)
  1097. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1450_gun))
  1098. (print "Press A to leave Lookstick inverted, press B to try it normal.")
  1099. (hud_set_training_text tutorial_choose_invert)
  1100. )
  1101. (begin
  1102. (print "Should I leave it normal, or put it back to inverted?")
  1103. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1470_gun (ai_get_object guns) 1)
  1104. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1470_gun))
  1105. (print "Press A to leave Lookstick normal, press B to try it inverted.")
  1106. (hud_set_training_text tutorial_choose_normal)
  1107. )
  1108. )
  1109. (hud_show_training_text true)
  1110. (hud_enable_training true)
  1111. (player_action_test_reset)
  1112. (sleep_until
  1113. (or
  1114. (player_action_test_accept)
  1115. (player_action_test_cancel)
  1116. )
  1117. 1
  1118. )
  1119. (hud_enable_training false)
  1120. (hud_show_training_text false)
  1121. (if
  1122. (player_action_test_accept)
  1123. true
  1124. (begin
  1125. (controller_set_look_invert
  1126. (not
  1127. (controller_get_look_invert)
  1128. )
  1129. )
  1130. (if
  1131. (controller_get_look_invert)
  1132. (begin
  1133. (cs_run_command_script guns cs_lookat_console_inhibitor)
  1134. (sleep 15)
  1135. (print "Ok, now it's inverted.")
  1136. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1480_gun (ai_get_object guns) 1)
  1137. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1480_gun))
  1138. )
  1139. (begin
  1140. (cs_run_command_script guns cs_lookat_console_inhibitor)
  1141. (sleep 15)
  1142. (print "Ok, now it's back to normal.")
  1143. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1460_gun (ai_get_object guns) 1)
  1144. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1460_gun))
  1145. )
  1146. )
  1147. false
  1148. )
  1149. )
  1150. )
  1151.  
  1152. (script static void training_pitch
  1153. (if
  1154. (>= counter_mindread_normal_success counter_mindread_invert_success)
  1155. (controller_set_look_invert false)
  1156. (controller_set_look_invert true)
  1157. )
  1158. (print "Tracking looks sketchy, I'm going to run you through the full diagnostic.")
  1159. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3100_gun (ai_get_object guns) 1)
  1160. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3100_gun))
  1161. (if
  1162. (controller_get_look_invert)
  1163. (begin
  1164. (print "The diagnostic software set your targeting system to be inverted")
  1165. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3130_gun (ai_get_object guns) 1)
  1166. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3130_gun))
  1167. )
  1168. (begin
  1169. (print "The diagnostic software set your targeting system to be normal")
  1170. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3120_gun (ai_get_object guns) 1)
  1171. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3120_gun))
  1172. )
  1173. )
  1174. (sleep_until
  1175. (training_pitch_choose)
  1176. 1
  1177. )
  1178. (if
  1179. (controller_get_look_invert)
  1180. (begin
  1181. (cs_run_command_script guns cs_lookat_console_inhibitor)
  1182. (sleep 15)
  1183. (hud_set_training_text tutorial_set_invert)
  1184. (hud_show_training_text true)
  1185. (hud_enable_training true)
  1186. (print "I'll leave your targeting set to inverted.")
  1187. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1570_gun (ai_get_object guns) 1)
  1188. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1570_gun))
  1189. )
  1190. (begin
  1191. (cs_run_command_script guns cs_lookat_console_inhibitor)
  1192. (sleep 15)
  1193. (hud_set_training_text tutorial_set_normal)
  1194. (hud_show_training_text true)
  1195. (hud_enable_training true)
  1196. (print "I'll leave your targeting set to normal.")
  1197. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1560_gun (ai_get_object guns) 1)
  1198. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1560_gun))
  1199. )
  1200. )
  1201. (print "If you change your mind, you can switch the setting anytime.")
  1202. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1580_gun (ai_get_object guns) 1)
  1203. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1580_gun))
  1204. (hud_enable_training false)
  1205. (hud_show_training_text false)
  1206. )
  1207.  
  1208. (script static void training_look
  1209. (print "Well... I guess it was all obsolete anyway.")
  1210. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0600_gun (ai_get_object guns) 1)
  1211. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0600_gun) )
  1212. (custom_animation (ai_get_unit guns) objects\characters\marine\tutorial\tutorial l01_0610_jon true)
  1213. (sleep 15)
  1214. (print "Your new suit is a Mark VI, sent up from Songnam this morning.")
  1215. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0610_gun (ai_get_object guns) 1)
  1216. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0610_gun))
  1217. (print "Try to take it easy until you get used to it.")
  1218. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0620_gun (ai_get_object guns) 1)
  1219. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0620_gun))
  1220. (cs_run_command_script guns cs_lookat_console_inhibitor)
  1221. (sleep 30)
  1222. (print "Ok. Let's test your targeting, first thing.")
  1223. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0630_gun (ai_get_object guns) 1)
  1224. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0630_gun))
  1225. (objectives_show_up_to 0)
  1226. (print "Please look at the top light.")
  1227. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3000_gun (ai_get_object guns) 1)
  1228. (test_mindread_up)
  1229. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3000_gun))
  1230. (print "Good.")
  1231. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0650_gun (ai_get_object guns) 1)
  1232. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0650_gun))
  1233. (print "Now look at the bottom light.")
  1234. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3010_gun (ai_get_object guns) 1)
  1235. (test_mindread_down)
  1236. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3010_gun))
  1237. (print "Allright")
  1238. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0670_gun (ai_get_object guns) 1)
  1239. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0670_gun))
  1240. (print "Look at the top light again.")
  1241. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3020_gun (ai_get_object guns) 1)
  1242. (test_mindread_up)
  1243. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3020_gun))
  1244. (print "That's it")
  1245. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0760_gun (ai_get_object guns) 1)
  1246. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0760_gun))
  1247. (print "Now the bottom one.")
  1248. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3030_gun (ai_get_object guns) 1)
  1249. (test_mindread_down)
  1250. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3030_gun))
  1251. (print "Ok.")
  1252. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0740_gun (ai_get_object guns) 1)
  1253. (sleep 30)
  1254. (player_camera_control true)
  1255. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0740_gun))
  1256. (cond
  1257. (
  1258. (>= counter_mindread_normal_success 2)
  1259. (begin
  1260. (sleep 30)
  1261. (print "Everything checks out.")
  1262. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0770_gun (ai_get_object guns) 1)
  1263. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0770_gun))
  1264. (controller_set_look_invert false)
  1265. )
  1266. )
  1267. (
  1268. (>= counter_mindread_invert_success 2)
  1269. (begin
  1270. (sleep 30)
  1271. (print "Everything checks out.")
  1272. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0770_gun (ai_get_object guns) 1)
  1273. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0770_gun))
  1274. (controller_set_look_invert true)
  1275. )
  1276. )
  1277. (
  1278. true
  1279. (training_pitch)
  1280. )
  1281. )
  1282. (training_looker_lights_off)
  1283. )
  1284.  
  1285. (script static void training_move
  1286. (print "Stand-by. I'm going to offline the inhibitors")
  1287. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0790_gun (ai_get_object guns) 1)
  1288. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0790_gun))
  1289.  
  1290. (device_set_position inhibitor 1)
  1291. (player_disable_movement false)
  1292. (hud_enable_training true)
  1293.  
  1294. (cs_run_command_script guns cs_lookat_console_inhibitor)
  1295. (sleep 30)
  1296.  
  1297. (custom_animation (ai_get_unit guns) objects\characters\marine\tutorial\tutorial l01_0800_jon true)
  1298. (sleep 10)
  1299.  
  1300. (print "Move around a little, get a feel for it.")
  1301. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0800_gun (ai_get_object guns) 1)
  1302. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0800_gun))
  1303.  
  1304. (print "When you're ready, come and meet me by the zapper.")
  1305. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0810_gun (ai_get_object guns) 1)
  1306. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0810_gun))
  1307.  
  1308. (cs_run_command_script guns cs_guns_zapper_halfway)
  1309.  
  1310. (set timer_prompt_start_spot (+ timer_prompt_start_spot delay_prompt_short))
  1311. (sleep_until
  1312. (if
  1313. (not (volume_test_objects tv_start_spot (players)))
  1314. true
  1315. (cond
  1316. (
  1317. (> timer_prompt_start_spot 0)
  1318. (begin
  1319. (set timer_prompt_start_spot (- timer_prompt_start_spot 1))
  1320. false
  1321. )
  1322. )
  1323. (
  1324. true
  1325. (prompt_start_spot)
  1326. )
  1327. )
  1328. )
  1329. 1
  1330. )
  1331. (hud_show_training_text false)
  1332. (cs_run_command_script guns cs_guns_zapper_wait)
  1333. )
  1334.  
  1335. (script static void training_shield
  1336. (sleep_until
  1337. (if
  1338. (< (objects_distance_to_flag (players) zapper_flag) 2.5)
  1339. true
  1340. (cond
  1341. (
  1342. (> timer_prompt_careful 0)
  1343. (begin
  1344. (set timer_prompt_careful (- timer_prompt_careful 1))
  1345. false
  1346. )
  1347. )
  1348. (
  1349. (game_safe_to_save)
  1350. false
  1351. )
  1352. (
  1353. true
  1354. (begin
  1355. (sleep 30)
  1356. (if
  1357. (not (game_safe_to_save))
  1358. (prompt_careful)
  1359. )
  1360. )
  1361. )
  1362. )
  1363. )
  1364. 1
  1365. )
  1366. (sleep_until
  1367. (< (objects_distance_to_flag (ai_get_object guns) zapper_flag) 1.5)
  1368. 1
  1369. )
  1370. (sleep_until
  1371. (< (objects_distance_to_object (players) (ai_get_object guns)) 2.5)
  1372. 1
  1373. )
  1374. (unit_set_emotional_state (ai_get_unit guns) inquisitive 0 1)
  1375. (unit_set_emotional_state (ai_get_unit guns) angry 0 1)
  1376. (unit_set_emotional_state (ai_get_unit guns)annoyed 0 1)
  1377.  
  1378. (print "Pay attention because I'm only going to over this once.")
  1379. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3150_gun (ai_get_object guns) 1)
  1380. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3150_gun))
  1381.  
  1382. (print "This station will test your recharging energy shields")
  1383. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3140_gun (ai_get_object guns) 1)
  1384. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3140_gun))
  1385.  
  1386. (cs_run_command_script guns cs_guns_zapper)
  1387.  
  1388. (sleep_until
  1389. (if
  1390. (= (device_group_get zapper_control_group) 1)
  1391. (begin true)
  1392. (if
  1393. (> (objects_distance_to_object (players) (ai_get_object guns)) 2.5)
  1394. (begin false)
  1395. (cond
  1396. (
  1397. (> timer_prompt_zapper 0)
  1398. (begin
  1399. (set timer_prompt_zapper (- timer_prompt_zapper 1))
  1400. false
  1401. )
  1402. )
  1403. (
  1404. (> timer_prompt_zapper_lookatme 0)
  1405. (begin
  1406. (set timer_prompt_zapper_lookatme (- timer_prompt_zapper_lookatme 1))
  1407. (set timer_prompt_zapper_getin (- timer_prompt_zapper_getin 1))
  1408. (set timer_prompt_zapper_button (- timer_prompt_zapper_button 1))
  1409. (if
  1410. (objects_can_see_object (player0) (ai_get_object guns) 40)
  1411. (begin
  1412. (sleep 15)
  1413. (set timer_prompt_zapper_lookatme 0)
  1414. )
  1415. )
  1416. false
  1417. )
  1418. )
  1419. (
  1420. (> timer_prompt_zapper_getin 0)
  1421. (begin
  1422. (set timer_prompt_zapper_lookatme (- timer_prompt_zapper_lookatme 1))
  1423. (set timer_prompt_zapper_getin (- timer_prompt_zapper_getin 1))
  1424. (set timer_prompt_zapper_button (- timer_prompt_zapper_button 1))
  1425. (if
  1426. (volume_test_objects tv_zapper (players))
  1427. (begin
  1428. (sleep 15)
  1429. (set timer_prompt_zapper_getin 0)
  1430. )
  1431. )
  1432. false
  1433. )
  1434. )
  1435. (
  1436. (> timer_prompt_zapper_button 0)
  1437. (begin
  1438. (set timer_prompt_zapper_button (- timer_prompt_zapper_button 1))
  1439. (set timer_prompt_zapper_getin (- timer_prompt_zapper_getin 1))
  1440. (set timer_prompt_zapper_button (- timer_prompt_zapper_button 1))
  1441. (if
  1442. (= (device_group_get zapper_control_group) 1)
  1443. (begin
  1444. (sleep 15)
  1445. (set timer_prompt_zapper_button 0)
  1446. )
  1447. )
  1448. false
  1449. )
  1450. )
  1451. (
  1452. (not (objects_can_see_object (player0) (ai_get_object guns) 40))
  1453. (prompt_zapper_lookatme)
  1454. )
  1455. (
  1456. (not (volume_test_objects tv_zapper (players)))
  1457. (prompt_zapper_getin)
  1458. )
  1459. (
  1460. true
  1461. (prompt_zapper_button)
  1462. )
  1463. )
  1464. )
  1465. )
  1466. 1
  1467. )
  1468. (objectives_finish_up_to 2)
  1469. (device_set_power zapper 1)
  1470. (device_set_power zapper_cage 1)
  1471. (hud_show_training_text false)
  1472. (unit_set_maximum_vitality (player0) 30 70)
  1473.  
  1474. (cs_run_command_script guns cs_lookat_console_zapper)
  1475. (sleep 90)
  1476.  
  1477. (cs_run_command_script guns cs_lookat_console_zapper)
  1478. (sleep 15)
  1479.  
  1480. (unit_set_current_vitality (player0) 30 0)
  1481. (sleep 15)
  1482.  
  1483. (print "Bingo!")
  1484. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0940_gun (ai_get_object guns) 1)
  1485.  
  1486. (sleep 30)
  1487. (cs_run_command_script guns cs_lookat_console_zapper)
  1488.  
  1489. (print "As you can see, they re-charge a lot faster.")
  1490. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0950_gun (ai_get_object guns) 1)
  1491.  
  1492. (sleep 45)
  1493. (ai_place johnson)
  1494. (ai_cannot_die johnson true)
  1495. (cs_run_command_script johnson cs_johnson_elevator)
  1496. (device_set_position door_elevator_tram_bot 1)
  1497.  
  1498. (sleep_until
  1499. (= (device_get_position door_elevator_tram_bot) 1)
  1500. 1
  1501. )
  1502.  
  1503. (cs_run_command_script johnson cs_johnson_start)
  1504. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0950_gun))
  1505.  
  1506. (sleep 60)
  1507. (device_set_power zapper 0)
  1508. (device_set_power zapper_cage 0)
  1509.  
  1510. (sleep 30)
  1511. (custom_animation (ai_get_unit guns) objects\characters\marine\tutorial\tutorial l01_0960_jon true)
  1512.  
  1513. (print "If your shields go down, find some cover, wait for the meter to read fully-charged.")
  1514. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0960_gun (ai_get_object guns) 1)
  1515. (sleep 45)
  1516. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0960_gun))
  1517.  
  1518. (print "That, or he can just hide behind me.")
  1519. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0970_jon (ai_get_object johnson) 1)
  1520. (sleep 30)
  1521. (cs_run_command_script guns cs_lookat_johnson)
  1522. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0970_jon))
  1523.  
  1524. (sleep 15)
  1525. (cs_run_command_script johnson cs_johnson_glanceat_guns)
  1526. (sleep_until
  1527. (objects_can_see_object (player0) (ai_get_object johnson) 40)
  1528. 1
  1529. 90
  1530. )
  1531. (unit_set_emotional_state (ai_get_unit johnson) inquisitive 0.5 1)
  1532.  
  1533. (print "You done with my boy here? I don't see any training-wheels")
  1534. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1000_jon (ai_get_object johnson) 1)
  1535. ;(sleep (- (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1000_jon) 90))
  1536. (cs_run_command_script johnson cs_lookat_player)
  1537. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1000_jon))
  1538.  
  1539. ; Nibre - Can be either "His armor's working fine, Johnson.", or "His armor's working fine, Johnson, so shut your chili-hole."
  1540. ; I'm assuming this is a 1/2 sound permutation, but can only verify that it /is/ random. Getting the shorter one is the
  1541. ; 'Chili Hole Skip', as it speeds up the sleep 4 lines below
  1542. (print "His armor's working fine.")
  1543. (unit_set_emotional_state (ai_get_unit guns) annoyed 0.5 1)
  1544. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1010_gun (ai_get_object guns) 1)
  1545. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1010_gun))
  1546.  
  1547. (sleep 15)
  1548. (unit_set_emotional_state (ai_get_unit johnson) inquisitive 0 1)
  1549. (cs_run_command_script guns cs_lookat_player)
  1550. (sleep_until
  1551. (objects_can_see_object (player0) (ai_get_object guns) 40)
  1552. 1
  1553. 90
  1554. )
  1555.  
  1556. (print "You're free to go, son. Just remember: take things slow.")
  1557. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0980_gun (ai_get_object guns) 1)
  1558. ;(sleep (- (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0980_gun) 60))
  1559. (cs_run_command_script johnson cs_lookat_player)
  1560. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0980_gun))
  1561. )
  1562.  
  1563. (script dormant training_done_tram
  1564. (ai_place atr1_mar)
  1565. (ai_place mid_mar)
  1566. (device_set_position_immediate door_tram_2 1)
  1567. (sleep_until (>= (device_get_position tram) 0.25) 1)
  1568. (device_set_position door_tram_2 0)
  1569. (sleep 30)
  1570. (ai_erase atr1_mar)
  1571. (sleep_until (>= (device_get_position tram) 0.45) 1)
  1572. (device_set_position door_tram_3 1)
  1573. (ai_place atr2_mar)
  1574. (sleep_until (>= (device_get_position tram) 0.55) 1)
  1575. (device_set_position door_tram_3 0)
  1576. (sleep 30)
  1577. (ai_erase mid_mar)
  1578. (sleep_until (>= (device_get_position tram) 0.75) 1)
  1579. (device_set_position door_tram_4 1)
  1580. (object_create_anew tram_marine_1)
  1581. (object_create_anew tram_marine_2)
  1582. (object_create_anew tram_marine_3)
  1583. (object_create_anew tram_marine_4)
  1584. (object_create_anew tram_marine_5)
  1585. (object_create_anew tram_marine_6)
  1586. (object_create_anew tram_marine_7)
  1587. (custom_animation_loop tram_marine_1 objects\characters\marine\x02\x02 marine_whistle_loop false)
  1588. (custom_animation_loop tram_marine_2 objects\characters\marine\x02\x02 marine_fist_loop false)
  1589. (custom_animation_loop tram_marine_3 objects\characters\marine\x02\x02 marine_clapping_loop false)
  1590. (sleep 5)
  1591. (custom_animation_loop tram_marine_6 objects\characters\marine\x02\x02 marine_whistle_loop false)
  1592. (custom_animation_loop tram_marine_5 objects\characters\marine\x02\x02 marine_fist_loop false)
  1593. (custom_animation_loop tram_marine_4 objects\characters\marine\x02\x02 marine_clapping_loop false)
  1594. (sleep 5)
  1595. (custom_animation_loop tram_marine_7 objects\characters\marine\x02\x02 marine_whistle_loop false)
  1596. (sleep_until (>= (device_get_position tram) 0.9) 1)
  1597. (device_set_position door_tram_4 0)
  1598. (sleep 30)
  1599. (ai_erase atr2_mar)
  1600. )
  1601.  
  1602. (script static void training_done
  1603. (device_set_position_immediate tram 0)
  1604. (cs_run_command_script johnson cs_lookat_guns)
  1605.  
  1606. (print "Don't worry, I'll hold his hand.")
  1607. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1040_jon (ai_get_object johnson) 1)
  1608. ;(sleep (- (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1040_jon) 30))
  1609.  
  1610. (cs_run_command_script johnson cs_johnson_elevator)
  1611. (sleep 15)
  1612.  
  1613. (cs_run_command_script guns cs_guns_elevator)
  1614. (sleep 15)
  1615.  
  1616. (sleep_until
  1617. (volume_test_objects_all tv_elevator_tram_bot (ai_get_object johnson))
  1618. 1
  1619. (* 30 seconds)
  1620. )
  1621.  
  1622. (if
  1623. (not (volume_test_objects_all tv_elevator_tram_bot (ai_get_object johnson)))
  1624. (object_teleport (ai_get_object johnson) tram_flag)
  1625. )
  1626.  
  1627. (sleep_until
  1628. (if
  1629. (volume_test_objects_all tv_elevator_tram_bot (players))
  1630. (begin true)
  1631. (cond
  1632. (
  1633. (> timer_prompt_elevator_plr 0)
  1634. (begin
  1635. (set timer_prompt_elevator_plr (- timer_prompt_elevator_plr 1))
  1636. false
  1637. )
  1638. )
  1639. (
  1640. true
  1641. (prompt_elevator_plr)
  1642. )
  1643. )
  1644. )
  1645. 1
  1646. )
  1647. (objectives_finish_up_to 3)
  1648. (object_create wall_elevator_tram_bot)
  1649. (set mark_training_done true)
  1650.  
  1651. (sleep_until
  1652. (< (objects_distance_to_flag (ai_get_object guns) tram_flag) 2.5)
  1653. 1
  1654. 210
  1655. )
  1656. (cs_run_command_script johnson cs_johnson_elevator_face_guns)
  1657.  
  1658. (print "So Johnson, when you gonna tell me how you made it back home in one piece?")
  1659. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3360_gun (ai_get_object guns) 1)
  1660. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_3360_gun))
  1661.  
  1662. (print "Sorry, Guns. it's classified.")
  1663. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0990_jon (ai_get_object johnson) 1)
  1664. ;(sleep (- (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0990_jon) 0))
  1665.  
  1666. (unit_set_emotional_state (ai_get_unit guns) angry 0.5 1)
  1667. (sleep 5)
  1668.  
  1669. (print "(Humphs) My ass! Well you can forget about those adjustments to your A2's scope! And you're sure as hell not getting one of the new M7s!")
  1670. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_3370_gun (ai_get_object guns) 1)
  1671.  
  1672. (sleep 30)
  1673. (sleep (random_range 25 75))
  1674. (device_set_position elevator_tram 1)
  1675. (device_set_position door_elevator_tram_bot 0)
  1676.  
  1677. (sleep_until
  1678. (= (device_get_position door_elevator_tram_bot) 0)
  1679. 1
  1680. )
  1681.  
  1682. ;(sound_impulse_stop sound\dialog\levels\01_spacestation\mission\l01_3370_gun)
  1683. (sleep 10)
  1684.  
  1685. (print "Well he's in a particularly fine mood. Maybe Lord Hood forgot to give him an invitation.")
  1686. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_1810_jon (ai_get_object johnson) 1)
  1687. )
  1688.  
  1689. (script static void training_tram
  1690. (wake training_done_tram)
  1691. (sleep_until
  1692. (= (device_get_position elevator_tram) 1)
  1693. 1
  1694. )
  1695.  
  1696. (objectives_show_up_to 4)
  1697. (cs_run_command_script johnson cs_johnson_tram)
  1698. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1810_jon))
  1699.  
  1700. (sleep_until
  1701. (and
  1702. (volume_test_objects_all tv_tram (players))
  1703. (volume_test_objects tv_tram (ai_get_object johnson))
  1704. )
  1705. 1
  1706. )
  1707.  
  1708. (object_destroy_containing "wall_platform")
  1709. (object_create wall_tram)
  1710.  
  1711. (sleep_until
  1712. (not (cs_command_script_running johnson cs_johnson_tram))
  1713. 1
  1714. 150
  1715. )
  1716.  
  1717. (objectives_finish_up_to 4)
  1718.  
  1719. (custom_animation (ai_get_unit johnson) objects\characters\marine\tutorial\tutorial l01_0010_jon true)
  1720. (sleep 10)
  1721. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_1810_jon))
  1722.  
  1723. (print "Earth. Haven't seen it in years.")
  1724. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0010_jon (ai_get_object johnson) 1)
  1725. ;(sleep (- (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0010_jon) 30))
  1726.  
  1727. (sound_looping_start scenarios\solo\01a_tutorial\01a_music\01a_01 none 1)
  1728. (device_set_position elevator_tram 0)
  1729. (device_set_position tram 1)
  1730.  
  1731. (sleep_until
  1732. (>= (device_get_position tram) 0.08)
  1733. 1
  1734. )
  1735.  
  1736. (sleep 30)
  1737. (custom_animation (ai_get_unit johnson) objects\characters\marine\tutorial\tutorial l01_0020_jon true)
  1738.  
  1739. (print "When I shipped out for basic, the Orbital Defense Grid was all theory and politics.")
  1740. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0020_jon (ai_get_object johnson) 1)
  1741. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0020_jon))
  1742.  
  1743. (sleep_until
  1744. (>= (device_get_position tram) 0.175)
  1745. 1
  1746. )
  1747.  
  1748. (cs_run_command_script johnson cs_lookat_macgun)
  1749.  
  1750. (print "Now look. The Cairo is just one of three-hundred geo-sync platforms.")
  1751. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0021_jon (ai_get_object johnson) 1)
  1752. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0021_jon))
  1753.  
  1754. (sleep_until
  1755. (>= (device_get_position tram) 0.275)
  1756. 1
  1757. )
  1758.  
  1759. (custom_animation (ai_get_unit johnson) objects\characters\marine\tutorial\tutorial l01_0030_jon true)
  1760. (sleep 10)
  1761.  
  1762. (print "That MAC-gun can put a round clean through a Covenant capital-ship.")
  1763. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0030_jon (ai_get_object johnson) 1)
  1764. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0030_jon))
  1765.  
  1766. (sleep_until
  1767. (>= (device_get_position tram)0.415)
  1768. 1
  1769. )
  1770.  
  1771. (cs_run_command_script johnson cs_lookat_malta)
  1772. (sleep 45)
  1773. (sleep 45)
  1774. (custom_animation (ai_get_unit johnson) objects\characters\marine\tutorial\tutorial l01_0040_jon true)
  1775.  
  1776. (print "With coordinated fire from the Athens and the Malta, nothing's getting past this battle-cluster in one piece.")
  1777. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0040_jon (ai_get_object johnson) 1)
  1778. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0040_jon))
  1779.  
  1780. (sleep 15)
  1781. (sleep_until
  1782. (>= (device_get_position tram) 0.7)
  1783. 1
  1784. )
  1785.  
  1786. (custom_animation (ai_get_unit johnson)objects\characters\marine\tutorial\tutorial l01_0050_jon true)
  1787.  
  1788. (print "Ships have been arriving all morning.")
  1789. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0050_jon (ai_get_object johnson) 1)
  1790. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0050_jon))
  1791. (sound_looping_stop scenarios\solo\01a_tutorial\01a_music\01a_01)
  1792.  
  1793. (sleep_until
  1794. (>= (device_get_position tram) 0.75)
  1795. 1
  1796. )
  1797.  
  1798. (sleep 30)
  1799. (custom_animation (ai_get_unit johnson) objects\characters\marine\tutorial\tutorial l01_0051_jon true)
  1800.  
  1801. (print "Nobody's saying much, but I'll bet something big's about to happen.")
  1802. ;(sound_impulse_start sound\dialog\levels\01_spacestation\mission\l01_0051_jon (ai_get_object johnson) 1)
  1803. ;(sleep (sound_impulse_language_time sound\dialog\levels\01_spacestation\mission\l01_0051_jon))
  1804.  
  1805. (cs_run_command_script johnson cs_johnson_lookat_station)
  1806.  
  1807. (sleep_until
  1808. (>= (device_get_position tram) 0.975)
  1809. 1
  1810. )
  1811. (sleep 30)
  1812.  
  1813. (cs_run_command_script johnson cs_johnson_station)
  1814.  
  1815. (sleep_until
  1816. (not (volume_test_objects_all tv_station (players)))
  1817. 1
  1818. 150
  1819. )
  1820. )
  1821.  
  1822. (script static void start_mission
  1823. (sleep 10)
  1824. (print "01a TUTORIAL")
  1825. (print "Designer - Jaime")
  1826. (print "Env. Artists - Paul, Dave")
  1827. )
  1828.  
  1829. (script dormant training_fade
  1830. (player_disable_movement true)
  1831. (player_camera_control false)
  1832. (sleep 30)
  1833. (cinematic_set_title title_1)
  1834. (sleep 150)
  1835. (hud_cinematic_fade 1 0.5)
  1836. (cinematic_show_letterbox false)
  1837. )
  1838.  
  1839. (script startup mission_01a
  1840. (player_disable_movement true)
  1841. (player_camera_control false)
  1842. (if
  1843. (game_is_cooperative)
  1844. (game_won)
  1845. )
  1846. (objectives_clear)
  1847. (ai_allegiance player human)
  1848. (fade_out 1 1 1 0)
  1849. (hud_enable_training false)
  1850. (ai_dialogue_enable false)
  1851. (start_mission)
  1852. (training_setup)
  1853. (camera_control false)
  1854. (sleep 1)
  1855. (cache_block_for_one_frame)
  1856. (objects_predict_high (ai_get_object guns))
  1857. (sleep 2)
  1858. (cinematic_fade_from_white_bars)
  1859. (wake training_fade)
  1860. (training_look)
  1861. (hud_enable_training true)
  1862. (training_move)
  1863. (training_shield)
  1864. (save_tram_start)
  1865. (training_done)
  1866. (training_tram)
  1867. (print "You win!")
  1868. (sound_class_set_gain "" 0 15)
  1869. (cinematic_fade_to_white)
  1870. (hud_enable_training true)
  1871. (ai_dialogue_enable true)
  1872. (game_won)
  1873. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement