Untitled diff

Created Diff never expires
(global string data_mine_mission_segment "")
(global string data_mine_mission_segment "")
(global bool blam False)
(global bool blam False)
(global short seconds 30)
(global short game_seconds 30)
(global short script_seconds 60)
(global short timer_boss_tartarus_recharge 0)
(global short timer_boss_tartarus_recharge 0)
(global short timer_boss_johnson_fire 0)
(global short timer_boss_johnson_fire 0)
(global bool boss_tartarus_invincible False)
(global bool boss_tartarus_invincible False)
(global short count_boss_cycle 1)
(global short count_boss_cycle 1)
(global short counter_boss_johnson_prompt 0)
(global short counter_boss_johnson_prompt 0)
(global short skip_boss_johnson_prompt 1)
(global short skip_boss_johnson_prompt 1)
(global bool boss_tartarus_berserk False)
(global bool boss_tartarus_berserk False)
(global short timer_boss_tartarus_berserk 0)
(global short timer_boss_tartarus_berserk 0)
(global short counter_boss_tartarus_taunt 0)
(global short counter_boss_tartarus_taunt 0)
(global bool mark_boss_first_cycle True)
(global bool mark_boss_first_cycle True)
(global short timer_boss_reenforcements 0)
(global short timer_boss_reenforcements 0)
(global short boss_random_reenforcements 0)
(global short boss_random_reenforcements 0)
(global bool boss_respawn_brutes False)
(global bool boss_respawn_brutes False)
(global bool boss_respawn_elites False)
(global bool boss_respawn_elites False)
(global bool boss_flavor_done False)
(global bool boss_flavor_done False)
(global short sound_offset 15)
(global short sound_offset 15)
(global short prediction_offset 45)
(global short prediction_offset 45)
(global bool g_mission_over False)
(global bool g_mission_over False)
(global short 15_seconds 450)
(global short 15_seconds 450)
(global short 30_seconds 900)
(global short 30_seconds 900)
(global short 45_seconds 900)
(global short 45_seconds 900)
(global short one_minute 1800)
(global short one_minute 1800)
(global short two_minutes 3600)
(global short two_minutes 3600)
(global script_unit g_cov_commander none)
(global script_unit g_cov_commander none)
(global real g_scarab_interpolation 0.25)
(global real g_scarab_interpolation 0.25)
(global bool g_e13_started False)
(global bool g_e13_started False)
(global bool g_e12_started False)
(global bool g_e12_started False)
(global bool g_e12_pro_inf0_1_berserk False)
(global bool g_e12_pro_inf0_1_berserk False)
(global bool g_e11_started False)
(global bool g_e11_started False)
(global bool g_e11_door_open False)
(global bool g_e11_door_open False)
(global bool g_e11_door_should_open False)
(global bool g_e11_door_should_open False)
(global bool g_e11_player_warned False)
(global bool g_e11_player_warned False)
(global bool g_e11_player_saw_door False)
(global bool g_e11_player_saw_door False)
(global short g_e11_shot_counter 0)
(global short g_e11_shot_counter 0)
(global bool g_e9_started False)
(global bool g_e9_started False)
(global bool g_e9_pro_phantom0_unloaded False)
(global bool g_e9_pro_phantom0_unloaded False)
(global bool g_e9_pro_phantom0_retreating False)
(global bool g_e9_pro_phantom0_retreating False)
(global bool g_e9_pro_phantom1_retreating False)
(global bool g_e9_pro_phantom1_retreating False)
(global bool g_e9_scarab_started False)
(global bool g_e9_scarab_started False)
(global bool g_e9_scarab_near_first_bend False)
(global bool g_e9_scarab_near_first_bend False)
(global bool g_e9_scarab_near_second_bend False)
(global bool g_e9_scarab_near_second_bend False)
(global bool g_e9_scarab_at_second_bend False)
(global bool g_e9_scarab_at_second_bend False)
(global bool g_e9_scarab_stepping_down False)
(global bool g_e9_scarab_stepping_down False)
(global bool g_e8_started False)
(global bool g_e8_started False)
(global bool g_e8_cov_banshees0_greeted False)
(global bool g_e8_cov_banshees0_greeted False)
(global short g_e8_mars_inf0_living_count 3)
(global short g_e8_mars_inf0_living_count 3)
(global short g_e8_target_wraith -1)
(global short g_e8_target_wraith -1)
(global bool g_e7_started False)
(global bool g_e7_started False)
(global bool g_e7_mars_johnson_go False)
(global bool g_e7_mars_johnson_go False)
(global bool g_e7_mars_johnson_aboard False)
(global bool g_e7_mars_johnson_aboard False)
(global bool g_e7_pro_captain_done False)
(global bool g_e7_pro_captain_done False)
(global bool g_e7_pro_sentry_alerted False)
(global bool g_e7_pro_sentry_alerted False)
(global short g_e7_mars_living_count 0)
(global short g_e7_mars_living_count 0)
(global bool g_e6_started False)
(global bool g_e6_started False)
(global bool g_e5_started False)
(global bool g_e5_started False)
(global short g_e5_pro_inf2_limit 7)
(global short g_e5_pro_inf2_limit 7)
(global bool g_e4_started False)
(global bool g_e4_started False)
(global bool g_e3_started False)
(global bool g_e3_started False)
(global bool g_e3_hunters_rise False)
(global bool g_e3_hunters_rise False)
(global bool g_e3_hunter0_go False)
(global bool g_e3_hunter0_go False)
(global bool g_e3_hunter1_go False)
(global bool g_e3_hunter1_go False)
(global bool g_e3_hunter0_arrived False)
(global bool g_e3_hunter0_arrived False)
(global bool g_e3_hunter1_arrived False)
(global bool g_e3_hunter1_arrived False)
(global bool g_e2_started False)
(global bool g_e2_started False)
(global bool g_e1_started False)
(global bool g_e1_started False)
(global short g_e1_ghosts_weak 1)
(global short g_e1_ghosts_weak 1)
(global short g_e1_ghosts_strong 3)
(global short g_e1_ghosts_strong 3)
(global short g_e1_ghosts_per_leg 10)




(script static player0
(script static player0
(begin
(begin
(unit (list_get (players) 0))
(unit (list_get (players) 0))
)
)
)
)


(script static player1
(script static player1
(begin
(begin
(unit (list_get (players) 1))
(unit (list_get (players) 1))
)
)
)
)


(script static player_count
(script static player_count
(begin
(begin
(list_count (players))
(list_count (players))
)
)
)
)


(script static end_segment
(script static end_segment
(begin
(begin
(camera_control True)
(camera_control True)
(cinematic_start)
(cinematic_start)
(fade_out 0 0 0 15)
(fade_out 0 0 0 15)
(sleep 30)
(sleep 30)
(print "end gameplay segment! thank you for playing!")
(print "end gameplay segment! thank you for playing!")
(sleep 15)
(sleep 15)
(print "grab jaime or paul to give feedback!")
(print "grab jaime or paul to give feedback!")
(player_action_test_reset)
(player_action_test_reset)
(sleep 15)
(sleep 15)
(print "press the “a” button to reset!")
(print "press the “a” button to reset!")
(sleep_until (player_action_test_accept))
(sleep_until (player_action_test_accept))
(print "reloading map...")
(print "reloading map...")
(sleep 15)
(sleep 15)
(map_reset)
(map_reset)
)
)
)
)


(script static difficulty_legendary
(script static difficulty_legendary
(begin
(begin
(= (game_difficulty_get) legendary)
(= (game_difficulty_get) legendary)
)
)
)
)


(script static difficulty_heroic
(script static difficulty_heroic
(begin
(begin
(= (game_difficulty_get) heroic)
(= (game_difficulty_get) heroic)
)
)
)
)


(script static difficulty_normal
(script static difficulty_normal
(begin
(begin
(= (game_difficulty_get) normal)
(= (game_difficulty_get) normal)
)
)
)
)


(script static cinematic_skip_start
(script static cinematic_skip_start
(begin
(begin
(cinematic_skip_start_internal)
(cinematic_skip_start_internal)
(game_save_cinematic_skip)
(game_save_cinematic_skip)
(sleep_until (not (game_saving)) 1) (not (game_reverted))
(sleep_until (not (game_saving)) 1) (not (game_reverted))
)
)
)
)


(script static cinematic_skip_stop
(script static cinematic_skip_stop
(begin
(begin
(cinematic_skip_stop_internal)
(cinematic_skip_stop_internal)
(if (not (game_reverted))
(if (not (game_reverted))
(game_revert))
(game_revert))
)
)
)
)


(script static cinematic_fade_to_white
(script static cinematic_fade_to_white
(begin
(begin
(player_enable_input False)
(player_enable_input False)
(player_camera_control False)
(player_camera_control False)
(hud_cinematic_fade 0 0.5)
(hud_cinematic_fade 0 0.5)
(cinematic_start)
(cinematic_start)
(fade_out 1 1 1 30)
(fade_out 1 1 1 30)
(sleep 30)
(sleep 30)
(camera_control True)
(camera_control True)
)
)
)
)


(script static cinematic_fade_from_white
(script static cinematic_fade_from_white
(begin
(begin
(hud_cinematic_fade 1 0.5)
(hud_cinematic_fade 1 0.5)
(cinematic_stop)
(cinematic_stop)
(camera_control False)
(camera_control False)
(fade_in 1 1 1 15)
(fade_in 1 1 1 15)
(sleep 15)
(sleep 15)
(player_enable_input True)
(player_enable_input True)
(player_camera_control True)
(player_camera_control True)
)
)
)
)


(script static cinematic_fade_from_white_bars
(script static cinematic_fade_from_white_bars
(begin
(begin
(cinematic_stop)
(cinematic_stop)
(cinematic_show_letterbox_immediate True)
(cinematic_show_letterbox_immediate True)
(camera_control False)
(camera_control False)
(fade_in 1 1 1 15)
(fade_in 1 1 1 15)
(sleep 15)
(sleep 15)
(player_enable_input True)
(player_enable_input True)
(player_camera_control True)
(player_camera_control True)
)
)
)
)


(script static cinematic_fade_from_black_bars
(script static cinematic_fade_from_black_bars
(begin
(begin
(cinematic_stop)
(cinematic_stop)
(cinematic_show_letterbox_immediate True)
(cinematic_show_letterbox_immediate True)
(camera_control False)
(camera_control False)
(fade_in 0 0 0 15)
(fade_in 0 0 0 15)
(sleep 15)
(sleep 15)
(player_enable_input True)
(player_enable_input True)
(player_camera_control True)
(player_camera_control True)
)
)
)
)


(script static cinematic_fade_to_black
(script static cinematic_fade_to_black
(begin
(begin
(player_enable_input False)
(player_enable_input False)
(player_camera_control False)
(player_camera_control False)
(hud_cinematic_fade 0 0.5)
(hud_cinematic_fade 0 0.5)
(cinematic_start)
(cinematic_start)
(fade_out 0 0 0 30)
(fade_out 0 0 0 30)
(sleep 30)
(sleep 30)
(camera_control True)
(camera_control True)
)
)
)
)


(script static cinematic_fade_from_black
(script static cinematic_fade_from_black
(begin
(begin
(hud_cinematic_fade 1 0.5)
(hud_cinematic_fade 1 0.5)
(cinematic_stop)
(cinematic_stop)
(camera_control False)
(camera_control False)
(fade_in 0 0 0 15)
(fade_in 0 0 0 15)
(sleep 15)
(sleep 15)
(player_enable_input True)
(player_enable_input True)
(player_camera_control True)
(player_camera_control True)
)
)
)
)


(script static cinematic_snap_to_black
(script static cinematic_snap_to_black
(begin
(begin
(player_enable_input False)
(player_enable_input False)
(player_camera_control False)
(player_camera_control False)
(fade_out 0 0 0 0)
(fade_out 0 0 0 0)
(hud_cinematic_fade 0 0)
(hud_cinematic_fade 0 0)
(cinematic_start)
(cinematic_start)
(cinematic_show_letterbox_immediate True)
(cinematic_show_letterbox_immediate True)
(camera_control True)
(camera_control True)
)
)
)
)


(script static cinematic_snap_to_white
(script static cinematic_snap_to_white
(begin
(begin
(player_enable_input False)
(player_enable_input False)
(player_camera_control False)
(player_camera_control False)
(fade_out 1 1 1 0)
(fade_out 1 1 1 0)
(hud_cinematic_fade 0 0)
(hud_cinematic_fade 0 0)
(cinematic_start)
(cinematic_start)
(cinematic_show_letterbox_immediate True)
(cinematic_show_letterbox_immediate True)
(camera_control True)
(camera_control True)
)
)
)
)


(script static cinematic_stash_players
(script static cinematic_stash_players
(begin
(begin
(object_hide
(object_hide
(player0)
(player0)
True)
True)
(object_hide
(object_hide
(player1)
(player1)
True)
True)
(object_cannot_take_damage (players))
(object_cannot_take_damage (players))
)
)
)
)


(script static cinematic_unstash_players
(script static cinematic_unstash_players
(begin
(begin
(object_hide
(object_hide
(player0)
(player0)
False)
False)
(object_hide
(object_hide
(player1)
(player1)
False)
False)
(object_can_take_damage (players))
(object_can_take_damage (players))
)
)
)
)


(script dormant _stealth_toggle_monitor
(script dormant _stealth_toggle_monitor
(begin
(begin
(sleep_until
(sleep_until
(begin
(begin
(sleep_until (if (and (>= (unit_get_shield
(sleep_until (if (and (>= (unit_get_shield
(player0)
(player0)
) 1) (player_action_test_vision_trigger)) (= 1 1)
) 1) (player_action_test_vision_trigger)) (= 1 1)
(begin
(begin
(player_action_test_reset) (= 1 0)
(player_action_test_reset) (= 1 0)
)) 1)
)) 1)
(cheat_active_camouflage_by_player 0 True)
(cheat_active_camouflage_by_player 0 True)
(print "stealth engaged")
(print "stealth engaged")
(unit_set_maximum_vitality
(unit_set_maximum_vitality
(player0)
(player0)
50 0)
50 0)
(unit_set_current_vitality
(unit_set_current_vitality
(player0)
(player0)
50 0)
50 0)
(object_set_shield
(object_set_shield
(player0)
(player0)
0)
0)
(sleep 30)
(sleep 30)
(player_action_test_reset)
(player_action_test_reset)
(sleep_until (or (< (object_get_health
(sleep_until (or (< (object_get_health
(player0)
(player0)
) 1) (player_action_test_vision_trigger)) 1)
) 1) (player_action_test_vision_trigger)) 1)
(cheat_active_camouflage_by_player 0 False)
(cheat_active_camouflage_by_player 0 False)
(print "stealth disengaged")
(print "stealth disengaged")
(unit_set_maximum_vitality
(unit_set_maximum_vitality
(player0)
(player0)
30 70)
30 70)
(object_set_shield
(object_set_shield
(player0)
(player0)
0)
0)
(sleep 30)
(sleep 30)
(player_action_test_reset) False)
(player_action_test_reset) False)
1)
1)
)
)
)
)


(script dormant _stealth_timer_monitor
(script dormant _stealth_timer_monitor
(begin
(begin
(sleep_until
(sleep_until
(begin
(begin
(sleep_until (if (player_action_test_vision_trigger) (= 1 1)
(sleep_until (if (player_action_test_vision_trigger) (= 1 1)
(begin
(begin
(player_action_test_reset) (= 1 0)
(player_action_test_reset) (= 1 0)
)) 1)
)) 1)
(cheat_active_camouflage_by_player 0 True)
(cheat_active_camouflage_by_player 0 True)
(print "stealth engaged")
(print "stealth engaged")
(sleep 15)
(sleep 15)
(player_action_test_reset)
(player_action_test_reset)
(sleep_until (or (player_action_test_vision_trigger) (player_action_test_primary_trigger) (player_action_test_grenade_trigger) (player_action_test_melee)) 1 (* 9 30))
(sleep_until (or (player_action_test_vision_trigger) (player_action_test_primary_trigger) (player_action_test_grenade_trigger) (player_action_test_melee)) 1 (* 9 30))
(cheat_active_camouflage_by_player 0 False)
(cheat_active_camouflage_by_player 0 False)
(print "stealth disengaged")
(print "stealth disengaged")
(sleep 30)
(sleep 30)
(player_action_test_reset)
(player_action_test_reset)
(sleep_until
(sleep_until
(begin
(begin
(print "+") False)
(print "+") False)
30 (* 5 30)) False)
30 (* 5 30)) False)
1)
1)
)
)
)
)


(script static activate_stealth_toggle_monitor
(script static activate_stealth_toggle_monitor
(begin
(begin
(sleep 1)
(sleep 1)
)
)
)
)


(script static activate_stealth_timer_monitor
(script static activate_stealth_timer_monitor
(begin
(begin
(sleep 1)
(sleep 1)
)
)
)
)


(script static playtest_mission
(script static playtest_mission
(begin
(begin
(if (game_is_playtest)
(if (game_is_playtest)
(begin
(begin
(sleep 30)
(sleep 30)
(hud_set_training_text playtest_raisehand)
(hud_set_training_text playtest_raisehand)
(hud_show_training_text True)
(hud_show_training_text True)
(player_action_test_reset)
(player_action_test_reset)
(sleep_until (player_action_test_accept) 1)
(sleep_until (player_action_test_accept) 1)
(hud_show_training_text False)
(hud_show_training_text False)
(sleep 30)
(sleep 30)
))
))
)
)
)
)


(script command cs_boss_brutes_stunned
(script command cs_boss_brutes_stunned
(begin
(begin
(cs_force_combat_status 4)
(cs_force_combat_status 4)
(cs_enable_moving False)
(cs_enable_moving False)
(cs_pause 1)
(cs_pause 1)
(cs_abort_on_damage True)
(cs_abort_on_damage True)
(cs_pause 1)
(cs_pause 1)
)
)
)
)


(script command cs_boss_tartarus_stunned
(script command cs_boss_tartarus_stunned
(begin
(begin
(cs_force_combat_status 4)
(cs_force_combat_status 4)
(cs_enable_moving False)
(cs_enable_moving False)
(sleep_forever)
(sleep_forever)
)
)
)
)


(script command cs_boss_tartarus_jump
(script command cs_boss_tartarus_jump
(begin
(begin
(cs_force_combat_status 4)
(cs_force_combat_status 4)
(cs_enable_moving False)
(cs_enable_moving False)
(cs_enable_pathfinding_failsafe True)
(cs_enable_pathfinding_failsafe True)
(cs_go_to boss/mid_land)
(cs_go_to boss/mid_land)
(cs_face_player True)
(cs_face_player True)
)
)
)
)


(script command cs_boss_tartarus_cheer
(script command cs_boss_tartarus_cheer
(begin
(begin
(cs_enable_moving False)
(cs_enable_moving False)
(cs_enable_targeting False)
(cs_enable_targeting False)
(cs_face_player True)
(cs_face_player True)
(sleep 60)
(sleep 60)
(custom_animation (ai_get_unit ai_current_actor) objects\characters\brute\brute combat:rifle:cheer True)
(custom_animation (ai_get_unit ai_current_actor) objects\characters\brute\brute combat:rifle:cheer True)
(sleep 60)
(sleep 60)
)
)
)
)


(script command cs_boss_tartarus_taunt
(script command cs_boss_tartarus_taunt
(begin
(begin
(cs_enable_moving False)
(cs_enable_moving False)
(cs_enable_targeting False)
(cs_enable_targeting False)
(cs_face_player True)
(cs_face_player True)
(sleep 60)
(sleep 60)
(custom_animation (ai_get_unit ai_current_actor) objects\characters\brute\brute combat:rifle:taunt True)
(custom_animation (ai_get_unit ai_current_actor) objects\characters\brute\brute combat:rifle:taunt True)
(sleep 60)
(sleep 60)
)
)
)
)


(script command cs_boss_tartarus_shakefist
(script command cs_boss_tartarus_shakefist
(begin
(begin
(cs_enable_moving False)
(cs_enable_moving False)
(cs_enable_targeting False)
(cs_enable_targeting False)
(cs_face_player True)
(cs_face_player True)
(sleep 60)
(sleep 60)
(custom_animation (ai_get_unit ai_current_actor) objects\characters\brute\brute combat:rifle:shakefist True)
(custom_animation (ai_get_unit ai_current_actor) objects\characters\brute\brute combat:rifle:shakefist True)
(sleep 60)
(sleep 60)
)
)
)
)


(script command cs_boss_johnson_idle
(script command cs_boss_johnson_idle
(begin
(begin
(cs_force_combat_status 4)
(cs_force_combat_status 4)
(cs_enable_moving False)
(cs_enable_moving False)
(cs_enable_pathfinding_failsafe True)
(cs_enable_pathfinding_failsafe True)
(cs_go_to boss/ledge_perch)
(cs_go_to boss/ledge_perch)
(cs_crouch True)
(cs_crouch True)
(cs_face_object True (ai_get_object boss_tartarus))
(cs_face_object True (ai_get_object boss_tartarus))
(cs_aim_object True (ai_get_object boss_tartarus))
(cs_aim_object True (ai_get_object boss_tartarus))
(print "johnson idle")
(sleep_forever)
(sleep_forever)
)
)
)
)


(script command cs_boss_johnson_idle2
(script command cs_boss_johnson_idle2
(begin
(begin
(cs_force_combat_status 4)
(cs_force_combat_status 4)
(cs_enable_moving False)
(cs_enable_moving False)
(cs_crouch True)
(cs_crouch True)
(cs_face_object True (ai_get_object boss_tartarus))
(cs_face_object True (ai_get_object boss_tartarus))
(cs_aim_object True (ai_get_object boss_tartarus))
(cs_aim_object True (ai_get_object boss_tartarus))
(print "johnson idle2")
(sleep_forever)
(sleep_forever)
)
)
)
)


(script command cs_boss_johnson_shoot
(script command cs_boss_johnson_shoot
(begin
(begin
(cs_force_combat_status 4)
(cs_force_combat_status 4)
(cs_enable_moving False)
(cs_enable_moving False)
(cs_crouch True)
(cs_crouch True)
(cs_face_object True (ai_get_object boss_tartarus))
(cs_face_object True (ai_get_object boss_tartarus))
(cs_aim_object True (ai_get_object boss_tartarus))
(cs_aim_object True (ai_get_object boss_tartarus))
(cs_shoot True (ai_get_object boss_tartarus))
(cs_shoot True (ai_get_object boss_tartarus))
(sleep 45)
(print "shot 1")
(sleep 5)
(cs_shoot False (ai_get_object boss_tartarus))
(sleep 11)
(cs_shoot True (ai_get_object boss_tartarus))
(print "shot 2")
(sleep 5)
(cs_shoot False (ai_get_object boss_tartarus))
(sleep 11)
(cs_shoot True (ai_get_object boss_tartarus))
(print "shot 3")
(sleep 15)
)
)
)
)


(script command cs_boss_miranda_nocrouch
(script command cs_boss_miranda_nocrouch
(begin
(begin
(cs_crouch False)
(cs_crouch False)
(sleep_forever)
(sleep_forever)
)
)
)
)


(script static boss_tartarus_taunt
(script static boss_tartarus_taunt
(begin
(begin
(if (= counter_boss_tartarus_taunt 0)
(if (= counter_boss_tartarus_taunt 0)
(begin
(begin
(begin
(begin
(print "what? is the mighty arbiter afraid?!")
(print "what? is the mighty arbiter afraid?!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_0980_tar (ai_get_object boss_tartarus) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_0980_tar (ai_get_object boss_tartarus) 1)
)
)
)
)
(if (= counter_boss_tartarus_taunt 1)
(if (= counter_boss_tartarus_taunt 1)
(begin
(begin
(begin
(begin
(print "you want revenge?! well here i am! come and take it!")
(print "you want revenge?! well here i am! come and take it!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_0990_tar (ai_get_object boss_tartarus) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_0990_tar (ai_get_object boss_tartarus) 1)
)
)
)
)
(if (= counter_boss_tartarus_taunt 2)
(if (= counter_boss_tartarus_taunt 2)
(begin
(begin
(begin
(begin
(print "just like the rest of your kind - you are cowardly and weak!")
(print "just like the rest of your kind - you are cowardly and weak!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1000_tar (ai_get_object boss_tartarus) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1000_tar (ai_get_object boss_tartarus) 1)
)
)
)
)
(if True
(if True
(begin
(begin
(set counter_boss_tartarus_taunt 0)
(set counter_boss_tartarus_taunt 0)
) void))))
) void))))
(set counter_boss_tartarus_taunt
(set counter_boss_tartarus_taunt
(+ counter_boss_tartarus_taunt 1))
(+ counter_boss_tartarus_taunt 1))
)
)
)
)


(script static boss_johnson_prompt
(script static boss_johnson_prompt
(begin
(begin
(sleep 45)
(sleep 45)
(if (= counter_boss_johnson_prompt
(if (= counter_boss_johnson_prompt
(* 1 skip_boss_johnson_prompt))
(* 1 skip_boss_johnson_prompt))
(begin
(begin
(begin
(begin
(print "hey, mohawk! how'd that feel?!")
(print "hey, mohawk! how'd that feel?!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2010_jon (ai_get_object boss_johnson) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2010_jon (ai_get_object boss_johnson) 1)
)
)
)
)
(if (= counter_boss_johnson_prompt
(if (= counter_boss_johnson_prompt
(* 2 skip_boss_johnson_prompt))
(* 2 skip_boss_johnson_prompt))
(begin
(begin
(begin
(begin
(print "his shield is down! let him have it!")
(print "his shield is down! let him have it!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2020_jon (ai_get_object boss_johnson) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2020_jon (ai_get_object boss_johnson) 1)
)
)
)
)
(if (= counter_boss_johnson_prompt
(if (= counter_boss_johnson_prompt
(* 3 skip_boss_johnson_prompt))
(* 3 skip_boss_johnson_prompt))
(begin
(begin
(begin
(begin
(print "there goes his shield!")
(print "there goes his shield!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2030_jon (ai_get_object boss_johnson) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2030_jon (ai_get_object boss_johnson) 1)
)
)
)
)
(if (= counter_boss_johnson_prompt
(if (= counter_boss_johnson_prompt
(* 4 skip_boss_johnson_prompt))
(* 4 skip_boss_johnson_prompt))
(begin
(begin
(begin
(begin
(print "got his shield! hit him now!")
(print "got his shield! hit him now!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2040_jon (ai_get_object boss_johnson) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2040_jon (ai_get_object boss_johnson) 1)
)
)
)
)
(if (= counter_boss_johnson_prompt
(if (= counter_boss_johnson_prompt
(* 5 skip_boss_johnson_prompt))
(* 5 skip_boss_johnson_prompt))
(begin
(begin
(begin
(begin
(print "quick! while his shield is down!")
(print "quick! while his shield is down!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2050_jon (ai_get_object boss_johnson) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2050_jon (ai_get_object boss_johnson) 1)
)
)
)
)
(if (= counter_boss_johnson_prompt
(if (= counter_boss_johnson_prompt
(* 6 skip_boss_johnson_prompt))
(* 6 skip_boss_johnson_prompt))
(begin
(begin
(begin
(begin
(print "i can keep his shield down, but you're gonna have to finish the job!")
(print "i can keep his shield down, but you're gonna have to finish the job!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2060_jon (ai_get_object boss_johnson) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_2060_jon (ai_get_object boss_johnson) 1)
)
)
)
)
(if (> counter_boss_johnson_prompt
(if (> counter_boss_johnson_prompt
(* 8 skip_boss_johnson_prompt))
(* 8 skip_boss_johnson_prompt))
(begin
(begin
(begin
(begin
(set counter_boss_johnson_prompt 0)
(set counter_boss_johnson_prompt 0)
(set skip_boss_johnson_prompt
(set skip_boss_johnson_prompt
(+ skip_boss_johnson_prompt 1))
(+ skip_boss_johnson_prompt 1))
)
)
) void)))))))
) void)))))))
(set counter_boss_johnson_prompt
(set counter_boss_johnson_prompt
(+ counter_boss_johnson_prompt 1))
(+ counter_boss_johnson_prompt 1))
)
)
)
)


(script dormant boss_flavor
(script dormant boss_flavor
(begin
(begin
(sleep (* 5 seconds))
(sleep (* 5 game_seconds))
(sound_looping_start sound\ambience\deltacontolroom\boss\stage1 none 1)
(sound_looping_start sound\ambience\deltacontolroom\boss\stage1 none 1)
(sleep (* 5 seconds))
(sleep (* 5 game_seconds))
(print "charging sequence initiated! primary generators coming on-line!")
(print "charging sequence initiated! primary generators coming on-line!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1040_gsp (ai_get_object boss_monitor) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1040_gsp (ai_get_object boss_monitor) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1040_gsp))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1040_gsp))
(print "well, shut them down!")
(print "well, shut them down!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1050_mir (ai_get_object boss_miranda) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1050_mir (ai_get_object boss_miranda) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1050_mir))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1050_mir))
(print "apology. protocol does allow me to interfere with any aspect of the sequence.")
(print "apology. protocol does allow me to interfere with any aspect of the sequence.")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1060_gsp (ai_get_object boss_monitor) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1060_gsp (ai_get_object boss_monitor) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1060_gsp))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1060_gsp))
(print "then how do i stop it?!")
(print "then how do i stop it?!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1120_mir (ai_get_object boss_miranda) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1120_mir (ai_get_object boss_miranda) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1120_mir))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1120_mir))
(print "well…it will take some time to go over the proper procedures…")
(print "well…it will take some time to go over the proper procedures…")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1130_gsp (ai_get_object boss_monitor) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1130_gsp (ai_get_object boss_monitor) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1130_gsp))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1130_gsp))
(print "quit stalling!")
(print "quit stalling!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1140_mir (ai_get_object boss_miranda) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1140_mir (ai_get_object boss_miranda) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1140_mir))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1140_mir))
(print "under more controlled circumstances, i would suggest the reclaimer simply remove the index.")
(print "under more controlled circumstances, i would suggest the reclaimer simply remove the index.")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1150_gsp (ai_get_object boss_monitor) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1150_gsp (ai_get_object boss_monitor) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1150_gsp))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1150_gsp))
(print "that's it?! johnson, i'm on it!")
(print "that's it?! johnson, i'm on it!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1160_mir (ai_get_object boss_miranda) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1160_mir (ai_get_object boss_miranda) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1160_mir))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1160_mir))
(print "hang-tight, ma'am! not until that brute is dead!")
(print "hang-tight, ma'am! not until that brute is dead!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1170_jon (ai_get_object boss_johnson) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1170_jon (ai_get_object boss_johnson) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1170_jon))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1170_jon))
(set boss_flavor_done True)
(set boss_flavor_done True)
(sleep (* 30 seconds))
(sleep (* 30 game_seconds))
(set boss_flavor_done False)
(set boss_flavor_done False)
(sound_looping_start sound\ambience\deltacontolroom\boss\stage2 none 1)
(sound_looping_start sound\ambience\deltacontolroom\boss\stage2 none 1)
(sleep (* 5 seconds))
(sleep (* 5 game_seconds))
(print "secondary generators charging! all systems are performing well within operational parameters!")
(print "secondary generators charging! all systems are performing well within operational parameters!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1070_gsp (ai_get_object boss_monitor) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1070_gsp (ai_get_object boss_monitor) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1070_gsp))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1070_gsp))
(print "you're telling me you can't stop the sequence?")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1080_mir (ai_get_object boss_miranda) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1080_mir))
(print "reclaimer, please understand: interrupting the wave-generation process will severely damage this installation.")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1090_gsp (ai_get_object boss_monitor) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1090_gsp))
(print "give me a direct answer!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1100_mir (ai_get_object boss_miranda) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1100_mir))
(print "i am but a monitor. the reclaimer can do what it likes.")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1110_gsp (ai_get_object boss_monitor) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1110_gsp))
(set boss_flavor_done True)
(set boss_flavor_done True)
(sleep (* 30 seconds))
(sleep (* 30 game_seconds))
(set boss_flavor_done False)
(set boss_flavor_done False)
(sound_looping_start sound\ambience\deltacontolroom\boss\stage3 none 1)
(sound_looping_start sound\ambience\deltacontolroom\boss\stage3 none 1)
(sleep (* 5 seconds))
(sleep (* 5 game_seconds))
(print "power-generation phase complete! the installation is ready to fire! starting final countdown…")
(print "power-generation phase complete! the installation is ready to fire! starting final countdown…")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1180_gsp (ai_get_object boss_monitor) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1180_gsp (ai_get_object boss_monitor) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1180_gsp))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1180_gsp))
(print "c'mon, arbiter! kick that guy's ass!")
(print "c'mon, arbiter! kick that guy's ass!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1190_jon (ai_get_object boss_johnson) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1190_jon (ai_get_object boss_johnson) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1190_jon))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1190_jon))
(print "and may i say, reclaimers, it has been a pleasure to serve you both! goodbye!")
(print "and may i say, reclaimers, it has been a pleasure to serve you both! goodbye!")
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1200_gsp (ai_get_object boss_monitor) 1)
(sound_impulse_start sound\dialog\levels\08_controlroom\mission\l08_1200_gsp (ai_get_object boss_monitor) 1)
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1200_gsp))
(sleep (sound_impulse_language_time sound\dialog\levels\08_controlroom\mission\l08_1200_gsp))
(set boss_flavor_done True)
(set boss_flavor_done True)
)
)
)
)


(script dormant boss_music
(script dormant boss_music
(begin
(begin
(sound_looping_start scenarios\solo\08b_deltacontrol\08b_music\08b_11 none 1)
(sound_looping_start scenarios\solo\08b_deltacontrol\08b_music\08b_11 none 1)
(sleep_until (volume_test_objects tv_boss_platform (players)))
(sleep_until (volume_test_objects tv_boss_platform (players)))
(sound_looping_start scenarios\solo\08b_deltacontrol\08b_music\08b_12 none 1)
(sound_looping_start scenarios\solo\08b_deltacontrol\08b_music\08b_12 none 1)
(sleep_until (not mark_boss_first_cycle))
(sleep_until (not mark_boss_first_cycle))
(sound_looping_start scenarios\solo\08b_deltacontrol\08b_music\08b_13 none 1)
(sound_looping_start scenarios\solo\08b_deltacontrol\08b_music\08b_13 none 1)
)
)
)
)


(script static boss_tartarus_rateofrecharge
(script static boss_tartarus_rateofrecharge
(begin
(begin
(if (difficulty_legendary)
(if (difficulty_legendary)
(begin
(begin
(random_range (* 1 seconds) (* 2 seconds))
(random_range (* 1 script_seconds) (* 2 script_seconds))
) (if (difficulty_heroic)
) (if (difficulty_heroic)
(begin
(begin
(random_range (* 1 seconds) (* 3 seconds))
(random_range (* 1 script_seconds) (* 3 script_seconds))
) (if True
) (if True
(begin
(begin
(random_range (* 2 seconds) (* 3 seconds))
(random_range (* 2 script_seconds) (* 3 script_seconds))
) 0)))
) 0)))
)
)
)
)


(script static boss_johnson_rateoffire
(script static boss_johnson_rateoffire
(begin
(begin
(if (difficulty_legendary)
(if (difficulty_legendary)
(begin
(begin
(random_range (* 7 seconds) (* 15 seconds))
(random_range (* 7 script_seconds) (* 15 script_seconds))
) (if (difficulty_heroic)
) (if (difficulty_heroic)
(begin
(begin
(random_range (* 5 seconds) (* 12 seconds))
(random_range (* 5 script_seconds) (* 12 script_seconds))
) (if True
) (if True
(begin
(begin
(random_range (* 4 seconds) (* 10 seconds))
(random_range (* 4 script_seconds) (* 10 script_seconds))
) 0)))
) 0)))
)
)
)
)


(script static boss_rateofreenforcement
(script static boss_rateofreenforcement
(begin
(begin
(if (difficulty_legendary)
(if (difficulty_legendary)
(begin
(begin
(random_range (* 30 seconds) (* 60 seconds))
(random_range (* 30 script_seconds) (* 60 script_seconds))
) (if (difficulty_heroic)
) (if (difficulty_heroic)
(begin
(begin
(random_range (* 30 seconds) (* 60 seconds))
(random_range (* 30 script_seconds) (* 60 script_seconds))
) (if True
) (if True
(begin
(begin
(random_range (* 30 seconds) (* 60 seconds))
(random_range (* 30 script_seconds) (* 60 script_seconds))
) 0)))
) 0)))
)
)
)
)


(script static boss_tartarus_invincible_on
(script static boss_tartarus_invincible_on
(begin
(begin
(object_set_function_variable (ai_get_object boss_tartarus) invincibility 1 2)
(object_set_function_variable (ai_get_object boss_tartarus) invincibility 1 2)
(object_set_shield (ai_get_object boss_tartarus) (/ 1 1000))
(object_set_shield (ai_get_object boss_tartarus) (/ 1 1000))
(set boss_tartarus_invincible True)
(set boss_tartarus_invincible True)
)
)
)
)


(script static boss_tartarus_invincible_off
(script static boss_tartarus_invincible_off
(begin
(begin
(object_set_function_variable (ai_get_object boss_tartarus) invincibility 0 0.1)
(object_set_function_variable (ai_get_object boss_tartarus) invincibility 0 0.1)
(object_set_shield (ai_get_object boss_tartarus) (/ 0 1000))
(object_set_shield (ai_get_object boss_tartarus) (/ 0 1000))
(set boss_tartarus_invincible False)
(set boss_tartarus_invincible False)
)
)
)
)


(script static boss_tartarus_berserk_on
(script static boss_tartarus_berserk_on
(begin
(begin
(ai_berserk boss_tartarus True)
(ai_berserk boss_tartarus True)
(set boss_tartarus_berserk True)
(set boss_tartarus_berserk True)
(print "berserk")
(print "berserk")
)
)
)
)


(script static boss_tartarus_berserk_off
(script static boss_tartarus_berserk_off
(begin
(begin
(ai_berserk boss_tartarus False)
(ai_berserk boss_tartarus False)
(set boss_tartarus_berserk False)
(set boss_tartarus_berserk False)
)
)
)
)


(script static boss_setup
(script static boss_setup
(begin
(begin
(switch_bsp 3)
(switch_bsp 3)
(ai_allegiance player human)
(ai_allegiance player human)
(ai_allegiance player covenant)
(ai_allegiance player covenant)
(ai_allegiance player sentinel)
(ai_allegiance player sentinel)
(ai_allegiance human covenant)
(ai_allegiance human covenant)
(ai_allegiance human sentinel)
(ai_allegiance human sentinel)
(ai_allegiance covenant human)
(ai_allegiance covenant human)
(ai_allegiance covenant sentinel)
(ai_allegiance covenant sentinel)
(ai_allegiance prophet sentinel)
(ai_allegiance prophet sentinel)
(sleep 1)
(sleep 1)
(object_teleport
(object_teleport
(player0)
(player0)
boss_player0_flag)
boss_player0_flag)
(object_teleport
(object_teleport
(player1)
(player1)
boss_player1_flag)
boss_player1_flag)
(kill_volume_enable kill_e13_0)
(kill_volume_enable kill_e13_0)
(device_set_position_immediate e13_rotors 0.625)
(device_set_position_immediate e13_rotors 0.625)
(device_operates_automatically_set e12_door1 False)
(device_operates_automatically_set e12_door1 False)
(if (difficulty_legendary)
(if (difficulty_legendary)
(begin
(begin
(set count_boss_cycle 4)
(set count_boss_cycle 4)
)
)
(if (difficulty_heroic)
(if (difficulty_heroic)
(begin
(begin
(set count_boss_cycle 3)
(set count_boss_cycle 3)
)
)
(if True
(if True
(begin
(begin
(set count_boss_cycle 2)
(set count_boss_cycle 2)
) void)))
) void)))
(if (difficulty_legendary)
(if (difficulty_legendary)
(begin
(begin
(set skip_boss_johnson_prompt 6)
(set skip_boss_johnson_prompt 6)
)
)
(if (difficulty_heroic)
(if (difficulty_heroic)
(begin
(begin
(set skip_boss_johnson_prompt 3)
(set skip_boss_johnson_prompt 3)
)
)
(if True
(if True
(begin
(begin
(set skip_boss_johnson_prompt 1)
(set skip_boss_johnson_prompt 1)
) void)))
) void)))
(ai_place boss_tartarus)
(ai_place boss_tartarus)
(unit_impervious (ai_get_object boss_tartarus) True)
(unit_impervious (ai_get_object boss_tartarus) True)
(ai_cannot_die boss_tartarus True)
(ai_cannot_die boss_tartarus True)
(unit_only_takes_damage_from_players_team (ai_get_unit boss_tartarus) True)
(unit_only_takes_damage_from_players_team (ai_get_unit boss_tartarus) True)
(object_set_scale (ai_get_object boss_tartarus) 1.15 0)
(object_set_scale (ai_get_object boss_tartarus) 1.15 0)
(boss_tartarus_invincible_on)
(boss_tartarus_invincible_on)
(if (difficulty_legendary)
(if (difficulty_legendary)
(begin
(begin
(unit_set_maximum_vitality (ai_get_unit boss_tartarus) 400 1000)
(unit_set_maximum_vitality (ai_get_unit boss_tartarus) 400 1000)
)
)
(if (difficulty_heroic)
(if (difficulty_heroic)
(begin
(begin
(unit_set_maximum_vitality (ai_get_unit boss_tartarus) 350 1000)
(unit_set_maximum_vitality (ai_get_unit boss_tartarus) 350 1000)
)
)
(if True
(if True
(begin
(begin
(unit_set_maximum_vitality (ai_get_unit boss_tartarus) 300 1000)
(unit_set_maximum_vitality (ai_get_unit boss_tartarus) 300 1000)
) void)))
) void)))
(unit_set_current_vitality (ai_get_unit boss_tartarus) 50 1000)
(unit_set_current_vitality (ai_get_unit boss_tartarus) 50 1000)
(cs_run_command_script boss_tartarus cs_boss_tartarus_stunned)
(cs_run_command_script boss_tartarus cs_boss_tartarus_stunned)
(ai_place boss_miranda)
(ai_place boss_miranda)
(unit_impervious (ai_actors boss_miranda) True)
(unit_impervious (ai_actors boss_miranda) True)
(object_cannot_die (ai_get_object boss_miranda) True)
(object_cannot_die (ai_get_obje
(cs_run_command_script boss_miranda cs_boss_miranda_nocrouch)
(ai_disregard (ai_get_object boss_miranda) True)
(ai_place boss_monitor)
(ai_cannot_die boss_monitor True)
(ai_disregard (ai_get_object boss_monitor) True)
(ai_place boss_johnson)
(unit_impervious (ai_actors boss_johnson) True)
(object_cannot_die (ai_get_object boss_johnson) True)
(ai_disregard (ai_get_object boss_johnson) True)
(cinematic_lighting_set_primary_light 27 0 0.34902 0.333333 0.541176)
(cinematic_lighting_set_secondary_light -26 154 0.639216 0.54902 0.505882)
(cinematic_lighting_set_ambient_light 0.0823529 0.0784314 0.0588235)
(object_uses_cinematic_lighting (ai_get_object boss_johnson) True)
(ai_place boss_brute_start)
(cs_run_command_script boss_brute_start cs_boss_brutes_stunned)
(ai_place boss_elite_start)
(game_save_immediate)
)
)

(script static tartarus_boss_fight
(begin
(cinematic_snap_to_white)
(object_create_containing "boss_object")
(print "war!")
(boss_setup)
(wake boss_music)
(sleep 1)
(cache_block_for_one_frame)
(sleep 1)
(cinematic_fade_from_white)
(sleep 90)
(units_set_current_vitality (ai_actors boss_brute_start) 30 0)
(sleep 120)
(sleep_until (not (or (and (> (device_get_position e13_rotors) 0.05) (< (device_get_position e13_rotors) 0.125)) (and (> (device_get_position e13_rotors) 0.3) (< (device_get_position e13_rotors) 0.375)) (and (> (device_get_po