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

1230 lines
49 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
main()
{
checkpoint_setup();
maps\_utility::template_level( "flood" );
maps\createart\flood_art::main();
maps\flood_fx::main();
maps\flood_precache::main();
thread common_scripts\_pipes::main();
maps\_utility::transient_init( "flood_intro_tr" );
maps\_utility::transient_init( "flood_mid_tr" );
maps\_utility::transient_init( "flood_end_tr" );
maps\_load::main();
maps\_utility::set_console_status();
maps\flood_audio::main();
maps\flood_anim::main();
maps\flood_fx::treadfx_override();
mission_flag_inits();
mission_precache();
mission_mains();
thread maps\flood_fx::fx_checkpoint_states();
maps\_utility::set_wind( 100, 0.1, 0.1 );
thread maps\flood_util::setup_palm_trees_in_rushing_water();
thread maps\flood_coverwater::init_coverwater();
thread maps\flood_util::setup_water_death();
level.jkudebug = 0;
level.cw_waterwipe_above = "waterline_above";
level.cw_waterwipe_under = "waterline_under";
level.player visionsetwaterforplayer( "flood_underwater", 0 );
level.player maps\flood_util::set_water_fog( "flood_underwater_murky" );
flood_default_water_transion_fx();
thread mission_objectives();
thread mission_object_control();
level maps\_utility::delaythread( 1.0, maps\_utility::set_team_bcvoice, "allies", "delta" );
level maps\_utility::delaythread( 1.0, maps\_utility::set_team_bcvoice, "axis", "shadowcompany" );
setdvar( "music_enable", 1 );
if ( level.start_point == "infil" )
level thread flood_intro_screen();
}
checkpoint_setup()
{
maps\_utility::default_start( ::infil_start );
maps\_utility::set_default_start( "infil" );
maps\_utility::add_start( "infil", ::infil_start, "Infil", ::infil, "flood_intro_tr" );
maps\_utility::add_start( "streets_to_dam", ::streets_to_dam_start, "Streets to Dam", ::streets_to_dam, "flood_intro_tr" );
maps\_utility::add_start( "streets_to_dam_2", ::streets_to_dam_2_start, "Streets to Dam 2", ::streets_to_dam_2, "flood_intro_tr" );
maps\_utility::add_start( "dam", ::dam_start, "Dam", ::dam, "flood_intro_tr" );
maps\_utility::add_start( "flooding_ext", ::flooding_ext_start, "Exterior Flood", ::flooding_ext, "flood_intro_tr" );
maps\_utility::add_start( "flooding_int", ::flooding_int_start, "Interior Flood", ::flooding_int, "flood_intro_tr" );
maps\_utility::add_start( "mall", ::mall_start, "Mall", ::mall, "flood_mid_tr" );
maps\_utility::add_start( "swept", ::swept_start, "Swept Away Event", ::swept, "flood_mid_tr" );
maps\_utility::add_start( "roof_stealth", ::roof_stealth_start, "Stealth Moment", ::roof_stealth, "flood_mid_tr" );
maps\_utility::add_start( "skybridge", ::skybridge_start, "Skybridge Event", ::skybridge, "flood_mid_tr" );
maps\_utility::add_start( "rooftops", ::rooftops_start, "Rooftops", ::rooftops, "flood_mid_tr" );
maps\_utility::add_start( "rooftop_water", ::rooftop_water_start, "Rooftop Water", ::rooftop_water, "flood_mid_tr" );
maps\_utility::add_start( "debrisbridge", ::debrisbridge_start, "Debris Bridge", ::debrisbridge, "flood_mid_tr" );
maps\_utility::add_start( "garage", ::garage_start, "Garage", ::garage, "flood_mid_tr" );
maps\_utility::add_start( "ending", ::ending_start, "Ending", ::ending, "flood_mid_tr" );
maps\_utility::add_start( "fly_around", ::fly_around_start, "Fly Around", ::fly_around, "flood_intro_tr" );
}
mission_mains()
{
level thread maps\flood_infil::section_main();
level thread maps\flood_streets::section_main();
level thread maps\flood_chopper::section_main();
level thread maps\flood_flooding::section_main();
level thread maps\flood_mall::section_main();
level thread maps\flood_swept::section_main();
level thread maps\flood_roof_stealth::section_main();
level thread maps\flood_rooftops::section_main();
level thread maps\flood_garage::section_main();
level thread maps\flood_ending::section_main();
}
mission_precache()
{
precacheitem( "r5rgp" );
precacheitem( "m9a1" );
precacheshader( "cinematic" );
precacheshader( "black" );
objective_string_precache();
level thread maps\flood_infil::section_precache();
level thread maps\flood_streets::section_precache();
level thread maps\flood_chopper::section_precache();
level thread maps\flood_flooding::section_precache();
level thread maps\flood_mall::section_precache();
level thread maps\flood_swept::section_precache();
level thread maps\flood_roof_stealth::section_precache();
level thread maps\flood_rooftops::section_precache();
level thread maps\flood_garage::section_precache();
level thread maps\flood_ending::section_precache();
level thread maps\flood_anim::anim_precache();
}
mission_flag_inits()
{
level thread maps\flood_infil::section_flag_inits();
level thread maps\flood_streets::section_flag_inits();
level thread maps\flood_chopper::section_flag_inits();
level thread maps\flood_flooding::section_flag_inits();
level thread maps\flood_mall::section_flag_inits();
level thread maps\flood_swept::section_flag_inits();
level thread maps\flood_roof_stealth::section_flag_inits();
level thread maps\flood_rooftops::section_flag_inits();
level thread maps\flood_garage::section_flag_inits();
level thread maps\flood_ending::section_flag_inits();
common_scripts\utility::flag_init( "intro_show_introtext" );
common_scripts\utility::flag_init( "start_intro_sequence" );
}
objective_string_precache()
{
precachestring( &"FLOOD_OBJ_FIND_LAUNCHERS" );
precachestring( &"FLOOD_OBJ_DISABLE_LAUNCHER" );
precachestring( &"FLOOD_OBJ_HIGHER_GROUND" );
precachestring( &"FLOOD_OBJ_REGROUP" );
precachestring( &"FLOOD_OBJ_FIND_BOSS" );
precachestring( &"FLOOD_OBJ_GET_TO_HOTEL" );
precachestring( &"FLOOD_OBJ_CAPTURE_BOSS" );
precachestring( &"FLOOD_INTROSCREEN_12_YEARS" );
}
mission_objectives()
{
switch ( level.start_point )
{
case "infil":
wait 18.5;
objective_add( maps\_utility::obj( "obj_find_boss" ), "current", &"FLOOD_OBJ_FIND_BOSS" );
case "streets":
case "streets_to_dam":
if ( level.start_point == "streets_to_dam" )
objective_add( maps\_utility::obj( "obj_find_boss" ), "current", &"FLOOD_OBJ_FIND_BOSS" );
common_scripts\utility::flag_wait_either( "player_out_of_garage", "launcher_objective_given" );
objective_add( maps\_utility::obj( "obj_disable_launcher" ), "current", &"FLOOD_OBJ_DISABLE_LAUNCHER" );
level waittill( "end_of_streets_to_dam" );
maps\_utility::objective_complete( maps\_utility::obj( "obj_disable_launcher" ) );
case "streets_to_dam_2":
if ( level.start_point == "streets_to_dam_2" )
{
objective_add( maps\_utility::obj( "obj_find_boss" ), "current", &"FLOOD_OBJ_FIND_BOSS" );
objective_add( maps\_utility::obj( "obj_disable_launcher" ), "done", &"FLOOD_OBJ_DISABLE_LAUNCHER" );
}
case "dam":
if ( level.start_point == "dam" )
{
objective_add( maps\_utility::obj( "obj_find_boss" ), "current", &"FLOOD_OBJ_FIND_BOSS" );
objective_add( maps\_utility::obj( "obj_disable_launcher" ), "done", &"FLOOD_OBJ_DISABLE_LAUNCHER" );
common_scripts\utility::flag_init( "launcher_2_objective_given" );
}
common_scripts\utility::flag_wait_either( "missiles_ready", "launcher_2_objective_given" );
objective_add( maps\_utility::obj( "obj_disable_launcher_2" ), "current", &"FLOOD_OBJ_DISABLE_NEXT_LAUNCHER" );
common_scripts\utility::flag_wait( "start_flood" );
objective_state( maps\_utility::obj( "obj_disable_launcher_2" ), "failed" );
objective_delete( maps\_utility::obj( "obj_find_boss" ) );
wait 3.0;
objective_add( maps\_utility::obj( "obj_higher_ground" ), "current", &"FLOOD_OBJ_HIGHER_GROUND" );
case "flooding_ext":
if ( level.start_point == "flooding_ext" )
objective_add( maps\_utility::obj( "obj_higher_ground" ), "current", &"FLOOD_OBJ_HIGHER_GROUND" );
case "flooding_int":
if ( level.start_point == "flooding_int" )
objective_add( maps\_utility::obj( "obj_higher_ground" ), "current", &"FLOOD_OBJ_HIGHER_GROUND" );
common_scripts\utility::flag_wait( "player_at_stairs" );
objective_delete( maps\_utility::obj( "obj_higher_ground" ) );
case "mall":
common_scripts\utility::flag_wait( "stair_post_quake_vo_done" );
objective_add( maps\_utility::obj( "obj_find_boss" ), "current", &"FLOOD_OBJ_FIND_BOSS" );
case "swept":
if ( level.start_point == "swept" )
objective_add( maps\_utility::obj( "obj_find_boss" ), "current", &"FLOOD_OBJ_FIND_BOSS" );
case "roof_stealth":
if ( level.start_point == "roof_stealth" )
objective_add( maps\_utility::obj( "obj_find_boss" ), "current", &"FLOOD_OBJ_FIND_BOSS" );
case "skybridge":
if ( level.start_point == "skybridge" )
objective_add( maps\_utility::obj( "obj_find_boss" ), "current", &"FLOOD_OBJ_FIND_BOSS" );
case "rooftops":
if ( level.start_point == "rooftops" )
objective_add( maps\_utility::obj( "obj_find_boss" ), "current", &"FLOOD_OBJ_FIND_BOSS" );
common_scripts\utility::flag_wait( "rooftops_vo_check_drop" );
wait 1.0;
objective_add( maps\_utility::obj( "obj_regroup" ), "current", &"FLOOD_OBJ_REGROUP" );
case "rooftop_water":
if ( level.start_point == "rooftop_water" )
{
objective_add( maps\_utility::obj( "obj_find_boss" ), "current", &"FLOOD_OBJ_FIND_BOSS" );
objective_add( maps\_utility::obj( "obj_regroup" ), "current", &"FLOOD_OBJ_REGROUP" );
}
case "debrisbridge":
if ( level.start_point == "debrisbridge" )
{
objective_add( maps\_utility::obj( "obj_find_boss" ), "current", &"FLOOD_OBJ_FIND_BOSS" );
objective_add( maps\_utility::obj( "obj_regroup" ), "current", &"FLOOD_OBJ_REGROUP" );
}
maps\_utility::wait_for_targetname_trigger( "debrisbridge_encounter_1_trigger" );
wait 1.0;
maps\_utility::objective_complete( maps\_utility::obj( "obj_regroup" ) );
wait 6.0;
maps\_utility::objective_complete( maps\_utility::obj( "obj_find_boss" ) );
wait 1.0;
objective_add( maps\_utility::obj( "obj_get_to_hotel" ), "current", &"FLOOD_OBJ_GET_TO_HOTEL" );
case "garage":
if ( level.start_point == "garage" )
objective_add( maps\_utility::obj( "obj_get_to_hotel" ), "current", &"FLOOD_OBJ_GET_TO_HOTEL" );
maps\_utility::wait_for_targetname_trigger( "ending_heli_path" );
wait 4.0;
maps\_utility::objective_complete( maps\_utility::obj( "obj_get_to_hotel" ) );
case "ending":
wait 1.0;
objective_add( maps\_utility::obj( "obj_capture_boss" ), "current", &"FLOOD_OBJ_CAPTURE_BOSS" );
common_scripts\utility::flag_wait( "vignette_ending_qte_pickup_gun" );
common_scripts\utility::flag_wait( "vignette_ending_qte_success" );
maps\_utility::objective_complete( maps\_utility::obj( "obj_capture_boss" ) );
}
}
mission_object_control()
{
mission_hide_at_start();
thread maps\flood_rooftops::rooftops_cleanup_jumpto();
setsaveddvar( "r_hudoutlineenable", 1 );
setsaveddvar( "r_hudOutlineWidth", 2 );
switch ( level.start_point )
{
case "infil":
thread maps\flood_util::hide_scriptmodel_by_targetname_array( "embassy_hide" );
thread palm_tree_control( 1 );
thread infil_object_hide();
thread maps\flood_flooding::runback_death_toggle( "off" );
level waittill( "infil_done" );
case "streets":
if ( level.start_point == "streets" )
{
thread maps\flood_util::hide_scriptmodel_by_targetname_array( "embassy_hide" );
thread palm_tree_control();
thread maps\flood_flooding::runback_death_toggle( "off" );
}
thread maps\flood_infil::infil_cleanup();
thread maps\flood_util::hide_models_by_targetname( "angry_flood_backstop", 1 );
level waittill( "end_streets" );
case "streets_to_dam":
if ( level.start_point == "streets_to_dam" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_util::hide_models_by_targetname( "angry_flood_backstop", 1 );
thread palm_tree_control();
thread maps\flood_flooding::runback_death_toggle( "off" );
}
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_util::show_models_by_targetname( "embassy_hide" );
level waittill( "end_of_streets_to_dam" );
case "streets_to_dam_2":
if ( level.start_point == "streets_to_dam_2" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_util::hide_models_by_targetname( "angry_flood_backstop", 1 );
thread palm_tree_control();
thread maps\flood_flooding::runback_death_toggle( "off" );
}
thread maps\flood_streets::remove_streets_ents();
thread streets_vehicle_show_after_knife_kill();
thread infil_optimize_tree_cleanup();
level waittill( "end_of_streets_to_dam_2" );
case "dam":
if ( level.start_point == "dam" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_util::hide_models_by_targetname( "angry_flood_backstop", 1 );
thread palm_tree_control();
thread streets_vehicle_show_after_knife_kill();
thread infil_optimize_tree_cleanup();
thread maps\flood_flooding::runback_death_toggle( "off" );
}
common_scripts\utility::flag_wait( "end_of_dam" );
case "flooding_ext":
if ( level.start_point == "flooding_ext" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_streets::remove_streets_to_dam_ents();
thread palm_tree_control();
thread streets_vehicle_show_after_knife_kill();
thread infil_optimize_tree_cleanup();
thread maps\flood_flooding::runback_death_toggle( "off" );
}
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_util::show_models_by_targetname( "angry_flood_backstop", 1 );
common_scripts\utility::flag_wait( "player_warehouse_mantle" );
case "flooding_int":
if ( level.start_point == "flooding_int" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_streets::remove_streets_to_dam_ents();
thread maps\flood_util::show_models_by_targetname( "angry_flood_backstop", 1 );
thread maps\flood_flooding::angry_flood_cleanup();
thread infil_optimize_tree_cleanup();
thread palm_tree_control();
thread maps\flood_flooding::runback_death_toggle( "off" );
}
thread mall_rooftop_object_hide();
thread maps\flood_util::hide_scriptmodel_by_targetname( "angry_flood_water_model" );
thread maps\flood_util::hide_models_by_targetname( "embassy_hide" );
common_scripts\utility::flag_wait( "player_at_stairs_stop_nag" );
case "mall":
if ( level.start_point == "mall" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_streets::remove_streets_to_dam_ents();
thread maps\flood_util::hide_models_by_targetname( "embassy_hide" );
thread maps\flood_util::show_models_by_targetname( "angry_flood_backstop", 1 );
thread maps\flood_flooding::angry_flood_cleanup();
thread infil_optimize_tree_cleanup();
thread embassy_palms_cleanup();
}
thread hotel_parking_car_hide();
wait 0.05;
var_0 = vehicle_getarray();
maps\_utility::array_delete( var_0 );
streets_script_vehicle_cleanup();
if ( !common_scripts\utility::flag( "flood_mid_tr_loaded" ) )
{
thread maps\_utility::transient_unloadall_and_load( "flood_mid_tr" );
common_scripts\utility::flag_wait( "mall_breach_start" );
common_scripts\utility::flag_wait( "flood_mid_tr_loaded" );
}
level waittill( "swept_away" );
case "swept":
if ( level.start_point == "swept" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_streets::remove_streets_to_dam_ents();
thread maps\flood_util::hide_models_by_targetname( "embassy_hide" );
thread hotel_parking_car_hide();
thread maps\flood_flooding::angry_flood_cleanup();
thread infil_optimize_tree_cleanup();
thread embassy_palms_cleanup();
thread mall_rooftop_object_hide();
}
thread show_rushing_water_trees_infil_trees_cleanup( 1 );
thread maps\flood_util::show_models_by_targetname( "rooftops_ambient_cars" );
thread maps\flood_util::show_models_by_targetname( "swept_underwater_cleanup" );
thread maps\flood_flooding::flooding_cleanup();
thread maps\flood_mall::mall_delete_warehouse_ents();
thread maps\flood_mall::mall_delete_rooftop_ents();
thread maps\flood_util::hide_models_by_targetname( "garage_facade" );
level waittill( "swept_success" );
case "roof_stealth":
if ( level.start_point == "roof_stealth" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_streets::remove_streets_to_dam_ents();
thread maps\flood_util::hide_models_by_targetname( "embassy_hide" );
thread maps\flood_flooding::flooding_cleanup();
thread maps\flood_mall::mall_delete_warehouse_ents();
thread maps\flood_mall::mall_delete_rooftop_ents();
thread hotel_parking_car_hide();
thread maps\flood_flooding::angry_flood_cleanup();
thread infil_optimize_tree_cleanup();
thread show_rushing_water_trees_infil_trees_cleanup();
thread embassy_palms_cleanup();
thread maps\flood_util::show_models_by_targetname( "rooftops_ambient_cars" );
}
else
thread maps\flood_util::show_models_by_targetname( "garage_facade" );
var_1 = getentarray( "script_vehicle_iveco_lynx", "classname" );
maps\_utility::array_delete( var_1 );
if ( isdefined( level.skybridge_sections ) )
{
maps\_utility::array_delete( level.skybridge_sections );
level.skybridge_sections = [];
}
level.player waittill( "mantle_used" );
var_2 = getcorpsearray();
maps\_utility::array_delete( var_2 );
common_scripts\utility::flag_wait( "skybridge_heli_go" );
common_scripts\utility::flag_wait( "flood_mid_tr_loaded" );
case "skybridge":
if ( level.start_point == "skybridge" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_streets::remove_streets_to_dam_ents();
thread maps\flood_util::hide_models_by_targetname( "embassy_hide" );
thread maps\flood_flooding::flooding_cleanup();
thread maps\flood_mall::mall_delete_warehouse_ents();
thread maps\flood_mall::mall_delete_rooftop_ents();
thread hotel_parking_car_hide();
thread maps\flood_flooding::angry_flood_cleanup();
thread infil_optimize_tree_cleanup();
thread show_rushing_water_trees_infil_trees_cleanup();
thread embassy_palms_cleanup();
thread maps\flood_util::show_models_by_targetname( "rooftops_ambient_cars" );
}
thread swept_cleanup();
common_scripts\utility::flag_wait( "skybridge_done" );
case "rooftops":
if ( level.start_point == "rooftops" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_streets::remove_streets_to_dam_ents();
thread maps\flood_util::hide_models_by_targetname( "embassy_hide" );
thread maps\flood_flooding::flooding_cleanup();
thread maps\flood_mall::mall_delete_warehouse_ents();
thread maps\flood_mall::mall_delete_rooftop_ents();
thread hotel_parking_car_hide();
thread swept_cleanup();
thread maps\flood_flooding::angry_flood_cleanup();
thread infil_optimize_tree_cleanup();
thread show_rushing_water_trees_infil_trees_cleanup();
thread embassy_palms_cleanup();
thread maps\flood_util::show_models_by_targetname( "rooftops_ambient_cars" );
}
thread maps\flood_roof_stealth::roof_stealth_cleanup();
thread maps\flood_util::show_models_by_targetname( "com_wall_fan_blade_rotate" );
common_scripts\utility::flag_wait( "rooftops_done" );
case "rooftop_water":
if ( level.start_point == "rooftop_water" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_streets::remove_streets_to_dam_ents();
thread maps\flood_util::hide_models_by_targetname( "embassy_hide" );
thread maps\flood_flooding::flooding_cleanup();
thread maps\flood_mall::mall_delete_warehouse_ents();
thread maps\flood_mall::mall_delete_rooftop_ents();
thread maps\flood_roof_stealth::roof_stealth_cleanup();
thread hotel_parking_car_hide();
thread swept_cleanup();
thread maps\flood_flooding::angry_flood_cleanup();
thread infil_optimize_tree_cleanup();
thread show_rushing_water_trees_infil_trees_cleanup();
thread embassy_palms_cleanup();
thread maps\flood_util::show_models_by_targetname( "rooftops_ambient_cars" );
thread maps\flood_util::show_models_by_targetname( "com_wall_fan_blade_rotate" );
}
common_scripts\utility::flag_wait( "rooftop_water_done" );
case "debrisbridge":
if ( level.start_point == "debrisbridge" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_streets::remove_streets_to_dam_ents();
thread maps\flood_util::hide_models_by_targetname( "embassy_hide" );
thread maps\flood_flooding::flooding_cleanup();
thread maps\flood_mall::mall_delete_warehouse_ents();
thread maps\flood_mall::mall_delete_rooftop_ents();
thread maps\flood_roof_stealth::roof_stealth_cleanup();
thread maps\flood_util::hide_models_by_targetname( "garage_facade" );
thread swept_cleanup();
thread maps\flood_flooding::angry_flood_cleanup();
thread infil_optimize_tree_cleanup();
thread show_rushing_water_trees_infil_trees_cleanup();
thread embassy_palms_cleanup();
thread maps\flood_util::show_models_by_targetname( "rooftops_ambient_cars" );
thread maps\flood_util::show_models_by_targetname( "com_wall_fan_blade_rotate" );
}
common_scripts\utility::flag_wait( "debrisbridge_done" );
case "garage":
if ( level.start_point == "garage" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_streets::remove_streets_to_dam_ents();
thread maps\flood_util::hide_models_by_targetname( "embassy_hide" );
thread maps\flood_flooding::flooding_cleanup();
thread maps\flood_mall::mall_delete_warehouse_ents();
thread maps\flood_mall::mall_delete_rooftop_ents();
thread maps\flood_roof_stealth::roof_stealth_cleanup();
thread maps\flood_util::hide_models_by_targetname( "garage_facade" );
thread swept_cleanup();
thread maps\flood_flooding::angry_flood_cleanup();
thread infil_optimize_tree_cleanup();
thread show_rushing_water_trees_infil_trees_cleanup();
thread embassy_palms_cleanup();
thread maps\flood_util::show_models_by_targetname( "rooftops_ambient_cars" );
thread maps\flood_util::show_models_by_targetname( "com_wall_fan_blade_rotate" );
}
case "ending":
if ( level.start_point == "ending" )
{
thread maps\flood_infil::infil_cleanup();
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
thread maps\flood_streets::remove_streets_ents();
thread maps\flood_streets::remove_streets_to_dam_ents();
thread maps\flood_flooding::flooding_cleanup();
thread maps\flood_mall::mall_delete_warehouse_ents();
thread maps\flood_mall::mall_delete_rooftop_ents();
thread maps\flood_roof_stealth::roof_stealth_cleanup();
thread maps\flood_util::hide_models_by_targetname( "embassy_hide" );
thread maps\flood_util::hide_models_by_targetname( "garage_facade" );
thread swept_cleanup();
thread maps\flood_flooding::angry_flood_cleanup();
thread infil_optimize_tree_cleanup();
thread show_rushing_water_trees_infil_trees_cleanup();
thread embassy_palms_cleanup();
thread maps\flood_util::show_models_by_targetname( "rooftops_ambient_cars" );
thread maps\flood_util::show_models_by_targetname( "com_wall_fan_blade_rotate" );
}
common_scripts\utility::flag_wait( "ending_transient_trigger" );
var_3 = getentarray( "script_model_garage_post_stuff_01", "targetname" );
foreach ( var_5 in var_3 )
var_5 hide();
maps\_utility::flavorbursts_off( "allies" );
if ( !( level.start_point == "ending" ) )
{
var_7 = getaiarray( "axis" );
maps\_utility::array_delete( var_7 );
}
var_8 = getentarray( "rooftops_ambient_cars", "targetname" );
maps\_utility::array_delete( var_8 );
var_9 = [];
for ( var_10 = 0; var_10 < 5; var_10++ )
{
var_11 = getent( "debris_bridge_car_" + var_10, "targetname" );
var_9 = common_scripts\utility::add_to_array( var_9, var_11 );
}
maps\_utility::array_delete( var_9 );
var_0 = vehicle_getarray();
maps\_utility::array_delete( var_0 );
thread maps\_utility::transient_unloadall_and_load( "flood_end_tr" );
thread maps\flood_swept::swept_water_toggle( "debri_bridge", "hide" );
thread maps\flood_swept::swept_water_toggle( "swim", "hide" );
thread maps\flood_swept::swept_water_toggle( "ending_water", "hide" );
thread maps\flood_util::show_models_by_targetname( "ending_window_frame" );
var_12 = getent( "debris_ending_show", "targetname" );
var_12 show();
common_scripts\utility::flag_wait( "vignette_ending_crash_flag" );
thread maps\flood_swept::swept_water_toggle( "ending_water", "show" );
case "fly_around":
thread maps\flood_infil::tanks_cleanup();
thread maps\flood_infil::tanks_cleanup_early();
}
}
mission_hide_at_start()
{
thread streets_vehicle_hide_at_start();
thread maps\flood_mall::mallroof_firstframe( "hide" );
thread maps\flood_util::hide_scriptmodel_by_targetname_array( "missile_launcher_2" );
thread maps\flood_util::hide_scriptmodel_by_targetname_array( "ending_window_frame" );
thread maps\flood_util::hide_scriptmodel_by_targetname_array( "com_wall_fan_blade_rotate" );
thread maps\flood_swept::swept_water_toggle( "swim", "hide" );
thread maps\flood_swept::swept_water_toggle( "debri_bridge", "hide" );
thread maps\flood_swept::swept_water_toggle( "ending_water", "hide" );
thread maps\flood_util::hide_models_by_targetname( "swept_underwater_cleanup" );
thread maps\flood_util::hide_models_by_targetname( "rooftops_ambient_cars" );
var_0 = getent( "debris_ending_show", "targetname" );
var_0 hide();
}
infil_object_hide()
{
thread maps\flood_util::hide_models_by_targetname( "infil_cleanup" );
thread maps\flood_util::hide_models_by_targetname( "pipe_shootable" );
thread maps\flood_util::hide_models_by_targetname( "stealth_bob" );
thread maps\flood_util::hide_models_by_targetname( "warevolumes" );
thread maps\flood_util::hide_models_by_targetname( "mall_ware_brush_hide" );
thread maps\flood_util::hide_models_by_targetname( "mall_ware_model_hide" );
thread maps\flood_util::hide_models_by_targetname( "garage_door_l" );
thread maps\flood_util::hide_models_by_targetname( "garage_door_r" );
thread maps\flood_util::hide_models_by_targetname( "upper_garage_door_l" );
thread maps\flood_util::hide_models_by_targetname( "upper_garage_door_r" );
thread maps\flood_util::hide_models_by_targetname( "garage_facade" );
thread maps\flood_util::hide_models_by_targetname( "checkpoint_gate" );
thread maps\flood_util::hide_models_by_targetname( "script_model_garage_post_stuff_01" );
thread maps\flood_util::hide_models_by_targetname( "checkpoint_concrete_swap_barrier_1" );
thread maps\flood_util::hide_models_by_targetname( "checkpoint_concrete_swap_barrier_2" );
thread maps\flood_util::hide_models_by_targetname( "checkpoint_concrete_swap_barrier_3" );
thread maps\flood_util::hide_models_by_targetname( "dam_break_delete" );
thread maps\flood_util::hide_models_by_targetname( "destructible_vehicle" );
thread script_noteworthy_hide_and_show( "infil_optimize" );
thread script_noteworthy_hide_and_show( "infil_optimize_delay_delete" );
var_0 = getent( "coverwater_rooftop_above", "targetname" );
var_0 hide();
thread planter_hide_and_show( "planter_06" );
thread planter_hide_and_show( "planter_08" );
thread script_noteworthy_hide_and_show( "floating_container" );
thread hotel_parking_car_hide();
level waittill( "infil_done" );
thread maps\flood_util::show_models_by_targetname( "infil_cleanup" );
thread maps\flood_util::show_models_by_targetname( "pipe_shootable" );
thread maps\flood_util::show_models_by_targetname( "stealth_bob" );
thread maps\flood_util::show_models_by_targetname( "warevolumes" );
thread maps\flood_util::show_models_by_targetname( "mall_ware_brush_hide" );
thread maps\flood_util::show_models_by_targetname( "mall_ware_model_hide" );
thread maps\flood_util::show_models_by_targetname( "garage_door_l" );
thread maps\flood_util::show_models_by_targetname( "garage_door_r" );
thread maps\flood_util::show_models_by_targetname( "upper_garage_door_l" );
thread maps\flood_util::show_models_by_targetname( "upper_garage_door_r" );
thread maps\flood_util::show_models_by_targetname( "garage_facade" );
thread maps\flood_util::show_models_by_targetname( "checkpoint_gate" );
thread maps\flood_util::show_models_by_targetname( "destructible_vehicle" );
thread maps\flood_util::show_models_by_targetname( "script_model_garage_post_stuff_01" );
thread maps\flood_util::show_models_by_targetname( "checkpoint_concrete_swap_barrier_1" );
thread maps\flood_util::show_models_by_targetname( "checkpoint_concrete_swap_barrier_2" );
thread maps\flood_util::show_models_by_targetname( "checkpoint_concrete_swap_barrier_3" );
thread maps\flood_util::show_models_by_targetname( "dam_break_delete" );
thread script_noteworthy_hide_and_show( "infil_optimize", 1 );
thread script_noteworthy_hide_and_show( "infil_optimize_delay_delete", 1 );
var_0 = getent( "coverwater_rooftop_above", "targetname" );
var_0 show();
thread planter_hide_and_show( "planter_06", 1 );
thread planter_hide_and_show( "planter_08", 1 );
thread script_noteworthy_hide_and_show( "floating_container", 1 );
}
planter_hide_and_show( var_0, var_1 )
{
var_2 = getentarray( var_0, "script_noteworthy" );
if ( !isdefined( var_1 ) )
{
foreach ( var_4 in var_2 )
{
if ( !isdefined( var_4.targetname ) )
var_4 hide();
}
}
else
{
foreach ( var_4 in var_2 )
{
if ( !isdefined( var_4.targetname ) )
var_4 show();
}
}
}
script_noteworthy_hide_and_show( var_0, var_1 )
{
var_2 = getentarray( var_0, "script_noteworthy" );
if ( !isdefined( var_1 ) )
{
foreach ( var_4 in var_2 )
var_4 hide();
}
else
{
foreach ( var_4 in var_2 )
var_4 show();
}
}
streets_vehicle_hide_at_start()
{
var_0 = [];
var_0 = common_scripts\utility::add_to_array( var_0, getent( "streets_static_iveco_01", "script_noteworthy" ) );
var_0 = common_scripts\utility::add_to_array( var_0, getent( "flood_street_car_5", "script_noteworthy" ) );
var_0 = common_scripts\utility::add_to_array( var_0, getent( "crashed_truck", "targetname" ) );
var_0 = common_scripts\utility::add_to_array( var_0, getent( "flood_street_truck_01", "script_noteworthy" ) );
var_0 = common_scripts\utility::add_to_array( var_0, getent( "flood_street_car_1_cleanup", "targetname" ) );
var_0 = common_scripts\utility::add_to_array( var_0, getent( "flood_ally_car", "script_noteworthy" ) );
var_1 = getentarray( "flood_street_car_1", "script_noteworthy" );
foreach ( var_3 in var_1 )
var_0 = common_scripts\utility::add_to_array( var_0, var_3 );
foreach ( var_3 in var_0 )
var_3 hide();
}
streets_vehicle_show_after_knife_kill()
{
var_0 = [];
var_0 = common_scripts\utility::add_to_array( var_0, getent( "streets_static_iveco_01", "script_noteworthy" ) );
var_0 = common_scripts\utility::add_to_array( var_0, getent( "flood_street_car_5", "script_noteworthy" ) );
var_0 = common_scripts\utility::add_to_array( var_0, getent( "crashed_truck", "targetname" ) );
var_0 = common_scripts\utility::add_to_array( var_0, getent( "flood_street_truck_01", "script_noteworthy" ) );
var_0 = common_scripts\utility::add_to_array( var_0, getent( "flood_street_car_1_cleanup", "targetname" ) );
var_0 = common_scripts\utility::add_to_array( var_0, getent( "flood_ally_car", "script_noteworthy" ) );
var_1 = getentarray( "flood_street_car_1", "script_noteworthy" );
foreach ( var_3 in var_1 )
var_0 = common_scripts\utility::add_to_array( var_0, var_3 );
foreach ( var_3 in var_0 )
var_3 show();
}
streets_script_vehicle_cleanup()
{
var_0 = [];
var_0 = common_scripts\utility::add_to_array( var_0, getent( "streets_static_iveco_01", "script_noteworthy" ) );
var_0 = common_scripts\utility::add_to_array( var_0, getent( "crashed_truck", "targetname" ) );
maps\_utility::array_delete( var_0 );
}
swept_cleanup()
{
var_0 = getentarray( "swept_underwater_cleanup", "targetname" );
foreach ( var_2 in var_0 )
var_2 delete();
}
palm_tree_control( var_0 )
{
var_1 = getentarray( "palm_tree_in_rushing_water", "script_noteworthy" );
var_2 = getentarray( "embassy_palms", "script_noteworthy" );
var_3 = [];
var_3[var_3.size] = "flood_shake_tree_left_1";
var_3[var_3.size] = "flood_shake_tree_left_2";
var_3[var_3.size] = "flood_shake_tree_left_3";
var_3[var_3.size] = "flood_shake_tree_left_4";
var_3[var_3.size] = "flood_shake_tree_left_5";
var_3[var_3.size] = "flood_shake_tree_right_1";
var_3[var_3.size] = "flood_shake_tree_right_2";
var_3[var_3.size] = "flood_shake_tree_right_3";
var_3[var_3.size] = "flood_shake_tree_right_4";
var_3[var_3.size] = "flood_shake_tree_right_5";
var_3[var_3.size] = "flood_shake_tree_right_6";
foreach ( var_5 in var_1 )
var_5 hide();
if ( isdefined( var_0 ) )
{
foreach ( var_5 in var_3 )
{
var_5 = getent( var_5, "script_noteworthy" );
if ( isdefined( var_5 ) )
var_5 hide();
}
foreach ( var_5 in var_2 )
var_5 hide();
level waittill( "end_streets" );
foreach ( var_5 in var_3 )
{
var_5 = getent( var_5, "script_noteworthy" );
if ( isdefined( var_5 ) )
var_5 show();
}
foreach ( var_5 in var_2 )
var_5 show();
}
common_scripts\utility::flag_wait( "player_warehouse_mantle" );
thread embassy_palms_cleanup();
}
mall_rooftop_object_hide()
{
}
show_rushing_water_trees_infil_trees_cleanup( var_0 )
{
if ( isdefined( var_0 ) )
{
var_1 = getentarray( "infil_optimize_delay_delete", "script_noteworthy" );
foreach ( var_3 in var_1 )
var_3 delete();
}
var_5 = getentarray( "palm_tree_in_rushing_water", "script_noteworthy" );
foreach ( var_3 in var_5 )
var_3 show();
}
infil_optimize_tree_cleanup()
{
var_0 = getentarray( "infil_optimize", "script_noteworthy" );
foreach ( var_2 in var_0 )
var_2 delete();
}
embassy_palms_cleanup()
{
var_0 = getentarray( "embassy_palms", "script_noteworthy" );
foreach ( var_2 in var_0 )
var_2 delete();
}
hotel_parking_car_hide()
{
for ( var_0 = 0; var_0 < 5; var_0++ )
thread maps\flood_util::hide_models_by_targetname( "debris_bridge_car_" + var_0 );
}
hotel_parking_facade()
{
var_0 = getent( "rooftops_encounter_b_vo_3", "targetname" );
var_0 waittill( "trigger" );
thread maps\flood_util::hide_models_by_targetname( "garage_facade" );
for ( var_1 = 0; var_1 < 5; var_1++ )
thread maps\flood_util::show_models_by_targetname( "debris_bridge_car_" + var_1 );
}
flood_createfx_cleanup()
{
level endon( "load_finished" );
while ( !isdefined( level.stop_load ) )
wait 0.05;
if ( level.createfx_enabled )
{
common_scripts\utility::array_call( getaiarray(), ::delete );
common_scripts\utility::array_call( getspawnerarray(), ::delete );
}
}
flood_interactives_cleanup( var_0 )
{
var_1 = getentarray( var_0, "targetname" );
maps\_utility::delete_destructibles_in_volumes( var_1 );
maps\_utility::delete_exploders_in_volumes( var_1 );
maps\_utility::delete_interactives_in_volumes( var_1 );
}
introscreen()
{
var_0 = 1;
maps\_introscreen::introscreen();
}
flood_intro_screen()
{
level.player allowjump( 0 );
var_0 = 4;
var_1 = 9;
thread introscreen_generic_fade_in( var_1, var_0 );
wait 0.05;
thread flood_intro_text();
wait 5.0;
thread maps\_utility::stylized_center_text( [ &"FLOOD_INTROSCREEN_12_YEARS" ], 3.5 );
common_scripts\utility::flag_set( "start_intro_sequence" );
level maps\_utility::delaythread( 1.5, maps\flood_infil::player_ride_rumble );
}
introscreen_generic_fade_in( var_0, var_1 )
{
var_2 = maps\_hud_util::create_client_overlay( "black", 1, level.player );
var_2.foreground = 0;
level.player freezecontrols( 1 );
setsaveddvar( "ammoCounterHide", 1 );
setsaveddvar( "cg_drawCrosshair", 0 );
wait( var_0 );
level.player freezecontrols( 0 );
setsaveddvar( "ammoCounterHide", 0 );
setsaveddvar( "cg_drawCrosshair", 1 );
common_scripts\utility::flag_set( "intro_show_introtext" );
wait 2.5;
var_2 fadeovertime( 0.5 );
var_2.alpha = 0;
wait( var_1 );
level.player allowjump( 1 );
}
flood_intro_text()
{
level.introscreen = spawnstruct();
level.introscreen.completed_delay = 4;
level.introscreen.fade_out_time = 1.5;
level.introscreen.fade_in_time = 0.5;
level.introscreen.lines = [ &"FLOOD_INTROSCREEN_LINE_1", &"FLOOD_INTROSCREEN_LINE_2", &"FLOOD_INTROSCREEN_LINE_5", &"FLOOD_INTROSCREEN_LINE_6" ];
thread maps\_introscreen::introscreen( 1 );
}
intro_screen_text_end()
{
return 0;
}
e3_section_start()
{
level.player setclienttriggeraudiozone( "flood_fade_e3", 0.01 );
level.start_point = "dam";
maps\flood_streets::dam_start();
level.e3_demo = 1;
}
e3_section()
{
var_0 = maps\_hud_util::create_client_overlay( "black", 0, level.player );
level thread e3_fadein( var_0 );
level thread maps\_introscreen::introscreen( 1, 5 );
maps\flood_streets::dam();
maps\flood_flooding::flooding_ext();
maps\flood_flooding::flooding_int();
maps\flood_mall::mall();
level thread maps\flood_swept::swept();
wait 24.0;
e3_fadeout( var_0 );
wait 2.0;
level.e3_demo = undefined;
maps\_utility::nextmission();
for (;;)
wait 1.0;
}
e3_fadein( var_0 )
{
level.player enableinvulnerability();
level.allies[0] thread maps\flood_streets::ignore_everything( 3.25 );
level.allies[1] thread maps\flood_streets::ignore_everything( 5.79 );
level.allies[2] thread maps\flood_streets::ignore_everything( 7 );
wait 2.0;
level.player clearclienttriggeraudiozone( 4 );
wait 3.0;
level.player disableinvulnerability();
}
e3_fadeout( var_0 )
{
level.player enableinvulnerability();
level.player setclienttriggeraudiozone( "flood_fade_e3", 1.8 );
var_0 fadeovertime( 1.0 );
var_0.alpha = 1;
}
infil_start()
{
maps\flood_infil::infil_start();
}
infil()
{
maps\flood_infil::infil();
}
streets_start()
{
maps\flood_infil::streets_start();
}
streets()
{
maps\flood_infil::streets();
}
streets_to_dam_start()
{
maps\flood_streets::streets_to_dam_start();
}
streets_to_dam()
{
maps\flood_streets::streets_to_dam();
}
streets_to_dam_2_start()
{
maps\flood_streets::streets_to_dam_2_start();
}
streets_to_dam_2()
{
maps\flood_streets::streets_to_dam_2();
}
dam_start()
{
maps\flood_streets::dam_start();
}
dam()
{
maps\flood_streets::dam();
}
flooding_ext_start()
{
maps\flood_flooding::flooding_ext_start();
}
flooding_ext()
{
maps\flood_flooding::flooding_ext();
}
flooding_int_start()
{
maps\flood_flooding::flooding_int_start();
}
flooding_int()
{
maps\flood_flooding::flooding_int();
}
mall_start()
{
maps\flood_mall::mall_start();
}
mall()
{
maps\flood_mall::mall();
}
swept_start()
{
maps\flood_swept::swept_start();
}
swept()
{
maps\flood_swept::swept();
}
roof_stealth_start()
{
maps\flood_roof_stealth::roof_stealth_start();
}
roof_stealth()
{
maps\flood_roof_stealth::roof_stealth();
}
skybridge_start()
{
maps\flood_rooftops::skybridge_start();
}
skybridge()
{
maps\flood_rooftops::skybridge();
}
rooftops_start()
{
maps\flood_rooftops::rooftops_start();
}
rooftops()
{
maps\flood_rooftops::rooftops();
}
rooftop_water_start()
{
maps\flood_rooftops::rooftop_water_start();
}
rooftop_water()
{
maps\flood_rooftops::rooftop_water();
}
debrisbridge_start()
{
maps\flood_rooftops::debrisbridge_start();
}
debrisbridge()
{
maps\flood_rooftops::debrisbridge();
}
garage_start()
{
maps\flood_garage::garage_start();
}
garage()
{
maps\flood_garage::garage();
}
ending_start()
{
maps\flood_ending::ending_start();
}
ending()
{
maps\flood_ending::ending();
}
fly_around_start()
{
iprintlnbold( "Press X to cycle transient fastfiles" );
maps\flood_util::player_move_to_checkpoint_start( "flyaround_start" );
common_scripts\utility::array_call( getaiarray(), ::delete );
common_scripts\utility::array_call( getspawnerarray(), ::delete );
maps\flood_util::delete_all_triggers();
}
fly_around()
{
iprintln( "flood_intro_tr transient fastfile loaded landing zone" );
for (;;)
{
thread maps\flood_swept::swept_water_toggle( "swim", "hide" );
thread maps\flood_swept::swept_water_toggle( "debri_bridge", "hide" );
thread maps\flood_util::hide_scriptmodel_by_targetname_array( "embassy_hide" );
while ( !level.player buttonpressed( "BUTTON_X" ) )
wait 0.05;
iprintln( "flood_intro_tr transient fastfile dam" );
thread maps\flood_util::show_models_by_targetname( "embassy_hide" );
wait 1.0;
while ( !level.player buttonpressed( "BUTTON_X" ) )
wait 0.05;
thread maps\_utility::transient_unloadall_and_load( "flood_mid_tr" );
common_scripts\utility::flag_wait( "flood_mid_tr_loaded" );
common_scripts\utility::flag_clear( "flood_mid_tr_loaded" );
wait 1.0;
iprintln( "flood_mid_tr transient fastfile loaded mall" );
thread maps\flood_util::hide_scriptmodel_by_targetname_array( "embassy_hide" );
thread maps\flood_mall::mallroof_firstframe();
while ( !level.player buttonpressed( "BUTTON_X" ) )
wait 0.05;
wait 1.0;
thread maps\flood_swept::swept_water_toggle( "swim", "show" );
thread maps\flood_util::show_models_by_targetname( "swept_underwater_cleanup" );
thread maps\flood_util::show_models_by_targetname( "garage_facade" );
iprintln( "flood_mid_tr transient fastfile loaded swept" );
while ( !level.player buttonpressed( "BUTTON_X" ) )
wait 0.05;
wait 1.0;
iprintln( "flood_mid_tr transient fastfile loaded rooftops" );
thread maps\flood_swept::swept_water_toggle( "swim", "hide" );
thread maps\flood_swept::swept_water_toggle( "debri_bridge", "show" );
thread maps\flood_util::hide_models_by_targetname( "swept_underwater_cleanup" );
thread maps\flood_util::hide_models_by_targetname( "garage_facade" );
while ( !level.player buttonpressed( "BUTTON_X" ) )
wait 0.05;
thread maps\_utility::transient_unloadall_and_load( "flood_end_tr" );
common_scripts\utility::flag_wait( "flood_end_tr_loaded" );
common_scripts\utility::flag_clear( "flood_end_tr_loaded" );
wait 1.0;
iprintln( "flood_end_tr transient fastfile loaded" );
while ( !level.player buttonpressed( "BUTTON_X" ) )
wait 0.05;
thread maps\_utility::transient_unloadall_and_load( "flood_intro_tr" );
common_scripts\utility::flag_wait( "flood_intro_tr_loaded" );
common_scripts\utility::flag_clear( "flood_intro_tr_loaded" );
wait 1.0;
iprintln( "flood_intro_tr transient fastfile loaded" );
}
}
flood_default_water_transion_fx()
{
level.player setwatersurfacetransitionfx( common_scripts\utility::getfx( "player_water_surface_plunge" ), common_scripts\utility::getfx( "scrnfx_water_splash_low" ), common_scripts\utility::getfx( "player_water_surface_plunge_fast" ), common_scripts\utility::getfx( "scrnfx_water_splash_low" ) );
}