iw6-scripts/maps/clockwork_exfil.gsc
2024-02-13 13:20:49 +01:00

4147 lines
154 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
clockwork_exfil_pre_load()
{
precacheitem( "rpg_straight" );
precacheitem( "xm25_fast" );
precacheitem( "cz805bren+reflex_sp+silencer_sp" );
precacheitem( "minigun_m1a1" );
precacheitem( "minigun_m1a1_fast" );
maps\clockwork_code::ice_effects_init();
common_scripts\utility::flag_init( "player_dynamic_move_speed" );
common_scripts\utility::flag_init( "player_DMS_allow_sprint" );
common_scripts\utility::flag_init( "exfil_finished" );
common_scripts\utility::flag_init( "chaos_finished" );
common_scripts\utility::flag_init( "spawn_jeeps" );
common_scripts\utility::flag_init( "elevator_open" );
common_scripts\utility::flag_init( "elevator_enemies_start" );
common_scripts\utility::flag_init( "ele_anim_done" );
common_scripts\utility::flag_init( "start_exfil_ride" );
common_scripts\utility::flag_init( "exfil_fire_fail" );
common_scripts\utility::flag_init( "scientist_interview" );
common_scripts\utility::flag_init( "chaos_garage_move" );
common_scripts\utility::flag_init( "chaos_meetupvo_start" );
common_scripts\utility::flag_init( "chaos_commandervo_done" );
common_scripts\utility::flag_init( "meetup_vo_done" );
common_scripts\utility::flag_init( "punchit_go" );
common_scripts\utility::flag_init( "punchit_exfil_hot" );
common_scripts\utility::flag_init( "chase_punch_it" );
common_scripts\utility::flag_init( "punchit_car_one" );
common_scripts\utility::flag_init( "punchit_car_two" );
common_scripts\utility::flag_init( "gate_crash_player" );
common_scripts\utility::flag_init( "exfil_blockade_ram" );
common_scripts\utility::flag_init( "hand_wait" );
common_scripts\utility::flag_init( "baker_in_jeep" );
common_scripts\utility::flag_init( "baker_ready" );
common_scripts\utility::flag_init( "exfil_player_land" );
common_scripts\utility::flag_init( "kill_endingjeep" );
common_scripts\utility::flag_init( "allies_finished_defend_anims" );
common_scripts\utility::flag_init( "guard3_die" );
common_scripts\utility::flag_init( "hesh_slide" );
common_scripts\utility::flag_init( "guard_slap" );
common_scripts\utility::flag_init( "cagelight" );
common_scripts\utility::flag_init( "tubelight_parking" );
common_scripts\utility::flag_init( "in_elevator_ally_01" );
common_scripts\utility::flag_init( "in_elevator_ally_02" );
common_scripts\utility::flag_init( "in_elevator_ally_03" );
common_scripts\utility::flag_init( "merrick_ready_jeep" );
common_scripts\utility::flag_init( "keegan_ready_jeep" );
common_scripts\utility::flag_init( "hesh_ready_jeep" );
common_scripts\utility::flag_init( "punchit_jeep_play_anim" );
precachemodel( "viewhands_player_fed_army_arctic" );
level.player_viewhand_model = "viewhands_player_fed_army_arctic";
level.switchactive = 1;
level.justplayed = 0;
}
setup_chaos()
{
level.start_point = "chaos";
maps\clockwork_code::dog_setup();
maps\clockwork_code::setup_player();
maps\clockwork_code::spawn_allies();
common_scripts\utility::array_thread( level.allies, maps\_utility::set_ignoreall, 1 );
common_scripts\utility::flag_set( "to_cqb" );
common_scripts\utility::flag_set( "defend_finished" );
common_scripts\utility::flag_set( "cypher_defend_close_door" );
maps\_utility::battlechatter_off( "allies" );
maps\_utility::vision_set_changes( "clockwork_indoor", 0 );
common_scripts\utility::flag_set( "allies_finished_defend_anims" );
maps\clockwork_audio::checkpoint_chaos();
maps\clockwork_code::hide_dufflebags();
common_scripts\utility::exploder( 5 );
if ( level.woof )
level.dog thread maps\ally_attack_dog::lock_player_control_until_flag( "ele_anim_done" );
}
begin_chaos()
{
maps\_utility::battlechatter_off( "axis" );
maps\_utility::battlechatter_off( "allies" );
if ( level.woof )
thread handle_dog_chaos();
maps\_utility::array_spawn_function_noteworthy( "chaos_patrollers", ::exfil_alert_handle );
maps\_utility::array_spawn_function_noteworthy( "exfil_patrollers", ::exfil_alert_handle );
thread maps\clockwork_interior_nvg::control_nvg_staticscreens_on();
level.drs_ahead_test = maps\_utility_code::dynamic_run_ahead_test;
thread fire_fail_exfil_vo();
thread elevator_movement();
thread security_room_transition();
maps\clockwork_code::toggle_visibility( "vault_frame_destroyed_hotmetal", 0 );
common_scripts\utility::flag_wait( "chaos_finished" );
}
setup_exfil()
{
level.start_point = "exfil";
maps\clockwork_code::dog_setup();
maps\clockwork_code::setup_player();
maps\clockwork_code::spawn_allies();
level.exfil_checkpoint = 1;
common_scripts\utility::array_thread( level.allies, maps\_utility::set_ignoreall, 1 );
common_scripts\utility::array_thread( level.allies, maps\_utility::set_ignoreme, 1 );
common_scripts\utility::flag_set( "defend_finished" );
maps\_utility::battlechatter_off( "allies" );
maps\_utility::vision_set_changes( "clockwork_indoor_security", 0 );
maps\clockwork_code::hide_dufflebags();
maps\_treadfx::setvehiclefx( "script_vehicle_gaz_tigr_turret_physics", "snow", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_gaz_tigr_turret_physics", "ice", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_gaz_tigr_turret_physics", "slush", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics_turret", "snow", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics_turret", "ice", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics_turret", "slush", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics", "snow", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics", "ice", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics", "slush", "fx/treadfx/tread_snow_night_clk" );
maps\clockwork_audio::checkpoint_exfil();
if ( level.woof )
{
var_0 = getnode( "dog_exfil_jeep", "targetname" );
level.dog maps\_utility::set_goal_node( var_0 );
}
}
begin_exfil()
{
if ( level.woof )
thread handle_dog_exfil();
level.pos_lookahead_dist = 200;
level.dodge_distance = 50;
maps\_vehicle_spline_zodiac::init_vehicle_splines();
level.enemy_snowmobiles_max = 0;
level.player.offset = 525;
level.icehole_to_move = 0;
level.enemy_jeep_a = [];
level.enemy_jeep_b = [];
level.enemy_jeep_s = [];
level.enemy_snowmobile = [];
level.enemy_jeep_turret = [];
level.otherallies = [];
level.allcrashes = [];
common_scripts\utility::flag_set( "punchit_exfil_hot" );
if ( !maps\_utility::is_gen4() )
setsaveddvar( "r_sunsprite_size_override", "0" );
maps\_utility::array_spawn_function_noteworthy( "exfil_snowmobile", maps\clockwork_code::snowmobile_sounds );
if ( !isdefined( level.jeep ) )
level.jeep = maps\_vehicle::spawn_vehicle_from_targetname( "chaos_level_jeep_proxy" );
if ( isdefined( level.exfil_checkpoint ) )
{
maps\_utility::array_spawn_function_noteworthy( "exfil_patrollers", ::exfil_alert_handle );
common_scripts\utility::flag_set( "elevator_open" );
thread fire_fail_exfil_vo();
thread maps\clockwork_code::hold_fire_unless_ads( "ally_start_path_exfil" );
}
level.crashed_trucks = getent( "crashed_trucks", "targetname" );
level.crashed_truck1 = getent( "crashed_truck1", "targetname" );
level.crashed_truck2 = getent( "crashed_truck2", "targetname" );
level.crashed_trucks hide();
level.crashed_truck1 hide();
level.crashed_truck2 hide();
level.icehole_achievement = 0;
thread maps\clockwork_code::vehicle_hit_drift();
thread in_to_jeep();
thread crash_event();
thread headon_event();
thread canal_event();
thread tank_event();
thread bridge_event();
thread new_cliff_moment();
thread new_nxsub_breach_moment();
thread exfil_handle_ps4_ssao();
common_scripts\utility::flag_wait( "exfil_finished" );
maps\_utility::nextmission();
}
exfil_handle_ps4_ssao()
{
if ( !level.ps4 )
return;
var_0 = 0;
common_scripts\utility::flag_wait( "exfil_door_close_start" );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_0 = 1;
maps\_art::disable_ssao_over_time( 2 );
}
common_scripts\utility::flag_wait( "ally_start_path_exfil" );
if ( var_0 )
maps\_art::enable_ssao_over_time( 2 );
}
setup_exfil_alt()
{
maps\_treadfx::setvehiclefx( "script_vehicle_gaz_tigr_turret_physics", "snow", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_gaz_tigr_turret_physics", "ice", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_gaz_tigr_turret_physics", "slush", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics_turret", "snow", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics_turret", "ice", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics_turret", "slush", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics", "snow", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics", "ice", "fx/treadfx/tread_snow_night_clk" );
maps\_treadfx::setvehiclefx( "script_vehicle_warrior_physics", "slush", "fx/treadfx/tread_snow_night_clk" );
maps\clockwork_code::dog_setup();
maps\clockwork_code::setup_player();
maps\clockwork_code::spawn_allies();
thread maps\_utility::vision_set_changes( "clockwork_outdoor_exfill_02", 1 );
maps\clockwork_code::hide_dufflebags();
if ( !maps\_utility::is_gen4() )
setsaveddvar( "r_sunsprite_size_override", "0" );
}
begin_exfil_tank()
{
level endon( "exfil_finished" );
thread maps\clockwork_audio::checkpoint_tank();
level.pos_lookahead_dist = 200;
level.dodge_distance = 50;
maps\_vehicle_spline_zodiac::init_vehicle_splines();
level.enemy_snowmobiles_max = 0;
level.player.offset = 525;
level.icehole_to_move = 0;
level.enemy_jeep_a = [];
level.enemy_jeep_b = [];
level.enemy_jeep_s = [];
level.enemy_jeep_turret = [];
level.enemy_snowmobile = [];
level.allcrashes = [];
level.allyjeep = 1;
var_0 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive( "jeep_exfil_tank_ride_player" );
level.playerjeep = var_0[0];
wait 0.01;
place_allies_in_jeep();
thread enemy_zodiacs_spawn_and_attack();
level.player.progress = level.player.progress + 14750;
level.crashed_trucks = getent( "crashed_trucks", "targetname" );
level.crashed_truck1 = getent( "crashed_truck1", "targetname" );
level.crashed_truck2 = getent( "crashed_truck2", "targetname" );
level.crashed_trucks hide();
level.crashed_truck1 hide();
level.crashed_truck2 hide();
thread tank_event();
thread bridge_event();
thread new_cliff_moment();
thread new_nxsub_breach_moment();
dog_in_exfil_jeep();
common_scripts\utility::flag_wait( "exfil_finished" );
}
begin_exfil_bridge()
{
level endon( "exfil_finished" );
thread maps\clockwork_audio::checkpoint_bridge();
level.pos_lookahead_dist = 200;
level.dodge_distance = 50;
maps\_vehicle_spline_zodiac::init_vehicle_splines();
level.enemy_snowmobiles_max = 0;
level.player.offset = 525;
level.icehole_to_move = 0;
level.enemy_jeep_a = [];
level.enemy_jeep_b = [];
level.enemy_jeep_s = [];
level.enemy_jeep_turret = [];
level.enemy_snowmobile = [];
level.allcrashes = [];
level.allyjeep = 1;
var_0 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive( "jeep_exfil_bridge_ride_player" );
level.playerjeep = var_0[0];
wait 0.01;
place_allies_in_jeep();
thread enemy_zodiacs_spawn_and_attack();
level.player.progress = level.player.progress + 34000;
level.crashed_trucks = getent( "crashed_trucks", "targetname" );
level.crashed_truck1 = getent( "crashed_truck1", "targetname" );
level.crashed_truck2 = getent( "crashed_truck2", "targetname" );
level.crashed_trucks hide();
level.crashed_truck1 hide();
level.crashed_truck2 hide();
thread tank_event();
thread bridge_event();
thread new_cliff_moment();
thread new_nxsub_breach_moment();
dog_in_exfil_jeep();
common_scripts\utility::flag_wait( "exfil_finished" );
}
begin_exfil_cave()
{
level endon( "exfil_finished" );
thread maps\clockwork_audio::checkpoint_cave();
level.pos_lookahead_dist = 200;
level.dodge_distance = 50;
maps\_vehicle_spline_zodiac::init_vehicle_splines();
level.enemy_snowmobiles_max = 0;
level.player.offset = 525;
level.icehole_to_move = 0;
level.turret_rounds = 3;
level.enemy_jeep_a = [];
level.enemy_jeep_b = [];
level.enemy_jeep_s = [];
level.enemy_jeep_turret = [];
level.enemy_snowmobile = [];
level.allcrashes = [];
level.allyjeep = 1;
var_0 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive( "jeep_exfil_cave_ride_player" );
level.playerjeep = var_0[0];
wait 0.01;
place_allies_in_jeep();
thread enemy_zodiacs_spawn_and_attack();
level.player.progress = level.player.progress + 61000;
level.crashed_trucks = getent( "crashed_trucks", "targetname" );
level.crashed_truck1 = getent( "crashed_truck1", "targetname" );
level.crashed_truck2 = getent( "crashed_truck2", "targetname" );
level.crashed_trucks hide();
level.crashed_truck1 hide();
level.crashed_truck2 hide();
thread new_cliff_moment();
thread new_nxsub_breach_moment();
dog_in_exfil_jeep();
common_scripts\utility::flag_wait( "exfil_finished" );
}
place_allies_in_jeep()
{
level.passallies[0] = level.allies[0];
level.allies[0].script_startingposition = 1;
level.passallies[1] = level.allies[1];
level.allies[1].script_startingposition = 0;
level.passplayer[0] = level.allies[2];
level.allies[2].script_startingposition = 2;
wait 0.01;
foreach ( var_1 in level.allies )
level.playerjeep thread maps\_vehicle_aianim::guy_enter( var_1 );
wait 0.01;
level.player playerlinkto( level.playerjeep, "tag_guy_turret", 0.5 );
level.player setstance( "stand" );
level.allies[2] notify( "newanim" );
level.allies[2].desired_anim_pose = "crouch";
level.allies[2] allowedstances( "crouch" );
level.allies[2] thread animscripts\utility::updateanimpose();
level.allies[2] allowedstances( "crouch" );
level.allies[2].baseaccuracy = 0.1;
level.allies[2].accuracystationarymod = 0.5;
common_scripts\utility::flag_set( "start_icehole_shooting" );
level.player thread maps\clockwork_code::handle_grenade_launcher();
level.player playerlinktodelta( level.playerjeep, "tag_guy_turret", 0.1, 360, 360, 30, 5, 1 );
level.playerjeep.mgturret[0] useby( level.player );
level.player disableturretdismount();
level.playerjeep thread maps\clockwork_code::fire_grenade();
thread maps\clockwork_code::player_viewhands_minigun( level.playerjeep.mgturret[0], "viewhands_player_fed_army_arctic" );
setsaveddvar( "aim_aimAssistRangeScale", "0" );
setsaveddvar( "aim_autoAimRangeScale", "0" );
setsaveddvar( "ammoCounterHide", "1" );
setsaveddvar( "actionSlotsHide", "1" );
setsaveddvar( "hud_showStance", "0" );
thread kill_player();
thread maps\clockwork_code::vehicle_hit_drift();
level.playerjeep thread player_view_clamp();
level.icehole_achievement = 0;
}
setup_chaos_collision()
{
var_0 = getent( "chaos_collision", "targetname" );
var_1 = common_scripts\utility::getstruct( "chaos_collision_origin", "targetname" );
var_0 moveto( var_1.origin, 1 );
wait 2;
var_0 disconnectpaths();
common_scripts\utility::flag_wait( "go_to_jeep" );
var_0 connectpaths();
}
handle_dead_bodies()
{
level.dead_bodies = [];
var_0 = common_scripts\utility::getstructarray( "chaos_body_a", "targetname" );
foreach ( var_2 in var_0 )
{
var_3 = spawn( "script_model", var_2.origin );
var_3.angles = var_2.angles;
var_3 setmodel( "fed_army_corpse_a" );
}
var_0 = common_scripts\utility::getstructarray( "chaos_body_b", "targetname" );
foreach ( var_2 in var_0 )
{
var_3 = spawn( "script_model", var_2.origin );
var_3.angles = var_2.angles;
var_3 setmodel( "fed_army_corpse_b" );
}
var_0 = common_scripts\utility::getstructarray( "chaos_body_c", "targetname" );
foreach ( var_2 in var_0 )
{
var_3 = spawn( "script_model", var_2.origin );
var_3.angles = var_2.angles;
var_3 setmodel( "fed_army_corpse_c" );
}
var_0 = getentarray( "chaos_decals_delete", "targetname" );
foreach ( var_3 in var_0 )
var_3 delete();
common_scripts\utility::flag_wait( "spawn_more_chaos1" );
var_0 = getentarray( "chaos_decals1", "targetname" );
foreach ( var_3 in var_0 )
var_3 delete();
common_scripts\utility::flag_wait( "chaos_stairstop_player" );
var_0 = getentarray( "chaos_decals2", "targetname" );
foreach ( var_3 in var_0 )
var_3 delete();
}
handle_aggressive_cleanup()
{
common_scripts\utility::flag_wait( "chaos_upstairs_anims" );
wait 1;
if ( common_scripts\utility::flag( "exfil_fire_fail" ) )
{
level.aggressive_cleanup = undefined;
return;
}
var_0 = cos( getdvarfloat( "cg_fov" ) );
while ( level.aggressive_cleanup.size > 0 && !common_scripts\utility::flag( "chaos_cleanup_1" ) )
{
level.aggressive_cleanup = common_scripts\utility::array_removeundefined( level.aggressive_cleanup );
foreach ( var_2 in level.aggressive_cleanup )
{
if ( isai( var_2 ) )
var_3 = var_2 geteye();
else
var_3 = var_2 gettagorigin( "tag_eye" );
if ( !maps\_utility::within_fov_of_players( var_3, var_0 ) )
var_2 delete();
}
common_scripts\utility::waitframe();
if ( common_scripts\utility::flag( "exfil_fire_fail" ) )
{
level.aggressive_cleanup = undefined;
return;
}
}
foreach ( var_2 in level.aggressive_cleanup )
var_2 delete();
level.aggressive_cleanup = undefined;
}
#using_animtree("generic_human");
elevator_movement()
{
var_0 = getent( "elevator_to_exfil", "targetname" );
var_1 = getent( "start_stop_exfil_elevator_rdoor", "targetname" );
var_2 = getent( "start_stop_exfil_elevator_ldoor", "targetname" );
var_3 = maps\_utility::getstruct_delete( "start_stop_exfil_elevator", "targetname" );
var_4 = maps\_utility::getstruct_delete( "end_stop_exfil_elevator", "targetname" );
var_5 = getent( "chaos_elevator_block", "targetname" );
var_6 = getentarray( "elevator_to_exfil_models", "targetname" );
var_5 notsolid();
if ( !isdefined( level.tunnel_door ) )
{
level.tunnel_door = maps\_utility::spawn_anim_model( "vault_door" );
level.tunnel_door_scene = getent( "lights_out_scene", "targetname" );
level.tunnel_door_scene thread maps\_anim::anim_first_frame_solo( level.tunnel_door, "tunnel_vault" );
level.tunnel_door_clip = getent( "entrance_door_clip", "targetname" );
level.tunnel_door_clip linkto( level.tunnel_door );
level.tunnel_door_clip connectpaths();
}
else
{
level.tunnel_door_scene thread maps\_anim::anim_first_frame_solo( level.tunnel_door, "tunnel_vault" );
level.tunnel_door_clip connectpaths();
}
var_7 = getentarray( "NVG_breakroom_door_clip", "targetname" );
foreach ( var_9 in var_7 )
var_9 delete();
var_11 = "head_elite_pmc_head_b";
var_12 = common_scripts\utility::array_combine( getentarray( "chaos_decals", "targetname" ), getentarray( "chaos_decals1", "targetname" ) );
var_12 = common_scripts\utility::array_combine( var_12, getentarray( "chaos_decals2", "targetname" ) );
foreach ( var_14 in var_12 )
{
var_14 show();
if ( isdefined( var_14.animation ) )
{
var_14 attach( var_11, "", 1 );
var_14.animname = "dead";
var_14 useanimtree( #animtree );
var_14 thread maps\_anim::anim_loop_solo( var_14, var_14.animation );
}
}
thread handle_dead_bodies();
thread handle_aggressive_cleanup();
thread setup_chaos_collision();
common_scripts\utility::flag_set( "lights_on" );
if ( level.start_point == "chaos" || level.start_point == "defend" || level.start_point == "defend_plat" || level.start_point == "defend_blowdoors1" || level.start_point == "defend_blowdoors2" || level.start_point == "defend_fire_blocker" || level.start_point == "interior_cqb" || level.start_point == "interior_combat" )
{
maps\clockwork_interior::setup_vault_door();
maps\clockwork_interior::open_vault( 1 );
}
foreach ( var_17 in var_6 )
var_17 linkto( var_0 );
var_0 moveto( var_3.origin, 0.01 );
var_19 = var_1.origin - ( 54, 0, 0 );
var_1 moveto( var_19, 2, 0.25, 0.25 );
var_20 = var_2.origin + ( 54, 0, 0 );
var_2 moveto( var_20, 2, 0.25, 0.25 );
var_1 connectpaths();
var_2 connectpaths();
thread elevator_vo();
common_scripts\utility::flag_wait( "chaos_moving_to_elevator" );
common_scripts\utility::flag_wait( "cypher_defend_close_door" );
level.player disableoffhandweapons();
thread baker_enter( var_3 );
thread keegan_enter( var_3 );
thread cypher_enter( var_3 );
common_scripts\utility::flag_wait_all( "in_elevator_ally_01", "in_elevator_ally_02", "in_elevator_ally_03" );
common_scripts\utility::flag_wait( "inpos_player_elevator" );
var_21 = getent( "inpos_player_elevator", "targetname" );
while ( !level.player istouching( var_21 ) || anyone_touching_blocker( var_5 ) )
wait 0.05;
var_5 solid();
var_5 linkto( var_0 );
var_1 notsolid();
var_2 notsolid();
level.player allowsprint( 0 );
level.player allowjump( 0 );
common_scripts\utility::array_thread( level.allies, maps\_utility::disable_cqbwalk );
common_scripts\utility::array_thread( level.allies, maps\_utility::cqb_walk, "off" );
common_scripts\utility::array_thread( level.allies, maps\clockwork_code::fast_walk, 0 );
wait 0.05;
common_scripts\utility::array_thread( level.allies, maps\clockwork_code::fast_walk, 1 );
wait 0.05;
var_22 = getaiarray( "axis" );
foreach ( var_24 in var_22 )
var_24 delete();
common_scripts\utility::array_thread( level.allies, maps\_utility::disable_arrivals );
common_scripts\utility::array_thread( level.allies, maps\_utility::disable_exits );
common_scripts\utility::array_thread( level.allies, maps\_utility::set_ignoreall, 1 );
common_scripts\utility::array_thread( level.allies, maps\_utility::set_ignoreme, 1 );
foreach ( var_27 in level.allies )
var_27.alertlevel = "noncombat";
wait 0.05;
thread elevator_anims( var_3, var_4 );
setsaveddvar( "aim_aimAssistRangeScale", "0" );
setsaveddvar( "aim_autoAimRangeScale", "0" );
common_scripts\utility::flag_wait( "door_close" );
thread maps\clockwork_audio::elevator_door_close();
var_19 = var_1.origin + ( 54, 0, 0 );
var_1 moveto( var_19, 2, 0.25, 0.25 );
var_20 = var_2.origin - ( 54, 0, 0 );
var_2 moveto( var_20, 2, 0.25, 0.25 );
var_1 connectpaths();
var_2 connectpaths();
wait 2;
var_29[0] = level.allies[0];
var_29[1] = level.allies[1];
var_29[2] = level.allies[2];
common_scripts\utility::array_call( var_29, ::linkto, var_0 );
var_1 linkto( var_0 );
var_2 linkto( var_0 );
var_0 moveto( var_4.origin, 11, 1, 1 );
thread maps\clockwork_audio::elevator();
maps\clockwork_code::screenshakefade( 0.05, 0.5 );
foreach ( var_27 in level.allies )
var_27.alertlevel = "noncombat";
common_scripts\utility::flag_wait( "elevator_enemies_start" );
maps\_utility::autosave_by_name( "holdfire" );
common_scripts\utility::waitframe();
common_scripts\utility::flag_set( "start_chaos" );
thread maps\clockwork_code::hold_fire_unless_ads( "ally_start_path_exfil" );
wait 1;
var_1 unlink( var_0 );
var_2 unlink( var_0 );
common_scripts\utility::flag_wait( "door_open" );
maps\clockwork_code::screenshakefade( 0.1, 0.5 );
thread maps\clockwork_audio::elevator_door_open();
var_19 = var_1.origin - ( 54, 0, 0 );
var_1 moveto( var_19, 2, 0.25, 0.25 );
var_20 = var_2.origin + ( 54, 0, 0 );
var_2 moveto( var_20, 2, 0.25, 0.25 );
var_1 connectpaths();
var_2 connectpaths();
common_scripts\utility::array_call( var_29, ::unlink, var_0 );
level.player enableweapons();
common_scripts\utility::flag_set( "elevator_open" );
thread chaos_kill_player();
wait 0.5;
thread handle_first_doorway_allies();
thread handle_second_doorway_allies();
thread handle_stairs( "chaos_stairs_1" );
thread handle_stairs( "chaos_stairs_2" );
common_scripts\utility::array_thread( level.allies, maps\_utility::disable_ai_color );
var_32 = common_scripts\utility::getstruct( "keeganpath", "targetname" );
var_33 = common_scripts\utility::getstruct( "cypherpath", "targetname" );
var_34 = common_scripts\utility::getstruct( "bakerpath", "targetname" );
level.allies[0].moveplaybackrate = 1.2;
level.allies[1].moveplaybackrate = 1.2;
level.allies[2].moveplaybackrate = 1.2;
level.allies[0].idle_right = 1;
level.allies[1].idle_right = 0;
level.allies[2].idle_right = 0;
level.allies[2] thread maps\_utility::follow_path( var_33, undefined, maps\clockwork_code::walkout_do_stop_transition_anim, maps\clockwork_code::walkout_do_start_transition_anim );
level.allies[1] thread maps\_utility::follow_path( var_32, undefined, maps\clockwork_code::walkout_do_stop_transition_anim, maps\clockwork_code::walkout_do_start_transition_anim );
level.allies[0] thread maps\_utility::follow_path( var_34, undefined, maps\clockwork_code::walkout_do_stop_transition_anim, maps\clockwork_code::walkout_do_start_transition_anim );
wait 3.5;
var_5 delete();
common_scripts\utility::flag_wait( "exfil_fire_fail" );
level.allies[2] notify( "_utility::follow_path" );
level.allies[1] notify( "_utility::follow_path" );
level.allies[0] notify( "_utility::follow_path" );
level.allies[2] maps\_utility::clear_generic_idle_anim();
level.allies[1] maps\_utility::clear_generic_idle_anim();
level.allies[0] maps\_utility::clear_generic_idle_anim();
level.allies[2] maps\_utility::enable_ai_color();
level.allies[1] maps\_utility::enable_ai_color();
level.allies[0] maps\_utility::enable_ai_color();
common_scripts\utility::array_thread( level.allies, maps\clockwork_code::fast_walk, 0 );
thread maps\clockwork_code::blend_movespeedscale_custom( 100, 1 );
level.player allowsprint( 1 );
level.player allowjump( 1 );
}
handle_first_doorway_allies()
{
common_scripts\utility::flag_wait( "chaos_meetup_follow_spawn" );
common_scripts\utility::flag_wait_or_timeout( "spawn_more_chaos1", 3 );
common_scripts\utility::flag_set( "keegan_chaos_door_1" );
common_scripts\utility::flag_set( "hesh_chaos_door_1" );
}
handle_second_doorway_allies()
{
common_scripts\utility::flag_wait( "chaos_upstairs_player" );
common_scripts\utility::flag_set( "chaos_stairs_1_wait" );
common_scripts\utility::flag_set( "chaos_stairs_1_wait_2" );
}
handle_stairs( var_0 )
{
level endon( "exfil_fire_fail" );
level endon( "go_to_jeep" );
var_1 = getent( var_0, "targetname" );
for (;;)
{
var_1 waittill( "trigger", var_2 );
if ( isdefined( var_2.on_chaos_stairs ) )
continue;
var_2.on_chaos_stairs = 1;
var_2 thread ally_on_stairs( var_1 );
}
}
ally_on_stairs( var_0 )
{
level endon( "exfil_fire_fail" );
var_1 = self.run_overrideanim;
maps\_utility::clear_generic_run_anim();
while ( self istouching( var_0 ) )
common_scripts\utility::waitframe();
if ( isdefined( var_1 ) )
{
self.alwaysrunforward = 1;
maps\_utility::disable_turnanims();
self.run_overrideanim = var_1;
self.walk_overrideanim = self.run_overrideanim;
}
self.on_chaos_stairs = 0;
}
anyone_touching_blocker( var_0 )
{
if ( level.player istouching( var_0 ) )
return 1;
foreach ( var_2 in level.allies )
{
if ( var_2 istouching( var_0 ) )
return 1;
}
return 0;
}
kill_estimates_vo()
{
level.allies[2] maps\clockwork_code::char_dialog_add_and_go( "clockwork_hsh_merrickthedatawe" );
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_mrk_killestimates" );
level.allies[2] maps\clockwork_code::char_dialog_add_and_go( "clockwork_hsh_forcitiesallover" );
}
elevator_vo()
{
common_scripts\utility::flag_wait( "chaos_moving_to_elevator" );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_oby_werehearingchatteron" );
common_scripts\utility::flag_wait_all( "in_elevator_ally_01", "in_elevator_ally_02", "in_elevator_ally_03" );
common_scripts\utility::flag_wait( "inpos_player_elevator" );
thread maps\clockwork_audio::chaos_music();
common_scripts\utility::flag_wait( "elevator_weapons_down" );
level.player disableweapons();
common_scripts\utility::flag_wait( "elevator_limp" );
level.player thread limp();
}
baker_enter( var_0 )
{
level.allies[0].animname = "generic";
var_0 maps\_anim::anim_reach_solo( level.allies[0], "enter_ele_mer" );
var_0 maps\_anim::anim_single_solo( level.allies[0], "enter_ele_mer" );
common_scripts\utility::flag_set( "in_elevator_ally_01" );
if ( !common_scripts\utility::flag( "start_chaos" ) )
var_0 maps\_anim::anim_loop_solo( level.allies[0], "wait_ele_mer", "end_loop" );
}
keegan_enter( var_0 )
{
level.allies[1].animname = "generic";
var_0 maps\_anim::anim_reach_solo( level.allies[1], "enter_ele_kee" );
var_0 maps\_anim::anim_single_solo( level.allies[1], "enter_ele_kee" );
common_scripts\utility::flag_set( "in_elevator_ally_02" );
if ( !common_scripts\utility::flag( "start_chaos" ) )
var_0 maps\_anim::anim_loop_solo( level.allies[1], "wait_ele_kee", "end_loop" );
}
cypher_enter( var_0 )
{
level.allies[2].animname = "generic";
var_0 maps\_anim::anim_reach_solo( level.allies[2], "enter_ele_cyp" );
var_0 maps\_anim::anim_single_solo( level.allies[2], "enter_ele_cyp" );
common_scripts\utility::flag_set( "in_elevator_ally_03" );
if ( !common_scripts\utility::flag( "start_chaos" ) )
var_0 maps\_anim::anim_loop_solo( level.allies[2], "wait_ele_cyp", "end_loop" );
}
elevator_anims( var_0, var_1 )
{
var_0 notify( "end_loop" );
var_0 thread maps\_anim::anim_single_solo( level.allies[0], "exit_ele_mer" );
var_0 thread maps\_anim::anim_single_solo( level.allies[1], "exit_ele_kee" );
var_0 thread maps\_anim::anim_single_solo( level.allies[2], "exit_ele_cyp" );
common_scripts\utility::flag_wait( "elevator_enemies_start" );
var_2 = maps\_utility::spawn_targetname( "chaos_ele_enemy1", 1 );
level.ele_enemy1 = var_2;
var_2.animname = "generic";
var_3 = maps\_utility::spawn_targetname( "chaos_ele_enemy2", 1 );
level.ele_enemy2 = var_3;
var_3.animname = "generic";
var_4 = maps\_utility::spawn_targetname( "chaos_ele_enemy3", 1 );
var_4.animname = "generic";
var_5 = maps\_utility::spawn_targetname( "chaos_wounded2" );
var_5.animname = "generic";
var_5 maps\_utility::gun_remove();
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
if ( isdefined( var_2 ) && isalive( var_2 ) )
var_1 thread maps\_anim::anim_single_solo( var_2, "exit_ele_g1" );
if ( isdefined( var_3 ) && isalive( var_3 ) )
var_1 thread maps\_anim::anim_single_solo( var_3, "exit_ele_g2" );
if ( isdefined( var_5 ) && isalive( var_5 ) )
var_1 thread maps\_anim::anim_loop_solo( var_5, "rev_ele_vic" );
if ( isdefined( var_4 ) && isalive( var_4 ) )
var_1 maps\_anim::anim_single_solo( var_4, "exit_ele_g3" );
}
else
{
level.allies[0] maps\_utility::anim_stopanimscripted();
level.allies[1] maps\_utility::anim_stopanimscripted();
level.allies[2] maps\_utility::anim_stopanimscripted();
if ( isdefined( var_2 ) && isalive( var_2 ) )
maps\clockwork_code::reassign_goal_volume( var_2, "chaos_lab_vol" );
if ( isdefined( var_3 ) && isalive( var_3 ) )
maps\clockwork_code::reassign_goal_volume( var_3, "chaos_lab_vol" );
if ( isdefined( var_4 ) && isalive( var_4 ) )
maps\clockwork_code::reassign_goal_volume( var_4, "chaos_vault_vol" );
}
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
if ( isdefined( var_4 ) && isalive( var_4 ) )
var_1 thread maps\_anim::anim_loop_solo( var_4, "rev_ele_g3" );
}
else
{
level.allies[0] maps\_utility::anim_stopanimscripted();
level.allies[1] maps\_utility::anim_stopanimscripted();
level.allies[2] maps\_utility::anim_stopanimscripted();
if ( isdefined( var_2 ) && isalive( var_2 ) )
maps\clockwork_code::reassign_goal_volume( var_2, "chaos_lab_vol" );
if ( isdefined( var_3 ) && isalive( var_3 ) )
maps\clockwork_code::reassign_goal_volume( var_3, "chaos_lab_vol" );
if ( isdefined( var_4 ) && isalive( var_4 ) )
maps\clockwork_code::reassign_goal_volume( var_4, "chaos_vault_vol" );
}
common_scripts\utility::flag_set( "ele_anim_done" );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_6 = getnode( "elevator_node_1", "targetname" );
var_7 = getnode( "elevator_node_2", "targetname" );
var_8 = getnode( "chaos_end_of_hall_node1", "targetname" );
if ( isdefined( var_2 ) && isalive( var_2 ) )
var_2 setgoalnode( var_7 );
if ( isdefined( var_3 ) && isalive( var_3 ) )
var_3 setgoalnode( var_6 );
if ( isdefined( var_4 ) && isalive( var_4 ) )
var_4 setgoalnode( var_8 );
}
else
{
level.allies[0] maps\_utility::anim_stopanimscripted();
level.allies[1] maps\_utility::anim_stopanimscripted();
level.allies[2] maps\_utility::anim_stopanimscripted();
if ( isdefined( var_2 ) && isalive( var_2 ) )
maps\clockwork_code::reassign_goal_volume( var_2, "chaos_lab_vol" );
if ( isdefined( var_3 ) && isalive( var_3 ) )
maps\clockwork_code::reassign_goal_volume( var_3, "chaos_lab_vol" );
if ( isdefined( var_4 ) && isalive( var_4 ) )
maps\clockwork_code::reassign_goal_volume( var_4, "chaos_vault_vol" );
}
common_scripts\utility::flag_wait( "spawn_more_chaos1" );
if ( isdefined( var_2 ) && isalive( var_2 ) )
var_2 delete();
if ( isdefined( var_3 ) && isalive( var_3 ) )
var_3 delete();
if ( isdefined( var_4 ) && isalive( var_4 ) )
var_4 delete();
if ( isdefined( var_5 ) && isalive( var_5 ) )
var_5 delete();
}
limp()
{
var_0 = 0;
var_1 = 0;
level.baseangles = level.player.angles;
level.player_speed = 80;
level.ground_ref_ent = spawn( "script_model", ( 0, 0, 0 ) );
level.player playersetgroundreferenceent( level.ground_ref_ent );
wait 0.05;
while ( !common_scripts\utility::flag( "chaos_keegan_move" ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_2 = level.player getvelocity();
var_3 = abs( var_2[0] ) + abs( var_2[1] );
if ( var_3 < 10 )
{
wait 0.05;
continue;
}
var_4 = var_3 / level.player_speed;
var_5 = randomfloatrange( 0.5, 2 );
if ( randomint( 100 ) < 20 )
var_5 = var_5 * 3;
var_6 = randomfloatrange( 0.5, 2 );
var_7 = randomfloatrange( -2, 0 );
var_8 = ( var_5, var_7, var_6 );
var_8 = vector_multiply( var_8, var_4 );
var_9 = randomfloatrange( 0.25, 0.35 );
var_10 = randomfloatrange( 0.55, 0.65 );
var_0++;
if ( var_4 > 1.3 )
var_0++;
thread stumble( var_8, var_9, var_10 );
level waittill( "recovered" );
}
level.player playersetgroundreferenceent( undefined );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
thread maps\clockwork_code::blend_movespeedscale_custom( 50, 1 );
}
stumble( var_0, var_1, var_2, var_3 )
{
level endon( "stop_stumble" );
var_0 = adjust_angles_to_player( var_0 );
level.ground_ref_ent rotateto( var_0, var_1, var_1 / 4 * 3, var_1 / 4 );
level.ground_ref_ent waittill( "rotatedone" );
var_4 = ( randomfloat( 4 ) - 4, randomfloat( 5 ), 0 );
var_4 = adjust_angles_to_player( var_4 );
level.ground_ref_ent rotateto( var_4, var_2, 0, var_2 / 2 );
level.ground_ref_ent waittill( "rotatedone" );
if ( !isdefined( var_3 ) )
level notify( "recovered" );
}
adjust_angles_to_player( var_0 )
{
var_1 = var_0[0];
var_2 = var_0[2];
var_3 = anglestoright( level.player.angles );
var_4 = anglestoforward( level.player.angles );
var_5 = ( var_3[0], 0, var_3[1] * -1 );
var_6 = ( var_4[0], 0, var_4[1] * -1 );
var_7 = vector_multiply( var_5, var_1 );
var_7 = var_7 + vector_multiply( var_6, var_2 );
return var_7 + ( 0, var_0[1], 0 );
}
vector_multiply( var_0, var_1 )
{
return ( var_0[0] * var_1, var_0[1] * var_1, var_0[2] * var_1 );
}
chaos_kill_player()
{
level.player notify( "warn_kill" );
level.player endon( "warn_kill" );
common_scripts\utility::flag_clear( "chaos_kill_player_warn" );
common_scripts\utility::flag_clear( "chaos_kill_player" );
common_scripts\utility::flag_wait( "chaos_kill_player_warn" );
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_gettojeep" );
common_scripts\utility::flag_wait( "chaos_kill_player" );
common_scripts\utility::flag_set( "exfil_fire_fail" );
wait 3;
setdvar( "ui_deadquote", &"CLOCKWORK_QUOTE_FOLLOW" );
maps\_utility::missionfailedwrapper();
}
add_to_agressive_cleanup( var_0 )
{
if ( !isdefined( level.aggressive_cleanup ) )
level.aggressive_cleanup = [];
level.aggressive_cleanup[level.aggressive_cleanup.size] = var_0;
}
security_room_transition()
{
common_scripts\utility::flag_wait( "start_chaos" );
thread walkout_vo();
thread maps\clockwork_code::blend_movespeedscale_custom( 50, 1 );
thread maps\clockwork_fx::turn_effects_on( "tubelight_parking", "fx/lights/lights_flourescent" );
if ( !common_scripts\utility::flag( "lights_on" ) )
thread maps\clockwork_interior_nvg::nvg_area_lights_on_fx();
common_scripts\utility::exploder( 300 );
thread maps\_utility::autosave_now();
var_0 = common_scripts\utility::getstruct( "chaos_computer_guys", "targetname" );
var_1 = common_scripts\utility::getstruct( "chaos_computer_low_loc", "targetname" );
var_2 = common_scripts\utility::getstruct( "chaos_drag_loc", "targetname" );
var_3 = common_scripts\utility::getstruct( "chaos_balcony", "targetname" );
thread vaultguys();
maps\_utility::battlechatter_off( "allies" );
thread runnerguys();
common_scripts\utility::flag_wait( "elevator_open" );
thread tendwounded();
common_scripts\utility::flag_wait( "chaos_ally_run" );
thread drag_interrogate_scene();
common_scripts\utility::flag_wait( "chaos_meetup_follow_spawn" );
thread meetuptalkscene();
common_scripts\utility::flag_wait( "spawn_more_chaos1" );
thread computer_guys_runin();
thread help_near_comps();
thread bugfinders();
thread cypher_helps_out();
var_4 = maps\_utility::spawn_targetname( "chaos_balcony" );
var_5 = maps\_utility::spawn_targetname( "chaos_typer_lower" );
add_to_agressive_cleanup( var_5 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
thread reassign_typer( var_4, var_5 );
var_4.animname = "generic";
var_3 thread maps\_anim::anim_loop_solo( var_4, "balcony_talk" );
var_5.animname = "generic";
var_1 thread maps\_anim::anim_loop_solo( var_5, "typer_start" );
}
else
{
if ( isdefined( var_4 ) )
maps\clockwork_code::reassign_goal_volume( var_4, "chaos_security_vol" );
if ( isdefined( var_5 ) )
maps\clockwork_code::reassign_goal_volume( var_5, "chaos_security_vol" );
}
common_scripts\utility::flag_wait( "chaos_upstairs_anims" );
common_scripts\utility::flag_set( "scientist_interview" );
wait 0.01;
thread carry_in();
thread dieing_revival();
thread commander_moment();
thread chaos_walkers();
thread waver_moment();
common_scripts\utility::flag_wait( "chaos_outside_glass_room" );
thread drag_metal_detector();
thread direction_group();
common_scripts\utility::flag_set( "chaos_finished" );
common_scripts\utility::flag_wait( "spawn_jeeps" );
if ( isalive( var_5 ) || isdefined( var_5 ) )
var_5 delete();
}
reassign_typer( var_0, var_1 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( !common_scripts\utility::flag( "spawn_jeeps" ) )
{
if ( isdefined( var_0 ) )
maps\clockwork_code::reassign_goal_volume( var_0, "chaos_security_vol" );
if ( isdefined( var_1 ) )
maps\clockwork_code::reassign_goal_volume( var_1, "chaos_security_vol" );
}
}
walkout_vo()
{
level endon( "exfil_fire_fail" );
common_scripts\utility::flag_wait( "elevator_open" );
common_scripts\utility::flag_wait( "chaos_ally_run" );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_hsh_theyvegotthedrill" );
common_scripts\utility::flag_wait( "chaos_meetup_follow_spawn" );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_oby_theyrestartingtoround" );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_mrk_wecanseethat" );
thread maps\clockwork_code::radio_dialog_add_and_go( "clockwork_oby_suggestyoustartmoving" );
common_scripts\utility::flag_wait( "spawn_more_chaos1" );
if ( isdefined( level.heyyouguy ) )
level.heyyouguy thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_saf1_heyyouwhatyou" );
wait 2;
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_mrk_weneedtosecure" );
common_scripts\utility::flag_wait( "chaos_stairstop_player" );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_oby_justlostoureyes" );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_kgn_theyhavetheplant" );
common_scripts\utility::flag_wait( "chaos_outside_glass_room" );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_mrk_pickupthepace" );
common_scripts\utility::flag_set( "chaos_garage_move" );
}
drag_metal_detector()
{
var_0 = common_scripts\utility::getstruct( "chaos_drag_loc", "targetname" );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_1 = maps\_utility::spawn_targetname( "chaos_dragger" );
var_2 = maps\_utility::spawn_targetname( "chaos_dragged" );
var_1.animname = "generic";
var_2.animname = "generic";
var_2 maps\_utility::gun_remove();
var_0 thread maps\_anim::anim_loop_solo( var_1, "dragger_loop", "kill_me" );
var_0 thread maps\_anim::anim_loop_solo( var_2, "dragged_loop", "kill_me" );
wait 2;
var_3 = maps\_utility::spawn_targetname( "chaos_lost_hope" );
var_3.animname = "generic";
var_3 thread maps\_anim::anim_single_solo( var_3, "lost_hope" );
wait 2;
var_0 notify( "kill_me" );
wait 0.05;
var_0 thread maps\_anim::anim_single_solo( var_1, "dragger_sin" );
var_0 thread maps\_anim::anim_single_solo( var_2, "dragged_sin" );
}
}
losthope_vo( var_0, var_1 )
{
level endon( "exfil_fire_fail" );
var_0 endon( "death" );
var_1 endon( "death" );
common_scripts\utility::flag_wait( "chaos_exit_vo" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ru1_rerouted" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ru1_howmany" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc1_sodark" );
}
additionalexit_vo( var_0, var_1 )
{
level endon( "exfil_fire_fail" );
var_0 endon( "death" );
var_1 endon( "death" );
common_scripts\utility::flag_wait( "chaos_exit_vo" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs1_gotthroughsecurity" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs2_intheoffice" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs1_seeanything" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs2_no" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs3_cutthepower" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs4_tookoutpower" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs3_kneweactly" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs4_timeditperfectly" );
}
runnerguys()
{
var_0 = maps\_utility::spawn_targetname( "chaos_pointer" );
var_1 = maps\_utility::spawn_targetname( "chaos_runner" );
var_2 = maps\_utility::spawn_targetname( "chaos_runner2" );
var_3 = maps\_utility::spawn_targetname( "chaos_runner4" );
var_4 = maps\_utility::spawn_targetname( "chaos_runner5" );
var_5 = maps\_utility::spawn_targetname( "chaos_runner6" );
var_6 = getnode( "send_guy_node_1", "targetname" );
var_7 = getnode( "send_guy_node_2", "targetname" );
var_8 = getnode( "send_guy_node_3", "targetname" );
var_9 = getnode( "chaos_end_of_hall_node1", "targetname" );
var_10 = getnode( "chaos_end_of_hall_node2", "targetname" );
thread reassign_runners( var_0, var_1, var_2, var_3, var_4, var_5 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_0.animname = "generic";
var_1.animname = "generic";
var_2.animname = "generic";
wait 0.75;
var_0 thread maps\_anim::anim_single_solo( var_0, "pointer_start" );
wait 0.35;
var_4 maps\_utility::set_goal_node( var_10 );
var_5 maps\_utility::set_goal_node( var_10 );
var_3 maps\_utility::set_goal_node( var_9 );
var_2 thread maps\_anim::anim_single_solo( var_2, "runner_start" );
thread runner_vo( var_0, var_1 );
wait 0.45;
var_1 thread maps\_anim::anim_single_solo( var_1, "runner_start" );
wait 0.01;
var_0 maps\_utility::set_goal_node( var_6 );
var_1 maps\_utility::set_goal_node( var_7 );
var_2 maps\_utility::set_goal_node( var_9 );
add_to_agressive_cleanup( var_0 );
}
common_scripts\utility::flag_wait( "spawn_more_chaos1" );
if ( isalive( var_3 ) )
var_3 delete();
if ( isalive( var_4 ) )
var_4 delete();
if ( isalive( var_5 ) )
var_5 delete();
if ( isalive( var_2 ) || isdefined( var_2 ) )
var_2 delete();
if ( isalive( var_1 ) )
var_1 delete();
common_scripts\utility::flag_wait( "spawn_jeeps" );
if ( isalive( var_0 ) || isdefined( var_0 ) )
var_0 delete();
}
reassign_runners( var_0, var_1, var_2, var_3, var_4, var_5 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( !common_scripts\utility::flag( "spawn_more_chaos1" ) )
{
if ( isalive( var_3 ) )
maps\clockwork_code::reassign_goal_volume( var_3, "chaos_lab_vol" );
if ( isalive( var_4 ) )
maps\clockwork_code::reassign_goal_volume( var_4, "chaos_lab_vol" );
if ( isalive( var_5 ) )
maps\clockwork_code::reassign_goal_volume( var_5, "chaos_lab_vol" );
}
if ( !common_scripts\utility::flag( "spawn_jeeps" ) )
{
if ( isalive( var_0 ) )
maps\clockwork_code::reassign_goal_volume( var_0, "chaos_vault_vol" );
if ( isalive( var_1 ) )
maps\clockwork_code::reassign_goal_volume( var_1, "chaos_vault_vol" );
if ( isalive( var_2 ) )
maps\clockwork_code::reassign_goal_volume( var_2, "chaos_vault_vol" );
}
}
runner_vo( var_0, var_1 )
{
level endon( "exfil_fire_fail" );
var_0 endon( "death" );
var_1 endon( "death" );
wait 2;
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ruc_moretroops" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs1_withme" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ru1_yessir" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs1_movetosectors" );
}
vaultguys()
{
var_0 = common_scripts\utility::getstruct( "vault_door_talk_guy", "targetname" );
var_1 = common_scripts\utility::getstruct( "vault_door_idle_guy", "targetname" );
var_2 = common_scripts\utility::getstruct( "vault_door_drill_guy", "targetname" );
var_3 = maps\_utility::spawn_targetname( "chaos_direction_b1_vault" );
var_4 = maps\_utility::spawn_targetname( "chaos_direction_b2_vault" );
var_5 = maps\_utility::spawn_targetname( "chaos_direction_b3_vault" );
var_6 = maps\_utility::spawn_targetname( "chaos_vault_door" );
var_7 = maps\_utility::spawn_anim_model( "chaos_drill", var_6.origin );
var_8 = maps\_utility::spawn_anim_model( "chaos_drill_j", var_6.origin );
var_7 linkto( var_8, "J_prop_1" );
var_9 = maps\_utility::spawn_anim_model( "chaos_tablet", var_6.origin );
var_10 = maps\_utility::spawn_anim_model( "chaos_tablet_j", var_6.origin );
var_9 linkto( var_10, "J_prop_1" );
thread reassign_vault_guys( var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_3.animname = "generic";
var_4.animname = "generic";
var_5.animname = "generic";
var_6.animname = "generic";
var_3 maps\_utility::gun_remove();
var_4 maps\_utility::gun_remove();
var_5 maps\_utility::gun_remove();
var_6 maps\_utility::gun_remove();
thread vaultguys_vo( var_4, var_3 );
var_0 thread maps\_anim::anim_loop_solo( var_3, "direction_give" );
var_0 thread maps\_anim::anim_loop_solo( var_4, "direction_take" );
var_1 thread maps\_anim::anim_loop_solo( var_5, "direction_loop" );
var_2 thread maps\_anim::anim_loop_solo( var_6, "vault_door_loop" );
var_6 thread maps\_anim::anim_loop_solo( var_8, "drill", "stop_loop" );
var_1 thread maps\_anim::anim_loop_solo( var_10, "tablet", "stop_loop" );
}
common_scripts\utility::flag_wait( "chaos_upstairs_anims" );
if ( isalive( var_3 ) )
var_3 delete();
if ( isalive( var_4 ) )
var_4 delete();
if ( isalive( var_5 ) )
var_5 delete();
if ( isalive( var_6 ) )
var_6 delete();
if ( !isdefined( level.physlaunchoccurred ) )
{
level.physlaunchoccurred = 1;
if ( isdefined( var_7 ) )
{
var_8 stopanimscripted();
var_7 unlink();
common_scripts\utility::waitframe();
var_7 physicslaunchclient( var_7.origin, ( 0, 0, 0 ) );
}
if ( isdefined( var_9 ) )
{
var_10 stopanimscripted();
var_9 unlink();
common_scripts\utility::waitframe();
var_9 physicslaunchclient( var_9.origin, ( 0, 0, 0 ) );
}
}
}
reassign_vault_guys( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( !common_scripts\utility::flag( "chaos_upstairs_anims" ) && !isdefined( level.physlaunchoccurred ) )
{
level.physlaunchoccurred = 1;
if ( isalive( var_0 ) )
var_0 kill();
if ( isalive( var_1 ) )
var_1 kill();
if ( isalive( var_2 ) )
{
var_2 maps\_utility::anim_stopanimscripted();
var_2 maps\_utility::gun_recall();
var_2 maps\_utility::enable_ai_color();
}
if ( isalive( var_3 ) )
{
var_3 maps\_utility::anim_stopanimscripted();
var_3 maps\_utility::gun_recall();
var_3 maps\_utility::enable_ai_color();
}
if ( isdefined( var_4 ) )
{
var_5 stopanimscripted();
var_4 unlink();
common_scripts\utility::waitframe();
var_4 physicslaunchclient( var_4.origin, ( 0, 0, 0 ) );
}
if ( isdefined( var_6 ) )
{
var_7 stopanimscripted();
var_6 unlink();
common_scripts\utility::waitframe();
var_6 physicslaunchclient( var_6.origin, ( 0, 0, 0 ) );
}
}
}
vaultguys_vo( var_0, var_1 )
{
level endon( "exfil_fire_fail" );
var_0 endon( "death" );
var_1 endon( "death" );
common_scripts\utility::flag_wait( "chaos_ally_run" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs3_whatdidtheyuse" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs4_thermite" );
common_scripts\utility::flag_set( "chaos_meetupvo_start" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs3_c4camefrom" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs4_manufacturedlocally" );
}
tendwounded()
{
var_0 = common_scripts\utility::getstruct( "chaos_wounded_scene1", "targetname" );
var_1 = common_scripts\utility::getstruct( "chaos_bug_find_scene", "targetname" );
var_2 = maps\_utility::spawn_targetname( "chaos_extinguisher" );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_2.animname = "generic";
if ( isalive( var_2 ) )
{
var_1 thread maps\_anim::anim_loop_solo( var_2, "extinguish" );
var_3 = maps\_utility::spawn_anim_model( "chaos_ext" );
var_1 thread maps\_anim::anim_loop_solo( var_3, "ext" );
}
common_scripts\utility::flag_wait_any( "chaos_upstairs_anims", "exfil_fire_fail" );
var_0 notify( "kill_wounded" );
if ( isalive( var_2 ) )
{
var_2 stopanimscripted();
var_2 maps\_utility::gun_recall();
}
}
else
maps\clockwork_code::reassign_goal_volume( var_2, "chaos_lab_vol" );
common_scripts\utility::flag_wait_any( "chaos_upstairs_anims", "exfil_fire_fail" );
if ( isalive( var_2 ) )
{
if ( !common_scripts\utility::flag( "chaos_upstairs_anims" ) )
var_2 kill();
else
var_2 delete();
}
}
meetuptalkscene()
{
var_0 = common_scripts\utility::getstruct( "chaos_dont_look", "targetname" );
var_1 = common_scripts\utility::getstruct( "chaos_meetup_location", "targetname" );
while ( common_scripts\utility::within_fov( level.player.origin, level.player.angles, var_0.origin, cos( 65 ) ) )
common_scripts\utility::waitframe();
var_2 = undefined;
var_3 = maps\_utility::spawn_targetname( "chaos_meetup_followed" );
var_4 = getnode( "chaos_end_of_hall_node1", "targetname" );
thread reassign_meetup( var_2, var_3 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_2 = maps\_utility::spawn_targetname( "chaos_meetup_follower" );
var_2.animname = "generic";
var_3.animname = "generic";
thread meetup_vo( var_2, var_3 );
var_1 thread maps\_anim::anim_reach_solo( var_2, "meetup_follower" );
var_1 maps\_anim::anim_reach_solo( var_3, "meetup_followed" );
var_1 thread maps\_anim::anim_single_solo( var_2, "meetup_follower" );
var_1 thread maps\_anim::anim_single_solo( var_3, "meetup_followed" );
var_2 maps\_utility::set_goal_node( var_4 );
var_3 maps\_utility::set_goal_node( var_4 );
common_scripts\utility::flag_wait( "meetup_vo_done" );
}
common_scripts\utility::flag_wait( "chaos_upstairs_anims" );
if ( isalive( var_2 ) )
var_2 delete();
if ( isalive( var_3 ) )
var_3 delete();
}
reassign_meetup( var_0, var_1 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( isdefined( var_0 ) )
var_0 maps\_utility::enable_ai_color();
if ( isdefined( var_1 ) )
var_1 maps\_utility::enable_ai_color();
}
meetup_vo( var_0, var_1 )
{
level endon( "exfil_fire_fail" );
var_0 endon( "death" );
var_1 endon( "death" );
common_scripts\utility::flag_wait( "chaos_meetupvo_start" );
wait 3;
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs1_report" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs2_holdupinlabs" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs1_letshurry" );
common_scripts\utility::flag_set( "meetup_vo_done" );
}
drag_interrogate_scene()
{
var_0 = common_scripts\utility::getstruct( "chaos_drag_scene", "targetname" );
var_1 = common_scripts\utility::getstruct( "chaos_drag_talker", "targetname" );
var_2 = common_scripts\utility::getstruct( "chaos_drag_talkee", "targetname" );
var_3 = maps\_utility::spawn_targetname( "chaos_dragger_interrogate" );
var_4 = maps\_utility::spawn_targetname( "chaos_drag_inter" );
var_5 = maps\_utility::spawn_targetname( "chaos_drag_talker" );
level.heyyouguy = var_5;
var_6 = maps\_utility::spawn_targetname( "chaos_drag_talkee" );
thread reassign_interrogate( var_3, var_6, var_4, var_5 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_3.animname = "generic";
var_4.animname = "generic";
var_5.animname = "generic";
var_6.animname = "generic";
var_4 maps\_utility::gun_remove();
thread drag_interrogate_vo( var_3, var_6 );
var_1 thread maps\_anim::anim_loop_solo( var_5, "drag_talker_loop" );
var_2 thread maps\_anim::anim_loop_solo( var_6, "drag_talkee_loop" );
var_0 thread maps\_anim::anim_single_solo( var_4, "drag_interrogate" );
var_0 maps\_anim::anim_single_solo( var_3, "dragger_interrogate" );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_0 thread maps\_anim::anim_loop_solo( var_4, "drag_interrogate_loop" );
var_0 thread maps\_anim::anim_loop_solo( var_3, "dragger_interrogate_loop" );
}
}
common_scripts\utility::flag_wait( "chaos_upstairs_anims" );
if ( isalive( var_3 ) )
var_3 delete();
if ( isalive( var_6 ) )
var_6 delete();
if ( isalive( var_4 ) )
var_4 delete();
if ( isalive( var_5 ) )
var_5 delete();
}
reassign_interrogate( var_0, var_1, var_2, var_3 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( isalive( var_0 ) )
var_0 maps\_utility::enable_ai_color();
if ( isalive( var_1 ) )
var_1 maps\_utility::enable_ai_color();
if ( isalive( var_2 ) )
{
var_2 maps\_utility::gun_recall();
var_2 maps\_utility::enable_ai_color();
}
if ( isalive( var_3 ) )
var_3 maps\_utility::enable_ai_color();
}
drag_interrogate_vo( var_0, var_1 )
{
wait 4;
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs2_seeattackers" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ru1_rerouted" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ru1_howmany" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc1_sodark" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ru1_howmany" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ruc_lockitdown" );
}
computer_guys_runin()
{
var_0 = common_scripts\utility::getstruct( "chaos_computer_runin_loc", "targetname" );
var_1 = maps\_utility::spawn_targetname( "chaos_computer_runin" );
add_to_agressive_cleanup( var_1 );
var_1 endon( "death" );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_1.animname = "generic";
var_0 maps\_anim::anim_reach_solo( var_1, "computer_stander_runin" );
thread computer_guys_runin_vo( var_1 );
var_0 thread maps\_anim::anim_loop_solo( var_1, "computer_stander_runin", "computer_stop" );
}
else
maps\clockwork_code::reassign_goal_volume( var_1, "chaos_security_vol" );
common_scripts\utility::flag_wait_any( "spawn_jeeps", "exfil_fire_fail" );
if ( isalive( var_1 ) )
{
if ( common_scripts\utility::flag( "spawn_jeeps" ) )
{
var_0 notify( "computer_stop" );
var_1 stopanimscripted();
var_1 delete();
}
else
maps\clockwork_code::reassign_goal_volume( var_1, "chaos_security_vol" );
}
}
computer_guys_runin_vo( var_0 )
{
level endon( "exfil_fire_fail" );
var_0 endon( "death" );
wait 3;
if ( isalive( var_0 ) )
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc1_shotmonitor" );
if ( isalive( var_0 ) )
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc2_password" );
if ( isalive( var_0 ) )
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc1_vodka" );
if ( isalive( var_0 ) )
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc2_blockingme" );
if ( isalive( var_0 ) )
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc1_seeanything" );
if ( isalive( var_0 ) )
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc2_toomuchsmoke" );
}
help_near_comps()
{
var_0 = common_scripts\utility::getstruct( "chaos_dont_look", "targetname" );
var_1 = common_scripts\utility::getstruct( "chaos_bug_find_scene", "targetname" );
var_2 = common_scripts\utility::getstruct( "chaos_help_near_comp_struct", "targetname" );
while ( common_scripts\utility::within_fov( level.player.origin, level.player.angles, var_0.origin, cos( 65 ) ) )
common_scripts\utility::waitframe();
var_3 = maps\_utility::spawn_targetname( "chaos_hurt_near_comp" );
var_4 = maps\_utility::spawn_targetname( "chaos_help_near_comp" );
var_5 = maps\_utility::spawn_targetname( "chaos_help_near_comp_walker" );
add_to_agressive_cleanup( var_3 );
add_to_agressive_cleanup( var_4 );
add_to_agressive_cleanup( var_5 );
thread reassign_comps( var_4, var_3, var_5 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_3.animname = "generic";
var_4.animname = "generic";
var_3 maps\_utility::gun_remove();
var_2 thread maps\_anim::anim_loop_solo( var_3, "hurt_start_loop", "end_loop" );
var_2 maps\_anim::anim_reach_solo( var_4, "help_anim" );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) && isalive( var_4 ) && isalive( var_3 ) )
{
thread help_vo( var_3, var_4 );
var_2 notify( "end_loop" );
var_2 thread maps\_anim::anim_single_solo( var_3, "hurt_anim" );
var_2 maps\_anim::anim_single_solo( var_4, "help_anim" );
}
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) && isalive( var_4 ) && isalive( var_3 ) )
{
var_2 thread maps\_anim::anim_loop_solo( var_3, "hurt_end_loop" );
var_2 thread maps\_anim::anim_loop_solo( var_4, "help_end_loop" );
}
}
common_scripts\utility::flag_wait( "spawn_jeeps" );
if ( isalive( var_4 ) )
var_4 delete();
if ( isalive( var_3 ) )
var_3 delete();
}
reassign_comps( var_0, var_1, var_2 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( isalive( var_1 ) )
var_1 kill();
if ( isalive( var_0 ) )
maps\clockwork_code::reassign_goal_volume( var_0, "chaos_security_vol" );
if ( isalive( var_2 ) )
maps\clockwork_code::reassign_goal_volume( var_2, "chaos_security_vol" );
}
help_vo( var_0, var_1 )
{
level endon( "exfil_fire_fail" );
var_0 endon( "death" );
var_1 endon( "death" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc1_help" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc1_intheknee" );
if ( isalive( var_1 ) )
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs2_seeattackers" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc1_sawflashes" );
}
bugfinders()
{
var_0 = common_scripts\utility::getstruct( "chaos_bug_find_scene", "targetname" );
var_1 = maps\_utility::spawn_targetname( "chaos_bug_finder" );
var_2 = maps\_utility::spawn_targetname( "chaos_bug_director" );
thread reassign_bug( var_1, var_2 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_1.animname = "generic";
var_2.animname = "generic";
var_3 = maps\_utility::spawn_anim_model( "bug_device", var_1 gettagorigin( "TAG_INHAND" ), var_1 gettagangles( "TAG_INHAND" ) );
var_3 linkto( var_1, "TAG_INHAND" );
thread bug_finders_vo( var_1, var_2 );
var_0 thread maps\_anim::anim_single_solo( var_1, "bug_finder" );
var_0 maps\_anim::anim_single_solo( var_2, "bug_finder2" );
if ( isalive( var_1 ) )
var_0 thread maps\_anim::anim_loop_solo( var_1, "bug_finder_loop" );
if ( isalive( var_2 ) )
var_0 thread maps\_anim::anim_loop_solo( var_2, "bug_finder_loop2" );
}
common_scripts\utility::flag_wait( "spawn_jeeps" );
if ( isalive( var_1 ) || isdefined( var_1 ) )
var_1 delete();
if ( isalive( var_2 ) || isdefined( var_2 ) )
var_2 delete();
}
reassign_bug( var_0, var_1 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( isalive( var_0 ) )
maps\clockwork_code::reassign_goal_volume( var_0, "chaos_security_vol" );
if ( isalive( var_1 ) )
maps\clockwork_code::reassign_goal_volume( var_1, "chaos_security_vol" );
}
bug_finders_vo( var_0, var_1 )
{
level endon( "exfil_fire_fail" );
var_1 endon( "death" );
var_0 endon( "death" );
common_scripts\utility::flag_wait( "scientist_interview" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ru1_sophisticated" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ss1_doneallthis" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ru1_rerouted" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ru2_takenapart" );
}
cypher_helps_out()
{
var_0 = common_scripts\utility::getstruct( "chaos_bug_find_scene", "targetname" );
var_1 = maps\_utility::spawn_targetname( "chaos_cypher_helps" );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_1.animname = "generic";
var_0 thread maps\_anim::anim_loop_solo( var_1, "helpee_intro_loop", "helpee_intro_end" );
common_scripts\utility::flag_wait( "hesh_bottom_stairs_1" );
thread cypher_helps_out_vo( var_1, var_0 );
var_0 maps\_anim::anim_reach_solo( level.allies[2], "helper_out" );
if ( isalive( var_1 ) )
{
thread start_chaos_walkers();
var_0 thread maps\_anim::anim_single_solo( var_1, "helpee_out" );
var_0 notify( "helpee_intro_end" );
var_0 maps\_anim::anim_single_solo( level.allies[2], "helper_out" );
}
var_0 notify( "guy_helped" );
var_1.moveplaybackrate = 1;
level.allies[2].moveplaybackrate = 1;
if ( isalive( var_1 ) )
var_0 thread maps\_anim::anim_loop_solo( var_1, "helpee_exit_loop" );
}
common_scripts\utility::flag_wait( "spawn_jeeps" );
if ( isalive( var_1 ) || isdefined( var_1 ) )
var_1 delete();
}
cypher_helps_out_vo( var_0, var_1 )
{
wait 2;
level.allies[2] maps\clockwork_code::char_dialog_add_and_go( "clockwork_hsh_imhelpinghim" );
var_1 waittill( "helpee_intro_end" );
level.allies[2] maps\clockwork_code::char_dialog_add_and_go( "clockwork_hsh_comeherefriend" );
wait 10;
level.allies[2] maps\clockwork_code::char_dialog_add_and_go( "clockwork_hsh_amedicwillbe" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_saf2_thankyou" );
}
start_chaos_walkers()
{
wait 4;
level notify( "chaos_walkers_go" );
wait 5;
common_scripts\utility::flag_set( "chaos_stairs_1_wait" );
wait 0.5;
common_scripts\utility::flag_set( "chaos_stairs_1_wait_2" );
}
chaos_walker_wait()
{
level endon( "chaos_walkers_go" );
common_scripts\utility::flag_wait( "chaos_upstairs_player" );
}
chaos_walkers()
{
chaos_walker_wait();
var_0 = maps\_utility::spawn_targetname( "chaos_walkers_pointer" );
var_0.animname = "generic";
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
var_0 thread maps\_anim::anim_single_solo( var_0, "pointer_start" );
wait 2;
var_1 = getentarray( "chaos_walkers", "targetname" );
var_1[1] delete();
var_2 = maps\_utility::array_spawn_targetname( "chaos_walkers" );
level.walkers = common_scripts\utility::array_add( var_2, var_0 );
thread reassign_walkers( level.walkers );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
common_scripts\utility::array_thread( level.walkers, maps\clockwork_code::fast_walk, 1 );
common_scripts\utility::array_thread( level.walkers, maps\_utility::disable_arrivals );
common_scripts\utility::array_thread( level.walkers, maps\_utility::disable_exits );
}
}
reassign_walkers( var_0 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
maps\clockwork_code::reassign_goal_volume( level.walkers, "chaos_security_vol" );
}
waver_moment()
{
var_0 = maps\_utility::spawn_targetname( "chaos_lt", 1 );
var_1 = common_scripts\utility::getstruct( "dog_talk_guy", "targetname" );
var_0 forceteleport( var_1.origin, var_0.angles, 1000 );
if ( isdefined( var_0 ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_0.animname = "generic";
var_0 maps\_utility::gun_remove();
var_0 thread maps\_anim::anim_loop_solo( var_0, "wave_guard" );
}
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( isalive( var_0 ) )
maps\clockwork_code::reassign_goal_volume( var_0, "chaos_security_vol" );
}
commander_moment()
{
var_0 = common_scripts\utility::getstruct( "chaos_commander_and_lt", "targetname" );
var_1 = getnode( "choas_walkers_goal", "targetname" );
var_2 = common_scripts\utility::getstruct( "chaos_dog_scene", "targetname" );
var_3 = maps\_utility::spawn_targetname( "chaos_commander" );
var_4 = maps\_utility::spawn_targetname( "chaos_dog_handler", 1 );
thread reassign_commander( var_3, var_4 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_5 = maps\_utility::spawn_targetname( "barkingdog", 1 );
if ( isdefined( var_4 ) && isdefined( var_5 ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_5.ignoreall = 1;
var_5.team = "axis";
var_4.animname = "generic";
var_5.animname = "generic";
var_5 thread barkingdog_handle_stealth_break( var_2 );
var_2 thread maps\_anim::anim_loop_solo( var_4, "cha_handler_idle", "firstloop" );
var_2 thread maps\_anim::anim_loop_solo( var_5, "cha_dog_idle", "firstloop" );
}
if ( isdefined( var_3 ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_3.animname = "generic";
var_3 maps\_utility::gun_remove();
var_0 thread maps\_anim::anim_loop_solo( var_3, "commander_start" );
}
common_scripts\utility::flag_wait( "chaos_start_commander_vo" );
if ( isdefined( var_5 ) && isalive( var_5 ) && isdefined( var_4 ) && isalive( var_4 ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_2 notify( "firstloop" );
var_2 thread maps\_anim::anim_single_solo( var_4, "cha_handler_alert" );
var_2 maps\_anim::anim_single_solo( var_5, "cha_dog_alert" );
var_6 = common_scripts\utility::spawn_tag_origin();
var_6.origin = var_2.origin;
var_6.angles = var_2.angles;
if ( isdefined( var_4 ) && isalive( var_4 ) )
var_2 thread maps\_anim::anim_loop_solo( var_4, "cha_handler_react", "secloop" );
if ( isdefined( var_5 ) && isalive( var_5 ) )
var_2 thread maps\_anim::anim_loop_solo( var_5, "cha_dog_react", "secloop" );
}
}
thread commander_vo( var_3, level.walkers );
common_scripts\utility::flag_wait( "spawn_jeeps" );
}
reassign_commander( var_0, var_1 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( isalive( var_0 ) )
{
var_0 maps\_utility::gun_recall();
maps\clockwork_code::reassign_goal_volume( var_0, "chaos_exit_vol" );
}
if ( isalive( var_1 ) )
maps\clockwork_code::reassign_goal_volume( var_1, "chaos_exit_vol" );
}
barkingdog_handle_stealth_break( var_0 )
{
self endon( "death" );
common_scripts\utility::flag_wait( "exfil_fire_fail" );
var_0 notify( "firstloop" );
var_0 notify( "secloop" );
}
#using_animtree("dog");
dog_bark()
{
self endon( "death" );
var_0 = "anml_dog_bark";
while ( !common_scripts\utility::flag( "spawn_jeeps" ) )
{
self setanim( %iw6_dog_attackidle_bark_add, 1, 0.1, 1 );
thread maps\_utility::play_sound_on_entity( var_0 );
wait( randomfloatrange( 0.5, 1 ) );
self clearanim( %iw6_dog_attackidle_bark_add, 0.1 );
}
}
direction_group_dog()
{
var_0 = maps\_utility::spawn_targetname( "chaos_direction_b1_dog" );
var_1 = maps\_utility::spawn_targetname( "chaos_direction_b2_dog" );
var_2 = common_scripts\utility::getstruct( "dog_talk_guy", "targetname" );
thread reassign_dog_group( var_0, var_1 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_0.animname = "generic";
var_1.animname = "generic";
var_0 maps\_utility::gun_remove();
var_1 maps\_utility::gun_remove();
var_2 thread maps\_anim::anim_loop_solo( var_0, "direction_give" );
var_2 thread maps\_anim::anim_loop_solo( var_1, "direction_take" );
}
common_scripts\utility::flag_wait( "spawn_jeeps" );
if ( isalive( var_0 ) || isdefined( var_0 ) )
var_0 delete();
if ( isalive( var_1 ) || isdefined( var_1 ) )
var_1 delete();
}
reassign_dog_group( var_0, var_1 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( isdefined( var_0 ) )
maps\clockwork_code::reassign_goal_volume( var_0, "chaos_exit_vol" );
if ( isdefined( var_0 ) )
maps\clockwork_code::reassign_goal_volume( var_1, "chaos_exit_vol" );
}
direction_group()
{
var_0 = maps\_utility::spawn_targetname( "chaos_direction_b1" );
var_1 = maps\_utility::spawn_targetname( "chaos_direction_b2" );
var_2 = maps\_utility::spawn_targetname( "chaos_direction1" );
var_3 = maps\_utility::spawn_targetname( "chaos_direction2" );
var_4 = common_scripts\utility::getstruct( "chaos_talking_a", "targetname" );
var_5 = common_scripts\utility::getstruct( "chaos_talking_b", "targetname" );
thread reassign_dir_group( var_2, var_3, var_0, var_1 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_0.animname = "generic";
var_1.animname = "generic";
var_0 maps\_utility::gun_remove();
var_1 maps\_utility::gun_remove();
var_5 thread maps\_anim::anim_loop_solo( var_0, "direction_give" );
var_5 thread maps\_anim::anim_loop_solo( var_1, "direction_take" );
var_2.animname = "generic";
var_3.animname = "generic";
var_2 maps\_utility::gun_remove();
var_3 maps\_utility::gun_remove();
var_4 thread maps\_anim::anim_loop_solo( var_2, "direction_give" );
var_4 thread maps\_anim::anim_loop_solo( var_3, "direction_take" );
thread losthope_vo( var_0, var_1 );
thread additionalexit_vo( var_2, var_3 );
}
}
reassign_dir_group( var_0, var_1, var_2, var_3 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( isalive( var_2 ) )
{
maps\clockwork_code::reassign_goal_volume( var_2, "chaos_exit_vol" );
var_2 maps\_utility::gun_recall();
}
if ( isalive( var_3 ) )
{
maps\clockwork_code::reassign_goal_volume( var_3, "chaos_exit_vol" );
var_3 maps\_utility::gun_recall();
}
if ( isalive( var_0 ) )
{
maps\clockwork_code::reassign_goal_volume( var_0, "chaos_exit_vol" );
var_0 maps\_utility::gun_recall();
}
if ( isalive( var_1 ) )
{
maps\clockwork_code::reassign_goal_volume( var_1, "chaos_exit_vol" );
var_1 maps\_utility::gun_recall();
}
}
commander_vo( var_0, var_1 )
{
level endon( "exfil_fire_fail" );
var_0 endon( "death" );
common_scripts\utility::flag_wait( "chaos_start_commander_vo" );
thread pick_up_pace( var_1 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
if ( isalive( var_0 ) )
{
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ruc_lockitdown" );
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_ruc_gettogarage" );
}
allies_move_to_jeep();
}
else
{
foreach ( var_3 in level.allies )
var_3 maps\_utility::enable_ai_color();
}
}
allies_move_to_jeep()
{
maps\clockwork_code::safe_activate_trigger_with_targetname( "chaos_move_allies_to_garage" );
level.allies[0] thread ally_move_to_jeep( "merrick_ready_jeep" );
level.allies[1] thread ally_move_to_jeep( "keegan_ready_jeep" );
level.allies[2] thread ally_move_to_jeep( "hesh_ready_jeep" );
}
ally_move_to_jeep( var_0 )
{
common_scripts\utility::flag_wait( var_0 );
maps\_utility::activate_trigger_with_targetname( "chaos_color_allies_to_vehicle" );
waittillframeend;
maps\_utility::enable_ai_color();
self notify( "stop_going_to_node" );
}
pick_up_pace( var_0 )
{
common_scripts\utility::flag_wait( "chaos_garage_move" );
level.player allowsprint( 1 );
level.player allowjump( 1 );
thread maps\clockwork_code::blend_movespeedscale_custom( 70, 1 );
level.allies[0] maps\clockwork_code::fast_walk( 0 );
level.allies[0] maps\clockwork_code::fast_jog( 1 );
wait 0.25;
var_0[0] maps\clockwork_code::fast_walk( 0 );
var_0[0] maps\clockwork_code::fast_jog( 1 );
wait 0.5;
var_0[1] maps\clockwork_code::fast_walk( 0 );
var_0[1] maps\clockwork_code::fast_jog( 1 );
level.allies[1] maps\clockwork_code::fast_walk( 0 );
level.allies[1] maps\clockwork_code::fast_jog( 1 );
wait 1;
wait 0.25;
level.allies[2] maps\clockwork_code::fast_walk( 0 );
level.allies[2] maps\clockwork_code::fast_jog( 1 );
}
carry_in()
{
wait 2;
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_0 = common_scripts\utility::getstruct( "chaos_carry_loc", "targetname" );
var_1 = maps\_utility::spawn_targetname( "chaos_carrier" );
var_2 = maps\_utility::spawn_targetname( "chaos_carried" );
var_1.animname = "generic";
var_2.animname = "generic";
var_0 thread maps\_anim::anim_single_solo( var_1, "carrier_sin" );
var_0 maps\_anim::anim_single_solo( var_2, "carried_sin" );
if ( isalive( var_1 ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
var_0 thread maps\_anim::anim_loop_solo( var_1, "carrier_loop" );
if ( isalive( var_2 ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
var_0 thread maps\_anim::anim_loop_solo( var_2, "carried_loop" );
common_scripts\utility::flag_wait( "spawn_jeeps" );
if ( isalive( var_1 ) || isdefined( var_1 ) )
var_1 delete();
if ( isalive( var_2 ) || isdefined( var_2 ) )
var_2 delete();
}
}
dieing_revival()
{
var_0 = common_scripts\utility::getstruct( "chaos_dieing_patient_loc", "targetname" );
var_1 = common_scripts\utility::getstruct( "chaos_dead_patient_loc", "targetname" );
var_2 = common_scripts\utility::getstruct( "chaos_doctor_loc", "targetname" );
var_3 = common_scripts\utility::getstructarray( "chaos_dead_patient_mdloc", "targetname" );
var_4 = maps\_utility::spawn_targetname( "chaos_dieing_doctor" );
var_5 = maps\_utility::spawn_targetname( "chaos_dieing_patient" );
var_4.animname = "generic";
var_5.animname = "generic";
var_4 endon( "death" );
var_5 maps\_utility::gun_remove();
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_4 maps\_utility::gun_remove();
thread dieingrevival_vo( var_4 );
if ( isalive( var_4 ) )
var_2 thread maps\_anim::anim_loop_solo( var_4, "dc_burning_cpr_medic_endidle", "doctor_wakeup" );
}
var_0 thread maps\_anim::anim_loop_solo( var_5, "dc_burning_cpr_wounded_endidle" );
common_scripts\utility::flag_wait( "spawn_jeeps" );
if ( isalive( var_4 ) || isdefined( var_4 ) )
var_4 delete();
if ( isalive( var_5 ) || isdefined( var_5 ) )
var_5 delete();
}
dieingrevival_vo( var_0 )
{
level endon( "exfil_fire_fail" );
var_0 endon( "death" );
wait 3;
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc1_cpr" );
wait 1;
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc2_live" );
wait 3;
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc2_clottingagent" );
wait 2;
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc1_continuingcpr" );
wait 3;
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_sc2_patientstable" );
}
stumbler_upstairs()
{
var_0 = maps\_utility::spawn_targetname( "chaos_stumbler" );
wait 1;
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_1 = common_scripts\utility::getstruct( "chaos_stumbler_struct", "targetname" );
var_0.animname = "generic";
var_0 maps\_utility::gun_remove();
var_1 maps\_anim::anim_single_solo( var_0, "stumble_to_wall" );
var_1 thread maps\_anim::anim_loop_solo( var_0, "stumble_to_wall_idle" );
}
else
var_0 kill();
}
yurilast_vo( var_0, var_1 )
{
level endon( "exfil_fire_fail" );
var_0 endon( "death" );
var_1 endon( "death" );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_0.animname = "generic";
var_1.animname = "generic";
var_0 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs1_killedyuri" );
var_1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_rs2_helpshisboys" );
}
}
in_to_jeep()
{
common_scripts\utility::flag_wait( "spawn_jeeps" );
thread chaos_kill_player();
wait 0.01;
var_0 = getent( "car_park_door_intro", "targetname" );
var_0 rotateyaw( -90, 0.2, 0.1, 0.1 );
var_0 connectpaths();
var_1 = maps\_utility::array_spawn_targetname( "car_park_base_jeep", 1 );
var_2 = maps\_utility::array_spawn_targetname( "car_park_enter_jeep", 1 );
level.startjeep = maps\_vehicle::spawn_vehicle_from_targetname( "enemy_jeep_start2" );
foreach ( var_4 in var_2 )
{
if ( isalive( var_4 ) && isdefined( var_4.script_startingposition ) )
var_4 thread waittoturnlightson( level.startjeep );
}
var_6 = maps\_vehicle::spawn_vehicle_from_targetname( "enemy_jeep_start3" );
var_6 maps\_vehicle::vehicle_lights_on( "headlights" );
var_7 = maps\_utility::spawn_targetname( "sniffingdog", 1 );
var_7.team = "axis";
if ( isdefined( var_7 ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_7.animname = "generic";
var_7 thread maps\_anim::anim_loop_solo( var_7, "dog_scratch_door" );
}
var_8 = maps\_utility::getstruct_delete( "intro_jeep_end_path", "targetname" );
var_9 = maps\_utility::spawn_targetname( "car_park_base_searcher", 1 );
if ( isdefined( var_9 ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_9.animname = "generic";
var_8 thread maps\_anim::anim_loop_solo( var_9, "check_jeep" );
}
level.jeep.animname = "jeep";
var_8 thread maps\_anim::anim_loop_solo( level.jeep, "open_doors" );
wait 1;
if ( isdefined( level.start_point ) && level.start_point == "exfil" )
{
common_scripts\utility::flag_set( "start_chaos" );
common_scripts\utility::waitframe();
}
maps\_utility::activate_trigger_with_targetname( "chaos_color_allies_to_vehicle" );
var_10 = maps\_utility::array_spawn_targetname( "car_park_stander", 1 );
level.playerjeep = maps\_vehicle::spawn_vehicle_from_targetname( "jeep_exfil_ride_playerturret" );
level.playerjeep.runtovehicleoverride = maps\clockwork_code::vehicle_runtooverride;
var_11 = spawn( "script_model", level.playerjeep gettagorigin( "tag_body" ) );
var_11 setmodel( "vehicle_brave_warrior_turretring" );
var_11.angles = level.playerjeep gettagangles( "tag_turret" );
var_11 linkto( level.playerjeep, "tag_body" );
level.allies[1] thread waittoturnlightson( level.playerjeep );
thread baker_anim();
level.gold_jeep_player_door_exfil = spawn( "script_model", level.playerjeep.origin );
level.gold_jeep_player_door_exfil setmodel( "chinese_brave_warrior_obj_door_back_RI" );
level.gold_jeep_player_door_exfil.angles = level.playerjeep.angles;
level.gold_jeep_player_door_exfil linkto( level.playerjeep );
wait 2;
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
level.startjeep.runtovehicleoverride = maps\clockwork_code::vehicle_runtooverride;
level.startjeep maps\_vehicle::vehicle_load_ai( var_2 );
thread vehicle_stop_load_fail( var_2 );
thread vehicle_unload_fail();
common_scripts\utility::array_thread( var_2, ::guy_loading_unload_fail );
}
common_scripts\utility::flag_wait( "get_in_the_jeep" );
var_6 startpath();
thread maps\clockwork_audio::garage_jeep_start_skid();
maps\_utility::autosave_by_name( "get_in_the_jeep" );
thread yurilast_vo( var_2[0], var_2[1] );
level.allies[0] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_getinthejeep" );
thread maps\clockwork_code::blend_movespeedscale_custom( 100, 1 );
level.player allowsprint( 1 );
level.player allowjump( 1 );
common_scripts\utility::flag_wait( "start_exfil_ride" );
if ( common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_12 = 1;
thread wakeup_enemies( getaiarray( "axis" ) );
}
else
thread wait_to_wakeup_enemies( getaiarray( "axis" ) );
level.allies[0].script_startingposition = 1;
level.allies[1].script_startingposition = 0;
level.allies[2].script_startingposition = 2;
level.secondload[0] = level.allies[0];
level.firstload[0] = level.allies[1];
level.firstload[1] = level.allies[2];
level.gold_jeep_player_door_exfil delete();
maps\_utility::disable_trigger_with_targetname( "start_exfil_ride" );
level.playerjeep thread maps\clockwork_code::listen_player_collision();
level.playerjeep thread maps\clockwork_code::listen_player_jolt();
thread kill_player();
var_13 = getent( "car_park_door", "targetname" );
var_13 rotateyaw( 90, 0.2, 0.1, 0.1 );
var_13 connectpaths();
level.player setstance( "stand" );
level.player disableweapons();
level.player disableweapons();
wait 0.25;
var_14 = common_scripts\utility::getstruct( "exfil_move_player_enter_jeep", "targetname" );
level.player.isanimating = 1;
level.jeep_player_arms = maps\_utility::spawn_anim_model( "player_rig" );
level.jeep_player_arms hide();
level.jeep_player_arms linkto( level.playerjeep, "tag_guy1", ( -10, -45, -32 ), ( 0, 90, 0 ) );
level.playerjeep thread maps\_anim::anim_first_frame_solo( level.jeep_player_arms, "player_getin", "tag_guy1" );
level.player playerlinktoblend( level.jeep_player_arms, "tag_player", 0.25 );
wait 0.25;
thread maps\clockwork_audio::exfil_enter_jeep();
common_scripts\utility::exploder( 750 );
level.jeep_player_arms show();
playfxontag( common_scripts\utility::getfx( "spotlight_dlight" ), level.playerjeep, "tag_headlight_left" );
level.playerjeep.animname = "jeep";
level.playerjeep thread maps\_anim::anim_single_solo( level.playerjeep, "player_getin" );
level.playerjeep maps\_anim::anim_single_solo( level.jeep_player_arms, "player_getin", "tag_guy1" );
level.jeep_player_arms hide();
level.player enableweapons();
level.player allowcrouch( 0 );
level.player allowprone( 0 );
level.player playerlinktodelta( level.jeep_player_arms, "tag_player", 0.9, 360, 360, 45, 30, 1 );
level.player setplayerangles( ( 0, level.playerjeep.angles[1], 0 ) );
level.player.isanimating = undefined;
common_scripts\utility::flag_wait( "baker_in_jeep" );
for (;;)
{
if ( isdefined( level.allies[1].ridingvehicle ) )
{
if ( isdefined( level.allies[2].ridingvehicle ) )
break;
}
wait 0.1;
}
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
level.allies[0] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_waitformysignal" );
thread maps\clockwork_audio::chase_player();
if ( isdefined( level.startjeep.driver ) && isalive( level.startjeep.driver ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
thread maps\clockwork_audio::lead_jeep();
level.startjeep startpath();
level.startjeep.driver maps\_utility::magic_bullet_shield( 1 );
level.startjeepmoving = 1;
wait 1;
}
level notify( "start_jeep_go" );
level.allies[1].animname = "generic";
level.allies[2].animname = "generic";
level.playerjeep.animname = "jeep";
level.playerjeep thread vehicle_play_guy_anim( "exfilstartdriver", level.allies[1], 0 );
level.playerjeep thread vehicle_play_guy_anim( "exfilstartpassenger", level.allies[0], 1 );
level.playerjeep setflaggedanimrestart( "vehicle_anim_flag", level.playerjeep maps\_utility::getanim( "exfilstartJeep" ) );
level.playerjeep startpath();
wait 0.5;
var_15 = getentarray( "chaos_patrollers", "script_noteworthy" );
foreach ( var_4 in var_15 )
{
if ( isalive( var_4 ) )
var_4 delete();
}
wait 2;
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
var_18 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive( "enemy_jeep_start" );
var_18[0] maps\_vehicle::vehicle_lights_on( "headlights" );
}
var_19 = maps\_utility::array_spawn_targetname( "exfil_warners", 1, 1 );
var_20 = maps\_utility::array_spawn_targetname( "car_park_base", 1, 1 );
var_21 = maps\_utility::array_spawn_targetname( "car_park_walkers", 1, 1 );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
thread handle_sneak_vo();
foreach ( var_4 in var_21 )
var_4 maps\clockwork_code::fast_walk( 1 );
}
else
{
thread wakeup_enemies( var_19 );
thread wakeup_enemies( var_20 );
thread wakeup_enemies( var_21 );
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_exitingthebase" );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_diz_meetonexfil" );
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_exfilin2mins" );
thread maps\clockwork_code::clockwork_timer( 95, &"CLOCKWORK_EXFIL", 1 );
}
common_scripts\utility::flag_wait( "exfil_door_close_start" );
if ( isalive( var_7 ) )
var_7 delete();
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
thread skip_to_end( var_1, var_13, var_21, var_19, var_20 );
punchit_start( var_6 );
wait 0.5;
punchit_end( var_6, var_13, var_21, var_19, var_20 );
}
level.player disableoffhandweapons();
thread wakeup_enemies( var_19 );
thread wakeup_enemies( var_20 );
thread wakeup_enemies( var_21 );
thread playfx_for_player_tread();
}
vehicle_stop_load_fail( var_0 )
{
level endon( "exfil_door_close_start" );
common_scripts\utility::flag_wait( "exfil_fire_fail" );
foreach ( var_2 in var_0 )
{
if ( isdefined( var_2 ) && isalive( var_2 ) && !isdefined( var_2.boarding_vehicle ) )
var_2 notify( "stop_loading" );
}
}
vehicle_unload_fail()
{
level endon( "start_jeep_go" );
common_scripts\utility::flag_wait( "exfil_fire_fail" );
level.startjeep maps\_vehicle::vehicle_unload( "all" );
}
guy_loading_unload_fail()
{
self endon( "death" );
self endon( "stop_loading" );
thread guy_unset_allowdeath();
self waittill( "enteredvehicle" );
if ( common_scripts\utility::flag( "exfil_fire_fail" ) )
{
level.startjeep maps\_vehicle_aianim::guy_unload( self, self.vehicle_position );
maps\clockwork_code::enemy_stop_stealth();
self.ragdoll_immediate = undefined;
}
}
guy_unset_allowdeath()
{
self endon( "death" );
self waittill( "boarding_vehicle" );
common_scripts\utility::waitframe();
self.ragdoll_immediate = 1;
self.allowdeath = 1;
}
punchit_start( var_0 )
{
thread handle_slap_slide_sound();
var_1 = getentarray( "stop_guy", "script_noteworthy" );
foreach ( var_3 in var_1 )
{
if ( isalive( var_3 ) )
level.stopguy1 = var_3;
}
var_5 = getentarray( "stop_guy2", "script_noteworthy" );
foreach ( var_3 in var_5 )
{
if ( isalive( var_3 ) )
level.stopguy2 = var_3;
}
var_8 = getentarray( "stop_guy3", "script_noteworthy" );
foreach ( var_3 in var_8 )
{
if ( isalive( var_3 ) )
level.stopguy3 = var_3;
}
var_11 = common_scripts\utility::getstruct( "punchit_scene", "targetname" );
level.startjeep.animname = "cw_punchit";
level.startjeep setflaggedanimrestart( "vehicle_anim_flag", level.startjeep maps\_utility::getanim( "punchit_start_enemy_jeep" ) );
level.playerjeep.animname = "cw_punchit";
level.playerjeep setflaggedanimrestart( "vehicle_anim_flag", level.playerjeep maps\_utility::getanim( "punchit_start_ally_jeep" ) );
if ( level.startjeep.riders[0].script_startingposition == 0 )
{
level.startjeep.riders[0].animname = "generic";
level.startjeep.riders[1].animname = "generic";
level.startjeep.riders[0] thread maps\_anim::anim_single_solo( level.startjeep.riders[0], "punchit_start_edriver" );
level.startjeep.riders[1] thread maps\_anim::anim_single_solo( level.startjeep.riders[1], "punchit_start_epass" );
}
else
{
level.startjeep.riders[0].animname = "generic";
level.startjeep.riders[1].animname = "generic";
level.startjeep.riders[1] thread maps\_anim::anim_single_solo( level.startjeep.riders[1], "punchit_start_edriver" );
level.startjeep.riders[0] thread maps\_anim::anim_single_solo( level.startjeep.riders[0], "punchit_start_epass" );
}
level.allies[1].animname = "generic";
level.playerjeep thread vehicle_play_guy_anim( "punchit_start_keegan", level.allies[1], 0 );
level.allies[0].animname = "generic";
level.playerjeep thread vehicle_play_guy_anim( "punchit_start_baker", level.allies[0], 1 );
level.allies[2].animname = "generic";
level.playerjeep thread vehicle_play_guy_anim( "punchit_start_cypher", level.allies[2], 2 );
level.pistol = maps\_utility::spawn_anim_model( "cw_pistol", level.allies[2].origin );
level.pistol.angles = level.allies[2].angles;
level.pistol linkto( level.playerjeep, "tag_guy0" );
level.allies[2] thread maps\_anim::anim_single_solo( level.pistol, "start" );
level.stopguy1.animname = "generic";
level.stopguy2.animname = "generic";
level.stopguy3.animname = "generic";
var_11 thread maps\_anim::anim_single_solo( level.stopguy1, "punchit_start_guard1" );
var_11 thread maps\_anim::anim_single_solo( level.stopguy2, "punchit_start_guard2" );
var_11 thread maps\_anim::anim_single_solo( level.stopguy3, "punchit_start_guard3" );
common_scripts\utility::flag_wait_or_timeout( "exfil_fire_fail", 23 );
}
handle_slap_slide_sound()
{
common_scripts\utility::flag_wait( "guard_slap" );
thread maps\clockwork_audio::exfil_hoodsmack();
common_scripts\utility::flag_wait( "hesh_slide" );
thread maps\clockwork_audio::exfil_gun_cock( level.allies[2].origin );
}
skip_to_end( var_0, var_1, var_2, var_3, var_4 )
{
level.player notifyonplayercommand( "fired", "+attack" );
level.player waittill( "fired" );
common_scripts\utility::flag_set( "exfil_fire_fail" );
punchit_end( var_0, var_1, var_2, var_3, var_4 );
wait 3;
if ( !common_scripts\utility::flag( "ally_start_path_exfil" ) )
{
setdvar( "ui_deadquote", &"CLOCKWORK_QUOTE_COMPROMISE" );
maps\_utility::missionfailedwrapper();
}
}
punchit_end( var_0, var_1, var_2, var_3, var_4 )
{
if ( isdefined( level.skiptoend ) )
return;
level.skiptoend = 1;
var_5 = common_scripts\utility::getstruct( "punchit_scene", "targetname" );
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
thread punchit_jeeps( var_0, var_5 );
if ( level.startjeep.riders[0].script_startingposition == 0 )
{
if ( isdefined( level.startjeep.riders[0] ) && isdefined( level.startjeep.riders[1] ) )
{
level.startjeep.riders[0].animname = "generic";
level.startjeep.riders[1].animname = "generic";
level.startjeep.riders[0] thread maps\_anim::anim_single_solo( level.startjeep.riders[0], "punchit_end_edriver" );
level.startjeep.riders[1] thread maps\_anim::anim_single_solo( level.startjeep.riders[1], "punchit_end_epass" );
}
}
else if ( isdefined( level.startjeep.riders[0] ) && isdefined( level.startjeep.riders[1] ) )
{
level.startjeep.riders[0].animname = "generic";
level.startjeep.riders[1].animname = "generic";
level.startjeep.riders[1] thread maps\_anim::anim_single_solo( level.startjeep.riders[1], "punchit_end_edriver" );
level.startjeep.riders[0] thread maps\_anim::anim_single_solo( level.startjeep.riders[0], "punchit_end_epass" );
}
level.playerjeep.animname = "cw_punchit";
level.playerjeep setflaggedanimrestart( "vehicle_anim_flag", level.playerjeep maps\_utility::getanim( "punchit_end_ally_jeep" ) );
level.allies[1].animname = "generic";
level.playerjeep thread vehicle_play_guy_anim( "punchit_end_keegan", level.allies[1], 0 );
level.allies[0].animname = "generic";
level.playerjeep thread vehicle_play_guy_anim( "punchit_end_baker", level.allies[0], 1 );
level.allies[2].animname = "generic";
level.playerjeep thread vehicle_play_guy_anim( "punchit_end_cypher", level.allies[2], 2 );
level.allies[2] thread maps\_anim::anim_single_solo( level.pistol, "end" );
if ( isdefined( level.startjeep.riders[0] ) && isdefined( level.startjeep.riders[1] ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
level.stopguy1.animname = "generic";
var_5 thread maps\_anim::anim_single_solo( level.stopguy1, "punchit_end_guard1" );
}
else if ( isdefined( level.stopguy1 ) )
{
level.stopguy1 maps\_utility::anim_stopanimscripted();
common_scripts\utility::waitframe();
level.stopguy1 kill();
}
if ( isdefined( level.startjeep.riders[0] ) && isdefined( level.startjeep.riders[1] ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
level.stopguy2.animname = "generic";
var_5 thread maps\_anim::anim_single_solo( level.stopguy2, "punchit_end_guard2" );
}
else if ( isdefined( level.stopguy2 ) )
{
level.stopguy2 maps\_utility::anim_stopanimscripted();
common_scripts\utility::waitframe();
level.stopguy2 kill();
}
thread guard3_anim_delay( var_5 );
wait 0.05;
thread hesh_gunshots();
level.allies[0] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_punchit" );
wait 0.2;
common_scripts\utility::flag_set( "chase_punch_it" );
common_scripts\utility::flag_set( "punchit_go" );
level.player disableoffhandweapons();
var_1 rotateyaw( -90, 12, 8, 1 );
foreach ( var_7 in var_2 )
{
if ( isdefined( var_7 ) )
var_7 maps\clockwork_code::fast_walk( 0 );
}
if ( isalive( var_3[0] ) )
{
var_9 = getnodearray( "runto_exfil_1", "targetname" );
var_3[0] setgoalnode( var_9[0] );
var_3[0] maps\_utility::set_fixednode_true();
}
if ( isalive( var_3[1] ) )
{
var_10 = getnodearray( "runto_exfil_2", "targetname" );
var_3[1] setgoalnode( var_10[0] );
var_3[1] maps\_utility::set_fixednode_true();
}
thread wakeup_enemies( var_4 );
foreach ( var_12 in level.allies )
{
var_12.ignoreall = 0;
var_12.ignoreme = 0;
}
wait 1.25;
}
guard3_anim_delay( var_0 )
{
common_scripts\utility::flag_wait( "guard3_die" );
if ( isdefined( level.startjeep.riders[0] ) && isdefined( level.startjeep.riders[1] ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
level.stopguy3.animname = "generic";
var_0 thread maps\_anim::anim_single_solo( level.stopguy3, "punchit_end_guard3" );
}
else if ( isdefined( level.stopguy3 ) )
{
level.stopguy3 maps\_utility::anim_stopanimscripted();
common_scripts\utility::waitframe();
level.stopguy3 kill();
}
}
hesh_gunshots()
{
var_0 = anglestoforward( level.pistol gettagangles( "tag_flash" ) );
var_1 = level.pistol gettagorigin( "tag_flash" );
magicbullet( "p226", var_1, var_1 + var_0 * 32 );
wait 0.25;
var_0 = anglestoforward( level.pistol gettagangles( "tag_flash" ) );
var_1 = level.pistol gettagorigin( "tag_flash" );
magicbullet( "p226", var_1, var_1 + var_0 * 32 );
}
punchit_jeeps( var_0, var_1 )
{
common_scripts\utility::flag_wait( "punchit_car_two" );
wait 0.05;
level.startjeep.animname = "cw_punchit";
var_1 thread maps\_anim::anim_single_solo( level.startjeep, "punchit_end_enemy_jeep" );
}
waittoturnlightson( var_0 )
{
self waittill( "enteredvehicle" );
var_0 maps\_vehicle::vehicle_lights_on( "headlights" );
}
baker_anim()
{
level.allies[0].animname = "generic";
thread baker_in_to_jeep_anim();
if ( !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
if ( !common_scripts\utility::flag( "start_exfil_ride" ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
level.playerjeep maps\_anim::anim_reach_solo( level.allies[0], "garage_enter" );
if ( !common_scripts\utility::flag( "start_exfil_ride" ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
level.playerjeep maps\_anim::anim_single_solo( level.allies[0], "garage_enter" );
if ( !common_scripts\utility::flag( "start_exfil_ride" ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
level.playerjeep thread maps\_anim::anim_loop_solo( level.allies[0], "garage_loop", "end_loop" );
}
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( !common_scripts\utility::flag( "baker_ready" ) )
{
level.playerjeep notify( "end_loop" );
level.allies[0] maps\_utility::anim_stopanimscripted();
}
}
baker_in_to_jeep_anim()
{
common_scripts\utility::flag_wait( "start_exfil_ride" );
wait 1;
if ( common_scripts\utility::flag( "exfil_fire_fail" ) )
level.allies[0] maps\_utility::anim_stopanimscripted();
else
level.playerjeep notify( "end_loop" );
var_0 = common_scripts\utility::getstruct( "get_in_keegan", "targetname" );
var_1 = common_scripts\utility::getstruct( "get_in_cipher", "targetname" );
level.allies[1] forceteleport( var_0.origin, var_0.angles );
level.allies[2] forceteleport( var_1.origin, var_1.angles );
common_scripts\utility::waitframe();
level.playerjeep maps\_vehicle::vehicle_load_ai( level.firstload );
common_scripts\utility::flag_set( "baker_ready" );
level.allies[0].boarding_vehicle = 1;
level.playerjeep maps\_anim::anim_single_solo( level.allies[0], "garage_exit" );
level.allies[0] thread anim_enter_finished( "baker_in_jeep" );
level.allies[0].boarding_vehicle = undefined;
}
wait_to_wakeup_enemies( var_0 )
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
wakeup_enemies( var_0 );
}
wakeup_enemies( var_0 )
{
var_0 = maps\_utility::array_removedead( var_0 );
foreach ( var_2 in var_0 )
{
if ( isdefined( var_2 ) )
{
var_2.ignoreall = 0;
var_2.ignoreme = 0;
if ( isdefined( var_2 ) && !isdefined( var_2.script_drone ) || var_2.script_drone == 0 )
var_2 setentitytarget( level.playerjeep );
}
wait 0.25;
}
}
continous_fire()
{
}
handle_sneak_vo()
{
level endon( "exfil_fire_fail" );
kill_estimates_vo();
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_exitingthebase" );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_diz_meetonexfil" );
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_exfilin2mins" );
thread maps\clockwork_code::clockwork_timer( 125, &"CLOCKWORK_EXFIL", 1 );
common_scripts\utility::flag_wait( "exfil_door_close_start" );
wait 2;
thread handle_enemies_get_out_of_car();
level.allies[1] maps\clockwork_code::char_dialog_add_and_go( "clockwork_kgn_theyrestoppingjeeps" );
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_mrk_keeptothescript" );
wait 1;
level.allies[1] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_kgn_whatsgoingonup" );
wait 0.25;
if ( isalive( level.stopguy2 ) )
level.stopguy2 thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_saf1_wegottacheckeverybody" );
level.allies[1] maps\clockwork_code::char_dialog_add_and_go( "clockwork_kgn_commandjustorderedus" );
if ( isalive( level.stopguy2 ) )
level.stopguy2 thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_saf1_cmongetthemasks" );
level.allies[1] maps\clockwork_code::char_dialog_add_and_go( "clockwork_kgn_wedonthavetime" );
if ( isdefined( level.stopguy2 ) && isalive( level.stopguy2 ) )
level.stopguy2 maps\clockwork_code::char_dialog_add_and_go( "clockwork_saf1_getthemasksoff" );
}
handle_enemies_get_out_of_car()
{
if ( isalive( level.stopguy2 ) )
level.stopguy2 thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_saf1_outofthecar" );
wait 1;
if ( isalive( level.stopguy1 ) )
level.stopguy1 maps\clockwork_code::char_dialog_add_and_go( "clockwork_saf2_handsup" );
if ( isalive( level.stopguy2 ) )
level.stopguy2 maps\clockwork_code::char_dialog_add_and_go( "clockwork_saf1_dontmove" );
if ( isalive( level.stopguy2 ) )
level.stopguy2 maps\clockwork_code::char_dialog_add_and_go( "clockwork_saf1_youguysstopstop" );
if ( isalive( level.stopguy2 ) )
level.stopguy2 maps\clockwork_code::char_dialog_add_and_go( "clockwork_saf1_heycuttheengine" );
if ( isalive( level.stopguy2 ) )
level.stopguy2 maps\clockwork_code::char_dialog_add_and_go( "clockwork_saf1_letsgocmoncut" );
}
crash_event()
{
common_scripts\utility::flag_wait( "ally_start_path_exfil" );
wait 0.25;
maps\_utility::autosave_by_name( "exfil_baseexit_save" );
maps\_utility::battlechatter_on( "allies" );
thread getinturret();
level.player waittill( "movingToTurret" );
var_0 = getaiarray( "axis" );
foreach ( var_2 in var_0 )
{
if ( isalive( var_2 ) )
var_2 delete();
}
wait 0.1;
var_4 = maps\_utility::array_spawn_targetname( "exfil_exterior_base", 1 );
foreach ( var_2 in var_4 )
var_2 set_diff_accuracy();
waittillframeend;
level.enemy_jeep_follower1 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_follower1" );
waittillframeend;
level.enemy_jeep_follower2 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_follower2" );
waittillframeend;
level.enemy_jeep_follower1 maps\_vehicle::vehicle_lights_on( "headlights" );
level.enemy_jeep_follower2 maps\_vehicle::vehicle_lights_on( "headlights" );
thread enemy_jeep_group_fire();
wait 3;
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_enemyjeepsonthe" );
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_takethemout" );
common_scripts\utility::flag_wait( "gate_crash_player" );
level.enemy_jeep_follower2 maps\_vehicle::godoff();
level.player enableinvulnerability();
level.allies[0] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_ramit" );
wait 1;
level.allies[0] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_holdon" );
wait 1;
if ( isalive( level.enemy_jeep_follower1 ) )
{
level.enemy_jeep_follower1 vehphys_enablecrashing();
var_7 = maps\clockwork_code::rotate_vector( ( 0, 90, 0 ), level.enemy_jeep_follower1.angles );
level.enemy_jeep_follower1 vehphys_launch( var_7 * 2, 0 );
}
wait 3;
level.player disableinvulnerability();
common_scripts\utility::flag_wait( "rpg_spawn" );
var_8 = maps\_utility::get_living_ai_array( "riders_exterior_delete", "script_noteworthy" );
foreach ( var_2 in var_8 )
{
if ( isdefined( var_2 ) )
var_2 delete();
}
foreach ( var_2 in var_4 )
{
if ( isdefined( var_2 ) )
var_2 delete();
}
if ( isalive( level.enemy_jeep_follower1 ) )
level.enemy_jeep_follower1 delete();
if ( isalive( level.enemy_jeep_follower2 ) )
level.enemy_jeep_follower2 delete();
}
getinturret()
{
thread maps\clockwork_audio::exfil_get_on_turret();
maps\_utility::objective_complete( maps\_utility::obj( "exitfac" ) );
var_0 = maps\_utility::obj( "exfil" );
objective_add( var_0, "active", &"CLOCKWORK_EXTRACTION" );
objective_current( var_0 );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_bkr_getturret" );
level.allies[0] maps\_utility::clear_generic_idle_anim();
level.allies[1] maps\_utility::clear_generic_idle_anim();
level.allies[2] maps\_utility::clear_generic_idle_anim();
level.player disableweapons();
level.jeep_player_arms linkto( level.playerjeep, "tag_guy1", ( 50, 0, 0 ), ( 0, 0, 0 ) );
level.jeep_player_arms thread maps\_anim::anim_first_frame_solo( level.jeep_player_arms, "player_toturret" );
level.jeep_player_arms show();
thread standally( 0, 0.5 );
thread standally( 2, 0.01 );
level.player lerpviewangleclamp( 0.5, 0, 0, 0, 0, 0, 0 );
level.player notify( "movingToTurret" );
level.playerjeep maps\_anim::anim_single_solo( level.jeep_player_arms, "player_toturret", "tag_guy1" );
thread maps\clockwork_code::play_rumble_seconds( "damage_heavy", 0.25 );
thread maps\clockwork_code::screenshakefade( 0.35, 0.25 );
level.jeep_player_arms hide();
level.player playerlinktodelta( level.playerjeep, "tag_guy_turret", 0.1, 360, 360, 30, 5, 1 );
level.jeep_player_arms delete();
var_1 = level.playerjeep.mgturret[0];
var_1 makeusable();
var_1 useby( level.player );
var_1 makeunusable();
level.player enableweapons();
level.player_turret = var_1;
level.player setplayerangles( ( 0, level.playerjeep.angles[1], 0 ) );
level.player disableturretdismount();
thread maps\clockwork_code::player_viewhands_minigun( var_1, "viewhands_player_fed_army_arctic" );
level.playerjeep thread maps\clockwork_code::fire_grenade();
level.player setstance( "stand" );
setsaveddvar( "aim_aimAssistRangeScale", "0" );
setsaveddvar( "aim_autoAimRangeScale", "0" );
setsaveddvar( "ammoCounterHide", "1" );
setsaveddvar( "actionSlotsHide", "1" );
setsaveddvar( "hud_showStance", "0" );
level.playerjeep maps\_vehicle::vehicle_ai_event( "idle_alert" );
level.playerjeep thread player_view_clamp();
}
standally( var_0, var_1 )
{
wait( var_1 );
level.allies[var_0] notify( "newanim" );
level.allies[var_0].desired_anim_pose = "crouch";
level.allies[var_0] maps\_utility::anim_stopanimscripted();
level.allies[var_0] allowedstances( "crouch" );
level.allies[var_0].baseaccuracy = 0.1;
level.allies[var_0].accuracystationarymod = 0.5;
}
headon_event()
{
common_scripts\utility::flag_wait( "en_headon_road" );
wait 0.25;
level.enemy_jeep_turret[level.enemy_jeep_turret.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_tank_headon" );
thread enemy_zodiacs_spawn_and_attack();
level.enemy_jeep_a[level.enemy_jeep_a.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_intercept1" );
waittillframeend;
level.speedjeep = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_intercept2" );
waittillframeend;
level.enemy_jeep_b[level.enemy_jeep_b.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_intercept4" );
waittillframeend;
level.enemy_jeep_b[level.enemy_jeep_b.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_intercept6" );
waittillframeend;
level.enemy_jeep_a[level.enemy_jeep_a.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
level.speedjeep maps\_vehicle::vehicle_lights_on( "headlights" );
level.enemy_jeep_b[level.enemy_jeep_b.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
level.enemy_jeep_b[level.enemy_jeep_b.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
thread enemy_jeep_group_fire();
wait 3;
level.allies[0] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_offtheroad" );
wait 1;
level.enemy_snowmobile[level.enemy_snowmobile.size] = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_jeep_intercept3" );
level.enemy_snowmobile[level.enemy_snowmobile.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
wait 1;
level.enemy_snowmobile[level.enemy_snowmobile.size] = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_jeep_intercept5" );
level.enemy_snowmobile[level.enemy_snowmobile.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
wait 2;
level.allies[2] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_cyr_targetsbehindus" );
}
canal_event()
{
common_scripts\utility::flag_wait( "rpg_spawn" );
var_0 = maps\_utility::array_spawn_targetname( "canal_rpgers", 1 );
common_scripts\utility::array_thread( var_0, maps\_utility::magic_bullet_shield );
level.icehole_count = 0;
level.player thread maps\clockwork_code::handle_grenade_launcher();
common_scripts\utility::flag_wait( "rpg_fire" );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_diz_rpgs" );
thread maps\clockwork_audio::chase_tower_fire();
var_1 = missile_createrepulsorent( level.playerjeep, 750, 10000 );
var_2 = var_0[2].origin + ( -60, 0, 75 );
var_3 = common_scripts\utility::getstruct( "rpg_hit_enemy_jeep", "targetname" );
magicbullet( "rpg_straight", var_2, var_3.origin );
wait 1.25;
missile_deleteattractor( var_1 );
var_2 = var_0[0].origin + ( -60, 0, 75 );
var_3 = common_scripts\utility::getstruct( "rpg_hit_enemy_jeep", "targetname" );
magicbullet( "rpg_straight", var_2, var_3.origin );
wait 1.25;
thread maps\clockwork_code::add_ice_radius( 50, var_3.origin );
if ( isalive( level.speedjeep ) )
level.speedjeep thread maps\clockwork_code::play_long_crash();
var_2 = var_0[1].origin + ( 0, -60, 75 );
var_3 = common_scripts\utility::getstruct( "rpg_target_ally_jeep", "targetname" );
magicbullet( "rpg_straight", var_2, var_3.origin );
wait 1.25;
thread maps\clockwork_code::add_ice_radius( 50, var_3.origin );
common_scripts\utility::array_thread( var_0, maps\_utility::stop_magic_bullet_shield );
foreach ( var_5 in var_0 )
var_5 kill();
level.allies[0] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_shoottheice" );
var_7 = maps\_utility::array_spawn_targetname( "exfil_exterior_tunnel", 1 );
foreach ( var_9 in var_7 )
var_9 set_diff_accuracy();
common_scripts\utility::flag_wait( "spawn_tunnel_jeep" );
thread maps\clockwork_audio::chase_tunnel_jeep();
common_scripts\utility::flag_set( "tubelight_parking" );
maps\_utility::stop_exploder( 250 );
maps\_utility::stop_exploder( 300 );
maps\_utility::stop_exploder( 301 );
maps\_utility::stop_exploder( 750 );
level.enemy_jeep_a[level.enemy_jeep_a.size] = thread maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "snowmobile_spawner_bend1" );
level.enemy_jeep_a[level.enemy_jeep_a.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
thread enemy_jeep_group_fire();
common_scripts\utility::flag_wait( "en_jeep2_jump" );
foreach ( var_9 in var_7 )
{
if ( isdefined( var_9 ) )
var_9 delete();
}
}
tank_event()
{
common_scripts\utility::flag_wait( "en_jeepphys_spawn" );
maps\_utility::autosave_by_name( "exfil_tank" );
wait 3;
level.allies[2] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_cyr_snowmobilesbehind" );
level.enemy_snowmobile[level.enemy_snowmobile.size] = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "snowmobile_spawner_bend2" );
level.enemy_snowmobile[level.enemy_snowmobile.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
wait 0.2;
level.enemy_snowmobile[level.enemy_snowmobile.size] = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "snowmobile_spawner_bend3" );
level.enemy_snowmobile[level.enemy_snowmobile.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
thread wipeout_bikes();
common_scripts\utility::flag_wait( "en_jeep2_jump" );
wait 1;
level.tank_bridge = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_tank_bridge" );
wait 0.25;
level.enemy_jeep_a[level.enemy_jeep_a.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_tankfire1" );
waittillframeend;
level.enemy_jeep_b[level.enemy_jeep_b.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_tankfire2" );
waittillframeend;
level.enemy_jeep_a[level.enemy_jeep_a.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
var_0 = level.enemy_jeep_a[level.enemy_jeep_a.size - 1];
level.enemy_jeep_b[level.enemy_jeep_b.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
thread enemy_jeep_group_fire();
wait 1.7;
level.tankfire_spline_jeep = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_jeep_tankfire3" );
level.enemy_jeep_s[level.enemy_jeep_s.size] = level.tankfire_spline_jeep;
level.tankfire_spline_jeep maps\_vehicle::vehicle_lights_on( "headlights" );
level.allies[2] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_cyr_jeepsbehind" );
thread enemy_jeep_group_fire();
wait 4.5;
level.enemy_snowmobile[level.enemy_snowmobile.size] = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_snowmobile_bridgea1" );
level.enemy_snowmobile[level.enemy_snowmobile.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
waittillframeend;
level.enemy_snowmobile[level.enemy_snowmobile.size] = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_snowmobile_bridgea2" );
level.enemy_snowmobile[level.enemy_snowmobile.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
wait 3.5;
thread forty_five_sec_vo();
if ( isalive( level.tank_bridge ) )
{
level.tank_bridge.attachedpath = undefined;
level.tank_bridge notify( "newpath" );
level.tank_bridge vehicle_setspeed( 30, 4, 4 );
level.tank_bridge resumespeed( 3 );
var_1 = getvehiclenode( "tank_chase_path", "targetname" );
level.tank_bridge thread maps\_vehicle::vehicle_paths( var_1 );
level.tank_bridge startpath( var_1 );
}
common_scripts\utility::flag_wait( "spawn_bridge_jeeps" );
level.enemy_jeep_a[level.enemy_jeep_a.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "highway_jeep1" );
level.enemy_jeep_a[level.enemy_jeep_a.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
common_scripts\utility::flag_wait( "exfil_car_should_crash" );
var_0 thread maps\clockwork_code::play_crash_anim( var_0.origin );
var_0 notify( "icehole_occured" );
}
forty_five_sec_vo()
{
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_hotexfil" );
maps\clockwork_code::radio_dialog_add_and_go( "clockwork_npt_45seconds" );
wait 3;
level.allies[0] thread maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_shoottheice" );
}
bridge_event()
{
common_scripts\utility::flag_wait( "exfil_prechoke_spawn" );
thread maps\clockwork_fx::handle_jeep_launch_fx();
maps\_utility::autosave_by_name( "prechoke_save" );
level.enemy_snowmobile[level.enemy_snowmobile.size] = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_snowmobile_bridge1" );
level.enemy_snowmobile[level.enemy_snowmobile.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
waittillframeend;
level.enemy_snowmobile[level.enemy_snowmobile.size] = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_snowmobile_bridge2" );
level.enemy_snowmobile[level.enemy_snowmobile.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
thread wipeout_bikes();
thread maps\clockwork_audio::snowmobiles();
common_scripts\utility::flag_wait( "exfil_spawn_choke_guys" );
level.enemy_jeep_b[level.enemy_jeep_b.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_prechoke1" );
waittillframeend;
level.enemy_jeep_b[level.enemy_jeep_b.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
var_0 = level.enemy_jeep_b[level.enemy_jeep_b.size - 1];
thread enemy_jeep_group_fire();
wait 1;
var_1 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_prechoke2" );
waittillframeend;
var_1 maps\_vehicle::vehicle_lights_on( "headlights" );
waittillframeend;
thread enemy_jeep_group_fire();
thread maps\clockwork_audio::bigjump();
wait 2;
level.enemy_jeep_b[level.enemy_jeep_b.size] = var_1;
level.enemy_jeep_turret[level.enemy_jeep_turret.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_prechoke3" );
waittillframeend;
level.enemy_jeep_turret[level.enemy_jeep_turret.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
thread enemy_jeep_group_fire();
wait 3;
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_getusout" );
level.allies[1] maps\clockwork_code::char_dialog_add_and_go( "clockwork_kgn_underbridge" );
common_scripts\utility::flag_wait( "exfil_bridge_spawn" );
maps\_utility::autosave_by_name( "bridge" );
var_2 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "highway_jeep2" );
waittillframeend;
var_2 maps\_vehicle::vehicle_lights_on( "headlights" );
wait 0.25;
level.enemy_jeep_b[level.enemy_jeep_b.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_bridge1" );
waittillframeend;
level.enemy_jeep_a[level.enemy_jeep_a.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_bridge2" );
waittillframeend;
level.enemy_jeep_b[level.enemy_jeep_b.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
level.enemy_jeep_a[level.enemy_jeep_a.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
thread enemy_jeep_group_fire();
wait 0.25;
level.enemy_jeep_a[level.enemy_jeep_a.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_bridge3" );
waittillframeend;
level.enemy_jeep_a[level.enemy_jeep_a.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
thread enemy_jeep_group_fire();
thread maps\clockwork_code::radio_dialog_add_and_go( "clockwork_diz_vehiclesright" );
wait 2.5;
level.enemy_snowmobile[level.enemy_snowmobile.size] = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_snowmobile_choke1" );
level.enemy_snowmobile[level.enemy_snowmobile.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
waittillframeend;
level.enemy_snowmobile[level.enemy_snowmobile.size] = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_snowmobile_choke2" );
level.enemy_snowmobile[level.enemy_snowmobile.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
waittillframeend;
if ( isalive( level.tankfire_spline_jeep ) )
level.tankfire_spline_jeep maps\_vehicle_spline_zodiac::wipeout( "left behind!" );
wait 0.05;
if ( isalive( var_1 ) )
{
var_3 = var_1.maxhealth;
var_1 dodamage( var_3 * 2, var_1.origin );
}
wait 0.05;
if ( isalive( var_0 ) )
{
var_3 = var_0.maxhealth;
var_0 dodamage( var_3 * 2, var_0.origin );
}
wait 3;
level.enemy_jeep_b[level.enemy_jeep_b.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_straight1" );
waittillframeend;
level.enemy_jeep_a[level.enemy_jeep_a.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_straight2" );
waittillframeend;
level.enemy_jeep_b[level.enemy_jeep_b.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
level.enemy_jeep_a[level.enemy_jeep_a.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
thread enemy_jeep_group_fire();
}
new_cliff_moment()
{
common_scripts\utility::flag_wait( "enemy_cave_spawn" );
maps\_utility::autosave_by_name( "cliff" );
level.iceblocker = getent( "sub_ice_blocker", "targetname" );
level.iceblocker hide();
level.enemy_snowmobile = maps\_utility::array_removedead( level.enemy_snowmobile );
foreach ( var_1 in level.enemy_snowmobile )
var_1 maps\_vehicle_spline_zodiac::wipeout( "left behind!" );
level.enemy_jeep_a[level.enemy_jeep_a.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_cave1" );
waittillframeend;
level.enemy_jeep_a[level.enemy_jeep_a.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
thread enemy_jeep_group_fire();
level.enemy_jeep_turret[level.enemy_jeep_turret.size] = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_cave2" );
waittillframeend;
level.enemy_jeep_turret[level.enemy_jeep_turret.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
wait 1;
level.enemy_snowmobile[level.enemy_snowmobile.size] = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_snowmobile_cave1" );
level.enemy_snowmobile[level.enemy_snowmobile.size - 1] maps\_vehicle::vehicle_lights_on( "headlights" );
waittillframeend;
thread enemy_jeep_group_fire();
thread maps\clockwork_code::radio_dialog_add_and_go( "clockwork_diz_vehiclesright" );
if ( isalive( level.player ) )
level.player lerpviewangleclamp( 1.25, 0.5, 0.25, 45, 60, 30, 5 );
wait 6;
level.endingjeep = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "enemy_jeep_collaspe1" );
waittillframeend;
level.endingjeep maps\_vehicle::vehicle_lights_on( "headlights" );
thread enemy_jeep_group_fire();
wait 1;
waittillframeend;
level.lastsnow1 = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_snowmobile_collaspe1" );
waittillframeend;
level.lastsnow2 = thread maps\clockwork_code::spawn_enemy_bike_at_spawer( "enemy_snowmobile_collaspe2" );
if ( isalive( level.player ) )
level.player lerpviewangleclamp( 1.25, 0.5, 0.25, 45, 45, 30, 5 );
common_scripts\utility::flag_wait_or_timeout( "kill_jeep_1", 6 );
if ( isalive( level.enemy_jeep_a[level.enemy_jeep_a.size - 1] ) && isalive( level.enemy_jeep_a[level.enemy_jeep_a.size - 1].driver ) )
level.enemy_jeep_a[level.enemy_jeep_a.size - 1].driver kill();
common_scripts\utility::flag_wait_or_timeout( "kill_jeep_2", 3 );
if ( isalive( level.enemy_jeep_turret[level.enemy_jeep_turret.size - 1] ) && isalive( level.enemy_jeep_turret[level.enemy_jeep_turret.size - 1].driver ) )
{
thread maps\clockwork_code::dynamic_icehole_crash( level.enemy_jeep_turret[level.enemy_jeep_turret.size - 1], 0 );
level.enemy_jeep_turret[level.enemy_jeep_turret.size - 1].driver kill();
}
common_scripts\utility::flag_wait_or_timeout( "kill_jeep_3", 1.5 );
if ( isalive( level.endingjeep ) && isalive( level.endingjeep.driver ) )
{
common_scripts\utility::flag_set( "kill_endingjeep" );
wait 0.05;
level.endingjeep.driver kill();
thread maps\clockwork_code::dynamic_icehole_crash( level.endingjeep, 0 );
}
}
new_nxsub_breach_moment()
{
var_0 = common_scripts\utility::getstruct( "submarine_origin_height", "targetname" );
common_scripts\utility::flag_wait( "exfil_exit_cave" );
level.playerjeep.dontunloadonend = 1;
wait 1;
wait 1.05;
level.player enableinvulnerability();
thread maps\clockwork_code::radio_dialog_add_and_go( "clockwork_diz_inposition" );
wait 1.5;
thread maps\clockwork_code::killtimer();
thread maps\clockwork_code::play_rumble_seconds( "damage_heavy", 0.25 );
thread maps\clockwork_code::screenshakefade( 0.45, 0.5 );
thread ending_screenshake();
thread play_fx_for_sub();
thread play_fx_for_sub_front();
thread play_fx_for_sub_back();
thread play_fx_for_sub_largeice();
thread play_fx_for_sub_blow();
var_1 = maps\_utility::spawn_anim_model( "cw_sub_ice", var_0.origin );
var_2 = maps\_utility::spawn_anim_model( "cw_sub_sub", var_0.origin );
var_3 = getent( "sub_collision", "targetname" );
var_3.origin = var_2 gettagorigin( "j_sub_anim" );
var_3.angles = var_2 gettagangles( "j_sub_anim" );
var_3 linkto( var_2, "j_sub_anim" );
level.allies[1].animname = "generic";
level.playerjeep thread vehicle_play_guy_anim( "nxsubdriver", level.allies[1], 0 );
level.allies[0].animname = "generic";
level.playerjeep thread vehicle_play_guy_anim( "nxsubpassenger", level.allies[0], 1 );
level.allies[2].animname = "generic";
level.playerjeep thread vehicle_play_guy_anim( "nxsubbackseat", level.allies[2], 2 );
var_0 thread maps\_anim::anim_single_solo( var_1, "ice_breach" );
level.subfx = maps\_utility::spawn_anim_model( "nxsubfx", var_0.origin );
level.subfx.angles = var_0.angles;
level.subfx thread maps\_anim::anim_single_solo( level.subfx, "subfxanim" );
thread playfx_for_sub_slide();
thread surfacing_now_vo();
var_0 thread maps\_anim::anim_single_solo( var_2, "sub_breach" );
wait 6.4;
level.jeep_player_arms_sub = maps\_utility::spawn_anim_model( "player_rig", level.player.origin );
level.jeep_player_arms_sub setmodel( "clk_watch_viewhands" );
level.jeep_player_arms_sub hide();
var_0 thread maps\_anim::anim_first_frame_solo( level.jeep_player_arms_sub, "nx_sub_alt" );
level.player lerpviewangleclamp( 1.25, 0.5, 0.25, 0, 0, 0, 0 );
level.player disableweapons();
level.player takeallweapons();
level.missionend = 1;
level.player notify( "missionend" );
level.iceblocker show();
var_4 = level.playerjeep.mgturret[0];
var_5 = level.player getplayerviewheight();
var_6 = level.player geteye();
var_4 setturretdismountorg( level.jeep_player_arms_sub gettagorigin( "tag_player" ) + ( 16, 16, 0 ) );
var_4 useby( level.player );
level.playerjeep.animname = "cw_car_breach";
var_0 thread maps\_anim::anim_first_frame_solo( level.playerjeep, "player_car_alt" );
level.player playerlinktodelta( level.jeep_player_arms_sub, "tag_player", 1, 20, 20, 20, 0 );
level.jeep_player_arms_sub show();
var_0 thread maps\_anim::anim_single_solo( level.jeep_player_arms_sub, "nx_sub_alt" );
var_0 thread maps\_anim::anim_single_solo( level.playerjeep, "player_car_alt" );
thread fire_tracers();
wait 4;
level.crashed_trucks show();
level.crashed_truck1 show();
level.crashed_truck2 show();
thread start_jeep_fire();
wait 4;
level.player giveweapon( "cz805bren+reflex_sp+silencer_sp" );
level.player enableweapons();
wait 1;
level.jeep_player_arms_sub hide();
level.player unlink();
wait 1.25;
maps\_utility::objective_complete( maps\_utility::obj( "exfil" ) );
maps\_hud_util::fade_out( 3, "black" );
common_scripts\utility::flag_set( "aud_fade_out" );
wait 5;
maps\_utility::nextmission();
}
surfacing_now_vo()
{
thread maps\clockwork_audio::chase_stinger_music();
wait 1;
thread maps\clockwork_code::radio_dialog_add_and_go( "clockwork_npt_neptuneoneison_2" );
}
fire_tracers()
{
var_0 = common_scripts\utility::getstruct( "exfil_ending_tracer_start", "targetname" );
bullettracer( var_0.origin, level.player.origin + ( 32, 0, 64 ), 1 );
wait 0.15;
bullettracer( var_0.origin, level.player.origin + ( 32, 16, 64 ), 1 );
wait 0.25;
bullettracer( var_0.origin, level.player.origin + ( 16, 16, 64 ), 1 );
wait 2;
bullettracer( var_0.origin, level.player.origin + ( 16, 0, 64 ), 1 );
wait 0.15;
bullettracer( var_0.origin, level.player.origin + ( 32, 16, 64 ), 1 );
wait 0.15;
bullettracer( var_0.origin, level.player.origin + ( 16, 0, 64 ), 1 );
}
playfx_for_sub_slide()
{
level endon( "on_sub" );
common_scripts\utility::flag_wait( "exfil_player_sub_jump" );
while ( !common_scripts\utility::flag( "on_sub" ) )
{
wait 1;
playfxontag( common_scripts\utility::getfx( "fx/treadfx/clk_jeep_skid_sub" ), level.playerjeep, "tag_wheel_front_left" );
wait 0.5;
}
playfxontag( common_scripts\utility::getfx( "fx/treadfx/clk_jeep_skid_sub" ), level.playerjeep, "tag_wheel_front_left" );
}
playfx_for_tread()
{
self.conttread = 1;
thread stop_tread();
while ( isalive( self ) && self.conttread )
{
playfxontag( common_scripts\utility::getfx( "fx/treadfx/tread_snow_speed_clk" ), self, "tag_wheel_back_left" );
playfxontag( common_scripts\utility::getfx( "fx/treadfx/tread_snow_speed_clk" ), self, "tag_wheel_back_right" );
wait 0.1;
}
}
stop_tread()
{
self waittill( "kill_tread" );
if ( isalive( self ) )
self.conttread = 0;
}
playfx_for_player_tread()
{
for (;;)
wait 0.25;
}
play_fx_for_sub()
{
wait 1;
common_scripts\utility::exploder( 7005 );
wait 0.1;
common_scripts\utility::exploder( 7006 );
wait 0.4;
common_scripts\utility::exploder( 7007 );
wait 0.6;
common_scripts\utility::exploder( 7008 );
wait 0.1;
common_scripts\utility::exploder( 7009 );
wait 0.2;
common_scripts\utility::exploder( 7010 );
wait 0.3;
common_scripts\utility::exploder( 7011 );
wait 0.2;
common_scripts\utility::exploder( 7100 );
wait 0.1;
common_scripts\utility::exploder( 7102 );
wait 0.1;
common_scripts\utility::exploder( 7103 );
}
play_fx_for_sub_front()
{
wait 3.2;
common_scripts\utility::exploder( 9000 );
wait 0.1;
common_scripts\utility::exploder( 9004 );
wait 0.2;
common_scripts\utility::exploder( 9001 );
wait 0.1;
common_scripts\utility::exploder( 9002 );
wait 0.2;
common_scripts\utility::exploder( 9003 );
wait 0.1;
common_scripts\utility::exploder( 9005 );
wait 0.2;
common_scripts\utility::exploder( 9006 );
}
play_fx_for_sub_back()
{
wait 3.4;
common_scripts\utility::exploder( 9007 );
wait 0.1;
common_scripts\utility::exploder( 9010 );
wait 0.2;
common_scripts\utility::exploder( 9009 );
wait 0.1;
common_scripts\utility::exploder( 9008 );
wait 0.2;
common_scripts\utility::exploder( 9011 );
wait 0.1;
common_scripts\utility::exploder( 9012 );
wait 0.2;
common_scripts\utility::exploder( 9013 );
}
play_fx_for_sub_largeice()
{
wait 6;
common_scripts\utility::exploder( 9200 );
wait 0.1;
common_scripts\utility::exploder( 9201 );
wait 0.2;
common_scripts\utility::exploder( 9202 );
}
play_fx_for_sub_blow()
{
wait 7;
common_scripts\utility::exploder( 9300 );
}
play_sub_fx_icerise( var_0 )
{
playfxontag( level._effect["fx/misc/clk_sub_rise"], level.subfx, "fx_ice_chunk01" );
playfxontag( level._effect["fx/misc/clk_sub_rise"], level.subfx, "fx_ice_chunk02" );
playfxontag( level._effect["fx/misc/clk_sub_rise"], level.subfx, "fx_ice_chunk03" );
playfxontag( level._effect["fx/misc/clk_sub_rise"], level.subfx, "fx_ice_chunk04" );
wait 0.05;
playfxontag( level._effect["fx/misc/clk_sub_rise"], level.subfx, "fx_ice_chunk05" );
wait 0.05;
playfxontag( level._effect["fx/misc/clk_sub_rise"], level.subfx, "fx_ice_chunk06" );
playfxontag( level._effect["fx/misc/clk_sub_rise"], level.subfx, "fx_ice_chunk07" );
playfxontag( level._effect["fx/misc/clk_sub_rise"], level.subfx, "fx_ice_chunk08" );
playfxontag( level._effect["fx/misc/clk_sub_rise"], level.subfx, "fx_ice_chunk09" );
}
play_sub_fx_settle( var_0 )
{
playfxontag( level._effect["fx/weather/snow_sub_blow"], level.subfx, "fx_ice_chunk01" );
playfxontag( level._effect["fx/weather/snow_sub_blow"], level.subfx, "fx_ice_chunk02" );
playfxontag( level._effect["fx/weather/snow_sub_blow"], level.subfx, "fx_ice_chunk03" );
playfxontag( level._effect["fx/weather/snow_sub_blow"], level.subfx, "fx_ice_chunk04" );
wait 0.05;
playfxontag( level._effect["fx/weather/snow_sub_blow"], level.subfx, "fx_ice_chunk05" );
wait 0.05;
playfxontag( level._effect["fx/weather/snow_sub_blow"], level.subfx, "fx_ice_chunk06" );
playfxontag( level._effect["fx/weather/snow_sub_blow"], level.subfx, "fx_ice_chunk07" );
playfxontag( level._effect["fx/weather/snow_sub_blow"], level.subfx, "fx_ice_chunk08" );
playfxontag( level._effect["fx/weather/snow_sub_blow"], level.subfx, "fx_ice_chunk09" );
}
start_jeep_fire()
{
var_0 = ( 34331.6, 21599.2, 244 );
var_1 = ( 270.001, 359.436, 17.5646 );
var_2 = anglestoup( var_1 );
var_3 = anglestoforward( var_1 );
var_4 = spawnfx( level._effect["fx/fire/fire_gaz_clk"], var_0, var_3, var_2 );
triggerfx( var_4, -20 );
var_0 = ( 33577.5, 21155.1, 223 );
var_1 = ( 270.001, 359.501, 56.4988 );
var_2 = anglestoup( var_1 );
var_3 = anglestoforward( var_1 );
var_4 = spawnfx( level._effect["fx/fire/fire_gaz_clk"], var_0, var_3, var_2 );
triggerfx( var_4, -20 );
}
ending_screenshake()
{
wait 1;
thread play_rumbles();
}
play_rumbles()
{
maps\clockwork_code::play_rumble_seconds( "drill_normal", 5.5 );
maps\clockwork_code::play_rumble_seconds( "damage_heavy", 0.25 );
maps\clockwork_code::play_rumble_seconds( "drill_normal", 0.35 );
maps\clockwork_code::play_rumble_seconds( "damage_heavy", 0.75 );
maps\clockwork_code::play_rumble_seconds( "drill_normal", 1.25 );
maps\clockwork_code::play_rumble_seconds( "damage_heavy", 0.65 );
}
fire_fail_exfil_vo()
{
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( !common_scripts\utility::flag( "start_exfil_ride" ) )
{
foreach ( var_1 in level.allies )
{
if ( !isdefined( var_1.boarding_vehicle ) || !var_1.boarding_vehicle )
var_1 maps\_utility::anim_stopanimscripted();
}
}
level.allies[2] notify( "_utility::follow_path" );
level.allies[1] notify( "_utility::follow_path" );
level.allies[0] notify( "_utility::follow_path" );
level.allies[2] maps\_utility::enable_ai_color();
level.allies[1] maps\_utility::enable_ai_color();
level.allies[0] maps\_utility::enable_ai_color();
setsaveddvar( "aim_aimAssistRangeScale", "1" );
setsaveddvar( "aim_autoAimRangeScale", "1" );
common_scripts\utility::array_thread( level.allies, maps\clockwork_code::fast_walk, 0 );
thread maps\clockwork_code::blend_movespeedscale_custom( 100, 1 );
level.player enableoffhandweapons();
level.player allowsprint( 1 );
level.player allowjump( 1 );
foreach ( var_1 in level.allies )
{
var_1.ignoreall = 0;
var_1 maps\_utility::set_baseaccuracy( 10 );
var_1.ignoresuppression = 1;
var_1.suppressionwait = 0;
var_1.disablebulletwhizbyreaction = 1;
var_1.ignorerandombulletdamage = 1;
var_1 thread maps\_utility::disable_pain();
}
if ( !common_scripts\utility::flag( "start_exfil_ride" ) )
{
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_gettojeep" );
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_gogogo" );
}
common_scripts\utility::flag_wait( "start_exfil_ride" );
level.playerjeep maps\_utility::ent_flag_wait( "loaded" );
common_scripts\utility::flag_clear( "punchit_exfil_hot" );
common_scripts\utility::flag_set( "punchit_go" );
if ( !common_scripts\utility::flag( "exfil_door_close_start" ) )
{
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_bkr_punchit" );
common_scripts\utility::flag_set( "chase_punch_it" );
level.playerjeep vehicle_setspeed( 40, 10 );
level.startjeep vehicle_setspeed( 40, 10 );
}
common_scripts\utility::flag_wait( "exfil_door_close_start" );
level.playerjeep vehicle_setspeed( 30, 10 );
if ( common_scripts\utility::flag( "punchit_jeep_play_anim" ) )
{
common_scripts\utility::flag_wait( "punchit_car_two" );
var_5 = vectornormalize( level.playerjeep vehicle_getvelocity() ) * 5000;
level.startjeep vehphys_launch( var_5 );
}
common_scripts\utility::flag_wait( "ally_start_path_exfil" );
level.playerjeep resumespeed( 40 );
}
stop_ads_moment()
{
while ( !common_scripts\utility::flag( "chaos_meetup_follow_spawn" ) && !common_scripts\utility::flag( "exfil_fire_fail" ) )
{
level.player allowfire( 0 );
if ( level.player playerads() > 0.3 )
{
level.player allowfire( 0 );
level.player allowads( 0 );
level.allies[0] maps\clockwork_code::char_dialog_add_and_go( "clockwork_mrk_weaponsdown" );
level.player allowads( 1 );
return;
}
wait 0.05;
}
}
exfil_alert_handle()
{
level endon( "ally_start_path_exfil" );
common_scripts\utility::flag_wait( "elevator_open" );
maps\_utility::set_allowdeath( 1 );
self.alertlevel = "noncombat";
if ( !isdefined( self.script_drone ) )
{
if ( common_scripts\utility::flag( "exfil_fire_fail" ) )
{
maps\clockwork_code::enemy_stop_stealth();
return;
}
thread wakeup_on_knife();
thread wakeup_drone_kill();
self addaieventlistener( "grenade danger" );
self addaieventlistener( "projectile_impact" );
self addaieventlistener( "silenced_shot" );
self addaieventlistener( "bulletwhizby" );
self addaieventlistener( "gunshot" );
self addaieventlistener( "explode" );
self addaieventlistener( "death" );
self waittill( "ai_event", var_0 );
if ( isdefined( self ) && !isdefined( self.vehicle_position ) && !isdefined( self.boarding_vehicle ) )
{
maps\clockwork_code::enemy_stop_stealth();
maps\clockwork_code::fast_walk( 0 );
}
common_scripts\utility::flag_set( "exfil_fire_fail" );
}
else
{
if ( common_scripts\utility::flag( "exfil_fire_fail" ) )
{
if ( isdefined( self ) && isalive( self ) )
self kill();
}
thread kill_drone();
self waittill( "death" );
if ( isdefined( self ) )
common_scripts\utility::flag_set( "exfil_fire_fail" );
}
}
wakeup_on_knife()
{
level endon( "start_exfil_ride" );
level.player notifyonplayercommand( "playermeleed", "+melee" );
level.player notifyonplayercommand( "playermeleed", "+melee_zoom" );
level.player waittill( "playermeleed" );
if ( isdefined( self ) )
{
if ( isdefined( self ) && !isdefined( self.vehicle_position ) && !isdefined( self.boarding_vehicle ) )
{
maps\clockwork_code::enemy_stop_stealth();
maps\clockwork_code::fast_walk( 0 );
}
}
common_scripts\utility::flag_set( "exfil_fire_fail" );
}
wakeup_drone_kill()
{
self endon( "Death" );
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( isdefined( self ) && !isdefined( self.vehicle_position ) && !isdefined( self.boarding_vehicle ) )
maps\clockwork_code::enemy_stop_stealth();
}
kill_drone()
{
self endon( "Death" );
common_scripts\utility::flag_wait( "exfil_fire_fail" );
if ( isdefined( self ) && isalive( self ) )
self kill();
}
kill_player()
{
level endon( "player_jeep_crashing" );
for (;;)
{
if ( !isalive( level.playerjeep ) )
{
level.player notify( "playercrash" );
level.player disableinvulnerability();
common_scripts\utility::waitframe();
level.player kill();
return;
}
common_scripts\utility::waitframe();
}
}
enemy_zodiacs_spawn_and_attack()
{
level endon( "enemy_zodiacs_wipe_out" );
level.player.progress = 0;
var_0 = 3;
wait 2;
for (;;)
{
level.player.progress = level.player.progress + 450;
thread maps\_vehicle_spline_zodiac::spawn_enemy_bike();
wait( var_0 );
var_0 = var_0 - 0.5;
if ( var_0 < 0.5 )
var_0 = 0.5;
}
}
enemy_jeep_group_fire()
{
foreach ( var_1 in level.enemy_jeep_turret )
{
if ( isdefined( var_1 ) && isalive( var_1 ) && !isdefined( var_1.setup_for_exfil ) && isdefined( var_1.mgturret ) )
{
foreach ( var_3 in var_1.mgturret )
{
if ( isalive( var_1 ) && isdefined( var_3 ) )
{
var_3 setaispread( 20 );
var_3 setconvergencetime( 3 );
var_3.accuracy = 0.1;
}
}
var_1.setup_for_exfil = 1;
var_1.vehicle_stays_alive = 1;
var_1.spline = 0;
var_1.health = 2000;
var_1 thread crash_vehicle_on_death();
thread maps\clockwork_code::driver_dies( var_1 );
var_1 thread maps\clockwork_code::start_ice_effects();
var_1 thread vehicle_death_check();
var_1 thread playfx_for_tread();
}
}
foreach ( var_1 in level.enemy_jeep_a )
{
if ( isalive( var_1 ) && !isdefined( var_1.setup_for_exfil ) )
{
var_1.setup_for_exfil = 1;
var_1.vehicle_stays_alive = 1;
var_1.spline = 0;
var_1 thread jeeps_fire();
var_1.health = 2000;
var_1 thread crash_vehicle_on_death();
thread maps\clockwork_code::driver_dies( var_1 );
var_1 thread maps\clockwork_code::start_ice_effects();
var_1 thread vehicle_death_check();
var_1 thread playfx_for_tread();
}
}
foreach ( var_1 in level.enemy_jeep_b )
{
if ( isalive( var_1 ) && !isdefined( var_1.setup_for_exfil ) )
{
var_1.setup_for_exfil = 1;
var_1.vehicle_stays_alive = 1;
var_1.spline = 0;
var_1 thread jeeps_fire();
var_1.health = 2000;
var_1 thread crash_vehicle_on_death();
thread maps\clockwork_code::driver_dies( var_1 );
var_1 thread maps\clockwork_code::start_ice_effects();
var_1 thread vehicle_death_check();
var_1 thread playfx_for_tread();
}
}
foreach ( var_1 in level.enemy_jeep_s )
{
if ( isalive( var_1 ) && !isdefined( var_1.setup_for_exfil ) )
{
var_1.setup_for_exfil = 1;
var_1.vehicle_stays_alive = 1;
var_1.spline = 1;
var_1 thread jeeps_fire();
thread maps\clockwork_code::driver_dies( var_1 );
var_1 thread maps\clockwork_code::start_ice_effects();
var_1 thread vehicle_death_check();
var_1 thread playfx_for_tread();
}
}
}
jeeps_fire()
{
foreach ( var_1 in self.riders )
var_1 thread jeep_ai( self );
}
jeep_ai( var_0 )
{
if ( !isai( self ) || self == var_0.attachedguys[0] )
return;
self notify( "newanim" );
maps\_utility::anim_stopanimscripted();
maps\_utility::gun_recall();
if ( self == level.allies[0] || self == level.allies[1] )
{
self.desired_anim_pose = "crouch";
self allowedstances( "crouch" );
}
else
{
self.desired_anim_pose = "crouch";
self allowedstances( "crouch", "stand" );
}
set_diff_accuracy();
self.accuracystationarymod = 1;
}
crash_vehicle_on_death()
{
self endon( "icehole_occured" );
for (;;)
{
self waittill( "damage", var_0, var_1, var_2, var_3, var_4 );
if ( self.health > 0 && var_4 == "MOD_EXPLOSIVE_BULLET" )
continue;
if ( isdefined( self ) && isalive( self ) )
{
var_5 = self.origin[2];
if ( !common_scripts\utility::flag( "start_icehole_shooting" ) )
maps\clockwork_code::play_crash_anim( self.origin );
else
{
var_6 = randomintrange( 1, 3 );
if ( var_6 == 1 && !level.justplayed )
{
maps\clockwork_code::play_long_crash();
level.justplayed = 1;
}
else
{
maps\clockwork_code::play_crash_anim( self.origin );
level.justplayed = 0;
}
}
}
break;
}
}
vehicle_death_check()
{
self waittill( "death" );
}
wipeout_bikes()
{
level.enemy_snowmobile = maps\_utility::array_removedead( level.enemy_snowmobile );
if ( level.enemy_snowmobile.size > 3 )
{
for ( var_0 = 0; var_0 < level.enemy_snowmobile.size - 3; var_0++ )
level.enemy_snowmobile[var_0] maps\_vehicle_spline_zodiac::wipeout( "left behind!" );
}
}
vehicle_play_guy_anim( var_0, var_1, var_2, var_3 )
{
var_4 = maps\_vehicle_aianim::anim_pos( self, var_2 );
var_5 = var_1 maps\_utility::getanim( var_0 );
var_1 notify( "newanim" );
var_1 endon( "newanim" );
var_1 endon( "death" );
maps\_anim::anim_single_solo( var_1, var_0, var_4.sittag );
if ( !isdefined( var_3 ) || var_3 == 1 )
maps\_vehicle_aianim::guy_idle( var_1, var_2 );
}
anim_enter_finished( var_0 )
{
self waittillmatch( "single anim", "end" );
level.playerjeep thread maps\_vehicle_aianim::guy_enter( self );
common_scripts\utility::flag_set( var_0 );
}
handle_dog_chaos()
{
level.dog maps\_utility::set_ignoreall( 1 );
level.dog maps\_utility::set_ignoreme( 1 );
thread watch_dog_hot_dog();
common_scripts\utility::flag_wait( "door_close" );
var_0 = getent( "elevator_to_exfil", "targetname" );
level.dog linkto( var_0 );
common_scripts\utility::flag_wait( "door_open" );
thread handle_dog_targeting_chaos();
wait 0.1;
level.dog unlink();
maps\clockwork_code::dog_walk();
level.dog maps\ally_attack_dog::set_dog_follow_owner( level.player );
common_scripts\utility::waitframe();
level.dog maps\ally_attack_dog::dog_disable_ai_color();
common_scripts\utility::flag_wait( "chaos_ally_run" );
level.dog.dontavoidplayer = 0;
var_1 = getent( "dog_to_jeep", "targetname" );
var_1 waittill( "trigger" );
level.dog maps\ally_attack_dog::dog_enable_ai_color();
maps\clockwork_code::dog_run();
}
handle_dog_targeting_chaos()
{
level endon( "exfil_fire_fail" );
level endon( "start_exfil_ride" );
level.player waittill( "dog_attack_command" );
maps\clockwork_code::dog_run();
level.dog maps\_utility::set_ignoreall( 0 );
level.dog maps\_utility::set_ignoreme( 0 );
wait 2;
common_scripts\utility::flag_set( "exfil_fire_fail" );
}
handle_dog_exfil()
{
level.dog maps\_utility::set_ignoreall( 1 );
level.dog maps\_utility::set_ignoreme( 1 );
thread watch_dog_hot_dog();
thread handle_dog_targeting_chaos();
maps\clockwork_code::dog_run();
common_scripts\utility::flag_wait( "get_in_the_jeep" );
bold_dog_jeep();
}
watch_dog_hot_dog()
{
level endon( "start_exfil_ride" );
common_scripts\utility::flag_wait( "exfil_fire_fail" );
maps\clockwork_code::dog_run();
level.dog maps\_utility::set_ignoreall( 0 );
level.dog maps\_utility::set_ignoreme( 0 );
level.dog maps\ally_attack_dog::set_dog_guard_owner( level.player );
}
bold_dog_jeep()
{
thread dog_scratch_exfil();
common_scripts\utility::flag_wait( "start_exfil_ride" );
var_0 = getnode( "dog_exfil_jeep", "targetname" );
var_0 notify( "stop_scritchin" );
wait 3;
dog_in_exfil_jeep();
level.dog thread maps\_utility::play_sound_on_entity( "anml_dog_bark" );
}
dog_scratch_exfil()
{
level endon( "start_exfil_ride" );
common_scripts\utility::flag_wait( "dog_exfil_jeep" );
level.dog thread maps\ally_attack_dog::lock_player_control( 0 );
level.dog maps\_utility::set_ignoreall( 1 );
level.dog maps\_utility::set_ignoreme( 1 );
level.dog.ignorerandombulletdamage = 1;
var_0 = getnode( "dog_exfil_jeep", "targetname" );
level.dog.goalradius = 5;
for (;;)
{
var_1 = level.dog common_scripts\utility::waittill_notify_or_timeout_return( "goal", 10 );
if ( !isdefined( var_1 ) || var_1 != "timeout" )
break;
wait 1;
level.dog setgoalnode( var_0 );
}
wait 2.5;
var_0 thread maps\_anim::anim_loop_solo( level.dog, "dog_scratch_door", "stop_scritchin" );
}
dog_in_exfil_jeep()
{
if ( !level.woof )
return;
level.dog.oldcontents = level.dog setcontents( 0 );
maps\clockwork_code::link_dog_to_jeep( level.playerjeep );
level.dog thread maps\ally_attack_dog::lock_player_control( 0 );
level.dog hudoutlinedisable();
}
player_view_clamp()
{
level.player endon( "death" );
level endon( "player_jeep_crashing" );
common_scripts\utility::waitframe();
while ( !common_scripts\utility::flag( "enemy_cave_spawn" ) )
{
var_0 = vectornormalize( self.mgturret[0] gettagorigin( "tag_flash" ) - self.origin );
var_1 = anglestoforward( self.angles );
var_2 = vectordot( var_1, var_0 );
if ( isalive( level.player ) )
{
if ( var_2 <= -0.5 )
level.player lerpviewangleclamp( 0, 0, 0, 180, 180, 30, 25 );
else
level.player lerpviewangleclamp( 0, 0, 0, 180, 180, 30, 5 );
}
common_scripts\utility::waitframe();
}
}
set_diff_accuracy()
{
if ( isalive( self ) )
{
if ( maps\_utility::getdifficulty() == "fu" )
self.baseaccuracy = 0.4;
else if ( maps\_utility::getdifficulty() == "hard" )
self.baseaccuracy = 0.35;
else
self.baseaccuracy = 0.3;
}
}