Você está na página 1de 102

(global unit backpack_unit player0)

(global scenery_name cutscene_weap chief_ar)

(global scenery_name backpack_weap chief_s_smg)

(global object_definition cutscene_def cmt\weapons\human\assault_rifle\assault


rifle cc)

(global object_definition backpack_def cmt\weapons\human\smg\silenced smg)

(global string backpack_marker holster)

(global bool force_backpack_refresh true)

(global bool global_dialog_on false)

(global bool mission_begin false)

(global bool area2_marine_migrate false)

(global bool area2_marine_migrate_2 false)

(global short area4_location_index 0)

(global bool area4_covenant_reins true)

(global bool area4_pelican_a true)

(global bool area4_cov_dropship true)

(global bool area4_marine_reins true)

(global bool area5_pelican true)

(global bool area5_e_spawn true)

(global short area5_e_spawn_counter 0)

(global bool area5_g_spawn true)

(global short area5_g_spawn_counter 0)

(global bool area5_o_spawn true)

(global short area5_o_spawn_counter 0)

(global bool area5_q_spawn true)

(global short area5_q_spawn_counter 0)

(global bool muster_bay_door_unlocked false)

(global bool grav_frontleft true)

(global bool grav_rearleft true)

(global bool grav_frontright true)


(global bool grav_rearright true)

(global short gravity_enc_index 0)

(global bool gravity_wave false)

(global short ini_grav_wave_index 0)

(global short gravity_wave_index 0)

(global bool grav_mus_hall true)

(global short grav_mus_hall_index 0)

(global bool muster_ledge false)

(global short muster_ledge_index 0)

(global bool muster_door_nav true)

(global bool muster_l1 true)

(global bool muster_l2 true)

(global bool muster_l3 true)

(global bool muster_r1 true)

(global bool muster_r2 true)

(global bool muster_r3 true)

(global short muster_enc_index 0)

(global bool muster_wave false)

(global short ini_muster_wave_index 0)

(global short muster_wave_index 0)

(global short hangar_location_index 0)

(global bool pelican_hangar_a_trigger true)

(global bool captain_rescued false)

(global short player_location_index 0)

(global bool play_music_a50_01 true)

(global bool play_music_a50_03 true)

(global bool play_music_a50_04 true)

(global bool play_music_a50_05 true)

(global bool play_music_a50_06 true)

(global bool play_music_a50_07 true)


(global bool play_music_a50_072 true)

(global bool play_music_a50_08 true)

(global bool play_music_a50_09 true)

(global bool play_music_a50_11 true)

(global bool area4_turret_spawn true)

(global short area4_turret_counter 0)

(global short area4_turret_limit 0)

(global bool area5_turret_spawn true)

(global short area5_turret_counter 0)

(global short area5_turret_limit 0)

(global bool hangar_first_a true)

(global short hangar_first_counter_a 0)

(global bool hangar_first_e true)

(global short hangar_first_counter_e 0)

(global bool hangar_first_i true)

(global short hangar_first_counter_i 0)

(global bool hangar_first_q true)

(global short hangar_first_counter_q 0)

(global bool hangar_first_s true)

(global short hangar_first_counter_s 0)

(global bool hangar_first_y true)

(global short hangar_first_counter_y 0)

(global bool hangar_second_a true)

(global short hangar_second_counter_a 0)

(global bool hangar_second_e true)

(global short hangar_second_counter_e 0)

(global bool hangar_second_i true)

(global short hangar_second_counter_i 0)

(global bool hangar_second_q true)


(global short hangar_second_counter_q 0)

(global short regen_level 0)

(script static unit player0


(begin
(unit
(list_get
(players) 0))))

(script static unit player1


(begin
(unit
(list_get
(players) 1))))

(script static short player_count


(begin
(list_count
(players))))

(script static bool brute_chance_normal


(begin
(<=
(random_range 0 3) 1)))

(script static bool player_has_current_primary


(begin
(unit_has_weapon_readied player_has_current_primary cutscene_def)))

(script static void cutscene_weapon_setup


(begin
(set cutscene_def cmt\weapons\covenant\brute_plasma_pistol\brute plasma pistol)
(if cutscene_weapon_setup
(set cutscene_weap chief_brutepp)
(begin
(set cutscene_def cmt\weapons\covenant\brute_plasma_rifle\brute plasma rifle)
(if cutscene_weapon_setup
(set cutscene_weap chief_brutepr)
(begin
(set cutscene_def cmt\weapons\covenant\brute_shot\bruteshot)
(if cutscene_weapon_setup
(set cutscene_weap chief_bruteshot)
(begin
(set cutscene_def cmt\weapons\covenant\carbine\carbine)
(if cutscene_weapon_setup
(set cutscene_weap chief_carbine)
(begin
(set cutscene_def cmt\weapons\covenant\needler\needler)
(if cutscene_weapon_setup
(set cutscene_weap chief_needler)
(begin
(set cutscene_def cmt\weapons\covenant\plasma_pistol\plasma pistol)
(if cutscene_weapon_setup
(set cutscene_weap chief_pp)
(begin
(set cutscene_def cmt\weapons\covenant\plasma_rifle\plasma rifle)
(if cutscene_weapon_setup
(set cutscene_weap chief_pr)
(begin
(set cutscene_def cmt\weapons\covenant\spiker\spiker)
(if cutscene_weapon_setup
(set cutscene_weap chief_spiker)
(begin
(set cutscene_def cmt\weapons\human\assault_rifle\assault rifle cc)
(if cutscene_weapon_setup
(set cutscene_weap chief_ar)
(begin
(set cutscene_def cmt\weapons\human\battle_rifle\battle_rifle_specops)
(if cutscene_weapon_setup
(set cutscene_weap chief_br)
(begin
(set cutscene_def cmt\weapons\human\shotgun\shotgun)
(if cutscene_weapon_setup
(set cutscene_weap chief_shotgun)
(begin
(set cutscene_def cmt\weapons\human\smg\silenced smg)
(if cutscene_weapon_setup
(set cutscene_weap chief_s_smg)
(begin
(set cutscene_def cmt\weapons\human\sniper_rifle\sniper rifle silenced)
(if cutscene_weapon_setup
(set cutscene_weap chief_s_sniper)
(set cutscene_weap chief_ar))))))))))))))))))))))))))
(object_create_anew cutscene_weap)
(objects_attach backpack_unit right hand cutscene_weap )))

(script static bool player_has_current_secondary


(begin
(and
(not
(unit_has_weapon_readied player_has_current_secondary backpack_def))
(unit_has_weapon player_has_current_secondary backpack_def))))

(script static void backpack_dispose


(begin
(objects_detach backpack_unit backpack_weap)
(object_destroy backpack_weap)))

(script continuous void backpackweapons


(begin
(sleep_until
(or force_backpack_refresh
(<=
(unit_get_health backpackweapons) 0.00)
(not backpackweapons)) 5)
(set force_backpack_refresh false) backpackweapons
(if
(<=
(unit_get_health backpackweapons) 0.00)
(sleep -1))
(set backpack_def cmt\weapons\covenant\brute_plasma_pistol\brute plasma pistol)
(if backpackweapons
(begin
(set backpack_marker holster)
(set backpack_weap chief_brutepp))
(begin
(set backpack_def cmt\weapons\covenant\brute_plasma_rifle\brute plasma rifle)
(if backpackweapons
(begin
(set backpack_marker holster)
(set backpack_weap chief_brutepr))
(begin
(set backpack_def cmt\weapons\covenant\brute_shot\bruteshot)
(if backpackweapons
(begin
(set backpack_marker backpack-bs)
(set backpack_weap chief_bruteshot))
(begin
(set backpack_def cmt\weapons\covenant\carbine\carbine)
(if backpackweapons
(begin
(set backpack_marker backpack)
(set backpack_weap chief_carbine))
(begin
(set backpack_def cmt\weapons\covenant\needler\needler)
(if backpackweapons
(begin
(set backpack_marker holster)
(set backpack_weap chief_needler))
(begin
(set backpack_def cmt\weapons\covenant\plasma_pistol\plasma pistol)
(if backpackweapons
(begin
(set backpack_marker holster)
(set backpack_weap chief_pp))
(begin
(set backpack_def cmt\weapons\covenant\plasma_rifle\plasma rifle)
(if backpackweapons
(begin
(set backpack_marker holster)
(set backpack_weap chief_pr))
(begin
(set backpack_def cmt\weapons\covenant\spiker\spiker)
(if backpackweapons
(begin
(set backpack_marker holster)
(set backpack_weap chief_spiker))
(begin
(set backpack_def cmt\weapons\human\assault_rifle\assault rifle cc)
(if backpackweapons
(begin
(set backpack_marker backpack)
(set backpack_weap chief_ar))
(begin
(set backpack_def cmt\weapons\human\battle_rifle\battle_rifle_specops)
(if backpackweapons
(begin
(set backpack_marker backpack)
(set backpack_weap chief_br))
(begin
(set backpack_def cmt\weapons\human\shotgun\shotgun)
(if backpackweapons
(begin
(set backpack_marker backpack)
(set backpack_weap chief_shotgun))
(begin
(set backpack_def cmt\weapons\human\smg\silenced smg)
(if backpackweapons
(begin
(set backpack_marker holster)
(set backpack_weap chief_s_smg))
(begin
(set backpack_def cmt\weapons\human\sniper_rifle\sniper rifle silenced)
(if backpackweapons
(begin
(set backpack_marker backpack)
(set backpack_weap chief_s_sniper))
(begin
(set backpack_marker holster)
(set backpack_weap chief_s_smg)))))))))))))))))))))))))))
(object_create_anew backpack_weap)
(objects_attach backpack_unit backpack_marker backpack_weap )))

(script static bool cinematic_skip_start


(begin
(cinematic_skip_start_internal)
(game_save_totally_unsafe)
(sleep_until
(not
(game_saving)) 1)
(not
(game_reverted))))

(script static void cinematic_skip_stop


(begin
(cinematic_skip_stop_internal)))

(script static void script_dialog_start


(begin
(sleep_until
(not global_dialog_on))
(set global_dialog_on true)
(ai_dialogue_triggers false)))

(script static void script_dialog_stop


(begin
(ai_dialogue_triggers true)
(sleep 30)
(set global_dialog_on false)))

(script continuous void general_save


(begin
(if
(= mission_begin false)
(sleep -1))
(game_save_no_timeout)
(sleep_until
(not
(game_saving)) 1)
(sleep -1)))

(script static void cutscene_rescue


(begin
(switch_bsp 3)
(sound_looping_start sound\sinomatixx_music\a50_rescue_music none 1.00)
(sound_looping_start sound\sinomatixx_foley\a50_rescue_foley1 none 1.00)
(sound_class_set_gain device_door 0.00 0)
(cinematic_start)
(camera_control true)
(object_create_anew keyes)
(object_create_anew chief) cutscene_rescue
(set backpack_unit chief) cutscene_rescue
(set force_backpack_refresh true)
(object_pvs_activate chief)
(unit_set_emotion keyes 1)
(object_teleport keyes keyes_rescue_base)
(camera_set rescue_1b 0)
(custom_animation keyes cinematics\animations\captain\level_specific\a50\a50
a50_prison1 false)
(custom_animation chief cinematics\animations\chief\level_specific\a50\a50
a50helpkeyesup false)
(object_teleport chief chief_helpup_base)
(fade_in 1.00 1.00 1.00 15)
(sleep 15)
(sound_impulse_start sound\dialog\a50\a50_prison_020_captkeyes keyes 1.00)
(sleep 45)
(camera_set rescue_1c 0)
(sleep 60)
(camera_set rescue_1d 0)
(camera_set rescue_1e 90)
(sleep
(sound_impulse_time sound\dialog\a50\a50_prison_020_captkeyes))
(object_create_anew_containing marine_speech)
(object_create_anew marine1_plasma)
(object_create_anew marine2_plasma)
(object_create_anew marine3_plasma)
(object_create_anew keyes_needler)
(objects_attach marine_speech_1 right hand marine1_plasma )
(objects_attach marine_speech_2 right hand marine2_plasma )
(objects_attach marine_speech_3 right hand marine3_plasma )
(unit_stop_custom_animation keyes)
(object_teleport keyes keyes_walk_base)
(object_teleport chief chief_walk_base)
(recording_play keyes keyes_walk_1)
(camera_set keyes_walk_1a 0)
(camera_set keyes_walk_1b 250)
(sleep 60)
(recording_play chief chief_walk_1)
(sleep 30)
(sound_impulse_start sound\dialog\a50\a50_prison_030_captkeyes keyes 1.00)
(camera_set keyes_walk_1c 250)
(sleep
(sound_impulse_time sound\dialog\a50\a50_prison_030_captkeyes))
(sound_impulse_start sound\dialog\a50\a50_prison_040_marines marine_speech_1 1.00)
(sound_impulse_start sound\dialog\a50\a50_prison_040_marines marine_speech_2 1.00)
(sound_impulse_start sound\dialog\a50\a50_prison_040_marines marine_speech_3 1.00)
(object_teleport marine_speech_1 marine1_run_base)
(object_teleport marine_speech_2 marine2_run_base)
(object_teleport marine_speech_3 marine3_run_base)
(recording_play marine_speech_1 marine1_run)
(recording_play marine_speech_2 marine2_run)
(recording_play marine_speech_3 marine3_run)
(sleep 30)
(sleep
(-
(recording_time keyes) 150.00))
(custom_animation keyes cinematics\animations\captain\level_specific\a50\a50
a50_prison2 false)
(camera_set let_slip_1a 0)
(camera_set let_slip_1b 300)
(unit_set_emotion keyes 3)
(sleep 20)
(sound_impulse_start sound\dialog\a50\a50_prison_060_captkeyes keyes 1.00)
(sleep 200)
(recording_kill chief)
(object_teleport chief chief_speech_base)
(unit_set_seat chief alert)
(sleep
(-
(sound_impulse_time sound\dialog\a50\a50_prison_060_captkeyes) 15.00))
(object_teleport marine_speech_1 marine1_speech_base)
(object_teleport marine_speech_2 marine2_speech_base)
(object_teleport marine_speech_3 marine3_speech_base)
(recording_play marine_speech_1 marine1_look_keyes)
(recording_play marine_speech_2 marine2_look_keyes)
(recording_play marine_speech_3 marine3_look_keyes)
(camera_set one_moment_1a 0)
(camera_set one_moment_1b 400)
(sound_looping_start sound\sinomatixx_foley\a50_rescue_foley2 none 1.00)
(sound_impulse_start sound\dialog\a50\a50_prison_070_cortana chief 1.00)
(sleep 90)
(custom_animation chief cinematics\animations\chief\level_specific\a50\a50
idle_shoulder gun true)
(sleep 110)
(camera_set one_moment_1c 400)
(sleep
(-
(sound_impulse_time sound\dialog\a50\a50_prison_070_cortana) 30.00))
(camera_set then_its_1a 0)
(camera_set then_its_1b 90)
(unit_custom_animation_at_frame keyes
cinematics\animations\captain\level_specific\a50\a50 a50_prison3 false 7)
(sound_impulse_start sound\dialog\a50\a50_prison_080_captkeyes keyes 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_prison_080_captkeyes))
(camera_set long_shot_1a 0)
(camera_set long_shot_1b 600)
(object_teleport keyes keyes_chief_look_base)
(recording_play keyes keyes_look_at_chief)
(sound_impulse_start sound\dialog\a50\a50_prison_090_cortana chief 1.00)
(sleep
(-
(sound_impulse_time sound\dialog\a50\a50_prison_090_cortana) 15.00))
(object_teleport keyes keyes_speech_base)
(unit_custom_animation_at_frame keyes
cinematics\animations\captain\level_specific\a50\a50 a50_prison4 false 11)
(camera_set bad_news_1a 0)
(camera_set bad_news_1b 300)
(unit_set_emotion keyes 3)
(unit_stop_custom_animation chief)
(sound_impulse_start sound\dialog\a50\a50_prison_100_captkeyes keyes 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_prison_100_captkeyes))
(camera_set mission_1d 0)
(camera_set mission_1e 300)
(custom_animation keyes cinematics\animations\captain\level_specific\a50\a50
a50_prison5 true)
(sleep 32)
(sound_impulse_start sound\dialog\a50\a50_prison_110_captkeyes keyes 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_prison_110_captkeyes))
(camera_set lets_move_1a 0)
(camera_set lets_move_1b 200)
(unit_custom_animation_at_frame keyes
cinematics\animations\captain\level_specific\a50\a50 a50_prison6 true 23)
(sound_impulse_start sound\dialog\a50\a50_prison_120_captkeyes keyes 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_prison_120_captkeyes))
(sound_impulse_start sound\dialog\a50\a50_prison_130_marine1 marine_speech_1 1.00)
(sleep 5)
(sound_impulse_start sound\dialog\a50\a50_prison_130_marine2 marine_speech_2 1.00)
(sleep 5)
(sound_impulse_start sound\dialog\a50\a50_prison_130_marine3 marine_speech_3 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_prison_130_marine3))
(camera_set chief_point_1a 0)
(camera_set chief_point_1b 60)
(sound_looping_start sound\sinomatixx_foley\a50_rescue_foley3 none 1.00)
(unit_stop_custom_animation keyes)
(custom_animation keyes cinematics\animations\captain\level_specific\a50\a50
a50_prison7 true)
(cinematic_set_title shut_up)
(sleep 30)
(objects_attach keyes right hand keyes_needler )
(sleep 30)
(cinematic_set_title sir)
(sound_impulse_start sound\dialog\a50\a50_prison_140_captkeyes keyes 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_prison_140_captkeyes))
(fade_out 1.00 1.00 1.00 15)
(sleep
(- 120.00
(sound_impulse_time sound\dialog\a50\a50_prison_140_captkeyes)))
(object_destroy keyes)
(object_destroy chief) cutscene_rescue
(set backpack_unit cutscene_rescue)
(set force_backpack_refresh true)
(object_destroy_containing marine_speech)
(object_destroy marine1_plasma)
(object_destroy marine2_plasma)
(object_destroy marine3_plasma)
(object_destroy keyes_needler)
(object_pvs_activate none)
(sound_class_set_gain device_door 1.00 3)
(cinematic_stop)
(camera_control false)
(show_hud true)))

(script static void cutscene_extraction


(begin
(sound_looping_start sound\sinomatixx\a50_extraction_foley none 1.00)
(cinematic_start)
(camera_control true)
(switch_bsp 2)
(object_teleport cutscene_extraction player0_extract_base)
(object_teleport cutscene_extraction player1_extract_base)
(object_create_anew chief) cutscene_extraction
(set backpack_unit chief) cutscene_extraction
(set force_backpack_refresh true)
(object_create_anew cutscene_weap)
(object_create_anew extraction_dropship)
(object_pvs_activate extraction_dropship)
(object_teleport chief chief_extraction_base)
(camera_set chief_push_1a 0)
(camera_set chief_push_1b 60)
(unit_custom_animation_at_frame chief
cinematics\animations\chief\level_specific\b30\b30 b30holomap true 130)
(fade_in 1.00 1.00 1.00 15)
(sound_looping_start sound\sinomatixx\a50_extraction_music none 1.00)
(sleep 60)
(object_teleport extraction_dropship extraction_dropship_base)
(scenery_animation_start extraction_dropship
cinematics\animations\c_dropship\level_specific\a50\a50 a50_dropship)
(camera_set loose_1a 0)
(sound_impulse_start sound\dialog\a50\a50_extract_010_cortana none 1.00)
(sleep 60)
(camera_set loose_1b 340)
(sleep
(sound_impulse_time sound\dialog\a50\a50_extract_010_cortana))
(sound_impulse_start sound\dialog\a50\a50_extract_020_captkeyes none 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_extract_020_captkeyes))
(object_destroy chief) cutscene_extraction
(set backpack_unit cutscene_extraction)
(set force_backpack_refresh true)
(sleep
(camera_time))
(ai_erase_all)
(camera_set interface_1a 0)
(camera_set interface_1b 180)
(sound_impulse_start sound\dialog\a50\a50_extract_030_cortana none 1.00)
(sleep
(-
(sound_impulse_time sound\dialog\a50\a50_extract_030_cortana) 15.00))
(sound_impulse_start sound\dialog\a50\a50_extract_040_captkeyes none 1.00)
(sleep 60)
(object_create_anew final_hunter_1)
(object_create_anew final_hunter_2)
(object_teleport final_hunter_1 final_hunter_1_base)
(object_teleport final_hunter_2 final_hunter_2_base)
(recording_play final_hunter_1 hunter_1_run)
(recording_play final_hunter_2 hunter_2_run)
(sleep 60)
(ai_attach final_hunter_1 hunters/hunters)
(ai_attach final_hunter_2 hunters/hunters)
(sound_impulse_start sound\dialog\a50\a50_extract_050_cortana none 1.00)
(camera_set capt_hunters_1a 0)
(camera_set capt_hunters_1b 120)
(sleep 120)
(sound_impulse_start sound\dialog\a50\a50_extract_060_captkeyes none 1.00)
(camera_set hang_on_1a 0)
(camera_set hang_on_1b 90)
(sound_looping_start sound\sinomatixx\a50_extraction_foley2 none 1.00)
(sleep 90)
(camera_set hunter_smash_1a 0)
(camera_set hunter_smash_1b 90)
(player_effect_set_max_rotation 0.00 0.50 0.50)
(player_effect_set_max_rumble 0.50 0.50)
(player_effect_start 1.00 0.00)
(player_effect_stop 4.00)
(sleep 30)
(ai_kill hunters)
(sleep 60)
(camera_set final_flight_1a 0)
(camera_set final_flight_1b 250)
(sound_impulse_start sound\dialog\a50\a50_extract_070_aussie none 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_extract_070_aussie))
(sound_impulse_start sound\dialog\a50\a50_extract_080_captkeyes none 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_extract_080_captkeyes))
(sleep
(camera_time))
(fade_out 0.00 0.00 0.00 30)
(sleep 30)
(cinematic_stop)
(camera_control false)
(cinematic_screen_effect_stop)))

(script dormant void music_a50_01


(begin
(sound_looping_start levels\a50\music\a50_01 none 1.00)
(sleep_until
(not play_music_a50_01))
(sound_looping_stop levels\a50\music\a50_01)))

(script dormant void music_a50_02


(begin
(sound_looping_start levels\a50\music\a50_02 none 1.00)
(sleep_until
(not true))
(sound_looping_stop levels\a50\music\a50_02)))

(script dormant void music_a50_03


(begin
(sound_looping_start levels\a50\music\a50_03 none 1.00)
(sleep_until
(not play_music_a50_03))
(sound_looping_stop levels\a50\music\a50_03)))

(script dormant void music_a50_04


(begin
(sound_looping_start levels\a50\music\a50_04 none 1.00)
(sleep_until
(not play_music_a50_04))
(sound_looping_stop levels\a50\music\a50_04)))

(script dormant void music_a50_05


(begin
(sound_looping_start levels\a50\music\a50_05 none 1.00)
(if
(=
(game_difficulty_get) normal)
(sleep_until
(> gravity_wave_index 2)))
(if
(=
(game_difficulty_get) hard)
(sleep_until
(> gravity_wave_index 4)))
(if
(=
(game_difficulty_get) impossible)
(sleep_until
(> gravity_wave_index 6)))
(sound_looping_set_alternate levels\a50\music\a50_05 true)
(sleep_until
(not play_music_a50_05))
(sound_looping_stop levels\a50\music\a50_05)))

(script dormant void music_a50_06


(begin
(sound_looping_start levels\a50\music\a50_06 none 1.00)
(sleep_until
(not play_music_a50_06))
(sound_looping_stop levels\a50\music\a50_06)))

(script dormant void music_a50_07


(begin
(sound_looping_start levels\a50\music\a50_07 none 1.00)
(sleep_until
(not play_music_a50_07))
(sound_looping_stop levels\a50\music\a50_07)))

(script dormant void music_a50_071


(begin
(sound_looping_start levels\a50\music\a50_071 none 1.00)
(sleep_until
(not true))
(sound_looping_stop levels\a50\music\a50_071)))

(script dormant void music_a50_072


(begin
(sound_looping_start levels\a50\music\a50_072 none 1.00)
(sleep_until
(not play_music_a50_072))
(sound_looping_stop levels\a50\music\a50_072)))

(script dormant void music_a50_08


(begin
(sleep_until
(or
(>
(device_get_position control_door_a) 0.00)
(>
(device_get_position control_door_b) 0.00)
(>
(device_get_position control_door_c) 0.00)))
(sound_looping_start levels\a50\music\a50_08 none 1.00)
(sleep_until
(not play_music_a50_08))
(sound_looping_stop levels\a50\music\a50_08)))

(script dormant void music_a50_09


(begin
(sound_looping_start levels\a50\music\a50_09 none 1.00)
(sleep_until
(not play_music_a50_09))
(sound_looping_stop levels\a50\music\a50_09)))

(script dormant void music_a50_10


(begin
(sound_looping_start levels\a50\music\a50_10 none 1.00)
(sleep_until
(not true))
(sound_looping_stop levels\a50\music\a50_10)))

(script dormant void music_a50_11


(begin
(sound_looping_start levels\a50\music\a50_11 none 1.00)
(sleep_until
(not play_music_a50_11))
(sound_looping_stop levels\a50\music\a50_11)))

(script static void extraction_cleanup


(begin
(fade_out 1.00 1.00 1.00 15)
(sleep 15)
(object_destroy hangar_dropship_a)
(object_destroy_containing box)
(ai_kill_silent hangar_cov_third_floor)))

(script dormant void game_lost_script


(begin
(sleep_until
(<=
(unit_get_health captain_keyes) 0.00) 1)
(game_save_cancel)
(sleep -1 general_save)
(wake music_a50_10)
(ai_conversation captain_dead)
(cinematic_show_letterbox true)
(player_enable_input false)
(camera_control true)
(camera_set_dead captain_keyes)
(sleep
(* 30.00 10.00))
(game_lost)))

(script dormant void game_win_script


(begin
(ai_conversation shuttle_revisited)
(device_set_power hangar_door_b 1.00)
(device_set_position hangar_door_b 0.00)
(device_group_change_only_once_more_set hangar_door_b_position true)
(sleep_until
(>
(ai_conversation_status shuttle_revisited) 4))
(activate_team_nav_point_flag default_red player extraction_switch_flag 0.00)
(sleep_until
(=
(device_get_position hangar_door_b) 1.00))
(device_set_power hangar_door_b 0.00)
(deactivate_team_nav_point_flag player extraction_switch_flag)
(sleep_until
(and
(=
(ai_living_count hangar_cov_third_floor/grunts_return) 0)
(=
(ai_living_count hangar_cov_third_floor/elites_return) 0)) 30 300)
(ai_follow_target_disable hangar_marines_halls)
(ai_follow_target_disable hangar_captain_halls)
(sleep -1 game_lost_script)
(sleep 1)
(set play_music_a50_11 false) game_win_script
(if game_win_script game_win_script) game_win_script
(game_won)))

(script dormant void obj_board


(begin
(show_hud_help_text true)
(hud_set_help_text obj_board)
(hud_set_objective_text obj_board)
(sleep
(* 30.00 5.00))
(show_hud_help_text false)))

(script dormant void obj_rescue


(begin
(show_hud_help_text true)
(hud_set_help_text obj_rescue)
(hud_set_objective_text obj_rescue)
(sleep
(* 30.00 5.00))
(show_hud_help_text false)))

(script dormant void obj_escape


(begin
(show_hud_help_text true)
(hud_set_help_text obj_escape)
(hud_set_objective_text obj_escape)
(sleep
(* 30.00 5.00))
(show_hud_help_text false)))

(script dormant void obj_sniper


(begin
(show_hud_help_text true)
(hud_set_help_text obj_sniper)
(sleep
(* 30.00 5.00))
(show_hud_help_text false)))

(script static void pelican_area4_a


(begin
(set area4_covenant_reins false)
(ai_conversation ext_marine_reins)
(sleep 150)
(object_create_anew insertion_pelican)
(unit_close insertion_pelican)
(unit_set_enterable_by_player insertion_pelican false)
(ai_place marines_area4/marines_m)
(objects_predict
(ai_actors marines_area4))
(vehicle_load_magic insertion_pelican rider
(ai_actors marines_area4/marines_m))
(object_teleport insertion_pelican area4_pelican_flag)
(recording_play_and_hover insertion_pelican area4_pelican_a_in)
(sleep 1)
(ai_braindead marines_area4/marines_m true)
(objects_predict insertion_pelican)
(objects_predict
(ai_actors marines_area4))
(sleep
(-
(recording_time insertion_pelican) 60.00))
(unit_open insertion_pelican)
(ai_braindead marines_area4 false)
(sleep 60)
(sleep 15)
(vehicle_unload insertion_pelican rider)
(sleep
(* 30.00 3.50))
(units_set_desired_flashlight_state
(ai_actors marines_area4/marines_m) true)
(sleep 1)
(vehicle_hover insertion_pelican false)
(recording_play_and_delete insertion_pelican area4_pelican_a_out)
(set area4_covenant_reins true)
(ai_migrate marines_area4/marines_m marines_area4/squad_m)
(sleep 1)
(ai_follow_target_players marines_area4/squad_m)
(sleep 90)
(unit_close insertion_pelican)))

(script static void pelican_area4_b


(begin
(set area4_covenant_reins false)
(ai_conversation ext_marine_reins)
(sleep 150)
(object_create_anew insertion_pelican)
(objects_predict insertion_pelican)
(unit_close insertion_pelican)
(unit_set_enterable_by_player insertion_pelican false)
(ai_place marines_area4/marines_b)
(objects_predict
(ai_actors marines_area4))
(vehicle_load_magic insertion_pelican rider
(ai_actors marines_area4/marines_b))
(object_teleport insertion_pelican area4_pelican_b_flag)
(recording_play_and_hover insertion_pelican area4_pelican_b_in)
(sleep 1)
(ai_braindead marines_area4/marines_b true)
(objects_predict insertion_pelican)
(objects_predict
(ai_actors marines_area4))
(sleep
(-
(recording_time insertion_pelican) 90.00))
(unit_open insertion_pelican)
(ai_braindead marines_area4 false)
(sleep 90)
(vehicle_unload insertion_pelican rider)
(sleep
(* 30.00 3.50))
(units_set_desired_flashlight_state
(ai_actors marines_area4/marines_b) true)
(sleep 1)
(vehicle_hover insertion_pelican false)
(recording_play_and_delete insertion_pelican area4_pelican_b_out)
(set area4_covenant_reins true)
(ai_migrate marines_area4/marines_b marines_area4/squad_b)
(sleep 1)
(ai_follow_target_players marines_area4/squad_b)
(sleep 90)
(unit_close insertion_pelican)))

(script static void pelican_area5_a


(begin
(ai_conversation ext_marine_reins)
(object_destroy insertion_pelican)
(object_create_anew insertion_pelican)
(unit_close insertion_pelican)
(unit_set_enterable_by_player insertion_pelican false)
(sleep 1)
(object_teleport insertion_pelican area5_pelican_a)
(ai_place marines_area5/dropship_marines)
(vehicle_load_magic insertion_pelican rider
(ai_actors marines_area5/dropship_marines))
(recording_play insertion_pelican area5_pelican_a_in)
(sleep 1)
(ai_braindead marines_area5/dropship_marines true)
(objects_predict insertion_pelican)
(objects_predict
(ai_actors marines_area5))
(sleep
(-
(recording_time insertion_pelican) 90.00))
(ai_braindead marines_area5 false)
(unit_open insertion_pelican)
(sleep 90)
(vehicle_hover insertion_pelican true)
(vehicle_unload insertion_pelican rider)
(sleep 120)
(units_set_desired_flashlight_state
(ai_actors marines_area5/dropship_marines) true)
(sleep 1)
(vehicle_hover insertion_pelican false)
(recording_play_and_delete insertion_pelican v_rec_pel_2_out)
(sleep 90)
(unit_close insertion_pelican)
(sleep_until
(and
(=
(ai_living_count covenant_area5/grunts_drop) 0)
(=
(ai_living_count covenant_area5/jackals_drop) 0)))
(ai_migrate marines_area5/dropship_marines marines_area5/marines_i)
(sleep 1)
(ai_follow_target_players marines_area5)))

(script static void weapon_pod_setup


(begin
(object_create_anew_containing pod)
(objects_attach pod_1 gun pod_br )
(objects_attach pod_2 gun pod_sg )
(objects_attach pod_3 gun pod_smg )
(objects_attach pod_4 gun pod_ar )
(objects_attach insertion_pelican droppodl01 pod_1 attach)
(objects_attach insertion_pelican droppodr01 pod_4 attach)
(objects_attach insertion_pelican droppodr02 pod_2 attach)
(objects_attach insertion_pelican droppodl02 pod_3 attach)))

(script static void weapon_pod_drop


(begin
(effect_new_on_object_marker cmt\vehicles\human\pelican\drop_pod\effects\detach
insertion_pelican droppodl02)
(objects_detach insertion_pelican pod_3)
(sleep 15)
(effect_new_on_object_marker cmt\vehicles\human\pelican\drop_pod\effects\detach
insertion_pelican droppodr02)
(objects_detach insertion_pelican pod_2)
(sleep 15)
(effect_new_on_object_marker cmt\vehicles\human\pelican\drop_pod\effects\detach
insertion_pelican droppodr01)
(objects_detach insertion_pelican pod_4)
(sleep 15)
(effect_new_on_object_marker cmt\vehicles\human\pelican\drop_pod\effects\detach
insertion_pelican droppodl01)
(objects_detach insertion_pelican pod_1)
(sleep 30)
(objects_detach pod_1 pod_br)
(objects_detach pod_2 pod_sg)
(objects_detach pod_3 pod_smg)
(objects_detach pod_4 pod_ar)
(activate_team_nav_point_flag default player drop_pod_lz 0.30)))

(script static void pelican_area5_b_resupply


(begin
(ai_conversation lift_secured)
(ai_follow_target_disable marines_area5)
(sleep 1)
(ai_migrate marines_area5 marines_area5/gravity_pad_fodder)
(sleep 1)
(object_create_anew insertion_pelican)
(unit_set_enterable_by_player insertion_pelican false)
(unit_close insertion_pelican) pelican_area5_b_resupply
(object_teleport insertion_pelican area5_gravity_fodder_flag)
(recording_play_and_hover insertion_pelican area5_pelican_b_in)
(sleep 1)
(objects_predict insertion_pelican)
(objects_predict
(ai_actors marines_area5))
(sleep
(-
(recording_time insertion_pelican) 30.00)) pelican_area5_b_resupply
(vehicle_hover insertion_pelican false)
(ai_conversation_advance lift_secured)
(recording_play_and_delete insertion_pelican area5_pelican_b_out)))

(script static void pelican_area5_b


(begin
(ai_conversation lift_secured)
(object_create_anew insertion_pelican)
(unit_set_enterable_by_player insertion_pelican false)
(unit_close insertion_pelican) pelican_area5_b
(ai_place marines_area5)
(vehicle_load_magic insertion_pelican p-riderrf
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 0)))
(vehicle_load_magic insertion_pelican p-riderrm
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 2)))
(vehicle_load_magic insertion_pelican p-riderrb
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 4)))
(vehicle_load_magic insertion_pelican p-riderrb01
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 6)))
(vehicle_load_magic insertion_pelican p-riderlf
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 1)))
(vehicle_load_magic insertion_pelican p-riderlm
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 3)))
(vehicle_load_magic insertion_pelican p-riderlb
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 5)))
(object_teleport insertion_pelican area5_gravity_fodder_flag)
(recording_play_and_hover insertion_pelican area5_pelican_b_in)
(sleep 1)
(objects_predict insertion_pelican)
(objects_predict
(ai_actors marines_area5))
(sleep
(-
(recording_time insertion_pelican) 30.00)) pelican_area5_b
(unit_open insertion_pelican)
(sleep 30)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 0)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 0)) forward_4s)
(sleep 10)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 1)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 1)) forward_4s)
(sleep 10)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 2)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 2)) forward_4s)
(sleep 10)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 3)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 3)) forward_4s)
(sleep 10)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 4)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 4)) forward_4s)
(sleep 10)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 5)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 5)) forward_4s)
(sleep 10)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 6)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 6)) forward_4s)
(sleep 60)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 0)) marine_to_pad_6)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 1)) marine_to_pad_7)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 2)) marine_to_pad_5)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 3)) marine_to_pad_1)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 5)) marine_to_pad_2)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 6)) marine_to_pad_3)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_area5/gravity_pad_fodder) 4)) marine_to_pad_4)
(sleep 60)
(ai_conversation_advance lift_secured)
(vehicle_hover insertion_pelican false)
(recording_play_and_delete insertion_pelican area5_pelican_b_out)
(sleep 30)
(unit_close insertion_pelican)))

(script dormant void pelican_hangar_a


(begin
(set pelican_hangar_a_trigger false)
(object_create_anew insertion_pelican)
(unit_set_enterable_by_player insertion_pelican false)
(ai_place hangar_marines/drop_a)
(objects_predict
(ai_actors hangar_marines/drop_a))
(vehicle_load_magic insertion_pelican rider
(ai_actors hangar_marines/drop_a))
(object_teleport insertion_pelican v_flag_hangar_pelican_a)
(sleep 1)
(ai_braindead hangar_marines/drop_a true)
(objects_predict insertion_pelican)
(objects_predict
(ai_actors hangar_marines))
(recording_play insertion_pelican v_rec_hangar_pelican_a_in)
(sleep
(-
(recording_time insertion_pelican) 60.00))
(ai_braindead hangar_marines false)
(sleep 60)
(vehicle_hover insertion_pelican true)
(vehicle_unload insertion_pelican rider)
(sleep
(* 30.00 3.00))
(vehicle_hover insertion_pelican false)
(recording_play_and_delete insertion_pelican v_rec_hangar_pelican_a_out)
(if
(= hangar_location_index 1)
(begin
(ai_migrate hangar_marines hangar_marines/mig_marines_a))
(if
(= hangar_location_index 2)
(begin
(ai_migrate hangar_marines hangar_marines/mig_marines_b))
(if
(= hangar_location_index 3)
(begin
(ai_migrate hangar_marines hangar_marines/mig_marines_d))
(if
(= hangar_location_index 4)
(begin
(ai_migrate hangar_marines hangar_marines/mig_marines_e))
(if
(= hangar_location_index 5)
(begin
(ai_migrate hangar_marines hangar_marines/mig_marines_f)))))))
(sleep 300)
(device_group_set hangar_door_b_power 1.00)))

(script static void pelican_hangar_b


(begin
(object_create_anew insertion_pelican)
(unit_set_enterable_by_player insertion_pelican false)
(ai_place hangar_marines_halls/marines_reins)
(objects_predict
(ai_actors hangar_marines_halls/marines_reins))
(vehicle_load_magic insertion_pelican rider
(ai_actors hangar_marines_halls/marines_reins))
(object_teleport insertion_pelican hangar_pelican_b)
(recording_play insertion_pelican hangar_pelican_b_in)
(sleep 1)
(ai_braindead hangar_marines_halls/marines_reins true)
(objects_predict insertion_pelican)
(objects_predict
(ai_actors hangar_marines_halls))
(sleep
(-
(recording_time insertion_pelican) 60.00))
(ai_braindead hangar_marines_halls false)
(sleep 60)
(vehicle_hover insertion_pelican true)
(vehicle_unload insertion_pelican rider)
(sleep
(* 30.00 3.00))
(vehicle_hover insertion_pelican false)
(recording_play_and_delete insertion_pelican hangar_pelican_b_out)
(ai_migrate hangar_marines_halls/marines_reins hangar_marines_halls/squad_exit)))

(script static void c_dropship_area4


(begin
(sleep
(* 30.00
(random_range 3 5)))
(sound_looping_set_alternate levels\a50\music\a50_03 true)
(set area4_pelican_a false)
(ai_conversation area5_cov_reins)
(object_create_anew c_dropship_a)
(unit_close c_dropship_a)
(ai_place covenant_area4/elites_dropship)
(ai_place covenant_area4/grunts_dropship)
(ai_place covenant_area4/jackals_dropship)
(vehicle_load_magic c_dropship_a passenger
(ai_actors covenant_area4/elites_dropship))
(vehicle_load_magic c_dropship_a passenger
(ai_actors covenant_area4/grunts_dropship))
(vehicle_load_magic c_dropship_a passenger
(ai_actors covenant_area4/jackals_dropship))
(object_teleport c_dropship_a truth_left_flag)
(recording_play_and_hover c_dropship_a area4_c_dropship_in)
(sleep 1)
(ai_braindead_by_unit c_dropship_a true)
(ai_braindead covenant_area4/elites_dropship true)
(ai_braindead covenant_area4/grunts_dropship true)
(ai_braindead covenant_area4/jackals_dropship true)
(objects_predict c_dropship_a)
(objects_predict
(ai_actors covenant_area4))
(sleep
(-
(recording_time c_dropship_a) 150.00))
(ai_braindead_by_unit c_dropship_a false)
(sleep 120)
(ai_braindead covenant_area4 false)
(unit_open c_dropship_a)
(sleep 15)
(vehicle_unload c_dropship_a cd-passenger)
(sleep 90)
(vehicle_hover c_dropship_a false)
(unit_close c_dropship_a)
(recording_play_and_delete c_dropship_a area4_c_dropship_out)
(set area4_pelican_a true)
(sleep 120)
(ai_braindead_by_unit c_dropship_a true)))

(script static void c_dropship_area5


(begin
(sleep
(* 30.00
(random_range 3 5)))
(object_create_anew c_dropship_a)
(object_teleport c_dropship_a truth_left_flag_b)
(unit_close c_dropship_a)
(ai_place covenant_area5/grunts_drop)
(ai_place covenant_area5/jackals_drop)
(vehicle_load_magic c_dropship_a passenger
(ai_actors covenant_area5/grunts_drop))
(vehicle_load_magic c_dropship_a passenger
(ai_actors covenant_area5/jackals_drop))
(recording_play_and_hover c_dropship_a c_dropship_area5_in)
(sleep 1)
(ai_braindead_by_unit c_dropship_a true)
(ai_braindead covenant_area5/grunts_drop true)
(ai_braindead covenant_area5/jackals_drop true)
(objects_predict c_dropship_a)
(objects_predict
(ai_actors covenant_area5))
(sleep
(-
(recording_time c_dropship_a) 400.00))
(ai_conversation area5_cov_reins)
(sleep 250)
(ai_braindead_by_unit c_dropship_a false)
(sleep 120)
(ai_braindead covenant_area5 false)
(unit_open c_dropship_a)
(sleep 15)
(vehicle_unload c_dropship_a cd-passenger)
(sleep 90)
(vehicle_hover c_dropship_a false)
(unit_close c_dropship_a)
(recording_play_and_delete c_dropship_a c_dropship_area5_out)))

(script static void hangar_dropship_b


(begin
(object_create_anew hangar_dropship_b)
(vehicle_hover hangar_dropship_b true)
(sound_class_set_gain vehicle_engine 0.25 150)
(sleep 1)
(objects_predict hangar_dropship_b)
(ai_braindead_by_unit hangar_dropship_b true)
(sleep_until
(>
(device_get_position hangar_first_floor_entr) 0.00))
(sound_class_set_gain vehicle_engine 0.50 150)
(wake music_a50_07)
(unit_close hangar_dropship_b)
(sleep 90)
(vehicle_hover hangar_dropship_b false)
(recording_play_and_delete hangar_dropship_b hangar_dropship_b_exit)))

(script dormant void dialog_insertion


(begin
(sound_impulse_start sound\dialog\a50\a50_insert_010_cortana none 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_insert_010_cortana))
(sleep 1)
(sound_impulse_start sound\dialog\a50\a50_insert_020_bisenti none 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_insert_020_bisenti))
(sleep 1)
(sound_impulse_start sound\dialog\a50\a50_insert_030_sarge none 1.00)
(sleep
(sound_impulse_time sound\dialog\a50\a50_insert_030_sarge))
(sleep 1)
(sound_impulse_start sound\dialog\a50\a50_insert_050_cortana none 1.00)))

(script static void cutscene_insertion


(begin
(object_create_anew insertion_pelican)
(object_teleport insertion_pelican insertion_pelican_1)
(recording_play insertion_pelican insertion_pelican_in)
(objects_predict insertion_pelican)
(cinematic_start)
(show_hud false)
(camera_control true)
(ai_place marines_initial)
(sleep 1)
(objects_predict
(ai_actors marines_initial))
(objects_predict insertion_pelican)
(unit_close insertion_pelican)
(set backpack_unit cutscene_insertion)
(unit_enter_vehicle cutscene_insertion insertion_pelican p-riderlf)
(unit_enter_vehicle cutscene_insertion insertion_pelican p-riderrf)
(vehicle_load_magic insertion_pelican riderl
(ai_actors marines_initial/marines_ini_right))
(vehicle_load_magic insertion_pelican riderr
(ai_actors marines_initial/marines_ini_left))
(camera_set insertion_1 0)
(fade_in 0.00 0.00 0.00 60)
(camera_set insertion_3 300)
(sound_class_set_gain vehicle 0.00 0)
(sound_looping_start sound\sinomatixx\a50_insertion_foley none 1.00)
(sound_looping_start cmt\sounds\sinomatixx\a50_insertion_music none 1.00)
(wake dialog_insertion)
(sleep 300)
(player_effect_set_max_rotation 0.00 0.15 0.15)
(player_effect_start 1.00 0.00)
(sleep 120)
(camera_set insertion_4 210)
(cinematic_set_title mission_start)
(sleep 105)
(unit_open insertion_pelican)
(sleep 105)
(fade_in 1.00 1.00 1.00 30)
(camera_control false)
(sound_class_set_gain vehicle 1.00 1)
(object_set_facing cutscene_insertion initial_facing)
(object_set_facing cutscene_insertion initial_facing)
(player_effect_stop 0.00)
(sleep
(recording_time insertion_pelican))
(vehicle_hover insertion_pelican true)
(unit_exit_vehicle cutscene_insertion)
(unit_exit_vehicle cutscene_insertion)
(sleep 60)
(game_save_totally_unsafe)
(unit_set_enterable_by_player insertion_pelican false)
(cinematic_stop)
(show_hud true)
(sleep 30)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_initial/marines_ini_left) 0)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_left) 0)) forward_4s)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_left) 0)) ini_marine_c)
(sleep 10)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 0)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 0)) forward_4s)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 0)) ini_marine_d)
(sleep 10)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_initial/marines_ini_left) 1)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_left) 1)) forward_4s)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_left) 1)) ini_marine_b)
(sleep 10)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 1)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 1)) forward_4s)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 1)) ini_marine_e)
(sleep 10)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_initial/marines_ini_left) 2)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_left) 2)) forward_4s)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_left) 2)) ini_marine_a)
(sleep 10)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 2)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 2)) forward_4s)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 2)) ini_marine_g)
(sleep 10)
(sound_impulse_start sound\dialog\a50\a50_insert_080_sarge none 1.00)
(unit_exit_vehicle
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 3)))
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 3)) forward_4s)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_ini_right) 3)) ini_marine_f)
(sleep 30)
(vehicle_hover insertion_pelican false)
(recording_play_and_delete insertion_pelican insertion_pelican_out)
(ai_conversation initial_orders)
(sleep 90)
(unit_close insertion_pelican)
(units_set_desired_flashlight_state
(ai_actors marines_initial) true)))

(script static void cutscene_energy_lift


(begin
(ai_allegiance human player)
(ai_allegiance player human)
(sound_looping_start sound\sinomatixx\a50_lift_foley none 1.00)
(sound_looping_start sound\sinomatixx\a50_lift_music none 1.00)
(fade_out 1.00 1.00 1.00 15)
(sleep 15)
(ai_erase_all)
(sleep 15)
(volume_teleport_players_not_inside null area5_teleport_flag)
(cinematic_start)
(camera_control true)
(object_create_anew chief_lift) cutscene_energy_lift
(set backpack_unit chief_lift) cutscene_energy_lift
(set force_backpack_refresh true)
(object_create_anew_containing lift_marine)
(object_teleport chief_lift chief_lift_base)
(recording_play chief_lift chief_lift_watch)
(object_teleport cutscene_energy_lift player0_lift_safe)
(object_teleport cutscene_energy_lift player1_lift_safe)
(object_teleport lift_marine_1 lift_marine_1_base)
(object_teleport lift_marine_2 lift_marine_2_base)
(object_teleport lift_marine_3 lift_marine_3_base)
(object_teleport lift_marine_4 lift_marine_4_base)
(object_teleport lift_marine_5 lift_marine_5_base)
(object_teleport lift_marine_6 lift_marine_6_base)
(unit_set_seat lift_marine_1 alert)
(unit_set_seat lift_marine_2 alert)
(unit_set_seat lift_marine_3 alert)
(unit_set_seat lift_marine_4 alert)
(unit_set_seat lift_marine_5 alert)
(unit_set_seat lift_marine_6 alert)
(sleep 30)
(camera_set lift_marine_1_1 0)
(camera_set lift_marine_1_2 60)
(cinematic_set_title gravity_lift)
(fade_in 1.00 1.00 1.00 15)
(sleep 15)
(custom_animation lift_marine_1
cinematics\animations\marines\level_specific\a50\a50 a50energylift true)
(sleep 30)
(custom_animation lift_marine_3
cinematics\animations\marines\level_specific\a50\a50 a50energylift true)
(custom_animation lift_marine_6
cinematics\animations\marines\level_specific\a50\a50 a50energylift true)
(camera_set lift_marine_1_3 60)
(sleep 60)
(custom_animation lift_marine_2
cinematics\animations\marines\level_specific\a50\a50 a50energylift true)
(camera_set chief_lift_1a 0)
(camera_set chief_lift_1b 110)
(sleep 30)
(custom_animation lift_marine_4
cinematics\animations\marines\level_specific\a50\a50 a50energylift true)
(sleep 20)
(custom_animation lift_marine_5
cinematics\animations\marines\level_specific\a50\a50 a50energylift true)
(sleep_until
(camera_time))
(camera_set chief_lift_1c 0)
(camera_set chief_lift_1d 60)
(sleep 60)
(object_destroy_containing lift_marine)
(recording_kill chief_lift)
(custom_animation chief_lift cinematics\animations\chief\level_specific\a50\a50
a50energylift true)
(camera_set_relative chief_lift_2a 0 chief_lift)
(sleep 60)
(camera_set_relative chief_lift_2b 60 chief_lift)
(sleep 30)
(cinematic_screen_effect_start true)
(cinematic_screen_effect_set_convolution 3 2 0.00 10.00 1.00)
(cinematic_screen_effect_set_filter_desaturation_tint 0.80 0.00 1.00)
(cinematic_screen_effect_set_filter 0.00 1.00 0.00 1.00 true 1.00)
(camera_set_relative chief_lift_2c 30 chief_lift)
(sleep 15)
(fade_out 0.80 0.00 1.00 15)
(sleep 15)
(camera_control false)
(unit_stop_custom_animation chief_lift)
(object_destroy chief_lift) cutscene_energy_lift
(set backpack_unit cutscene_energy_lift)
(set force_backpack_refresh true)
(sleep 30)))

(script dormant void man_marines_to_door


(begin
(ai_migrate gravity_pad_marines gravity_pad_marines/pad)
(sleep 90)
(ai_conversation gravity_secure)
(sleep 30)
(ai_migrate gravity_pad_marines gravity_pad_marines/door)
(sleep_until
(and
(volume_test_objects muster_bay_big_entrance
(players))
(game_safe_to_save)))
(if
(=
(ai_living_count gravity_pad_marines) 0)
(ai_conversation grav_mus_door_locked_alt)
(ai_conversation grav_mus_locked_door))))

(script dormant void traitor_bitch


(begin
(sleep_until
(ai_allegiance_broken player human))
(ai_command_list_advance marines_initial)))

(script dormant void mig_marines_area2


(begin
(sleep_until
(or
(and
(=
(volume_test_objects_all area1_save_trigger
(players)) false)
(=
(ai_status covenant_area2) 6))
(=
(ai_living_count covenant_area2) 0)
(volume_test_objects area2_trigger_b
(players))))
(sleep 150)
(ai_conversation_stop initial_orders)
(ai_command_list_advance marines_initial)
(sound_looping_stop cmt\sounds\sinomatixx\a50_insertion_music)
(sound_looping_set_alternate levels\a50\music\a50_01 true)
(ai_migrate marines_initial/marines_ini_left marines_initial/marines_c)
(ai_migrate marines_initial/marines_ini_right marines_initial/marines_a)
(sleep -1 traitor_bitch)
(sleep 1)
(ai_command_list marines_initial/marines_c marines_c_forward)
(ai_command_list marines_initial/marines_a marines_a_forward)
(ai_conversation marines_attack)
(sleep_until area2_marine_migrate)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_c) 0)) area2_mar_ledge_a)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_c) 1)) area2_mar_ledge_b)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_c) 2)) area2_mar_ledge_a)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_a) 0)) area2_mar_ledge_c)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_a) 1)) area2_mar_ledge_d)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_a) 2)) area2_mar_ledge_d)
(ai_command_list_by_unit
(unit
(list_get
(ai_actors marines_initial/marines_a) 3)) area2_mar_ledge_e)
(sleep 15)
(ai_migrate_and_speak marines_initial/marines_a marines_initial/marines_e advance)
(ai_migrate_and_speak marines_initial/marines_c marines_initial/marines_g advance)
(sleep 30)
(sleep_until
(and
(volume_test_objects area2_trigger_b
(players))
(=
(ai_living_count covenant_area2/elites_left) 0)
(=
(ai_living_count covenant_area2/elites_right) 0)))
(ai_migrate_and_speak marines_initial/marines_e marines_initial/marines_o advance)
(ai_migrate_and_speak marines_initial/marines_g marines_initial/marines_m advance)
(sleep
(* 30.00 5.00))
(sleep_until area2_marine_migrate_2)
(ai_migrate_and_speak marines_initial marines_initial/marines_q advance)
(sleep_until
(and
(=
(ai_living_count covenant_area2/grunts_back_left) 0)
(=
(ai_living_count covenant_area2/grunts_back_right) 0)))
(ai_migrate_and_speak marines_initial marines_initial/marines_s advance)
(sleep_until
(game_safe_to_save))
(ai_conversation area2_clear)))

(script dormant void mig_marines_area3


(begin
(ai_migrate_and_speak marines_initial marines_area3/marines_a advance)
(ai_renew marines_area3)
(sleep_until
(and
(volume_test_objects area3_trigger_a
(players))
(>
(ai_status covenant_area3) 4)))
(sleep 1)
(ai_follow_target_players marines_area3/marines_a)))

(script dormant void mig_marines_area4_middle


(begin
(ai_migrate marines_area4/squad_a marines_area4/squad_b)
(ai_renew marines_area4)
(if
(>
(ai_living_count marines_area4) 0)
(ai_conversation area4_middle))
(sleep_until
(and
(<
(ai_living_count covenant_area4/grunts_b) 2)
(=
(ai_living_count covenant_area4/jackals_g) 0)))
(ai_migrate marines_area4/squad_b marines_area4/squad_u)
(sleep_until
(and
(=
(ai_living_count covenant_area4/grunts_s) 0)
(<
(ai_living_count covenant_area4/jackals_u) 2)))
(ai_migrate marines_area4/squad_u marines_area4/squad_s)
(sleep_until
(and
(<
(ai_living_count covenant_area4/grunts_q) 2)
(<
(ai_living_count covenant_area4/elites_q) 2)))
(ai_migrate marines_area4/squad_s marines_area4/squad_o)
(sleep_until
(and
(=
(ai_living_count covenant_area4/elites_q) 0)
(=
(ai_living_count covenant_area4/grunts_q) 0)))
(ai_migrate marines_area4/squad_o marines_area4/squad_x)
(ai_follow_target_players marines_area4/squad_x)))

(script dormant void mig_marines_area4_ledge


(begin
(ai_migrate marines_area4/squad_a marines_area4/squad_c)
(if
(>
(ai_living_count marines_area4) 0)
(ai_conversation area4_left))
(sleep_until
(and
(<
(ai_living_count covenant_area4/jackals_c) 2)
(<
(ai_living_count covenant_area4/jackals_d) 2)))
(ai_migrate marines_area4/squad_c marines_area4/squad_d)
(sleep_until
(and
(=
(ai_living_count covenant_area4/jackals_c) 0)
(=
(ai_living_count covenant_area4/jackals_d) 0)))
(ai_migrate marines_area4/squad_d marines_area4/squad_m)
(sleep_until
(and
(<
(ai_living_count covenant_area4/grunts_q) 2)
(<
(ai_strength covenant_area4/elites_q) 0.70)))
(ai_migrate marines_area4/squad_m marines_area4/squad_q)
(sleep_until
(and
(=
(ai_living_count covenant_area4/elites_q) 0)
(=
(ai_living_count covenant_area4/grunts_q) 0)))
(ai_migrate marines_area4/squad_q marines_area4/squad_o)
(sleep_until
(and
(=
(ai_living_count covenant_area4/elites_q) 0)
(=
(ai_living_count covenant_area4/grunts_q) 0)))
(ai_migrate marines_area4/squad_o marines_area4/squad_x)
(ai_follow_target_players marines_area4/squad_x)))

(script dormant void mig_marines_area5


(begin
(ai_migrate marines_area4 marines_area4/squad_z)
(sleep_until
(=
(ai_status covenant_area5) 6))
(if
(>
(ai_living_count marines_area4) 0)
(ai_conversation area5_active))
(ai_migrate_and_speak marines_area4 marines_area5/marines_a advance)
(ai_follow_target_players marines_area5/marines_a)
(ai_renew marines_area5)
(set play_music_a50_03 false)))

(script dormant void mig_grav_to_mus_marines


(begin
(sleep_until muster_bay_door_unlocked)
(ai_renew gravity_pad_marines)
(ai_migrate gravity_pad_marines muster_bay_marines/squad_a)
(ai_follow_target_players muster_bay_marines/squad_a)
(ai_renew muster_bay_marines)
(set play_music_a50_06 false)
(ai_automatic_migration_target muster_bay_marines/squad_f false)
(ai_automatic_migration_target muster_bay_marines/squad_g false)
(ai_automatic_migration_target muster_bay_marines/squad_h false)))

(script dormant void mig_grav_hall_cleanup


(begin
(ai_migrate grav_mus_hall_covenant muster_bay_covenant_top/grav_hall_cleanup)
(sleep_until
(or
(= 0
(ai_living_count gravity_pad_marines))
(= 0
(ai_living_count gravity_pad_covenant))))
(ai_migrate gravity_pad_covenant muster_bay_covenant_top/grav_hall_cleanup)
(garbage_collect_now)))

(script dormant void auto_migration_deactivate


(begin
(ai_automatic_migration_target prison_marines/mig_marines_a false)
(ai_automatic_migration_target prison_marines/mig_marines_b false)
(ai_automatic_migration_target prison_marines/mig_marines_c false)
(ai_automatic_migration_target prison_marines/mig_marines_d false)
(ai_automatic_migration_target prison_marines/mig_marines_e false)
(ai_automatic_migration_target prison_marines/mig_marines_f false)
(ai_automatic_migration_target prison_marines/mig_marines_g false)
(ai_automatic_migration_target prison_marines/mig_marines_h false)
(ai_automatic_migration_target prison_marines/mig_marines_i false)
(ai_automatic_migration_target prison_marines/mig_marines_j false)
(ai_automatic_migration_target prison_marines/mig_marines_k false)
(ai_automatic_migration_target prison_marines/mig_marines_z false)
(ai_automatic_migration_target prison_marines/mig_marines_y false)))

(script dormant void mig_marines_prison_a


(begin
(sleep_until
(=
(device_group_get prison_a_switch_position) 1.00))
(begin_random
(begin
(device_group_set prison_door_a_position_a 1.00)
(sleep
(random_range 20 45)))
(begin
(device_group_set prison_door_a_position_b 1.00)
(sleep
(random_range 20 45)))
(begin
(device_group_set prison_door_a_position_c 1.00)
(sleep
(random_range 20 45)))
(begin
(device_group_set prison_door_a_position_d 1.00)
(sleep
(random_range 20 45))))
(object_set_permutation cell_a_door_a door_off-100)
(object_set_permutation cell_a_door_b door_off-100)
(object_set_permutation cell_a_door_c door_off-100)
(object_set_permutation cell_a_door_d door_off-100)
(object_set_permutation cell_a_door_e door_off-100)
(object_set_permutation cell_a_door_f door_off-100)
(object_set_permutation cell_a_door_g door_off-100)
(object_set_permutation cell_a_door_h door_off-100)))

(script dormant void mig_marines_prison_d


(begin
(sleep_until
(= 1.00
(device_group_get prison_d_switch_position)))
(begin_random
(begin
(device_group_set prison_door_d_position_a 1.00)
(sleep
(random_range 20 45)))
(begin
(device_group_set prison_door_d_position_b 1.00)
(sleep
(random_range 20 45)))
(begin
(device_group_set prison_door_d_position_c 1.00)
(sleep
(random_range 20 45)))
(begin
(device_group_set prison_door_d_position_d 1.00)
(sleep
(random_range 20 45))))
(object_set_permutation cell_d_door_a door_off-100)
(object_set_permutation cell_d_door_b door_off-100)
(object_set_permutation cell_d_door_c door_off-100)
(object_set_permutation cell_d_door_e door_off-100)
(object_set_permutation cell_d_door_f door_off-100)
(object_set_permutation cell_d_door_g door_off-100)
(object_set_permutation cell_d_door_h door_off-100)
(object_set_permutation keyes_cell_door door_off-100)
(ai_migrate prison_marines_ini/captain prison_captain/mig_cap_u)
(ai_migrate prison_marines_ini/marines_cellblock_d prison_marines/mig_marines_u)
(ai_migrate prison_marines_ini/mar_nocap_cell_d prison_suicide/mig_suicide_cell_d)
(set player_location_index 1)
(sleep 1)
(ai_follow_target_players prison_captain)
(ai_follow_target_players prison_marines)
(ai_follow_target_players prison_suicide)
(ai_follow_target_players hangar_captain_halls)
(ai_follow_target_players hangar_marines_halls)
(ai_link_activation prison_marines control_prison_hall_cov)
(ai_link_activation prison_captain prison_marines)
(ai_link_activation hangar_captain_halls hangar_marines_halls)
(device_one_sided_set control_door_a true)
(device_one_sided_set control_door_b true)
(device_one_sided_set control_door_c true)
(ai_automatic_migration_target prison_marines/mig_marines_a true)
(ai_automatic_migration_target prison_marines/mig_marines_b true)
(ai_automatic_migration_target prison_marines/mig_marines_c true)
(ai_automatic_migration_target prison_marines/mig_marines_d true)
(ai_automatic_migration_target prison_marines/mig_marines_e true)
(ai_automatic_migration_target prison_marines/mig_marines_f true)
(ai_automatic_migration_target prison_marines/mig_marines_g true)
(ai_automatic_migration_target prison_marines/mig_marines_h true)
(ai_automatic_migration_target prison_marines/mig_marines_i true)
(ai_automatic_migration_target prison_marines/mig_marines_j true)
(ai_automatic_migration_target prison_marines/mig_marines_k true)
(ai_automatic_migration_target prison_marines/mig_marines_z true)
(ai_automatic_migration_target prison_marines/mig_marines_y true)
(ai_automatic_migration_target hangar_marines_halls/squad_a false)
(ai_automatic_migration_target hangar_marines_halls/squad_b false)
(ai_automatic_migration_target hangar_marines_halls/squad_c false)
(ai_automatic_migration_target hangar_marines_halls/squad_d false)
(ai_automatic_migration_target hangar_marines_halls/squad_e false)
(ai_automatic_migration_target hangar_marines_halls/squad_f false)
(ai_automatic_migration_target hangar_marines_halls/squad_g false)
(ai_automatic_migration_target prison_captain/mig_cap_l false)
(ai_automatic_migration_target prison_captain/mig_cap_m false)
(ai_automatic_migration_target prison_captain/mig_cap_n false)
(ai_automatic_migration_target prison_captain/mig_cap_o false)
(ai_automatic_migration_target prison_marines/mig_marines_l false)
(ai_automatic_migration_target prison_marines/mig_marines_m false)
(ai_automatic_migration_target prison_marines/mig_marines_n false)
(ai_automatic_migration_target prison_marines/mig_marines_o false)))

(script static void mig_into_control


(begin
(ai_migrate prison_marines prison_marines/mig_marines_p)
(ai_migrate prison_captain prison_captain/mig_cap_p)
(ai_migrate hangar_marines_halls prison_marines/mig_marines_p)
(ai_migrate hangar_captain_halls prison_captain/mig_cap_p)
(ai_migrate_by_unit captain_keyes prison_captain/mig_cap_p)
(ai_migrate_by_unit free_marine_1 prison_marines/mig_marines_p)
(ai_migrate_by_unit free_marine_2 prison_marines/mig_marines_p)
(ai_migrate_by_unit free_marine_3 prison_marines/mig_marines_p)
(sleep 1)
(ai_teleport_to_starting_location_if_unsupported prison_marines/mig_marines_p)
(ai_teleport_to_starting_location_if_unsupported prison_captain/mig_cap_p)
(set player_location_index 1)))

(script static void mig_into_hangar


(begin
(ai_migrate prison_marines hangar_marines_halls/squad_switch)
(ai_migrate prison_captain hangar_captain_halls/squad_switch)
(ai_migrate hangar_marines_halls hangar_marines_halls/squad_switch)
(ai_migrate hangar_captain_halls hangar_captain_halls/squad_switch)
(ai_migrate_by_unit captain_keyes hangar_captain_halls/squad_switch)
(ai_migrate_by_unit free_marine_1 hangar_marines_halls/squad_switch)
(ai_migrate_by_unit free_marine_2 hangar_marines_halls/squad_switch)
(ai_migrate_by_unit free_marine_3 hangar_marines_halls/squad_switch)
(sleep 1)
(ai_teleport_to_starting_location_if_unsupported hangar_marines_halls/squad_switch)
(ai_teleport_to_starting_location_if_unsupported hangar_captain_halls/squad_switch)
(set player_location_index 2)))

(script static void mig_from_control


(begin
(if
(volume_test_objects hangar_migration
(players)) mig_from_control
(set player_location_index 1))))

(script static void mig_from_hangar


(begin
(if
(volume_test_objects control_migration
(players)) mig_from_hangar
(set player_location_index 2))))

(script continuous void ini_prison_mig_manage


(begin
(sleep 30)
(if
(= player_location_index 1) ini_prison_mig_manage
(if
(= player_location_index 2) ini_prison_mig_manage))))

(script dormant void enc_marines_area1


(begin
(ai_place marines_initial/marines_ini_left)
(ai_place marines_initial/marines_ini_right)))

(script dormant void enc_area2_ini


(begin
(ai_place covenant_area2/turret_gunner_a)
(ai_place covenant_area2/turret_gunner_b)
(ai_place covenant_area2/grunts_left)
(ai_place covenant_area2/grunts_middle)
(ai_place covenant_area2/grunts_right)
(ai_place covenant_area2/elites_left)
(ai_place covenant_area2/elites_right)
(ai_place covenant_area2/jackals_left)
(ai_place covenant_area2/jackals_right)
(sleep 1)
(objects_predict
(ai_actors covenant_area2))))

(script dormant void enc_area2_wave_2


(begin
(ai_place covenant_area2/grunts_left_b)
(ai_place covenant_area2/grunts_right_b)
(if enc_area2_wave_2
(ai_place covenant_area2/elites_back)
(begin
(ai_place covenant_area2/brutes_back)
(ai_migrate covenant_area2/brutes_back covenant_area2/elites_back)))
(sleep 1)
(objects_predict
(ai_actors covenant_area2))))

(script dormant void enc_back_area2


(begin
(ai_place covenant_area2/grunts_back_left)
(ai_place covenant_area2/grunts_back_right)
(ai_place covenant_area2/jackals_back)
(sleep 1)
(objects_predict
(ai_actors covenant_area2))))

(script continuous void ini_enter_turret_area2_norm


(begin
(if
(and
(>
(ai_living_count covenant_area2/turret_gunner_a) 0)
(>
(ai_living_count covenant_area2/turret_gunner_b) 0))
(begin_random
(begin
(ai_go_to_vehicle covenant_area2/turret_gunner_a area2_turret_a gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area2/turret_gunner_b area2_turret_b gunner)
(sleep 900))))))
(script continuous void ini_enter_turret_area2_leg
(begin
(if
(and
(>
(ai_living_count covenant_area2/turret_gunner_a) 0)
(>
(ai_living_count covenant_area2/turret_gunner_b) 0))
(begin_random
(begin
(ai_go_to_vehicle covenant_area2/turret_gunner_a area2_turret_a gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area2/turret_gunner_b area2_turret_b gunner)
(sleep 900))))
(begin_random
(begin
(ai_go_to_vehicle covenant_area2 area2_turret_a gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area2 area2_turret_b gunner)
(sleep 900))
(sleep 900))))

(script dormant void ini_gun_runner


(begin
(ai_place covenant_area2/gun_runner)
(sleep
(* 30.00 20.00))
(sleep_until
(and
(=
(ai_status marines_initial) 6)
(=
(ai_living_count covenant_area2/turret_gunner_a) 0)))
(ai_go_to_vehicle covenant_area2/gun_runner area2_turret_a gunner)
(if
(>
(ai_living_count covenant_area2/gun_runner) 0)
(begin
(ai_conversation run_for_gun)
(activate_team_nav_point_object default_red player
(unit
(list_get
(ai_actors covenant_area2/gun_runner) 0)) 0.60)))))

(script dormant void enc_area3_initial


(begin
(ai_place covenant_area3/turret_gunner_a)
(ai_place covenant_area3/grunts_ledge)
(ai_place covenant_area3/jackals_hill_left)
(ai_place covenant_area3/grunts_hill_right)
(sleep 1)
(objects_predict
(ai_actors covenant_area3))))

(script dormant void enc_area3_second


(begin
(if enc_area3_second
(ai_place covenant_area3/elites_hiding)
(begin
(ai_place covenant_area3/brutes_hiding)
(ai_migrate covenant_area3/brutes_hiding covenant_area3/elites_hiding)))
(ai_place covenant_area3/grunts_back)
(sleep 1)
(objects_predict
(ai_actors covenant_area3))))

(script dormant void enc_elites_front_area3


(begin
(if enc_elites_front_area3
(ai_place covenant_area3/elites_front)
(begin
(ai_place covenant_area3/brutes_front)
(ai_migrate covenant_area3/brutes_front covenant_area3/elites_front)))
(sleep 1)
(objects_predict
(ai_actors covenant_area3))))

(script dormant void enc_elites_reins_area3


(begin
(if enc_elites_reins_area3
(ai_place covenant_area3/elites_reins)
(begin
(ai_place covenant_area3/brutes_reins)
(ai_migrate covenant_area3/brutes_reins covenant_area3/elites_reins)))
(sleep 1)
(objects_predict
(ai_actors covenant_area3))))

(script dormant void enc_grunts_reins_area3


(begin
(ai_place covenant_area3/grunts_reins)
(sleep 1)
(objects_predict
(ai_actors covenant_area3))))

(script dormant void ini_area3_turrets_leg


(begin
(ai_place covenant_area3/turret_gunner_b)
(object_create area3_turret_b)
(ai_go_to_vehicle covenant_area3/turret_gunner_b area3_turret_b gunner)
(sleep 1)
(objects_predict
(ai_actors covenant_area3))))

(script continuous void ini_enter_turret_area3_norm


(begin
(ai_go_to_vehicle covenant_area3/turret_gunner_a area3_turret_a gunner)
(sleep 900)
(sleep 1)
(objects_predict
(ai_actors covenant_area3))))

(script continuous void ini_enter_turret_area3_leg


(begin
(ai_go_to_vehicle covenant_area3/turret_gunner_a area3_turret_a gunner)
(ai_go_to_vehicle covenant_area3/turret_gunner_b area3_turret_b gunner)
(if
(and
(=
(ai_living_count covenant_area3/turret_gunner_a) 0)
(=
(ai_living_count covenant_area3/turret_gunner_b) 0))
(begin_random
(begin
(ai_go_to_vehicle covenant_area3 area3_turret_a gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area3 area3_turret_b gunner)
(sleep 900))
(sleep 900)))))

(script dormant void enc_area4_initial


(begin
(ai_place covenant_area4/jackals_u)
(ai_place covenant_area4/jackals_d)
(ai_place covenant_area4/grunts_b)
(if enc_area4_initial
(ai_place covenant_area4/elites_e)
(begin
(ai_place covenant_area4/brutes_e)
(ai_migrate covenant_area4/brutes_e covenant_area4/elites_e)))
(sleep 1)
(objects_predict
(ai_actors covenant_area4))))

(script dormant void enc_area4_second


(begin
(if enc_area4_second
(ai_place covenant_area4/elites_q)
(begin
(ai_place covenant_area4/brutes_q)
(ai_migrate covenant_area4/brutes_q covenant_area4/elites_q)))
(if
(<
(ai_living_count covenant_area4) 6)
(ai_place covenant_area4/grunts_q))
(ai_place covenant_area4/grunts_k)
(sleep 1)
(objects_predict
(ai_actors covenant_area4))))

(script dormant void dialog_area4_initial


(begin
(ai_conversation area4_initial)
(sleep_until
(volume_test_objects area4_trigger_a
(players)))
(if
(<
(ai_status covenant_area4) 4)
(ai_conversation_advance area4_initial))))

(script continuous void ini_area4_player_locator


(begin
(if
(volume_test_objects area4_location_1
(players))
(set area4_location_index 1)
(if
(volume_test_objects area4_location_2
(players))
(set area4_location_index 2)
(if true
(set area4_location_index 0))))
(sleep
(* 30.00 5.00))))

(script dormant void ini_area4_grunts_m


(begin
(sleep_until
(or
(volume_test_objects area4_grunts_m_trigger
(players))
(volume_test_objects area4_grunts_m_trigger
(ai_actors marines_area4))))
(if
(<
(ai_living_count covenant_area4) 7)
(ai_place covenant_area4/grunts_m))))

(script dormant void ini_area4_marine_reins


(begin
(sleep_until
(and area4_pelican_a
(!= area4_location_index 0)
(<
(ai_living_count covenant_area4) 11)
(<
(ai_living_count marines_area4) 1)))
(if area4_marine_reins
(if
(= area4_location_index 1)
(begin
(if
(not
(game_is_cooperative)) ini_area4_marine_reins))
(if
(= area4_location_index 2)
(begin
(if
(not
(game_is_cooperative)) ini_area4_marine_reins)))))))

(script dormant void ini_area4_dropship


(begin
(sleep_until
(and area4_covenant_reins
(<
(ai_living_count covenant_area4) 5)))
(sleep 1)
(if
(and area4_cov_dropship
(<
(ai_living_count covenant_area4) 5)) ini_area4_dropship)))

(script dormant void ini_area4_reins


(begin
(if ini_area4_reins
(ai_place covenant_area4/elites_reins)
(begin
(ai_place covenant_area4/brutes_reins)
(ai_migrate covenant_area4/brutes_reins covenant_area4/elites_reins)))
(if
(<
(ai_living_count covenant_area4) 7)
(ai_place covenant_area4/grunts_reins))
(sleep 1)
(ai_allow_dormant covenant_area4/elites_reins false)
(ai_allow_dormant covenant_area4/grunts_reins false)
(ai_migrate covenant_area4 covenant_area4/squad_y)
(ai_follow_target_players covenant_area4/squad_y)))

(script dormant void ini_area4_turrets


(begin
(begin_random
(if area4_turret_spawn
(begin
(ai_place covenant_area4/turret_gunner_a)
(object_create area4_turret_a)
(set area4_turret_counter
(+ 1.00 area4_turret_counter))
(if area4_turret_spawn
(begin
(ai_place covenant_area4/turret_gunner_b)
(object_create area4_turret_b)
(set area4_turret_counter
(+ 1.00 area4_turret_counter))
(if
(= area4_turret_counter area4_turret_limit)
(set area4_turret_spawn false))))
(if area4_turret_spawn
(begin
(ai_place covenant_area4/turret_gunner_c)
(object_create area4_turret_c)
(set area4_turret_counter
(+ 1.00 area4_turret_counter))
(if
(= area4_turret_counter area4_turret_limit)
(set area4_turret_spawn false))))
(if area4_turret_spawn
(begin
(ai_place covenant_area4/turret_gunner_d)
(object_create area4_turret_d)
(set area4_turret_counter
(+ 1.00 area4_turret_counter))
(if
(= area4_turret_counter area4_turret_limit)
(set area4_turret_spawn false))))
(if area4_turret_spawn
(begin
(ai_place covenant_area4/turret_gunner_e)
(object_create area4_turret_e)
(set area4_turret_counter
(+ 1.00 area4_turret_counter))
(if
(= area4_turret_counter area4_turret_limit)
(set area4_turret_spawn false)))))))))

(script continuous void ini_enter_turret_area4_norm


(begin
(ai_go_to_vehicle covenant_area4/turret_gunner_a area4_turret_a gunner)
(ai_go_to_vehicle covenant_area4/turret_gunner_b area4_turret_b gunner)
(ai_go_to_vehicle covenant_area4/turret_gunner_c area4_turret_c gunner)
(ai_go_to_vehicle covenant_area4/turret_gunner_d area4_turret_d gunner)
(ai_go_to_vehicle covenant_area4/turret_gunner_e area4_turret_e gunner)
(sleep 900)))

(script continuous void ini_enter_turret_area4_leg


(begin
(ai_go_to_vehicle covenant_area4/turret_gunner_a area4_turret_a gunner)
(ai_go_to_vehicle covenant_area4/turret_gunner_b area4_turret_b gunner)
(ai_go_to_vehicle covenant_area4/turret_gunner_c area4_turret_c gunner)
(ai_go_to_vehicle covenant_area4/turret_gunner_d area4_turret_d gunner)
(ai_go_to_vehicle covenant_area4/turret_gunner_e area4_turret_e gunner)
(sleep 900)
(if
(and
(=
(ai_living_count covenant_area4/turret_gunner_a) 0)
(=
(ai_living_count covenant_area4/turret_gunner_b) 0)
(=
(ai_living_count covenant_area4/turret_gunner_c) 0)
(=
(ai_living_count covenant_area4/turret_gunner_d) 0)
(=
(ai_living_count covenant_area4/turret_gunner_e) 0))
(begin_random
(begin
(ai_go_to_vehicle covenant_area4 area4_turret_a gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area4 area4_turret_b gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area4 area4_turret_c gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area4 area4_turret_d gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area4 area4_turret_e gunner)
(sleep 900))
(sleep 900)))))

(script dormant void enc_area5_ini


(begin
(if enc_area5_ini
(ai_place covenant_area5/elites_w)
(begin
(ai_place covenant_area5/brutes_w)
(ai_migrate covenant_area5/brutes_w covenant_area5/elites_w)))
(ai_place covenant_area5/grunts_a)
(ai_place covenant_area5/jackals_c)
(sleep 1)
(objects_predict
(ai_actors covenant_area5))))

(script dormant void enc_area5_hunters


(begin
(ai_place covenant_area5/hunters)
(custom_animation_list
(ai_actors covenant_area5/hunters)
cmt\cinematics\animations\hunter\level_specific\a50\a50 a50energylift false)
(sleep 1)
(objects_predict
(ai_actors covenant_area5))
(sleep 300)
(ai_magically_see_players covenant_area5)))

(script static void enc_area5_e


(begin
(ai_place covenant_area5/elites_e)
(custom_animation_list
(ai_actors covenant_area5/elites_e)
cmt\cinematics\animations\brute\level_specific\a50\a50 a50energylift false)
(begin_random
(if area5_e_spawn
(begin
(ai_place covenant_area5/grunts_e)
(custom_animation_list
(ai_actors covenant_area5/grunts_e)
cinematics\animations\grunt\level_specific\a50\a50 a50energylift false)
(set area5_e_spawn_counter
(+ 1.00 area5_e_spawn_counter))
(if
(= area5_e_spawn_counter 2)
(set area5_e_spawn false))))
(if area5_e_spawn
(begin
(ai_place covenant_area5/jackals_e)
(custom_animation_list
(ai_actors covenant_area5/jackals_e)
cmt\cinematics\animations\jackal\level_specific\a50\a50 a50energylift false)
(set area5_e_spawn_counter
(+ 1.00 area5_e_spawn_counter))
(if
(= area5_e_spawn_counter 2)
(set area5_e_spawn false)))))
(set area5_e_spawn_counter 0)))

(script static void enc_area5_g


(begin
(ai_place covenant_area5/elites_g)
(custom_animation_list
(ai_actors covenant_area5/elites_g)
cmt\cinematics\animations\brute\level_specific\a50\a50 a50energylift false)
(begin_random
(if area5_g_spawn
(begin
(ai_place covenant_area5/grunts_g)
(custom_animation_list
(ai_actors covenant_area5/grunts_g)
cinematics\animations\grunt\level_specific\a50\a50 a50energylift false)
(set area5_g_spawn_counter
(+ 1.00 area5_g_spawn_counter))
(if
(= area5_g_spawn_counter 2)
(set area5_g_spawn false))))
(if area5_g_spawn
(begin
(ai_place covenant_area5/jackals_g)
(custom_animation_list
(ai_actors covenant_area5/jackals_g)
cmt\cinematics\animations\jackal\level_specific\a50\a50 a50energylift false)
(set area5_g_spawn_counter
(+ 1.00 area5_g_spawn_counter))
(if
(= area5_g_spawn_counter 2)
(set area5_g_spawn false)))))
(set area5_g_spawn_counter 0)))

(script static void enc_area5_o


(begin
(ai_place covenant_area5/elites_o)
(custom_animation_list
(ai_actors covenant_area5/elites_o)
cmt\cinematics\animations\brute\level_specific\a50\a50 a50energylift false)
(begin_random
(if area5_o_spawn
(begin
(ai_place covenant_area5/grunts_o)
(custom_animation_list
(ai_actors covenant_area5/grunts_o)
cinematics\animations\grunt\level_specific\a50\a50 a50energylift false)
(set area5_o_spawn_counter
(+ 1.00 area5_o_spawn_counter))
(if
(= area5_o_spawn_counter 2)
(set area5_o_spawn false))))
(if area5_o_spawn
(begin
(ai_place covenant_area5/jackals_o)
(custom_animation_list
(ai_actors covenant_area5/jackals_o)
cmt\cinematics\animations\jackal\level_specific\a50\a50 a50energylift false)
(set area5_o_spawn_counter
(+ 1.00 area5_o_spawn_counter))
(if
(= area5_o_spawn_counter 2)
(set area5_o_spawn false)))))
(set area5_o_spawn_counter 0)))

(script static void enc_area5_q


(begin
(ai_place covenant_area5/elites_q)
(custom_animation_list
(ai_actors covenant_area5/elites_q)
cinematics\animations\elite\level_specific\a50\a50 a50energylift false)
(begin_random
(if area5_q_spawn
(begin
(ai_place covenant_area5/grunts_q)
(custom_animation_list
(ai_actors covenant_area5/grunts_q)
cinematics\animations\grunt\level_specific\a50\a50 a50energylift false)
(set area5_q_spawn_counter
(+ 1.00 area5_q_spawn_counter))
(if
(= area5_q_spawn_counter 2)
(set area5_q_spawn false))))
(if area5_q_spawn
(begin
(ai_place covenant_area5/jackals_q)
(custom_animation_list
(ai_actors covenant_area5/jackals_q)
cmt\cinematics\animations\jackal\level_specific\a50\a50 a50energylift false)
(set area5_q_spawn_counter
(+ 1.00 area5_q_spawn_counter))
(if
(= area5_q_spawn_counter 2)
(set area5_q_spawn false)))))
(set area5_q_spawn_counter 0)))

(script dormant void dialog_area5_initial


(begin
(ai_conversation area5_initial)
(set play_music_a50_03 false)))

(script dormant void ini_area5_turrets


(begin
(begin_random
(if area5_turret_spawn
(begin
(ai_place covenant_area5/turret_gunner_a)
(object_create area5_turret_a)
(set area5_turret_counter
(+ 1.00 area5_turret_counter))
(if
(= area5_turret_counter area5_turret_limit)
(set area5_turret_spawn false))))
(if area5_turret_spawn
(begin
(ai_place covenant_area5/turret_gunner_b)
(object_create area5_turret_b)
(set area5_turret_counter
(+ 1.00 area5_turret_counter))
(if
(= area5_turret_counter area5_turret_limit)
(set area5_turret_spawn false))))
(if area5_turret_spawn
(begin
(ai_place covenant_area5/turret_gunner_c)
(object_create area5_turret_c)
(set area5_turret_counter
(+ 1.00 area5_turret_counter))
(if
(= area5_turret_counter area5_turret_limit)
(set area5_turret_spawn false))))
(if area5_turret_spawn
(begin
(ai_place covenant_area5/turret_gunner_d)
(object_create area5_turret_d)
(set area5_turret_counter
(+ 1.00 area5_turret_counter))
(if
(= area5_turret_counter area5_turret_limit)
(set area5_turret_spawn false))))
(if area5_turret_spawn
(begin
(ai_place covenant_area5/turret_gunner_e)
(object_create area5_turret_e)
(set area5_turret_counter
(+ 1.00 area5_turret_counter))
(if
(= area5_turret_counter area5_turret_limit)
(set area5_turret_spawn false)))))
(sleep 1)
(objects_predict
(ai_actors covenant_area5))))

(script continuous void ini_enter_turret_area5_norm


(begin
(ai_go_to_vehicle covenant_area5/turret_gunner_a area5_turret_a gunner)
(ai_go_to_vehicle covenant_area5/turret_gunner_b area5_turret_b gunner)
(ai_go_to_vehicle covenant_area5/turret_gunner_c area5_turret_c gunner)
(ai_go_to_vehicle covenant_area5/turret_gunner_d area5_turret_d gunner)
(ai_go_to_vehicle covenant_area5/turret_gunner_e area5_turret_e gunner)
(sleep 900)))

(script continuous void ini_enter_turret_area5_leg


(begin
(ai_go_to_vehicle covenant_area5/turret_gunner_a area5_turret_a gunner)
(ai_go_to_vehicle covenant_area5/turret_gunner_b area5_turret_b gunner)
(ai_go_to_vehicle covenant_area5/turret_gunner_c area5_turret_c gunner)
(ai_go_to_vehicle covenant_area5/turret_gunner_d area5_turret_d gunner)
(ai_go_to_vehicle covenant_area5/turret_gunner_e area5_turret_e gunner)
(sleep 900)
(if
(and
(>
(ai_living_count covenant_area5/turret_gunner_a) 0)
(>
(ai_living_count covenant_area5/turret_gunner_b) 0)
(>
(ai_living_count covenant_area5/turret_gunner_c) 0)
(>
(ai_living_count covenant_area5/turret_gunner_d) 0)
(>
(ai_living_count covenant_area5/turret_gunner_e) 0))
(begin_random
(begin
(ai_go_to_vehicle covenant_area5 area5_turret_a gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area5 area5_turret_b gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area5 area5_turret_c gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area5 area5_turret_d gunner)
(sleep 900))
(begin
(ai_go_to_vehicle covenant_area5 area5_turret_e gunner)
(sleep 900))
(sleep 900)))))

(script continuous void ini_area5_spawner


(begin
(if
(and
(<
(ai_living_count covenant_area5) 2)
(volume_test_objects area5_e_trigger
(players)) area5_e_spawn) ini_area5_spawner)
(sleep 120)
(if
(and
(<
(ai_living_count covenant_area5) 2)
(volume_test_objects area5_g_trigger
(players)) area5_g_spawn) ini_area5_spawner)
(sleep 120)
(if
(and
(<
(ai_living_count covenant_area5) 2)
(volume_test_objects area5_o_trigger
(players)) area5_o_spawn) ini_area5_spawner)
(sleep 120)
(if
(and
(<
(ai_living_count covenant_area5) 2)
(volume_test_objects area5_q_trigger
(players)) area5_q_spawn) ini_area5_spawner)
(sleep 120)
(sleep 1)
(objects_predict
(ai_actors covenant_area5))))

(script continuous void ini_area5_random_spawner


(begin
(begin_random
(begin
(sleep_until
(<
(ai_living_count covenant_area5) 2))
(if area5_e_spawn ini_area5_random_spawner))
(begin
(sleep_until
(<
(ai_living_count covenant_area5) 2))
(if area5_g_spawn ini_area5_random_spawner))
(begin
(sleep_until
(<
(ai_living_count covenant_area5) 2))
(if area5_o_spawn ini_area5_random_spawner))
(begin
(sleep_until
(<
(ai_living_count covenant_area5) 2))
(if area5_q_spawn ini_area5_random_spawner)))
(sleep 1)
(objects_predict
(ai_actors covenant_area5))))

(script continuous void ini_area5_cov_chaser


(begin
(if
(or
(>
(ai_living_count covenant_area5/elites_e) 0)
(>
(ai_living_count covenant_area5/grunts_e) 0)
(>
(ai_living_count covenant_area5/jackals_e) 0))
(begin
(sleep
(* 30.00 5.00))
(ai_migrate covenant_area5 covenant_area5/squad_e)
(sleep 1)
(ai_follow_target_players covenant_area5/squad_e)))
(if
(or
(>
(ai_living_count covenant_area5/elites_g) 0)
(>
(ai_living_count covenant_area5/grunts_g) 0)
(>
(ai_living_count covenant_area5/jackals_g) 0))
(begin
(sleep
(* 30.00 5.00))
(ai_migrate covenant_area5 covenant_area5/squad_g)
(sleep 1)
(ai_follow_target_players covenant_area5/squad_g)))
(if
(or
(>
(ai_living_count covenant_area5/elites_o) 0)
(>
(ai_living_count covenant_area5/grunts_o) 0)
(>
(ai_living_count covenant_area5/jackals_o) 0))
(begin
(sleep
(* 30.00 5.00))
(ai_migrate covenant_area5 covenant_area5/squad_o)
(sleep 1)
(ai_follow_target_players covenant_area5/squad_o)))
(if
(or
(>
(ai_living_count covenant_area5/elites_q) 0)
(>
(ai_living_count covenant_area5/grunts_q) 0)
(>
(ai_living_count covenant_area5/jackals_q) 0))
(begin
(sleep
(* 30.00 5.00))
(ai_migrate covenant_area5 covenant_area5/squad_q)
(sleep 1)
(ai_follow_target_players covenant_area5/squad_q)))
(sleep 150)))

(script static void gravity_spawn_legendary


(begin
(set area5_e_spawn true)
(set area5_g_spawn true)
(set area5_o_spawn true)
(set area5_q_spawn true)
(sleep 1)
(sleep_until
(and
(not area5_e_spawn)
(not area5_g_spawn)
(not area5_o_spawn)
(not area5_q_spawn)))))

(script dormant void ini_area5_pelican


(begin
(sleep_until
(and
(volume_test_objects area5_dropship_trigger
(players))
(<
(ai_living_count marines_area5) 1)))
(if
(and area5_pelican
(not
(game_is_cooperative))) ini_area5_pelican)))

(script dormant void ini_area5_c_dropship


(begin
(sleep_until
(<
(ai_living_count covenant_area5) 3)) ini_area5_c_dropship
(sleep_until
(<
(ai_living_count marines_area5/dropship_marines) 1))
(ai_migrate covenant_area5/grunts_drop covenant_area5/squad_s)
(ai_migrate covenant_area5/jackals_drop covenant_area5/squad_s)
(sleep 1)
(ai_follow_target_players covenant_area5/squad_s)))

(script dormant void dialog_area5_guns


(begin
(sleep_until
(or
(=
(ai_status covenant_area5/turret_gunner_a) 6)
(=
(ai_status covenant_area5/turret_gunner_b) 6)
(=
(ai_status covenant_area5/turret_gunner_c) 6)
(=
(ai_status covenant_area5/turret_gunner_d) 6)
(=
(ai_status covenant_area5/turret_gunner_e) 6)))
(sleep -1 dialog_area5_initial)
(if
(>
(ai_living_count marines_area5) 0)
(ai_conversation area5_guns))
(sleep_until
(and
(=
(ai_living_count covenant_area5/turret_gunner_a) 0)
(=
(ai_living_count covenant_area5/turret_gunner_b) 0)
(=
(ai_living_count covenant_area5/turret_gunner_c) 0)
(=
(ai_living_count covenant_area5/turret_gunner_d) 0)
(=
(ai_living_count covenant_area5/turret_gunner_e) 0)))
(if
(>
(ai_living_count marines_area5) 0)
(ai_conversation area5_guns_clear))))

(script continuous void ini_area5_cleanup_kill


(begin
(if
(<
(ai_status covenant_area4) 3)
(ai_kill_silent covenant_area4))
(sleep 300)))

(script dormant void enc_grav_marines


(begin
(ai_place gravity_pad_marines)
(sleep 1)
(objects_predict
(ai_actors gravity_pad_marines))))

(script dormant void enc_grav_stealth_ini


(begin
(ai_place gravity_pad_covenant/stealth_ini)))

(script dormant void enc_grav_hunters


(begin
(ai_place gravity_pad_covenant/grav_front_hunters)
(sleep_until
(volume_test_objects grav_second_wave
(players)))
(ai_migrate gravity_pad_covenant gravity_pad_covenant/all)))

(script static void enc_grav_cov_frontleft


(begin
(set grav_frontleft true)
(begin_random
(if grav_frontleft
(begin
(ai_place gravity_pad_covenant/grav_frontleft_grunts)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontleft false))))
(if
(and grav_frontleft
(=
(game_difficulty_get) normal))
(begin
(ai_place gravity_pad_covenant/grav_frontleft_elites)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontleft false))))
(if grav_frontleft
(begin
(ai_place gravity_pad_covenant/grav_frontleft_grunts_b)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontleft false))))
(if grav_frontleft
(begin
(ai_place gravity_pad_covenant/grav_frontleft_jackals)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontleft false))))
(if
(and grav_frontleft
(=
(game_difficulty_get) impossible))
(begin
(ai_place gravity_pad_covenant/frontleft_commander)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontleft false))))
(if
(and grav_frontleft
(=
(game_difficulty_get) hard))
(begin
(ai_place gravity_pad_covenant/frontleft_stealth)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontleft false)))))
(set gravity_enc_index 0)))

(script static void enc_grav_cov_frontright


(begin
(set grav_frontright true)
(begin_random
(if grav_frontright
(begin
(ai_place gravity_pad_covenant/grav_frontright_grunts)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontright false))))
(if
(and grav_frontright
(=
(game_difficulty_get) normal))
(begin
(ai_place gravity_pad_covenant/grav_frontright_elites)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontright false))))
(if grav_frontright
(begin
(ai_place gravity_pad_covenant/grav_frontright_grunts_b)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontright false))))
(if grav_frontright
(begin
(ai_place gravity_pad_covenant/grav_frontright_jackals)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontright false))))
(if
(and grav_frontright
(=
(game_difficulty_get) impossible))
(begin
(ai_place gravity_pad_covenant/frontright_commander)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontright false))))
(if
(and grav_frontright
(=
(game_difficulty_get) hard))
(begin
(ai_place gravity_pad_covenant/frontright_stealth)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_frontright false)))))
(set gravity_enc_index 0)))

(script static void enc_grav_cov_rearleft


(begin
(set grav_rearleft true)
(begin_random
(if grav_rearleft
(begin
(ai_place gravity_pad_covenant/grav_rearleft_grunts)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearleft false))))
(if
(and grav_rearleft
(=
(game_difficulty_get) normal))
(begin
(ai_place gravity_pad_covenant/grav_rearleft_elites)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearleft false))))
(if grav_rearleft
(begin
(ai_place gravity_pad_covenant/grav_rearleft_grunts_b)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearleft false))))
(if grav_rearleft
(begin
(ai_place gravity_pad_covenant/grav_rearleft_jackals)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearleft false))))
(if
(and grav_rearleft
(=
(game_difficulty_get) impossible))
(begin
(ai_place gravity_pad_covenant/rearleft_commander)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearleft false))))
(if
(and grav_rearleft
(=
(game_difficulty_get) hard))
(begin
(ai_place gravity_pad_covenant/rearleft_stealth)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearleft false)))))
(set gravity_enc_index 0)))

(script static void enc_grav_cov_rearright


(begin
(set grav_rearright true)
(begin_random
(if grav_rearright
(begin
(ai_place gravity_pad_covenant/grav_rearright_grunts)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearright false))))
(if
(and grav_rearright
(=
(game_difficulty_get) normal))
(begin
(ai_place gravity_pad_covenant/grav_rearright_elites)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearright false))))
(if grav_rearright
(begin
(ai_place gravity_pad_covenant/grav_rearright_grunts_b)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearright false))))
(if grav_rearright
(begin
(ai_place gravity_pad_covenant/grav_rearright_jackals)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearright false))))
(if
(and grav_rearright
(=
(game_difficulty_get) impossible))
(begin
(ai_place gravity_pad_covenant/rearright_commander)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearright false))))
(if
(and grav_rearright
(=
(game_difficulty_get) hard))
(begin
(ai_place gravity_pad_covenant/rearright_stealth)
(set gravity_enc_index
(+ 1.00 gravity_enc_index))
(if
(= 2 gravity_enc_index)
(set grav_rearright false)))))
(set gravity_enc_index 0)))

(script dormant void gravity_marines_revive


(begin
(sleep_until
(= 2 gravity_wave_index) 60)
(ai_renew gravity_pad_marines)
(sleep_until
(= 4 gravity_wave_index) 60)
(ai_renew gravity_pad_marines)
(sleep_until
(= 6 gravity_wave_index) 60)
(ai_renew gravity_pad_marines)
(sleep_until
(= 8 gravity_wave_index) 60)
(ai_renew gravity_pad_marines)
(sleep_until
(= 10 gravity_wave_index) 60)
(ai_renew gravity_pad_marines)))

(script continuous void ini_gravity_wave


(begin
(sleep_until gravity_wave)
(begin_random
(if gravity_wave
(if
(and
(=
(volume_test_objects grav_leftfront_safe
(players)) false)
(=
(device_get_position gravity_door_lf) 0.00))
(begin ini_gravity_wave
(set gravity_wave_index
(+ 1.00 gravity_wave_index))
(if
(= ini_grav_wave_index gravity_wave_index)
(set gravity_wave false))
(sleep_until
(<
(ai_living_count gravity_pad_covenant) 1) 30 450))))
(if gravity_wave
(if
(and
(=
(volume_test_objects grav_rightfront_safe
(players)) false)
(=
(device_get_position gravity_door_rf) 0.00))
(begin ini_gravity_wave
(set gravity_wave_index
(+ 1.00 gravity_wave_index))
(if
(= ini_grav_wave_index gravity_wave_index)
(set gravity_wave false))
(sleep_until
(<
(ai_living_count gravity_pad_covenant) 1) 30 450))))
(if gravity_wave
(if
(and
(=
(volume_test_objects grav_leftrear_safe
(players)) false)
(=
(device_get_position gravity_door_lr) 0.00))
(begin ini_gravity_wave
(set gravity_wave_index
(+ 1.00 gravity_wave_index))
(if
(= ini_grav_wave_index gravity_wave_index)
(set gravity_wave false))
(sleep_until
(<
(ai_living_count gravity_pad_covenant) 1) 30 450))))
(if gravity_wave
(if
(and
(=
(volume_test_objects grav_rightrear_safe
(players)) false)
(=
(device_get_position gravity_door_rr) 0.00))
(begin ini_gravity_wave
(set gravity_wave_index
(+ 1.00 gravity_wave_index))
(if
(= ini_grav_wave_index gravity_wave_index)
(set gravity_wave false))
(sleep_until
(<
(ai_living_count gravity_pad_covenant) 1) 30 450)))))
(if
(= ini_grav_wave_index gravity_wave_index)
(set gravity_wave_index 0))
(sleep 1)
(objects_predict
(ai_actors gravity_pad_covenant))))

(script dormant void enc_grav_mus_hall


(begin
(sleep_until
(volume_test_objects grav_muster_top_hall
(players)))
(ai_place grav_mus_hall_covenant/sidehall_grunts_left)
(ai_place grav_mus_hall_covenant/sidehall_grunts_right)
(ai_place grav_mus_hall_covenant/sidehall_elites_left)
(ai_place grav_mus_hall_covenant/sidehall_elites_right)
(ai_place grav_mus_hall_covenant/muster_grunts)
(if enc_grav_mus_hall
(ai_place grav_mus_hall_covenant/muster_elites)
(begin
(ai_place grav_mus_hall_covenant/muster_brutes)
(ai_migrate grav_mus_hall_covenant/muster_brutes
grav_mus_hall_covenant/muster_elites)))
(sleep 1)
(objects_predict
(ai_actors grav_mus_hall_covenant))))

(script continuous void enc_grav_mus_hall_rear


(begin
(sleep_until
(volume_test_objects grav_muster_top_hall
(players)))
(sleep_until
(= false
(volume_test_objects grav_leftrear_safe
(players))))
(begin_random
(if grav_mus_hall
(begin
(ai_place grav_mus_hall_covenant/rear_grunts)
(set grav_mus_hall_index
(+ 1.00 grav_mus_hall_index))
(if
(= 1 grav_mus_hall_index)
(set grav_mus_hall false))))
(if grav_mus_hall
(begin
(ai_place grav_mus_hall_covenant/rear_jackals)
(set grav_mus_hall_index
(+ 1.00 grav_mus_hall_index))
(if
(= 1 grav_mus_hall_index)
(set grav_mus_hall false)))))
(ai_magically_see_players grav_mus_hall_covenant/rear_grunts)
(ai_magically_see_players grav_mus_hall_covenant/rear_jackals)
(sleep
(* 30.00 30.00))
(set grav_mus_hall true)
(set grav_mus_hall_index 0)
(sleep 1)
(objects_predict
(ai_actors grav_mus_hall_covenant))))

(script dormant void enc_muster_ini


(begin
(ai_place muster_bay_covenant_bottom/grunts_ini)
(if enc_muster_ini
(ai_place muster_bay_covenant_bottom/elites_ini)
(begin
(ai_place muster_bay_covenant_bottom/brutes_ini)
(ai_migrate muster_bay_covenant_bottom/brutes_ini
muster_bay_covenant_bottom/elites_ini)))
(ai_place muster_bay_covenant_bottom/jackals_ini)
(sleep 1)
(objects_predict
(ai_actors muster_bay_covenant_bottom))))

(script dormant void ini_muster_hall


(begin
(sleep_until
(or
(volume_test_objects mus_hangar_ledgehall
(players))
(>
(device_get_position muster_hall_door_b) 0.00)) 15)
(ai_place muster_hall_cov/grunts_b)
(ai_place muster_hall_cov/jackals_a)
(if ini_muster_hall
(ai_place muster_hall_cov/elites_c)
(begin
(ai_place muster_hall_cov/brutes_c)
(ai_migrate muster_hall_cov/brutes_c muster_hall_cov/elites_c)))
(sleep 1)
(device_set_power muster_ledge_door 1.00)
(objects_predict
(ai_actors muster_hall_cov))))

(script dormant void ini_muster_bay_door_check


(begin
(sleep_until
(>
(device_get_position muster_bay_door) 0.50))
(sleep -1 man_marines_to_door)
(set muster_bay_door_unlocked true)
(deactivate_team_nav_point_object player muster_bay_control)
(set play_music_a50_06 false)))

(script dormant void enc_muster_hangar_hall


(begin
(ai_place muster_hangar_hall_cov/jackals_a)
(ai_place muster_hangar_hall_cov/grunts_b)
(if enc_muster_hangar_hall
(ai_place muster_hangar_hall_cov/elites_c)
(begin
(ai_place muster_hangar_hall_cov/brutes_c)
(ai_place muster_hangar_hall_cov/elites_c)))
(sleep 1)
(objects_predict
(ai_actors muster_bay_covenant_bottom))))

(script static void enc_mus_bot_l1


(begin
(set muster_l1 true)
(begin_random
(if muster_l1
(begin
(ai_place muster_bay_covenant_bottom/mus_jackals_l1)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l1 false))))
(if muster_l1
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_l1)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l1 false))))
(if muster_l1
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_b_l1)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l1 false))))
(if muster_l1
(begin
(if enc_mus_bot_l1
(ai_place muster_bay_covenant_bottom/mus_elites_l1)
(begin
(ai_place muster_bay_covenant_bottom/mus_brutes_l1)
(ai_place muster_bay_covenant_bottom/mus_elites_l1)))
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l1 false)))))
(set muster_enc_index 0)))

(script static void enc_mus_bot_l2


(begin
(set muster_l2 true)
(begin_random
(if muster_l2
(begin
(ai_place muster_bay_covenant_bottom/mus_jackals_l2)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l2 false))))
(if muster_l2
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_l2)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l2 false))))
(if muster_l2
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_b_l2)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l2 false))))
(if muster_l2
(begin
(ai_place muster_bay_covenant_bottom/mus_elites_l2)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l2 false)))))
(set muster_enc_index 0)))

(script static void enc_mus_bot_l3


(begin
(set muster_l3 true)
(begin_random
(if muster_l3
(begin
(ai_place muster_bay_covenant_bottom/mus_jackals_l3)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l3 false))))
(if muster_l3
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_l3)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l3 false))))
(if muster_l3
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_b_l3)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l3 false))))
(if muster_l3
(begin
(if enc_mus_bot_l3
(ai_place muster_bay_covenant_bottom/mus_elites_l3)
(begin
(ai_place muster_bay_covenant_bottom/mus_brutes_l3)
(ai_migrate muster_bay_covenant_bottom/mus_brutes_l3
muster_bay_covenant_bottom/mus_elites_l3)))
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_l3 false)))))
(set muster_enc_index 0)))

(script static void enc_mus_bot_r1


(begin
(set muster_r1 true)
(begin_random
(if muster_r1
(begin
(ai_place muster_bay_covenant_bottom/mus_jackals_r1)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r1 false))))
(if muster_r1
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_r1)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r1 false))))
(if muster_r1
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_b_r1)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r1 false))))
(if muster_r1
(begin
(if enc_mus_bot_r1
(ai_place muster_bay_covenant_bottom/mus_elites_r1)
(begin
(ai_place muster_bay_covenant_bottom/mus_brutes_r1)
(ai_migrate muster_bay_covenant_bottom/mus_brutes_r1
muster_bay_covenant_bottom/mus_elites_r1)))
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r1 false)))))
(set muster_enc_index 0)))

(script static void enc_mus_bot_r2


(begin
(set muster_r2 true)
(begin_random
(if muster_r2
(begin
(ai_place muster_bay_covenant_bottom/mus_jackals_r2)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r2 false))))
(if muster_r2
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_r2)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r2 false))))
(if muster_r2
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_b_r2)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r2 false))))
(if muster_r2
(begin
(if enc_mus_bot_r2
(ai_place muster_bay_covenant_bottom/mus_elites_r2)
(begin
(ai_place muster_bay_covenant_bottom/mus_brutes_r2)
(ai_migrate muster_bay_covenant_bottom/mus_brutes_r2
muster_bay_covenant_bottom/mus_elites_r2)))
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r2 false)))))
(set muster_enc_index 0)))

(script static void enc_mus_bot_r3


(begin
(set muster_r3 true)
(begin_random
(if muster_r3
(begin
(ai_place muster_bay_covenant_bottom/mus_jackals_r3)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r3 false))))
(if muster_r3
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_r3)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r3 false))))
(if muster_r3
(begin
(ai_place muster_bay_covenant_bottom/mus_grunts_b_r3)
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r3 false))))
(if muster_r3
(begin
(if enc_mus_bot_r3
(ai_place muster_bay_covenant_bottom/mus_elites_r3)
(begin
(ai_place muster_bay_covenant_bottom/mus_brutes_r3)
(ai_migrate muster_bay_covenant_bottom/mus_brutes_r3
muster_bay_covenant_bottom/mus_elites_r3)))
(set muster_enc_index
(+ 1.00 muster_enc_index))
(if
(= 2 muster_enc_index)
(set muster_r3 false)))))
(set muster_enc_index 0)))

(script dormant void dialog_muster_clear


(begin
(sleep_until
(<
(ai_status muster_bay_marines) 4))
(ai_conversation muster_clear)))

(script dormant void ini_muster_wave_normal


(begin
(if
(<=
(ai_living_count muster_bay_marines) 1)
(begin
(set ini_muster_wave_index 3)
(set muster_wave true))
(if
(<=
(ai_living_count muster_bay_marines) 3)
(begin
(set ini_muster_wave_index 5)
(set muster_wave true))
(if
(<=
(ai_living_count muster_bay_marines) 5)
(begin
(set ini_muster_wave_index 7)
(set muster_wave true)))))))

(script dormant void ini_muster_wave_hard


(begin
(if
(<=
(ai_living_count muster_bay_marines) 1)
(begin
(set ini_muster_wave_index 5)
(set muster_wave true))
(if
(<=
(ai_living_count muster_bay_marines) 3)
(begin
(set ini_muster_wave_index 7)
(set muster_wave true))
(if
(<=
(ai_living_count muster_bay_marines) 5)
(begin
(set ini_muster_wave_index 9)
(set muster_wave true)))))))

(script dormant void ini_muster_wave_legendary


(begin
(if
(<=
(ai_living_count muster_bay_marines) 1)
(begin
(set ini_muster_wave_index 7)
(set muster_wave true))
(if
(<=
(ai_living_count muster_bay_marines) 3)
(begin
(set ini_muster_wave_index 9)
(set muster_wave true))
(if
(<=
(ai_living_count muster_bay_marines) 5)
(begin
(set ini_muster_wave_index 11)
(set muster_wave true)))))))

(script continuous void ini_muster_wave_spawn


(begin
(sleep_until muster_wave)
(begin_random
(if muster_wave
(if
(and
(= false
(volume_test_objects mus_l1_safe
(players)))
(=
(device_get_position muster_door_l1) 0.00))
(begin ini_muster_wave_spawn
(set muster_wave_index
(+ 1.00 muster_wave_index))
(if
(= ini_muster_wave_index muster_wave_index)
(set muster_wave false))
(sleep_until
(<
(ai_living_count muster_bay_covenant_bottom) 1) 30 450))))
(if muster_wave
(if
(and
(= false
(volume_test_objects mus_l2_safe
(players)))
(=
(device_get_position muster_door_l2) 0.00))
(begin ini_muster_wave_spawn
(set muster_wave_index
(+ 1.00 muster_wave_index))
(if
(= ini_muster_wave_index muster_wave_index)
(set muster_wave false))
(sleep_until
(<
(ai_living_count muster_bay_covenant_bottom) 1) 30 450))))
(if muster_wave
(if
(and
(= false
(volume_test_objects mus_l3_safe
(players)))
(=
(device_get_position muster_door_l3) 0.00))
(begin ini_muster_wave_spawn
(set muster_wave_index
(+ 1.00 muster_wave_index))
(if
(= ini_muster_wave_index muster_wave_index)
(set muster_wave false))
(sleep_until
(<
(ai_living_count muster_bay_covenant_bottom) 1) 30 450))))
(if muster_wave
(if
(and
(= false
(volume_test_objects mus_r2_safe
(players)))
(=
(device_get_position muster_door_r2) 0.00))
(begin ini_muster_wave_spawn
(set muster_wave_index
(+ 1.00 muster_wave_index))
(if
(= ini_muster_wave_index muster_wave_index)
(set muster_wave false))
(sleep_until
(<
(ai_living_count muster_bay_covenant_bottom) 1) 30 450))))
(if muster_wave
(if
(and
(= false
(volume_test_objects mus_r3_safe
(players)))
(= false
(volume_test_objects mus_r3_2_safe
(players)))
(=
(device_get_position muster_door_r3) 0.00))
(begin ini_muster_wave_spawn
(set muster_wave_index
(+ 1.00 muster_wave_index))
(if
(= ini_muster_wave_index muster_wave_index)
(set muster_wave false))
(sleep_until
(<
(ai_living_count muster_bay_covenant_bottom) 1) 30 450)))))
(if
(= ini_muster_wave_index muster_wave_index)
(set muster_wave_index 0))
(sleep 1)
(objects_predict
(ai_actors muster_bay_covenant_bottom))))

(script dormant void ini_muster_ledge


(begin
(if ini_muster_ledge
(begin
(ai_place muster_bay_covenant_top/ledge_elites_side)
(ai_place muster_bay_covenant_top/ledge_elites_back))
(begin
(ai_place muster_bay_covenant_top/ledge_brutes_side)
(ai_place muster_bay_covenant_top/ledge_brutes_back)
(ai_migrate muster_bay_covenant_top/ledge_brutes_side
muster_bay_covenant_top/ledge_elites_side)
(ai_migrate muster_bay_covenant_top/ledge_brutes_back
muster_bay_covenant_top/ledge_elites_side)))
(set muster_ledge true)
(begin_random
(if muster_ledge
(begin
(ai_place muster_bay_covenant_top/ledge_jackals_side)
(set muster_ledge_index
(+ 1.00 muster_ledge_index))
(if
(= 2 muster_ledge_index)
(set muster_ledge false))))
(if muster_ledge
(begin
(ai_place muster_bay_covenant_top/ledge_grunts_middle)
(set muster_ledge_index
(+ 1.00 muster_ledge_index))
(if
(= 2 muster_ledge_index)
(set muster_ledge false))))
(if muster_ledge
(begin
(ai_place muster_bay_covenant_top/ledge_jackals_back)
(set muster_ledge_index
(+ 1.00 muster_ledge_index))
(if
(= 2 muster_ledge_index)
(set muster_ledge false)))))
(if
(= 2 muster_ledge_index)
(set muster_ledge_index 0))
(sleep 1)
(objects_predict
(ai_actors muster_bay_covenant_bottom))))

(script dormant void ini_muster_hangar_hall


(begin
(sleep_until
(volume_test_objects muster_hangar_hall_trigger
(players)))
(wake enc_muster_hangar_hall)))

(script dormant void enc_hangar_hunters


(begin
(if
(and
(=
(volume_test_objects han_back_l_safe
(players)) false)
(=
(device_get_position han_bot_l_door) 0.00))
(ai_place hangar_cov_first_floor/hunters_l))
(sleep 1)
(if
(>
(ai_living_count hangar_cov_first_floor/hunters_l) 0)
(sleep -1))
(if
(and
(=
(volume_test_objects entr_safe
(players)) false)
(=
(device_get_position hangar_first_floor_entr) 0.00))
(ai_place hangar_cov_first_floor/hunters_entr))
(sleep 1)
(if
(or
(>
(ai_living_count hangar_cov_first_floor/hunters_l) 0)
(>
(ai_living_count hangar_cov_first_floor/hunters_entr) 0))
(sleep -1))
(if
(and
(=
(volume_test_objects han_back_r_safe
(players)) false)
(=
(device_get_position han_bot_r_door) 0.00))
(ai_place hangar_cov_first_floor/hunters_r))
(sleep 1)
(objects_predict
(ai_actors hangar_cov_first_floor))))

(script static void enc_hangar_first_a


(begin
(if
(and
(=
(volume_test_objects han_back_r_safe
(players)) false)
(=
(device_get_position han_bot_r_door) 0.00))
(begin
(begin_random
(if hangar_first_a
(begin
(ai_place hangar_cov_first_floor/grunts_a)
(set hangar_first_counter_a
(+ 1.00 hangar_first_counter_a))
(if
(= hangar_first_counter_a 2)
(set hangar_first_a false))))
(if hangar_first_a
(begin
(if enc_hangar_first_a
(ai_place hangar_cov_first_floor/elites_a)
(begin
(ai_place hangar_cov_first_floor/brutes_a)
(ai_migrate hangar_cov_first_floor/brutes_a hangar_cov_first_floor/elites_a)))
(set hangar_first_counter_a
(+ 1.00 hangar_first_counter_a))
(if
(= hangar_first_counter_a 2)
(set hangar_first_a false))))
(if hangar_first_a
(begin
(ai_place hangar_cov_first_floor/jackals_a)
(set hangar_first_counter_a
(+ 1.00 hangar_first_counter_a))
(if
(= hangar_first_counter_a 2)
(set hangar_first_a false))))
(if hangar_first_a
(begin
(ai_place hangar_cov_first_floor/grunts_a2)
(set hangar_first_counter_a
(+ 1.00 hangar_first_counter_a))
(if
(= hangar_first_counter_a 2)
(set hangar_first_a false)))))
(set hangar_first_a true)
(set hangar_first_counter_a 0)))
(device_set_position han_bot_r_door 1.00)))

(script static void enc_hangar_first_e


(begin
(begin_random
(if hangar_first_e
(begin
(ai_place hangar_cov_first_floor/grunts_e)
(set hangar_first_counter_e
(+ 1.00 hangar_first_counter_e))
(if
(= hangar_first_counter_e 2)
(set hangar_first_e false))))
(if hangar_first_e
(begin
(ai_place hangar_cov_first_floor/grunts_e2)
(set hangar_first_counter_e
(+ 1.00 hangar_first_counter_e))
(if
(= hangar_first_counter_e 2)
(set hangar_first_e false))))
(if hangar_first_e
(begin
(ai_place hangar_cov_first_floor/jackals_e)
(set hangar_first_counter_e
(+ 1.00 hangar_first_counter_e))
(if
(= hangar_first_counter_e 2)
(set hangar_first_e false))))
(if hangar_first_e
(begin
(if enc_hangar_first_e
(ai_place hangar_cov_first_floor/elites_e)
(begin
(ai_place hangar_cov_first_floor/brutes_e)
(ai_migrate hangar_cov_first_floor/brutes_e hangar_cov_first_floor/elites_e)))
(set hangar_first_counter_e
(+ 1.00 hangar_first_counter_e))
(if
(= hangar_first_counter_e 2)
(set hangar_first_e false)))))
(set hangar_first_e true)
(set hangar_first_counter_e 0)
(sleep 1)
(device_set_position han_bot_r_door 1.00)))

(script static void enc_hangar_first_i


(begin
(begin_random
(if hangar_first_i
(begin
(ai_place hangar_cov_first_floor/grunts_i)
(set hangar_first_counter_i
(+ 1.00 hangar_first_counter_i))
(if
(= hangar_first_counter_i 2)
(set hangar_first_i false))))
(if hangar_first_i
(begin
(ai_place hangar_cov_first_floor/grunts_i2)
(set hangar_first_counter_i
(+ 1.00 hangar_first_counter_i))
(if
(= hangar_first_counter_i 2)
(set hangar_first_i false))))
(if hangar_first_i
(begin
(ai_place hangar_cov_first_floor/jackals_i)
(set hangar_first_counter_i
(+ 1.00 hangar_first_counter_i))
(if
(= hangar_first_counter_i 2)
(set hangar_first_i false))))
(if hangar_first_i
(begin
(if enc_hangar_first_i
(ai_place hangar_cov_first_floor/elites_i)
(begin
(ai_place hangar_cov_first_floor/brutes_i)
(ai_migrate hangar_cov_first_floor/brutes_i hangar_cov_first_floor/elites_i)))
(set hangar_first_counter_i
(+ 1.00 hangar_first_counter_i))
(if
(= hangar_first_counter_i 2)
(set hangar_first_i false)))))
(set hangar_first_i true)
(set hangar_first_counter_i 0)))

(script static void enc_hangar_first_q


(begin
(if
(and
(=
(volume_test_objects han_back_l_safe
(players)) false)
(=
(device_get_position han_bot_l_door) 0.00))
(begin
(begin_random
(if hangar_first_q
(begin
(ai_place hangar_cov_first_floor/grunts_q)
(set hangar_first_counter_q
(+ 1.00 hangar_first_counter_q))
(if
(= hangar_first_counter_q 2)
(set hangar_first_q false))))
(if hangar_first_q
(begin
(ai_place hangar_cov_first_floor/grunts_q2)
(set hangar_first_counter_q
(+ 1.00 hangar_first_counter_q))
(if
(= hangar_first_counter_q 2)
(set hangar_first_q false))))
(if hangar_first_q
(begin
(ai_place hangar_cov_first_floor/jackals_q)
(set hangar_first_counter_q
(+ 1.00 hangar_first_counter_q))
(if
(= hangar_first_counter_q 2)
(set hangar_first_q false))))
(if hangar_first_q
(begin
(if enc_hangar_first_q
(ai_place hangar_cov_first_floor/elites_q)
(begin
(ai_place hangar_cov_first_floor/brutes_q)
(ai_migrate hangar_cov_first_floor/brutes_q hangar_cov_first_floor/elites_q)))
(set hangar_first_counter_q
(+ 1.00 hangar_first_counter_q))
(if
(= hangar_first_counter_q 2)
(set hangar_first_q false)))))
(set hangar_first_q true)
(set hangar_first_counter_q 0)))
(sleep 1)
(device_set_position han_bot_l_door 1.00)))

(script static void enc_hangar_first_s


(begin
(if
(and
(=
(volume_test_objects han_exit_safe
(players)) false)
(=
(device_get_position hangar_exit) 0.00))
(begin
(begin_random
(if hangar_first_s
(begin
(ai_place hangar_cov_first_floor/grunts_s)
(set hangar_first_counter_s
(+ 1.00 hangar_first_counter_s))
(if
(= hangar_first_counter_s 1)
(set hangar_first_s false))))
(if hangar_first_s
(begin
(ai_place hangar_cov_first_floor/grunts_s2)
(set hangar_first_counter_s
(+ 1.00 hangar_first_counter_s))
(if
(= hangar_first_counter_s 1)
(set hangar_first_s false))))
(if hangar_first_s
(begin
(ai_place hangar_cov_first_floor/jackals_s)
(set hangar_first_counter_s
(+ 1.00 hangar_first_counter_s))
(if
(= hangar_first_counter_s 1)
(set hangar_first_s false))))
(if hangar_first_s
(begin
(if enc_hangar_first_s
(ai_place hangar_cov_first_floor/elites_s)
(begin
(ai_place hangar_cov_first_floor/brutes_s)
(ai_migrate hangar_cov_first_floor/brutes_s hangar_cov_first_floor/elites_s)))
(set hangar_first_counter_s
(+ 1.00 hangar_first_counter_s))
(if
(= hangar_first_counter_s 1)
(set hangar_first_s false)))))
(set hangar_first_s true)
(set hangar_first_counter_s 0)))
(sleep 1)
(device_set_position hangar_exit 1.00)))

(script static void enc_hangar_first_y


(begin
(if
(and
(=
(volume_test_objects entr_safe
(players)) false)
(=
(device_get_position hangar_first_floor_entr) 0.00))
(begin
(begin_random
(if hangar_first_y
(begin
(ai_place hangar_cov_first_floor/grunts_y)
(set hangar_first_counter_y
(+ 1.00 hangar_first_counter_y))
(if
(= hangar_first_counter_y 2)
(set hangar_first_y false))))
(if hangar_first_y
(begin
(ai_place hangar_cov_first_floor/grunts_y2)
(set hangar_first_counter_y
(+ 1.00 hangar_first_counter_y))
(if
(= hangar_first_counter_y 2)
(set hangar_first_y false))))
(if hangar_first_y
(begin
(ai_place hangar_cov_first_floor/jackals_y)
(set hangar_first_counter_y
(+ 1.00 hangar_first_counter_y))
(if
(= hangar_first_counter_y 2)
(set hangar_first_y false))))
(if hangar_first_y
(begin
(if enc_hangar_first_y
(ai_place hangar_cov_first_floor/elites_y)
(begin
(ai_place hangar_cov_first_floor/brutes_y)
(ai_migrate hangar_cov_first_floor/brutes_y hangar_cov_first_floor/elites_y)))
(set hangar_first_counter_y
(+ 1.00 hangar_first_counter_y))
(if
(= hangar_first_counter_y 2)
(set hangar_first_y false)))))
(set hangar_first_y true)
(set hangar_first_counter_y 0)))
(sleep 1)
(device_set_position hangar_first_floor_entr 1.00)))

(script static void enc_hangar_second_a


(begin
(if
(and
(=
(volume_test_objects hangar_second_safe_a
(players)) false)
(=
(device_get_position hangar_second_door_a) 0.00))
(begin
(begin_random
(if hangar_second_a
(begin
(ai_place hangar_cov_second_floor/grunts_a)
(set hangar_second_counter_a
(+ 1.00 hangar_second_counter_a))
(if
(= hangar_second_counter_a 2)
(set hangar_second_a false))))
(if hangar_second_a
(begin
(if enc_hangar_second_a
(ai_place hangar_cov_second_floor/elites_a)
(begin
(ai_place hangar_cov_second_floor/brutes_a)
(ai_migrate hangar_cov_second_floor/brutes_a hangar_cov_second_floor/elites_a)))
(set hangar_second_counter_a
(+ 1.00 hangar_second_counter_a))
(if
(= hangar_second_counter_a 2)
(set hangar_second_a false))))
(if hangar_second_a
(begin
(ai_place hangar_cov_second_floor/jackals_a)
(set hangar_second_counter_a
(+ 1.00 hangar_second_counter_a))
(if
(= hangar_second_counter_a 2)
(set hangar_second_a false))))
(set hangar_second_a true)
(set hangar_second_counter_a 0))))
(sleep 1)
(device_set_position hangar_second_door_a 1.00)))

(script static void enc_hangar_second_e


(begin
(if
(and
(=
(volume_test_objects hangar_second_trigger_a
(players)) false)
(=
(device_get_position hangar_second_door_e) 0.00))
(begin
(begin_random
(if hangar_second_e
(begin
(ai_place hangar_cov_second_floor/grunts_e)
(set hangar_second_counter_e
(+ 1.00 hangar_second_counter_e))
(if
(= hangar_second_counter_e 2)
(set hangar_second_e false))))
(if hangar_second_e
(begin
(if enc_hangar_second_e
(ai_place hangar_cov_second_floor/elites_e)
(begin
(ai_place hangar_cov_second_floor/brutes_e)
(ai_migrate hangar_cov_second_floor/brutes_e hangar_cov_second_floor/elites_e)))
(set hangar_second_counter_e
(+ 1.00 hangar_second_counter_e))
(if
(= hangar_second_counter_e 2)
(set hangar_second_e false))))
(if hangar_second_e
(begin
(ai_place hangar_cov_second_floor/jackals_e)
(set hangar_second_counter_e
(+ 1.00 hangar_second_counter_e))
(if
(= hangar_second_counter_e 2)
(set hangar_second_e false))))
(set hangar_second_e true)
(set hangar_second_counter_e 0))))
(sleep 1)
(device_set_position hangar_second_door_e 1.00)))

(script static void enc_hangar_second_i


(begin
(if
(and
(=
(volume_test_objects hangar_second_trigger_c
(players)) false)
(=
(device_get_position hangar_second_door_q) 0.00))
(begin
(begin_random
(if hangar_second_i
(begin
(ai_place hangar_cov_second_floor/grunts_i)
(set hangar_second_counter_i
(+ 1.00 hangar_second_counter_i))
(if
(= hangar_second_counter_i 2)
(set hangar_second_i false))))
(if hangar_second_i
(begin
(if enc_hangar_second_i
(ai_place hangar_cov_second_floor/elites_i)
(begin
(ai_place hangar_cov_second_floor/brutes_i)
(ai_migrate hangar_cov_second_floor/brutes_i hangar_cov_second_floor/elites_i)))
(set hangar_second_counter_i
(+ 1.00 hangar_second_counter_i))
(if
(= hangar_second_counter_i 2)
(set hangar_second_i false))))
(if hangar_second_i
(begin
(ai_place hangar_cov_second_floor/jackals_i)
(set hangar_second_counter_i
(+ 1.00 hangar_second_counter_i))
(if
(= hangar_second_counter_i 2)
(set hangar_second_i false))))
(set hangar_second_i true)
(set hangar_second_counter_i 0))))
(sleep 1)
(device_set_position hangar_second_door_q 1.00)))

(script static void enc_hangar_second_q


(begin
(if
(and
(=
(volume_test_objects hangar_second_trigger_c
(players)) false)
(=
(device_get_position hangar_second_door_q) 0.00))
(begin
(begin_random
(if hangar_second_q
(begin
(ai_place hangar_cov_second_floor/grunts_q)
(set hangar_second_counter_q
(+ 1.00 hangar_second_counter_q))
(if
(= hangar_second_counter_q 2)
(set hangar_second_q false))))
(if hangar_second_q
(begin
(if enc_hangar_second_q
(ai_place hangar_cov_second_floor/elites_q)
(begin
(ai_place hangar_cov_second_floor/brutes_q)
(ai_migrate hangar_cov_second_floor/brutes_q hangar_cov_second_floor/elites_q)))
(set hangar_second_counter_q
(+ 1.00 hangar_second_counter_q))
(if
(= hangar_second_counter_q 2)
(set hangar_second_q false))))
(if hangar_second_q
(begin
(ai_place hangar_cov_second_floor/jackals_q)
(set hangar_second_counter_q
(+ 1.00 hangar_second_counter_q))
(if
(= hangar_second_counter_q 2)
(set hangar_second_q false))))
(set hangar_second_q true)
(set hangar_second_counter_q 0))))
(sleep 1)
(device_set_position hangar_second_door_q 1.00)))

(script static void enc_hangar_second_elites_a


(begin
(if enc_hangar_second_elites_a
(ai_place hangar_cov_second_floor/elites_ledge_a)
(begin
(ai_place hangar_cov_second_floor/brutes_ledge_a)
(ai_migrate hangar_cov_second_floor/brutes_ledge_a
hangar_cov_second_floor/elites_ledge_a)))
(sleep 1)
(objects_predict
(ai_actors hangar_cov_second_floor))))

(script static void enc_hangar_second_elites_b


(begin
(if enc_hangar_second_elites_b
(ai_place hangar_cov_second_floor/elites_ledge_b)
(begin
(ai_place hangar_cov_second_floor/brutes_ledge_b)
(ai_migrate hangar_cov_second_floor/brutes_ledge_b
hangar_cov_second_floor/elites_ledge_b)))
(sleep 1)
(objects_predict
(ai_actors hangar_cov_second_floor))))

(script static void enc_hangar_second_elites_c


(begin
(if enc_hangar_second_elites_c
(ai_place hangar_cov_second_floor/elites_ledge_c)
(begin
(ai_place hangar_cov_second_floor/brutes_ledge_c)
(ai_migrate hangar_cov_second_floor/brutes_ledge_c
hangar_cov_second_floor/elites_ledge_c)))
(sleep 1)
(objects_predict
(ai_actors hangar_cov_second_floor))))

(script static void enc_hangar_third_a


(begin
(if
(and
(=
(volume_test_objects hangar_third_safe_a
(players)) false)
(=
(device_get_position hangar_third_door_a) 0.00))
(begin
(ai_place hangar_cov_third_floor/grunts_a)
(ai_place hangar_cov_third_floor/jackals_a)
(sleep 1)
(objects_predict
(ai_actors hangar_cov_third_floor))
(device_set_position hangar_third_door_a 1.00)))))

(script static void enc_hangar_third_e


(begin
(if
(and
(=
(volume_test_objects hangar_third_safe_e
(players)) false)
(=
(device_get_position hangar_third_door_e) 0.00))
(begin
(ai_place hangar_cov_third_floor/grunts_e)
(if enc_hangar_third_e
(ai_place hangar_cov_third_floor/elites_e)
(begin
(ai_place hangar_cov_third_floor/brutes_e)
(ai_migrate hangar_cov_third_floor/brutes_e hangar_cov_third_floor/grunts_e)))
(sleep 1)
(objects_predict
(ai_actors hangar_cov_third_floor))
(device_set_position hangar_third_door_e 1.00)))))

(script static void enc_hangar_third_i


(begin
(if
(and
(=
(volume_test_objects hangar_third_safe_m
(players)) false)
(=
(device_get_position hangar_door_c) 0.00))
(begin
(ai_place hangar_cov_third_floor/grunts_i)
(ai_place hangar_cov_third_floor/jackals_i)
(sleep 1)
(objects_predict
(ai_actors hangar_cov_third_floor))
(device_set_position hangar_door_c 1.00)))))

(script static void enc_hangar_third_m


(begin
(if
(and
(=
(volume_test_objects hangar_third_safe_m
(players)) false)
(=
(device_get_position hangar_door_c) 0.00))
(begin
(if enc_hangar_third_m
(ai_place hangar_cov_third_floor/elites_m)
(begin
(ai_place hangar_cov_third_floor/brutes_m)
(ai_migrate hangar_cov_third_floor/brutes_m hangar_cov_third_floor/elites_m)))
(ai_place hangar_cov_third_floor/jackals_m)
(sleep 1)
(objects_predict
(ai_actors hangar_cov_third_floor))))))

(script dormant void enc_hangar_lefthall


(begin
(ai_place hangar_lefthall_cov/stealth_g)
(ai_place hangar_lefthall_cov/stealth_e)
(if enc_hangar_lefthall
(ai_place hangar_lefthall_cov/elites_a)
(begin
(ai_place hangar_lefthall_cov/brutes_a)
(ai_migrate hangar_lefthall_cov/brutes_a hangar_lefthall_cov/elites_a)))
(if
(<
(ai_living_count hangar_cov_first_floor) 5)
(begin
(ai_place hangar_lefthall_cov/grunts_a)
(ai_place hangar_lefthall_cov/grunts_e)
(ai_place hangar_lefthall_cov/jackals_i)))
(sleep 1)
(objects_predict
(ai_actors hangar_cov_third_floor))))

(script dormant void enc_hangar_righthall


(begin
(ai_place hangar_righthall_cov/grunts_a)
(ai_place hangar_righthall_cov/jackals_c)
(if enc_hangar_righthall
(ai_place hangar_righthall_cov/elites_c)
(begin
(ai_place hangar_righthall_cov/brutes_c)
(ai_migrate hangar_righthall_cov/brutes_c hangar_righthall_cov/jackals_c)))
(ai_place hangar_righthall_cov/grunts_g)
(sleep 1)
(objects_predict
(ai_actors hangar_cov_third_floor))))

(script static void test_hangar_door


(begin
(object_destroy extraction_machine)
(object_create extraction_control)
(device_set_power hangar_door_b 1.00)
(device_set_position hangar_door_b 0.00)
(sleep_until
(=
(device_get_position hangar_door_b) 1.00))
(device_set_power hangar_door_b 0.00)))

(script dormant void ini_hangar_hall_open


(begin
(sleep 1)
(sleep 60)
(wake enc_hangar_hunters)
(wake music_a50_072)
(ai_migrate hangar_cov_second_floor hangar_cov_second_floor/ledge_retreat)
(ai_follow_target_players hangar_marines)
(sleep_until
(and
(=
(ai_living_count hangar_cov_first_floor/hunters_entr) 0)
(=
(ai_living_count hangar_cov_first_floor/hunters_r) 0)
(=
(ai_living_count hangar_cov_first_floor/hunters_l) 0))
(* 30.00 20.00))
(set play_music_a50_072 false)
(sleep 90)
(if
(and
(=
(device_get_position hangar_exit) 0.00)
(=
(volume_test_objects hangar_first_trigger_a
(players)) false))
(ai_conversation shuttle_hall_door_open))
(sleep 1)
(device_one_sided_set hangar_exit false)
(device_set_position hangar_exit 1.00)
(sleep_until
(=
(device_get_position hangar_exit) 1.00) 1)
(device_set_power hangar_exit 0.00)
(if
(=
(volume_test_objects hangar_first_trigger_a
(players)) false)
(activate_team_nav_point_object default_red player hangar_exit 0.30))
(sleep 60)
(sleep_until
(volume_test_objects hangar_first_trigger_a
(players)))
(ai_place hangar_cov_first_floor/grunts_w)
(device_set_position hangar_lefthall_door 1.00)
(ai_kill_silent hangar_cov_second_floor)
(wake enc_hangar_lefthall)
(deactivate_team_nav_point_object player hangar_exit)
(ai_migrate hangar_marines hangar_marines_halls/squad_a)
(ai_migrate hangar_cov_first_floor hangar_lefthall_cov/all)
(ai_magically_see_players hangar_lefthall_cov/all)
(ai_follow_target_players hangar_marines_halls)
(ai_follow_target_players prison_marines)))

(script dormant void ini_hover_hangar_dropships


(begin
(object_create hangar_dropship_a)
(unit_close hangar_dropship_a)
(vehicle_hover hangar_dropship_a true)
(sleep 1)
(ai_braindead_by_unit hangar_dropship_a true)))

(script dormant void ini_hangar_initial


(begin ini_hangar_initial ini_hangar_initial ini_hangar_initial))

(script dormant void ini_hangar_first_wave_a


(begin ini_hangar_first_wave_a ini_hangar_first_wave_a))

(script dormant void ini_hangar_first_wave_b


(begin ini_hangar_first_wave_b
(ai_place hangar_cov_second_floor/jackals_o)
(ai_place hangar_cov_second_floor/grunts_q)
(sleep 1)
(ai_migrate hangar_cov_first_floor hangar_cov_first_floor/marines_in_b)
(ai_magically_see_players hangar_cov_first_floor/marines_in_b)
(ai_magically_see_encounter hangar_cov_second_floor/jackals_o hangar_marines)
(ai_magically_see_encounter hangar_cov_second_floor/grunts_q hangar_marines)
(sleep 1)
(objects_predict
(ai_actors hangar_cov_first_floor))))

(script dormant void ini_hangar_first_wave_d


(begin ini_hangar_first_wave_d ini_hangar_first_wave_d
(sleep 1)
(ai_migrate hangar_cov_first_floor hangar_cov_first_floor/marines_in_d)
(ai_magically_see_players hangar_cov_first_floor/marines_in_d)))

(script dormant void ini_hangar_first_wave_e


(begin ini_hangar_first_wave_e
(ai_place hangar_cov_second_floor/grunts_a)
(sleep 1)
(ai_migrate hangar_cov_first_floor hangar_cov_first_floor/marines_in_e)
(ai_magically_see_players hangar_cov_first_floor/marines_in_e)))

(script dormant void ini_hangar_first_wave_f


(begin ini_hangar_first_wave_f ini_hangar_first_wave_f
(sleep 1)
(ai_migrate hangar_cov_first_floor hangar_cov_first_floor/marines_in_f)
(ai_magically_see_players hangar_cov_first_floor/marines_in_f)))

(script dormant void ini_hangar_second_wave_h


(begin ini_hangar_second_wave_h ini_hangar_second_wave_h
(sleep 1)
(ai_migrate hangar_cov_second_floor hangar_cov_second_floor/marines_in_g)
(ai_migrate hangar_lefthall_cov hangar_cov_second_floor/marines_in_g)))

(script dormant void ini_hangar_second_wave_i


(begin
(if
(<
(ai_living_count hangar_cov_second_floor) 7)
(begin ini_hangar_second_wave_i)
(if
(<
(ai_living_count hangar_cov_third_floor) 7)
(begin
(ai_place hangar_cov_third_floor/jackals_a))
(if
(<
(ai_living_count hangar_cov_third_floor) 5)
(begin
(ai_place hangar_cov_third_floor/grunts_i)))))
(sleep 1)
(ai_migrate hangar_cov_second_floor hangar_cov_second_floor/marines_in_h)))

(script dormant void ini_hangar_second_wave_j


(begin
(if
(<
(ai_living_count hangar_cov_second_floor) 7) ini_hangar_second_wave_j)
(sleep 1)
(ai_migrate hangar_cov_second_floor hangar_cov_second_floor/marines_in_i)))

(script dormant void ini_hangar_third_wave_k


(begin
(if
(<
(ai_living_count hangar_cov_third_floor) 5) ini_hangar_third_wave_k)
(sleep 1)
(ai_migrate hangar_cov_third_floor hangar_cov_third_floor/marines_in_p)
(ai_migrate hangar_righthall_cov hangar_cov_third_floor/marines_in_p)))

(script dormant void ini_hangar_third_wave_l


(begin
(if
(<
(ai_living_count hangar_cov_third_floor) 5) ini_hangar_third_wave_l)
(sleep 1)
(if
(<
(ai_living_count hangar_cov_third_floor) 8) ini_hangar_third_wave_l)
(sleep 1)
(ai_migrate hangar_cov_third_floor hangar_cov_third_floor/marines_in_q)))

(script dormant void ini_hangar_third_wave_m


(begin
(if
(<
(ai_living_count hangar_cov_third_floor) 5) ini_hangar_third_wave_m)
(sleep 1)
(if
(<
(ai_living_count hangar_cov_third_floor) 8) ini_hangar_third_wave_m)
(sleep 1)
(ai_migrate hangar_cov_third_floor hangar_cov_third_floor/marines_in_r)))

(script dormant void ini_hangar_pelican_a


(begin
(sleep_until
(<
(ai_living_count hangar_marines) 1))
(if
(or
(game_is_cooperative)
(not
(volume_test_objects hangar_pelican_a_trigger
(players))))
(sleep -1))
(ai_conversation shuttle_bay_doors_open)
(sleep 360)
(if
(and
(volume_test_objects hangar_pelican_a_trigger
(players)) true)
(wake pelican_hangar_a))))

(script dormant void ini_hangar_pelican_b


(begin
(device_set_power hangar_door_b 1.00)
(device_set_position hangar_door_b 0.00)
(if
(or
(game_is_cooperative)
(>
(ai_living_count hangar_marines_halls) 1))
(sleep -1))
(sleep 1)
(if pelican_hangar_a_trigger
(ai_conversation shuttle_second_reins_ini_np)
(ai_conversation shuttle_second_reins_ini))
(sleep_until
(volume_test_objects hangar_second_reins_trigger
(players)))
(activate_team_nav_point_object default_red player hangar_door_b_control 0.70)
(sleep_until
(>
(device_get_position hangar_door_b) 0.00) 10)
(game_save_no_timeout)
(device_set_power hangar_door_b_control 0.00)
(wake music_a50_071)
(sleep_until
(=
(device_get_position hangar_door_b) 1.00) 10)
(device_set_power hangar_door_b 0.00)
(ai_conversation shuttle_second_door_open)
(deactivate_team_nav_point_object player hangar_door_b_control)
ini_hangar_pelican_b
(sleep 1800)
(device_set_power hangar_door_b 1.00)
(device_set_position hangar_door_b 0.00)
(device_set_position hangar_door_b_control 0.00)))

(script dormant void enc_control_in_room


(begin
(garbage_collect_now)
(ai_place control_covenant/pad_elites_major)
(ai_place control_covenant/elites_left)
(ai_place control_covenant/elites_right)
(ai_place control_covenant/grunts_k)
(ai_place control_covenant/grunts_m)
(sleep 1)
(objects_predict
(ai_actors control_covenant))))

(script dormant void enc_control_reins_a


(begin
(ai_place control_covenant/jackals_reins)
(sleep 1)
(objects_predict
(ai_actors control_covenant))))

(script dormant void enc_control_reins_b


(begin
(ai_place control_covenant/grunts_reins)
(sleep 1)
(objects_predict
(ai_actors control_covenant))))

(script dormant void enc_control_return


(begin
(ai_place control_covenant/stealth_elites)
(sleep 1)
(objects_predict
(ai_actors control_covenant))))

(script dormant void enc_control_return_reins


(begin
(ai_place control_covenant/grunts_return)
(sleep 1)
(objects_predict
(ai_actors control_covenant))))

(script dormant void dialog_control_clear


(begin
(sleep_until
(=
(ai_living_count control_covenant) 0))
(sleep 90)
(ai_conversation command_clear)))

(script dormant void enc_prison_cov_ini


(begin
(ai_place control_prison_hall_cov/jackals_s)
(ai_place control_prison_hall_cov/jackals_c)
(ai_place control_prison_hall_cov/grunts_a)
(ai_place control_prison_hall_cov/jackals_i)
(sleep 1)
(objects_predict
(ai_actors control_prison_hall_cov))))

(script dormant void enc_prison_return_ini


(begin
(if enc_prison_return_ini
(ai_place control_prison_hall_cov/elites_m)
(begin
(ai_place control_prison_hall_cov/brutes_m)
(ai_migrate control_prison_hall_cov/brutes_m control_prison_hall_cov/elites_m)))
(ai_place control_prison_hall_cov/grunts_i)
(ai_place control_prison_hall_cov/jackals_g)
(if enc_prison_return_ini
(ai_place control_prison_hall_cov/elites_s)
(begin
(ai_place control_prison_hall_cov/brutes_s)
(ai_migrate control_prison_hall_cov/brutes_s control_prison_hall_cov/elites_s)))
(if enc_prison_return_ini
(ai_place control_prison_hall_cov/elites_q)
(begin
(ai_place control_prison_hall_cov/brutes_q)
(ai_migrate control_prison_hall_cov/brutes_q control_prison_hall_cov/elites_q)))
(ai_place control_prison_hall_cov/grunts_q)
(ai_place control_prison_hall_cov/jackals_s)
(ai_place control_prison_hall_cov/grunts_k)
(sleep 1)
(objects_predict
(ai_actors control_prison_hall_cov))))

(script dormant void enc_spawn_captain


(begin
(object_create keyes_prison)
(ai_attach keyes_prison prison_marines_ini/captain)
(custom_animation keyes_prison cinematics\animations\captain\level_specific\a50\a50
a50keyessit false)
(sleep 1)
(objects_predict keyes_prison)))

(script dormant void enc_spawn_marines


(begin
(object_create jailed_marine_1)
(object_create jailed_marine_2)
(object_create jailed_marine_3)
(ai_attach jailed_marine_1 prison_marines_ini/marines_cellblock_d)
(ai_attach jailed_marine_2 prison_marines_ini/marines_cellblock_d)
(ai_attach jailed_marine_3 prison_marines_ini/marines_cellblock_d)
(sleep 1)
(objects_predict jailed_marine_1)
(objects_predict jailed_marine_2)
(objects_predict jailed_marine_3)
(custom_animation jailed_marine_1
cinematics\animations\marines\level_specific\a50\a50 a50cellsit false)
(custom_animation jailed_marine_2
cinematics\animations\marines\level_specific\a50\a50 a50cellsit false)
(custom_animation jailed_marine_3
cinematics\animations\marines\level_specific\a50\a50 a50cellsit false)
(sleep_until
(or
(objects_can_see_object
(players) jailed_marine_1 10.00)
(objects_can_see_object
(players) jailed_marine_2 10.00)
(objects_can_see_object
(players) jailed_marine_3 10.00)))
(custom_animation jailed_marine_1
cinematics\animations\marines\level_specific\a50\a50 a50cellcelebrate01 true)
(custom_animation jailed_marine_2
cinematics\animations\marines\level_specific\a50\a50 a50cellcelebrate02 true)
(custom_animation jailed_marine_3
cinematics\animations\marines\level_specific\a50\a50 a50cellcelebrate01 true)
(sleep_until
(=
(ai_living_count prison_cell_d_covenant) 0))
(unit_stop_custom_animation jailed_marine_1)
(unit_stop_custom_animation jailed_marine_2)
(unit_stop_custom_animation jailed_marine_3)))

(script dormant void enc_prison_cell_d_cov


(begin
(ai_place prison_cell_d_covenant/elite_commander)
(ai_place prison_cell_d_covenant/elites_left)
(ai_place prison_cell_d_covenant/elites_right)
(ai_place prison_cell_d_covenant/grunts_ini)
(sleep 1)
(objects_predict
(ai_actors prison_cell_d_covenant))))

(script dormant void enc_prison_cell_d_reins


(begin
(ai_place prison_cell_d_covenant/stealth_elites)
(sleep 1)
(objects_predict
(ai_actors prison_cell_d_covenant))))

(script static void ini_post_rescue


(begin
(switch_bsp 3)
(object_teleport ini_post_rescue prison_player0_teleport)
(object_teleport ini_post_rescue prison_player1_teleport)
(object_create captain_keyes)
(object_create free_marine_1)
(object_create free_marine_2)
(object_create free_marine_3)
(sleep 1)
(fade_in 1.00 1.00 1.00 15)
(ai_attach captain_keyes prison_captain/mig_cap_u)
(ai_attach free_marine_1 prison_marines/mig_marines_u)
(ai_attach free_marine_2 prison_marines/mig_marines_u)
(ai_attach free_marine_3 prison_marines/mig_marines_u)
(ai_erase hangar_cov_third_floor)
(sleep 1)
(objects_predict captain_keyes)
(objects_predict free_marine_1)
(objects_predict free_marine_2)
(objects_predict free_marine_3)
(if
(or
(=
(game_difficulty_get) normal)
(=
(game_difficulty_get) hard))
(ai_grenades false))))

(script dormant void ini_prison_a_dialog


(begin
(sleep_until
(volume_test_objects mig_cellblock_a
(players)))
(ai_conversation empty_prison)
(game_save_no_timeout)))

(script static void ini_prison_cleanup


(begin
(fade_out 1.00 1.00 1.00 30)
(sleep 30)
(switch_bsp 3)
(volume_teleport_players_not_inside null prison_teleport_flag)
(object_destroy keyes_prison)
(object_destroy jailed_marine_1)
(object_destroy jailed_marine_2)
(object_destroy jailed_marine_3)))

(script dormant void dialog_prison


(begin
(sleep_until
(and
(or
(objects_can_see_object
(players) jailed_marine_1 45.00)
(objects_can_see_object
(players) jailed_marine_2 45.00)
(objects_can_see_object
(players) jailed_marine_3 45.00))
(>
(ai_status prison_cell_d_covenant) 4)))
(ai_conversation prison_initial)
(sleep_until
(<
(ai_strength prison_cell_d_covenant) 0.30))
(ai_conversation prison_kickin_ass)
(sleep_until
(=
(ai_living_count prison_cell_d_covenant) 0))
(ai_conversation prison_clear)))

(script dormant void enc_hangar_return


(begin
(ai_place hangar_cov_third_floor/grunts_return)
(if enc_hangar_return
(ai_place hangar_cov_third_floor/elites_return)
(begin
(ai_place hangar_cov_third_floor/brutes_return)
(ai_migrate hangar_cov_third_floor/brutes_return
hangar_cov_third_floor/elites_return)))
(sleep 1)
(objects_predict
(ai_actors hangar_cov_third_floor))))

(script dormant void mission_area1


(begin
(wake music_a50_01)
(wake obj_board)
(sleep 30)
(sleep 150)
(wake obj_sniper)
(wake traitor_bitch)))

(script dormant void mission_area2


(begin
(objects_predict area2_turret_a)
(objects_predict field_generator_a)
(ai_allow_dormant marines_initial false)
(if
(=
(game_difficulty_get) impossible)
(wake ini_enter_turret_area2_leg)
(wake ini_enter_turret_area2_norm))
(wake enc_area2_ini)
(wake mig_marines_area2)
(sleep 1)
(sleep_until
(volume_test_objects area2_trigger
(players)))
(game_save_no_timeout)
(if
(!=
(game_difficulty_get) impossible)
(wake ini_gun_runner))
(sleep 30)
(sleep_until
(or
(and
(volume_test_objects area2_trigger_a
(players))
(<
(ai_living_count covenant_area2) 10))
(volume_test_objects area2_trigger_b
(players))
(=
(ai_living_count covenant_area2) 0)))
(wake enc_area2_wave_2)
(set area2_marine_migrate true)
(sleep_until
(or
(volume_test_objects area2_trigger_c
(players))
(=
(ai_living_count covenant_area2) 0)))
(wake enc_back_area2)
(set area2_marine_migrate_2 true)
(sleep_until
(=
(ai_living_count covenant_area2) 0))
(set play_music_a50_01 false)))

(script dormant void mission_area3


(begin
(ai_migrate covenant_area2 covenant_area3/area2_cleanup)
(ai_allow_dormant covenant_area3/area2_cleanup false)
(ai_allow_dormant marines_area3 false)
(ai_link_activation covenant_area3 marines_area3)
(sleep 1)
(ai_conversation area3_initial)
(set play_music_a50_01 false)
(sleep -1 ini_enter_turret_area2_norm)
(sleep -1 ini_enter_turret_area2_leg)
(if
(=
(game_difficulty_get) normal)
(begin
(wake ini_enter_turret_area3_norm))
(if
(=
(game_difficulty_get) hard)
(begin
(wake ini_enter_turret_area3_norm))
(if
(=
(game_difficulty_get) impossible)
(begin
(wake ini_enter_turret_area3_leg)
(wake ini_area3_turrets_leg)))))
(sleep 1)
(game_save_no_timeout)
(game_save_no_timeout)
(wake mig_marines_area3)
(wake enc_area3_initial)
(sleep 30)
(sleep_until
(or
(=
(ai_living_count covenant_area3/jackals_hill_left) 0)
(=
(ai_living_count covenant_area3/turret_gunner_a) 0)
(=
(ai_living_count covenant_area3/grunts_ledge) 0)
(volume_test_objects area3_trigger_a
(players))))
(wake enc_elites_front_area3)
(wake music_a50_02)
(sleep_until
(volume_test_objects area3_trigger_a
(players)))
(wake enc_area3_second)
(sleep_until
(volume_test_objects area3_trigger_b
(players)))
(wake enc_elites_reins_area3)
(sleep_until
(or
(= 0
(ai_living_count covenant_area3/elites_reins))
(volume_test_objects area4_trigger
(players))))
(wake enc_grunts_reins_area3)
(ai_allow_dormant covenant_area3/grunts_reins false)))

(script dormant void mission_area4


(begin
(garbage_collect_now)
(sleep -1 ini_enter_turret_area3_norm)
(sleep -1 ini_enter_turret_area3_leg)
(wake dialog_area4_initial)
(ai_migrate covenant_area3 covenant_area4/area3_cleanup)
(ai_migrate marines_area3 marines_area4/squad_a)
(wake enc_area4_initial)
(if
(=
(game_difficulty_get) normal)
(begin
(wake ini_enter_turret_area4_norm)
(set area4_turret_limit 3))
(if
(=
(game_difficulty_get) hard)
(begin
(wake ini_enter_turret_area4_norm)
(set area4_turret_limit 4))
(if
(=
(game_difficulty_get) impossible)
(begin
(wake ini_enter_turret_area4_leg)
(set area4_turret_limit 5)))))
(game_save_no_timeout)
(sleep 1)
(ai_allow_dormant covenant_area4/area3_cleanup false)
(ai_allow_dormant marines_area4 false)
(wake ini_area4_turrets)
(wake ini_area4_player_locator)
(wake ini_area4_dropship)
(wake ini_area4_grunts_m)
(sleep_until
(or
(volume_test_objects area4_marines_ledge_trigger
(players))
(volume_test_objects area4_marines_middle_trigger
(players))))
(wake music_a50_03)
(if
(volume_test_objects area4_location_1
(players))
(begin
(wake mig_marines_area4_ledge))
(if
(volume_test_objects area4_location_2
(players))
(begin
(wake mig_marines_area4_middle))))
(wake enc_area4_second)
(sleep 30)
(wake ini_area4_marine_reins)
(sleep_until
(volume_test_objects area4_reins_trigger
(players)))
(wake dialog_area5_initial)
(game_save_no_timeout)
(sound_looping_set_alternate levels\a50\music\a50_03 true)
(wake ini_area4_reins)
(set area4_cov_dropship false)
(set area4_marine_reins false)
(sleep 1)
(ai_migrate covenant_area4 covenant_area4/squad_y)
(sleep 1)
(ai_follow_target_players covenant_area4/squad_y)))

(script dormant void mission_gravity_room


(begin
(sound_class_set_gain vehicle_engine 0.00 0)
(set play_music_a50_04 false)
(sleep -1 ini_enter_turret_area5_norm)
(sleep -1 ini_enter_turret_area5_leg)
(sleep -1 ini_area5_spawner)
(sleep -1 ini_area5_random_spawner)
(sleep -1 ini_area5_cov_chaser)
(sleep -1 ini_area5_cleanup_kill)
(ai_erase_all)
(sleep 1) mission_gravity_room
(wake enc_grav_marines)
(sleep 29)
(fade_in 0.80 0.00 1.00 15)
(cinematic_screen_effect_set_convolution 3 2 10.00 0.00 1.00)
(cinematic_screen_effect_set_filter_desaturation_tint 0.80 0.00 1.00)
(cinematic_screen_effect_set_filter 1.00 0.00 1.00 0.00 true 1.00)
(sleep 30)
(cinematic_stop)
(cinematic_screen_effect_stop)
(sleep 15)
(wake obj_rescue) mission_gravity_room
(ai_conversation gravity_pad_initial)
(sleep_until
(>
(ai_conversation_status gravity_pad_initial) 4))
(game_save_totally_unsafe)
(sleep 30)
(wake enc_grav_stealth_ini)
(wake ini_gravity_wave)
(wake gravity_marines_revive)
(if
(=
(game_difficulty_get) normal)
(begin
(set ini_grav_wave_index 6)
(set gravity_wave true))
(if
(=
(game_difficulty_get) hard)
(begin
(set ini_grav_wave_index 8)
(set gravity_wave true))
(if
(=
(game_difficulty_get) impossible)
(begin
(set ini_grav_wave_index 10)
(set gravity_wave true)))))
(sleep_until
(=
(ai_status gravity_pad_marines) 6))
(sleep 30)
(wake music_a50_05)
(ai_conversation gravity_contact)
(sleep_until
(and
(<
(ai_living_count gravity_pad_covenant) 3)
(= gravity_wave false)))
(sleep_until
(=
(ai_living_count gravity_pad_covenant) 0) 30
(* 30.00 15.00))
(sleep_until
(=
(volume_test_objects gravity_trigger
(ai_actors gravity_pad_covenant)) false))
(game_save_no_timeout)
(ai_migrate gravity_pad_marines gravity_pad_marines/all)
(sleep
(* 30.00 5.00))
(wake enc_grav_hunters)
(device_set_power gravity_bay_door 1.00)
(device_set_position gravity_bay_door 1.00)
(sleep_until
(and
(=
(ai_living_count gravity_pad_covenant/grav_front_hunters) 0)
(=
(ai_living_count gravity_pad_covenant/grav_front_jackals) 0)))
(set play_music_a50_05 false)
(game_save_no_timeout)
(wake man_marines_to_door)
(sleep
(* 30.00 5.00))
(device_one_sided_set gravity_door_lf false)
(device_one_sided_set gravity_door_lr false)
(ai_place gravity_pad_covenant/grunts_all)
(device_set_power grav_mus_hall_door 1.00)
(sleep -1 ini_gravity_wave)))

(script dormant void mission_area5


(begin
(set play_music_a50_03 false)
(game_save_no_timeout)
(ai_allow_dormant marines_area5 false)
(sleep -1 ini_enter_turret_area4_norm)
(sleep -1 ini_enter_turret_area4_leg)
(sleep -1 ini_area4_player_locator)
(sleep -1 mig_marines_area4_ledge)
(sleep -1 mig_marines_area4_middle)
(wake ini_area5_turrets)
(wake enc_area5_ini)
(wake mig_marines_area5)
(wake dialog_area5_guns)
(if
(=
(game_difficulty_get) normal)
(begin
(wake ini_enter_turret_area5_norm)
(set area5_turret_limit 3))
(if
(=
(game_difficulty_get) hard)
(begin
(wake ini_enter_turret_area5_norm)
(set area5_turret_limit 4))
(if
(=
(game_difficulty_get) impossible)
(begin
(wake ini_enter_turret_area5_leg)
(set area5_turret_limit 5)))))
(sleep_until
(volume_test_objects area5_dropship_trigger
(players)))
(wake ini_area5_cov_chaser)
(wake ini_area5_pelican)
(wake ini_area5_c_dropship)
(wake ini_area5_cleanup_kill)
(wake ini_area5_spawner)
(wake ini_area5_random_spawner)
(sleep_until
(and
(not area5_e_spawn)
(not area5_g_spawn)
(not area5_o_spawn)
(not area5_q_spawn)))
(if
(=
(game_difficulty_get) impossible) mission_area5)
(game_save_no_timeout)
(set area5_pelican false)
(ai_migrate covenant_area5 covenant_area5/squad_y)
(ai_follow_target_players covenant_area5/squad_y)
(sleep 1)
(sleep_until
(or
(=
(ai_living_count covenant_area5) 0)
(<
(ai_status covenant_area5) 2)))
(game_save_no_timeout)
(sleep 210)
(sleep_until
(objects_can_see_flag
(players) hunter_intro 30.00))
(sleep 1)
(wake enc_area5_hunters)
(wake music_a50_04)
(sleep_until
(=
(ai_living_count covenant_area5/hunters) 0))
(set play_music_a50_04 false)
(sleep 150)
(if
(<
(ai_living_count marines_area5) 4) mission_area5 mission_area5)
(ai_follow_target_disable marines_area5)
(sleep_until
(volume_test_objects gravity_pad_teleport_trigger
(players)))
(deactivate_team_nav_point_flag player drop_pod_lz)
(ai_dialogue_triggers false)
(sleep 90)
(ai_kill_silent covenant_area5)
(players_unzoom_all)
(if mission_area5 mission_area5) mission_area5
(switch_bsp 1)
(object_teleport mission_area5 gravity_teleport0_flag)
(object_teleport mission_area5 gravity_teleport1_flag) mission_area5
(set backpack_unit mission_area5)
(set force_backpack_refresh true)
(wake mission_gravity_room)))

(script dormant void mission_grav_mus_hall


(begin
(wake enc_grav_mus_hall)
(wake enc_grav_mus_hall_rear)
(sleep_until
(volume_test_objects muster_bay_top_entrance
(players)))
(wake mig_grav_hall_cleanup)))

(script dormant void mission_muster_bay


(begin
(game_save_no_timeout)
(sleep -1 enc_grav_mus_hall_rear)
(wake enc_muster_ini)
(wake ini_muster_hall)
(wake ini_muster_wave_spawn)
(wake ini_muster_bay_door_check)
(wake ini_muster_hangar_hall)
(wake ini_muster_ledge)
(sleep 1)
(objects_predict
(ai_actors muster_hall_cov))
(wake mig_grav_to_mus_marines)
(sleep_until
(volume_test_objects muster_view_door
(players)))
(wake music_a50_06)
(if
(>
(ai_living_count gravity_pad_marines) 0)
(begin
(ai_conversation muster_door)
(activate_team_nav_point_object default_red player muster_bay_control 0.70)))
(sleep_until
(and
(<
(ai_living_count muster_bay_covenant_bottom) 3)
(volume_test_objects muster_floor_trigger
(players))))
(game_save_no_timeout)
(sleep 120)
(if
(=
(game_difficulty_get) normal)
(begin
(wake ini_muster_wave_normal))
(if
(=
(game_difficulty_get) hard)
(begin
(wake ini_muster_wave_hard))
(if
(=
(game_difficulty_get) impossible)
(begin
(wake ini_muster_wave_legendary)))))
(sleep 300)
(sleep_until
(and
(= muster_wave false)
(or
(=
(ai_status muster_bay_covenant_bottom) 0)
(<
(ai_living_count muster_bay_covenant_bottom) 2))))
(if muster_door_nav
(activate_team_nav_point_object default_red player muster_door_l2 0.30))
(set play_music_a50_06 false)
(device_one_sided_set muster_door_l1 false)
(device_one_sided_set muster_door_l2 false)
(device_one_sided_set muster_door_l3 false)
(ai_automatic_migration_target muster_bay_marines/squad_f true)
(ai_automatic_migration_target muster_bay_marines/squad_g true)
(ai_automatic_migration_target muster_bay_marines/squad_h true)
(game_save_no_timeout)
(sleep 90)
(wake dialog_muster_clear)
(sleep_until
(or
(volume_test_objects mus_l1_safe
(players))
(volume_test_objects mus_l2_safe
(players))
(volume_test_objects mus_l3_safe
(players))
(volume_test_objects muster_hangar_hall_trigger
(players))))
(sleep -1 dialog_muster_clear)
(deactivate_team_nav_point_object player muster_door_l2)))

(script dormant void mission_hangar


(begin
(sleep -1 ini_muster_wave_spawn)
(set muster_door_nav false)
(deactivate_team_nav_point_object player muster_door_l2)
(deactivate_team_nav_point_object player muster_bay_control)
(device_set_position_immediate hangar_back_door 0.00)
(device_set_position_immediate hangar_door_b 1.00)
(device_set_power hangar_door_b 0.00)
(ai_migrate muster_bay_marines hangar_marines/marines_ini)
(sleep 1)
(ai_teleport_to_starting_location_if_unsupported hangar_marines/marines_ini)
(game_save_no_timeout)
(ai_erase gravity_pad_marines)
(ai_erase gravity_pad_covenant)
(ai_erase muster_bay_covenant_top)
(ai_erase muster_bay_covenant_bottom)
(ai_erase muster_hall_cov)
(wake ini_hover_hangar_dropships)
(wake ini_hangar_initial)
(sleep_until
(>
(device_get_position hangar_first_floor_entr) 0.00))
(garbage_collect_now)
(wake ini_hangar_pelican_a)
(sleep_until
(volume_test_objects hangar_entrance
(players)) 15)
(wake auto_migration_deactivate)
(sleep_until
(or
(=
(ai_status hangar_cov_first_floor) 6)
(=
(volume_test_objects hangar_entrance
(players)) false)))
(ai_migrate hangar_marines hangar_marines/mig_marines_a)
(wake ini_hangar_first_wave_a)
(set hangar_location_index 1)
(ai_renew hangar_marines)
(sleep_until
(or
(volume_test_objects han_mig_a
(players))
(volume_test_objects han_mig_b
(players))
(volume_test_objects han_mig_c
(players))))
(sleep_until
(<=
(ai_living_count hangar_cov_first_floor) 2))
(game_save_no_timeout)
(ai_migrate hangar_marines hangar_marines/mig_marines_b)
(wake ini_hangar_first_wave_b)
(sound_looping_set_alternate levels\a50\music\a50_07 true)
(set hangar_location_index 2)
(sleep_until
(or
(volume_test_objects han_mig_d
(players))
(volume_test_objects han_mig_g
(players))))
(sleep_until
(<=
(ai_living_count hangar_cov_first_floor) 2))
(game_save_no_timeout)
(ai_migrate hangar_marines hangar_marines/mig_marines_d)
(wake ini_hangar_first_wave_d)
(set play_music_a50_07 false)
(set hangar_location_index 3)
(ai_renew hangar_marines)
(sleep_until
(or
(volume_test_objects han_mig_e
(players))
(volume_test_objects han_mig_o
(players))
(volume_test_objects han_mig_e_2
(players))))
(sleep_until
(<=
(ai_living_count hangar_cov_first_floor) 2))
(game_save_no_timeout)
(ai_migrate hangar_marines hangar_marines/mig_marines_e)
(wake ini_hangar_first_wave_e)
(set hangar_location_index 4)
(ai_renew hangar_marines)
(sleep_until
(volume_test_objects han_mig_f
(players)))
(sleep_until
(<=
(ai_living_count hangar_cov_first_floor) 2))
(game_save_no_timeout)
(ai_migrate hangar_marines hangar_marines/mig_marines_f)
(wake ini_hangar_first_wave_f)
(set hangar_location_index 5)
(ai_renew hangar_marines)
(ai_conversation shuttle_hall_door_locked)
(sleep_until
(<=
(ai_living_count hangar_cov_first_floor) 2))
(game_save_no_timeout)
(wake ini_hangar_hall_open)
(sleep_until
(volume_test_objects hangar_first_trigger_a
(players)))
(game_save_no_timeout)
(sleep_until
(volume_test_objects hangar_second_trigger_a
(players)))
(game_save_no_timeout)
(wake ini_hangar_pelican_b)
(wake ini_hangar_second_wave_h)
(sleep_until
(volume_test_objects hangar_exit_trigger
(players)))
(wake ini_hangar_second_wave_i)
(sleep_until
(volume_test_objects hangar_second_trigger_b
(players)))
(wake ini_hangar_second_wave_j)
(wake enc_hangar_righthall)
(sleep_until
(volume_test_objects hangar_second_trigger_c
(players)))
(game_save_no_timeout)
(sleep_until
(volume_test_objects hangar_third_trigger_a
(players)))
(game_save_no_timeout)
(wake ini_hangar_third_wave_k)
(sleep_until
(volume_test_objects hangar_third_trigger_c
(players)))
(wake ini_hangar_third_wave_l)
(game_save_no_timeout)
(sleep_until
(volume_test_objects hangar_third_trigger_d
(players)))
(wake ini_hangar_third_wave_m)
(set player_location_index 2)
(wake ini_prison_mig_manage)))

(script dormant void mission_control


(begin
(game_save_no_timeout)
(garbage_collect_now)
(wake enc_control_in_room)
(sleep -1 ini_hangar_pelican_b)
(deactivate_team_nav_point_object player hangar_door_b_control)
(wake music_a50_08)
(sleep_until
(volume_test_objects control_music_trigger
(players)) 30)
(ai_conversation command_ini)
(sleep_until
(and
(=
(ai_living_count control_covenant/elites_left) 0)
(=
(ai_living_count control_covenant/elites_right) 0)))
(wake enc_control_reins_a)
(sleep 1)
(sleep_until
(=
(ai_living_count control_covenant) 0))
(wake enc_control_reins_b)
(device_set_power control_door_d 1.00)
(if
(not
(volume_test_objects prison_trigger
(players)))
(activate_team_nav_point_object default_red player control_door_d 0.30))
(sleep_until
(<=
(ai_living_count control_covenant) 1))
(wake dialog_control_clear)
(ai_migrate prison_marines control_marines/on_pad)
(game_save_no_timeout)
(sleep_until
(volume_test_objects prison_trigger
(players)))
(deactivate_team_nav_point_object player control_door_d)))

(script dormant void mission_control_revisited


(begin
(ai_kill_silent control_marines)
(game_save_no_timeout)
(sleep 1)
(wake enc_control_return)
(sleep_until
(=
(ai_living_count control_covenant) 0))
(wake game_win_script)
(sleep_until
(>
(ai_conversation_status shuttle_revisited) 4))
(wake music_a50_11)
(sleep 60)
(wake enc_control_return_reins)
(device_one_sided_set control_door_a false)
(device_one_sided_set control_door_b false)
(device_one_sided_set control_door_c false)
(device_one_sided_set control_door_d false)
(ai_automatic_migration_target prison_captain/mig_cap_l true)
(ai_automatic_migration_target prison_captain/mig_cap_m true)
(ai_automatic_migration_target prison_captain/mig_cap_n true)
(ai_automatic_migration_target prison_captain/mig_cap_o true)
(ai_automatic_migration_target prison_marines/mig_marines_l true)
(ai_automatic_migration_target prison_marines/mig_marines_m true)
(ai_automatic_migration_target prison_marines/mig_marines_n true)
(ai_automatic_migration_target prison_marines/mig_marines_o true)
(sleep_until
(=
(ai_living_count control_covenant) 0))
(game_save_no_timeout)))

(script dormant void mission_prison


(begin
(sleep -1 dialog_control_clear)
(set play_music_a50_08 false)
(wake ini_prison_a_dialog)
(wake enc_prison_cov_ini)
(wake enc_spawn_captain)
(sleep 1)
(set player_location_index 1)
(sleep 1)
(wake enc_spawn_marines)
(wake mig_marines_prison_a)
(wake mig_marines_prison_d)
(wake enc_prison_cell_d_cov)
(sleep_until
(volume_test_objects prison_save_trigger
(players)))
(game_save_no_timeout)
(sleep_until
(>
(device_get_position cellblock_d_maindoor) 0.00))
(wake music_a50_09)
(wake dialog_prison)
(sleep_until
(=
(ai_living_count prison_cell_d_covenant) 0))
(sleep_until
(=
(device_group_get prison_d_switch_position) 1.00))
(set play_music_a50_09 false)
(sleep
(* 30.00 5.00)) mission_prison
(if mission_prison mission_prison) mission_prison mission_prison
(set backpack_unit mission_prison)
(set force_backpack_refresh true) mission_prison
(sleep -1 ini_prison_a_dialog)
(wake obj_escape)
(ai_conversation prison_move_out)
(game_save_no_timeout)
(set captain_rescued true)
(sleep 90)
(wake enc_prison_cell_d_reins)
(wake enc_prison_return_ini)
(object_destroy extraction_machine)
(object_create extraction_control)
(device_set_power control_door_d 1.00)
(wake game_lost_script)
(sleep_until
(volume_test_objects prison_trigger
(players)))
(wake mission_control_revisited)))

(script dormant void mission_hangar_revisited


(begin
(wake enc_hangar_return)
(sleep_until
(=
(device_get_position hangar_door_c) 1.00) 1)
(sound_looping_set_alternate levels\a50\music\a50_11 true)))

(script static void kill_all_continuous


(begin
(sleep -1 ini_gravity_wave)
(sleep -1 ini_muster_wave_spawn)
(sleep -1 enc_grav_mus_hall_rear)
(sleep -1 ini_prison_mig_manage)
(sleep -1 ini_enter_turret_area2_norm)
(sleep -1 ini_enter_turret_area2_leg)
(sleep -1 ini_enter_turret_area3_norm)
(sleep -1 ini_enter_turret_area3_leg)
(sleep -1 ini_enter_turret_area4_norm)
(sleep -1 ini_enter_turret_area4_leg)
(sleep -1 ini_enter_turret_area5_norm)
(sleep -1 ini_enter_turret_area5_leg)
(sleep -1 ini_area4_player_locator)
(sleep -1 ini_area5_spawner)
(sleep -1 ini_area5_cov_chaser)
(sleep -1 ini_area5_random_spawner)
(sleep -1 general_save)
(sleep -1 ini_area5_cleanup_kill)))

(script startup void mission_a50


(begin
(fade_out 0.00 0.00 0.00 0)
(ai_allegiance player human) mission_a50
(sleep 1) mission_a50
(set mission_begin true)
(wake mission_area1)
(wake mission_area2)
(sleep_until
(volume_test_objects area3_trigger
(players)))
(wake mission_area3)
(sleep_until
(volume_test_objects area4_trigger
(players)))
(wake mission_area4)
(sleep_until
(volume_test_objects area5_trigger
(players)))
(wake mission_area5)
(sleep_until
(volume_test_objects gravity_trigger
(players)))
(sleep_until
(volume_test_objects grav_leftfront_safe
(players)))
(wake mission_grav_mus_hall)
(sleep_until
(volume_test_objects muster_bay_top_entrance
(players)))
(wake mission_muster_bay)
(sleep_until
(volume_test_objects hangar_trigger
(players)))
(wake mission_hangar)
(sleep_until
(volume_test_objects control_migration
(players)))
(wake mission_control)
(sleep_until
(volume_test_objects prison_trigger
(players)))
(wake mission_prison)
(sleep_until captain_rescued)
(sleep_until
(volume_test_objects hangar_migration
(players)))
(wake mission_hangar_revisited)))

(script dormant void a50_fix_marine_movement_ext


(begin
(sleep_until
(<=
(ai_living_count covenant_area2) 0) 15)
(ai_follow_target_players marines_initial)
(ai_migrate marines_initial marines_area3)
(ai_follow_target_players marines_area3)
(sleep_until
(<=
(ai_living_count covenant_area3) 0) 15)
(ai_follow_target_players marines_area3)
(ai_migrate marines_area3 marines_area4)
(ai_follow_target_players marines_area4)
(sleep_until
(<=
(ai_living_count covenant_area4) 0) 15)
(ai_follow_target_players marines_area4)
(ai_migrate marines_area3 marines_area5)
(ai_follow_target_players marines_area5)))
(script continuous void cmt_healthregen
(begin
(sleep_until
(>=
(unit_get_shield cmt_healthregen) 1.00))
(sleep 60)
(if
(and
(> regen_level 0)
(>=
(unit_get_shield cmt_healthregen) 1.00))
(begin
(if
(and
(>= regen_level 2)
(>=
(unit_get_health cmt_healthregen) 0.60)
(<
(unit_get_health cmt_healthregen) 1.00))
(unit_set_current_vitality cmt_healthregen
(+
(*
(unit_get_health cmt_healthregen) 75.00) 3.00)
(*
(unit_get_shield cmt_healthregen) 100.00))
(if
(and
(>= regen_level 2)
(>=
(unit_get_health cmt_healthregen) 0.30)
(<
(unit_get_health cmt_healthregen) 0.66))
(unit_set_current_vitality cmt_healthregen
(+
(*
(unit_get_health cmt_healthregen) 75.00) 3.00)
(*
(unit_get_shield cmt_healthregen) 100.00))
(if
(and
(>= regen_level 1)
(>
(unit_get_health cmt_healthregen) 0.00)
(<
(unit_get_health cmt_healthregen) 0.33))
(unit_set_current_vitality cmt_healthregen
(+
(*
(unit_get_health cmt_healthregen) 75.00) 3.00)
(*
(unit_get_shield cmt_healthregen) 100.00)))))))))

(script static void checkpoint


(begin
(if
(and
(!=
(unit_get_health
(unit
(list_get
(players) 0))) 0.00)
(!=
(unit_get_health
(unit
(list_get
(players) 0))) -1.00))
(game_save_totally_unsafe))))

(script static void nonviolent_off


(begin
(set effects_corpse_nonviolent false)))

(script static void nonviolent_on


(begin
(set effects_corpse_nonviolent true)))

(script static void clear_decals


(begin
(rasterizer_decals_flush)))

(script static void lights_off


(begin
(render_lights false)))

(script static void lights_on


(begin
(render_lights true)))

(script static void fps_on


(begin
(set rasterizer_fps true)))

(script static void fps_off


(begin
(set rasterizer_fps false)))

(script static void garbage


(begin
(garbage_collect_now)))

(script static void hud_off


(begin
(show_hud false)))

(script static void hud_on


(begin
(show_hud true)))

(script static void flycam_on


(begin
(debug_camera_save)
(debug_camera_load)))

(script static void flycam_off


(begin
(camera_control false)))
(script static void time_freeze
(begin
(game_speed 0.00)))

(script static void time_half


(begin
(game_speed 0.50)))

(script static void time_normal


(begin
(game_speed 1.00)))

(script static void time_fast


(begin
(game_speed 2.00)))

(script static void health_regen_off


(begin
(set regen_level 0)))

(script static void health_regen_low


(begin
(set regen_level 1)))

(script static void health_regen_med


(begin
(set regen_level 2)))

(script static void magnetism_on


(begin
(set player_magnetism true)))

(script static void magnetism_off


(begin
(set player_magnetism true)))

Você também pode gostar