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

434 lines
14 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
main()
{
level.factory = 1;
maps\_utility::template_level( "factory" );
maps\createart\factory_art::main();
maps\factory_fx::main();
maps\_riotshield::init_riotshield();
maps\factory_precache::main();
maps\_utility::default_start();
maps\_utility::add_start( "intro", ::intro_start, "Infil", ::intro, "factory_intro_tr" );
maps\_utility::add_start( "intro_train", ::intro_train_start, "Train Pass", ::intro_train, "factory_intro_tr" );
maps\_utility::add_start( "factory_ingress", ::factory_ingress_start, "Factory Entrance", ::factory_ingress, "factory_intro_tr" );
maps\_utility::add_start( "powerstealth", ::powerstealth_start, "Power Stealth", ::powerstealth, "factory_intro_tr" );
maps\_utility::add_start( "presat_room", ::presat_room_start, "Pre-SAT Room", ::presat_room, "factory_intro_tr" );
maps\_utility::add_start( "sat_room", ::sat_room_start, "SAT Room", ::sat_room, "factory_mid_tr" );
maps\_utility::add_start( "ambush", ::ambush_start, "Ambush", ::ambush, "factory_mid_tr" );
maps\_utility::add_start( "ambush_escape", ::ambush_escape_start, "Ambush Escape", ::ambush_escape, "factory_mid_tr" );
maps\_utility::add_start( "rooftop", ::rooftop_start, "Rooftop", ::rooftop, "factory_mid_tr" );
maps\_utility::add_start( "parking_lot", ::parking_lot_start, "Parking Lot", ::parking_lot, "factory_outro_tr" );
maps\_utility::add_start( "chase", ::chase_start, "Vehicle Chase", ::chase, "factory_outro_tr" );
maps\_utility::add_start( "fly_around", ::fly_around_start, "Fly Around", ::fly_around );
mission_flag_inits();
mission_precache();
maps\factory_audio::audio_flag_inits();
mission_hint_string_init();
maps\_drone_ai::init();
common_scripts\_pipes::main();
level.pipesdamage = 0;
maps\_utility::intro_screen_create( &"FACTORY_INTROSCREEN_LINE_1", &"FACTORY_INTROSCREEN_LINE_2", &"FACTORY_INTROSCREEN_LINE_5" );
maps\_utility::transient_init( "factory_intro_tr" );
maps\_utility::transient_init( "factory_mid_tr" );
maps\_utility::transient_init( "factory_outro_tr" );
maps\_load::main();
thread motion_blur_during_melee();
thread factory_glare();
level.player.thermal_anim_active = 0;
level.player.active_anim = 0;
level.player.thermal = 0;
maps\_utility::setsaveddvar_cg_ng( "r_specularColorScale", 2.5, 9.01 );
maps\factory_anim::main();
maps\_hand_signals::inithandsignals();
thread mission_objective_logic();
maps\factory_util::squad_add_ally( "ALLY_ALPHA", "ally_alpha", "ally_alpha" );
maps\factory_util::squad_add_ally( "ALLY_BRAVO", "ally_bravo", "ally_bravo" );
maps\factory_util::squad_add_ally( "ALLY_CHARLIE", "ally_charlie", "ally_charlie" );
maps\_utility::battlechatter_off();
maps\_stealth::main();
maps\_patrol_anims::main();
level.player maps\factory_camera::binoculars_init( "factory" );
level.player takeallweapons();
level.default_weapon = "honeybadger+grip_sp+reflex_sp";
level.player giveweapon( level.default_weapon );
level.player switchtoweaponimmediate( level.default_weapon );
level.player giveweapon( "p226_tactical+silencerpistol_sp+tactical_sp" );
level.player setoffhandprimaryclass( "frag" );
level.player setoffhandsecondaryclass( "flash" );
thread maps\factory_audio::audio_main();
thread maps\factory_audio::mission_music();
thread maps\factory_fx::lgt_vision_fog_init();
thread maps\factory_fx::fx_init();
setdvar( "music_enable", 1 );
setsaveddvar( "r_reactiveMotionPlayerRadius", 5.0 );
if ( level.ps3 == 1 )
setsaveddvar( "sm_sunSampleSizeNear", 0.1 );
maps\_nightvision::main( level.players, 1 );
level.player setactionslot( 1, "" );
}
mission_precache()
{
precacheshellshock( "factory_revbreach" );
precacherumble( "silencer_fire" );
precacheitem( "honeybadger" );
precacheitem( "p226_tactical" );
precacheitem( "gm6+scopegm6_sp" );
precacheitem( "mts255" );
precacheshader( "hud_icon_nvg" );
maps\_utility::precache( "viewmodel_NVG" );
maps\factory_intro::section_precache();
maps\factory_powerstealth::section_precache();
maps\factory_weapon_room::section_precache();
maps\factory_ambush::section_precache();
maps\factory_ambush_escape::section_precache();
maps\factory_rooftop::section_precache();
maps\factory_chase::section_precache();
}
mission_flag_inits()
{
maps\factory_intro::section_flag_init();
maps\factory_powerstealth::section_flag_init();
maps\factory_weapon_room::section_flag_init();
maps\factory_ambush::section_flag_init();
maps\factory_ambush_escape::section_flag_init();
maps\factory_rooftop::section_flag_init();
maps\factory_parking_lot::section_flag_init();
maps\factory_chase::section_flag_init();
common_scripts\utility::flag_init( "intel_proto_flag" );
}
mission_hint_string_init()
{
maps\factory_intro::section_hint_string_init();
maps\factory_powerstealth::section_hint_string_init();
maps\factory_ambush::section_hint_string_init();
}
motion_blur_during_melee()
{
if ( maps\_utility::is_gen4() )
{
for (;;)
{
if ( level.player meleebuttonpressed() && !level.player isthrowinggrenade() )
{
setsaveddvar( "r_mbEnable", 2 );
setsaveddvar( "r_mbCameraRotationInfluence", 1 );
setsaveddvar( "r_mbCameraTranslationInfluence", 0.01 );
setsaveddvar( "r_mbModelVelocityScalar", 0.7 );
setsaveddvar( "r_mbStaticVelocityScalar", 0.2 );
setsaveddvar( "r_mbViewmodelVelocityScalar", 1 );
wait 1.5;
setsaveddvar( "r_mbEnable", 0 );
}
wait 0.05;
}
}
}
factory_glare()
{
if ( maps\_utility::is_gen4() )
precacheshader( "lens_grime_messy" );
}
intro_start()
{
thread maps\factory_audio::intro_ambience_changes();
thread maps\factory_util::factory_black_zone_achievement();
level.player maps\factory_util::move_player_to_start_point( "playerstart_intro" );
level maps\factory_intro::intro_start();
}
intro()
{
level maps\factory_intro::intro();
}
intro_train_start()
{
jump_to_cleanup();
thread maps\factory_util::factory_black_zone_achievement();
level.player maps\factory_util::move_player_to_start_point( "playerstart_intro_train" );
level maps\factory_intro::intro_train_start();
}
intro_train()
{
level maps\factory_intro::intro_train();
}
factory_ingress_start()
{
jump_to_cleanup();
thread maps\factory_util::factory_black_zone_achievement();
level.player maps\factory_util::move_player_to_start_point( "playerstart_factory_ingress" );
level maps\factory_intro::factory_ingress_start();
}
factory_ingress()
{
level maps\factory_intro::factory_ingress();
}
powerstealth_start()
{
jump_to_cleanup();
thread maps\factory_util::factory_black_zone_achievement();
level.player maps\factory_util::move_player_to_start_point( "playerstart_powerstealth" );
level maps\factory_powerstealth::powerstealth_start();
}
powerstealth()
{
level maps\factory_powerstealth::powerstealth();
}
presat_room_start()
{
jump_to_cleanup();
level maps\factory_weapon_room::presat_room_start();
}
presat_room()
{
level maps\factory_weapon_room::presat_room();
}
sat_room_start()
{
jump_to_cleanup();
level.player giveweapon( "flash_grenade" );
level.player giveweapon( "fraggrenade" );
level maps\factory_weapon_room::sat_room_start();
}
sat_room()
{
level maps\factory_weapon_room::sat_room();
}
ambush_start()
{
jump_to_cleanup();
level.player giveweapon( "flash_grenade" );
level.player giveweapon( "fraggrenade" );
level maps\factory_ambush::start();
}
ambush()
{
level maps\factory_ambush::main();
}
ambush_escape_start()
{
jump_to_cleanup();
maps\_utility::set_team_bcvoice( "allies", "taskforce" );
level.player giveweapon( "flash_grenade" );
level.player giveweapon( "fraggrenade" );
level.player thread maps\factory_util::thermal_vision();
level thread maps\factory_fx::fx_track_thermal();
level maps\factory_ambush_escape::start();
}
ambush_escape()
{
level maps\factory_ambush_escape::main();
}
rooftop_start()
{
jump_to_cleanup();
maps\_utility::set_team_bcvoice( "allies", "taskforce" );
level.player giveweapon( "flash_grenade" );
level.player giveweapon( "fraggrenade" );
level.player thread maps\factory_util::thermal_vision();
level thread maps\factory_fx::fx_track_thermal();
level maps\factory_rooftop::start();
}
rooftop()
{
level maps\factory_rooftop::main();
}
parking_lot_start()
{
jump_to_cleanup();
maps\_utility::set_team_bcvoice( "allies", "taskforce" );
level.player giveweapon( "flash_grenade" );
level.player giveweapon( "fraggrenade" );
level.player thread maps\factory_util::thermal_vision();
level thread maps\factory_fx::fx_track_thermal();
level maps\factory_parking_lot::start();
}
parking_lot()
{
level maps\factory_parking_lot::main();
}
chase_start()
{
jump_to_cleanup();
level.player giveweapon( "flash_grenade" );
level.player giveweapon( "fraggrenade" );
level.player thread maps\factory_util::thermal_vision();
level thread maps\factory_fx::fx_track_thermal();
level maps\factory_chase::start();
}
chase()
{
level maps\factory_chase::main();
}
fly_around_start()
{
iprintlnbold( "Press X to cycle transient fastfiles" );
level.player maps\factory_util::move_player_to_start_point( "playerstart_intro" );
}
fly_around()
{
for (;;)
{
while ( !level.player buttonpressed( "BUTTON_X" ) )
wait 0.05;
maps\factory_util::load_transient( "factory_intro_tr" );
while ( !istransientloaded( "factory_intro_tr" ) )
wait 0.05;
while ( !level.player buttonpressed( "BUTTON_X" ) )
wait 0.05;
maps\factory_util::load_transient( "factory_mid_tr" );
while ( !istransientloaded( "factory_mid_tr" ) )
wait 0.05;
while ( !level.player buttonpressed( "BUTTON_X" ) )
wait 0.05;
maps\factory_util::load_transient( "factory_outro_tr" );
while ( !istransientloaded( "factory_outro_tr" ) )
wait 0.05;
}
}
mission_objective_logic()
{
maps\_utility::obj( "OBJ_INFILTRATE" );
maps\_utility::obj( "OBJ_FIND_PROOF" );
maps\_utility::obj( "OBJ_SCAN_2" );
maps\_utility::obj( "OBJ_INVESTIGATE" );
maps\_utility::obj( "OBJ_ESCAPE" );
waittillframeend;
var_0 = 0;
if ( level.start_point != "default" )
var_0 = 1;
switch ( level.start_point )
{
case "default":
case "intro":
common_scripts\utility::flag_wait( "intro_drop_kill_done" );
var_0 = 0;
case "factory_ingress":
case "intro_train":
objective_add( maps\_utility::obj( "OBJ_INFILTRATE" ), "active", &"FACTORY_OBJ_ENTER_FACTORY" );
objective_state( maps\_utility::obj( "OBJ_INFILTRATE" ), "current" );
common_scripts\utility::flag_wait( "entered_factory_1" );
objective_state( maps\_utility::obj( "OBJ_INFILTRATE" ), "done" );
var_0 = 0;
case "sat_room":
case "presat_room":
case "powerstealth":
if ( var_0 )
{
objective_add( maps\_utility::obj( "OBJ_INFILTRATE" ), "done", &"FACTORY_OBJ_ENTER_FACTORY" );
var_0 = 0;
}
objective_add( maps\_utility::obj( "OBJ_FIND_PROOF" ), "active", &"FACTORY_OBJ_FIND_EVIDENCE" );
objective_state( maps\_utility::obj( "OBJ_FIND_PROOF" ), "current" );
common_scripts\utility::flag_wait( "start_camera_moment" );
objective_state( maps\_utility::obj( "OBJ_FIND_PROOF" ), "done" );
wait 0.25;
objective_add( maps\_utility::obj( "OBJ_SCAN_2" ), "active", &"FACTORY_OBJ_SCAN_2" );
objective_state( maps\_utility::obj( "OBJ_SCAN_2" ), "current" );
common_scripts\utility::flag_wait( "cam_B_confirmed" );
objective_state( maps\_utility::obj( "OBJ_SCAN_2" ), "done" );
common_scripts\utility::flag_wait( "sat_room_continue" );
case "ambush":
if ( var_0 )
{
objective_add( maps\_utility::obj( "OBJ_INFILTRATE" ), "done", &"FACTORY_OBJ_ENTER_FACTORY" );
objective_add( maps\_utility::obj( "OBJ_FIND_PROOF" ), "done", &"FACTORY_OBJ_FIND_EVIDENCE" );
}
objective_add( maps\_utility::obj( "OBJ_INVESTIGATE" ), "active", &"FACTORY_OBJ_INVESTIGATE_RECORDS" );
objective_state( maps\_utility::obj( "OBJ_INVESTIGATE" ), "current" );
level waittill( "show_ambush_use_hint" );
var_1 = getent( "ambush_console_node", "targetname" );
common_scripts\utility::flag_wait( "player_used_computer" );
wait 1.0;
objective_state( maps\_utility::obj( "OBJ_INVESTIGATE" ), "done" );
common_scripts\utility::flag_wait( "ambush_vignette_done" );
wait 3.0;
var_0 = 0;
case "chase":
case "parking_lot":
case "rooftop":
case "ambush_escape":
if ( var_0 )
{
objective_add( maps\_utility::obj( "OBJ_INFILTRATE" ), "done", &"FACTORY_OBJ_ENTER_FACTORY" );
objective_add( maps\_utility::obj( "OBJ_FIND_PROOF" ), "done", &"FACTORY_OBJ_FIND_EVIDENCE" );
objective_add( maps\_utility::obj( "OBJ_INVESTIGATE" ), "done", &"FACTORY_OBJ_INVESTIGATE_RECORDS" );
var_0 = 0;
}
objective_add( maps\_utility::obj( "OBJ_ESCAPE" ), "active", &"FACTORY_OBJ_ESCAPE_FACTORY" );
objective_state( maps\_utility::obj( "OBJ_ESCAPE" ), "current" );
common_scripts\utility::flag_wait( "car_chase_complete" );
objective_state( maps\_utility::obj( "OBJ_ESCAPE" ), "done" );
default:
}
}
jump_to_cleanup()
{
switch ( level.start_point )
{
case "chase":
case "parking_lot":
case "rooftop":
case "ambush_escape":
maps\factory_ambush::ambush_cleanup( 1 );
case "ambush":
maps\factory_weapon_room::sat_cleanup( 1 );
case "sat_room":
maps\factory_weapon_room::presat_cleanup( 1 );
case "default":
case "presat_room":
case "powerstealth":
case "factory_ingress":
case "intro_train":
case "intro":
default:
}
}