276 lines
11 KiB
Plaintext
276 lines
11 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
main()
|
|
{
|
|
maps\_utility::template_level( "enemyhq" );
|
|
maps\createart\enemyhq_art::main();
|
|
maps\enemyhq_fx::main();
|
|
maps\enemyhq_precache::main();
|
|
maps\enemyhq_anim::main();
|
|
setdvar( "debug_bcprint", "on" );
|
|
enemyhq_pre_load();
|
|
enemyhq_starts();
|
|
maps\_utility::set_console_status();
|
|
maps\_utility::setsaveddvar_cg_ng( "r_specularcolorscale", 2.25, 6.0 );
|
|
maps\_utility::setsaveddvar_cg_ng( "r_diffusecolorscale", 1.3, 1 );
|
|
setsaveddvar( "r_ssaofadedepth", 256 );
|
|
setsaveddvar( "r_ssaorejectdepth", 1024 );
|
|
maps\_load::main();
|
|
maps\enemyhq_audio::main();
|
|
maps\_patrol_anims::main();
|
|
maps\_patrol_anims_gundown::main();
|
|
thread maps\_teargas::initteargas();
|
|
thread lights();
|
|
maps\_c4::main();
|
|
maps\_drone_ai::init();
|
|
maps\_dog_control::init_dog_control();
|
|
maps\enemyhq_remoteturret::remote_turret_init( "player_view_controller" );
|
|
maps\_global_fx_code::global_fx( "ehq_flare_ambient_FX_origin", "vfx/ambient/props/vfx_handflare_ehq", undefined, "vfx_handflare_ehq" );
|
|
maps\enemyhq_code::init_color_trigger_listeners( "atrium_color_triggers" );
|
|
setsaveddvar( "fx_alphathreshold", 9 );
|
|
setsaveddvar( "r_hudoutlineenable", 1 );
|
|
|
|
if ( maps\_utility::is_gen4() )
|
|
setsaveddvar( "fx_alphathreshold", 2 );
|
|
else
|
|
setsaveddvar( "fx_alphathreshold", 9 );
|
|
|
|
var_0 = getentarray( "start_dog_sniffing", "targetname" );
|
|
common_scripts\utility::array_thread( var_0, maps\enemyhq_code::handle_dog_modes );
|
|
var_0 = getentarray( "stop_dog_sniffing", "targetname" );
|
|
common_scripts\utility::array_thread( var_0, maps\enemyhq_code::handle_dog_modes );
|
|
var_0 = getentarray( "start_dog_sneak", "targetname" );
|
|
common_scripts\utility::array_thread( var_0, maps\enemyhq_code::handle_dog_modes );
|
|
var_0 = getentarray( "stop_dog_sneak", "targetname" );
|
|
common_scripts\utility::array_thread( var_0, maps\enemyhq_code::handle_dog_modes );
|
|
maps\_utility::array_spawn_function_noteworthy( "delete_at_path_end", maps\enemyhq_code::delete_ai_at_path_end );
|
|
level.disable_teargas_ally_badplaces = 1;
|
|
setsaveddvar( "cg_cinematicFullScreen", "0" );
|
|
common_scripts\utility::exploder( 8011 );
|
|
common_scripts\utility::exploder( 8010 );
|
|
common_scripts\utility::exploder( 9080 );
|
|
common_scripts\utility::exploder( 9090 );
|
|
common_scripts\utility::exploder( 5150 );
|
|
}
|
|
|
|
enemyhq_starts()
|
|
{
|
|
maps\_utility::add_start( "intro", maps\enemyhq_rooftop_intro::setup_rooftop_intro, "Intro", maps\enemyhq_rooftop_intro::begin_rooftop_intro );
|
|
maps\_utility::add_start( "introroof", maps\enemyhq_rooftop_intro::setup_rooftop_shoot, "Intro shoot", maps\enemyhq_rooftop_intro::begin_rooftop_shoot );
|
|
maps\_utility::add_start( "drive_in", maps\enemyhq_intro::setup_drive_in, "Drive in", maps\enemyhq_intro::begin_drive_in );
|
|
maps\_utility::add_start( "atrium", maps\enemyhq_atrium::setup_atrium, "Atrium Combat", maps\enemyhq_atrium::begin_atrium );
|
|
maps\_utility::add_start( "vip", maps\enemyhq_vip::setup_vip, "VIP Suite", maps\enemyhq_vip::begin_vip );
|
|
maps\_utility::add_start( "traverse", maps\enemyhq_traverse::setup_traverse, "Traverse", maps\enemyhq_traverse::begin_traverse );
|
|
maps\_utility::add_start( "basement_teargas", maps\enemyhq_basement::setup_teargas, "Basement Teargas", maps\enemyhq_basement::begin_teargas );
|
|
maps\_utility::add_start( "basement_combat", maps\enemyhq_basement::setup_combat, "Basement Combat", maps\enemyhq_basement::begin_combat );
|
|
maps\_utility::add_start( "clubhouse_breach", maps\enemyhq_basement::setup_clubhouse, "Clubhouse Breach", maps\enemyhq_basement::begin_clubhouse );
|
|
maps\_utility::add_start( "hvt_rescue", maps\enemyhq_basement::setup_hvt, "HVT Rescue", maps\enemyhq_basement::begin_hvt );
|
|
maps\_utility::add_start( "new_finale", maps\enemyhq_finale::setup_new_finale, "New Finale", maps\enemyhq_finale::begin_new_finale );
|
|
}
|
|
|
|
enemyhq_pre_load()
|
|
{
|
|
maps\enemyhq_rooftop_intro::enemyhq_rooftop_intro_pre_load();
|
|
maps\enemyhq_intro::enemyhq_intro_pre_load();
|
|
maps\enemyhq_atrium::enemyhq_atrium_pre_load();
|
|
maps\enemyhq_vip::enemyhq_vip_pre_load();
|
|
maps\enemyhq_traverse::enemyhq_traverse_pre_load();
|
|
maps\enemyhq_basement::enemyhq_basement_pre_load();
|
|
maps\enemyhq_finale::enemyhq_finale_pre_load();
|
|
common_scripts\utility::flag_init( "FLAG_link_veh_crash_paths" );
|
|
common_scripts\utility::flag_init( "FLAG_player_enter_truck" );
|
|
precacheitem( "m9a1" );
|
|
precacheitem( "l115a3" );
|
|
precachemodel( "viewmodel_reddot_reflex_iw6" );
|
|
precacheitem( "teargas_grenade" );
|
|
precacheitem( "remote_sniper" );
|
|
precacheitem( "nosound_magicbullet" );
|
|
precachemodel( "pbk_flood_light_generator" );
|
|
precachemodel( "viewhands_us_rangers" );
|
|
precachemodel( "weapon_m4m203_acog" );
|
|
precachemodel( "generic_prop_raven" );
|
|
precachemodel( "weapon_us_smoke_grenade_burnt2" );
|
|
precachemodel( "hesh_stealth_head_mask" );
|
|
precachemodel( "head_hesh_stealth_z" );
|
|
precachemodel( "vehicle_man_7t_front_door_RI_obj" );
|
|
precachemodel( "vehicle_iveco_lynx_destroyed_iw6" );
|
|
precachemodel( "prop_sas_gasmask" );
|
|
precachemodel( "prop_sas_gasmask_attach" );
|
|
precacheshader( "gasmask_overlay_delta2" );
|
|
precacheshader( "hud_dog_melee" );
|
|
precacheitem( "scuba_mask_on" );
|
|
precacheitem( "scuba_mask_off" );
|
|
precachemodel( "soccer_ball" );
|
|
precachemodel( "weapon_mk14_iw6" );
|
|
precachemodel( "weapon_mp443" );
|
|
precachemodel( "viewmodel_mp443" );
|
|
precacheitem( "test_detonator_black_ice" );
|
|
precachemodel( "viewhands_player_us_rangers" );
|
|
precacherumble( "light_1s" );
|
|
precacherumble( "light_2s" );
|
|
precacherumble( "light_3s" );
|
|
maps\_vehicle::build_deathfx_override( "script_vehicle_man_7t_k9_physics", undefined, "vehicle_man_7t_k9_iw6", "vfx/moments/enemyhq/vfx_ehq_truckexp", undefined, undefined );
|
|
maps\_vehicle::build_deathfx_override( "script_vehicle_iveco_lynx_physics", undefined, "vehicle_iveco_lynx_iw6", "vfx/moments/enemyhq/vfx_ehq_truckexp", undefined, undefined );
|
|
maps\_vehicle::build_deathfx_override( "script_vehicle_man_7t_k9", undefined, "vehicle_man_7t_k9_iw6", "vfx/moments/enemyhq/vfx_ehq_truckexp", undefined, undefined );
|
|
maps\_vehicle::build_deathfx_override( "script_vehicle_iveco_lynx", undefined, "vehicle_iveco_lynx_iw6", "vfx/moments/enemyhq/vfx_ehq_truckexp", undefined, undefined );
|
|
maps\_vehicle::build_light_override( "script_vehicle_man_7t_k9", "headlight_truck_left", "tag_headlight_left", "vfx/ambient/lights/vfx_headlight_truck_ehq", "headlightsL" );
|
|
maps\_vehicle::build_light_override( "script_vehicle_man_7t_k9", "headlight_truck_right", "tag_headlight_right", "vfx/ambient/lights/vfx_headlight_truck_ehq", "headlightsR" );
|
|
maps\_utility::add_hint_string( "tear_hint", &"ENEMY_HQ_FRAG_TO_THROW_TEARGAS", maps\enemyhq_basement::teargas_hint_wait );
|
|
maps\_utility::add_hint_string( "zoom_hint", &"ENEMY_HQ_ZOOMHINT", maps\enemyhq_rooftop_intro::zoom_hint_wait );
|
|
maps\_utility::add_hint_string( "zoom_noglyph_hint", &"ENEMY_HQ_ZOOMHINT_NO_GLYPH", maps\enemyhq_rooftop_intro::zoom_hint_wait );
|
|
maps\_utility::add_hint_string( "sniperuse_hint", &"ENEMY_HQ_ACTIONSLOT_1_TO_USE_REMOTE", maps\enemyhq_code::sniperuse_hint_wait );
|
|
maps\_utility::add_hint_string( "riley_hint", &"ENEMY_HQ_PRESS_LB_TO_COMMAND", maps\enemyhq_code::dog_hint_check );
|
|
maps\_utility::add_hint_string( "blow_charges", &"ENEMY_HQ_BLOWCHARGES", maps\enemyhq_code::hint_blow_charges_wait );
|
|
maps\_utility_dogs::init_dog_pc( "a" );
|
|
}
|
|
|
|
setup_common( var_0 )
|
|
{
|
|
setup_player( var_0 );
|
|
spawn_allies( var_0 );
|
|
var_1 = getent( "finale_dead_truck_clip", "targetname" );
|
|
|
|
if ( isdefined( var_1 ) )
|
|
var_1 notsolid();
|
|
|
|
var_1 = getent( "finale_dead_truck", "targetname" );
|
|
|
|
if ( isdefined( var_1 ) )
|
|
var_1 hide();
|
|
}
|
|
|
|
setup_player( var_0 )
|
|
{
|
|
if ( isdefined( var_0 ) )
|
|
var_1 = var_0 + "_start";
|
|
else
|
|
var_1 = level.start_point + "_start";
|
|
|
|
var_2 = common_scripts\utility::getstruct( var_1, "targetname" );
|
|
|
|
if ( isdefined( var_2 ) )
|
|
{
|
|
level.player setorigin( var_2.origin );
|
|
level.player setplayerangles( var_2.angles );
|
|
}
|
|
else
|
|
iprintlnbold( "can't find startpoint for " + level.start_point );
|
|
|
|
if ( level.start_point == "atrium" )
|
|
{
|
|
level.player giveweapon( "mk32_dud+eotech_sp_mk32dud", 0, 0, 0, 1 );
|
|
thread maps\enemyhq_rooftop_intro::handle_m32_launcher();
|
|
}
|
|
}
|
|
|
|
spawn_allies( var_0 )
|
|
{
|
|
level.allies = [];
|
|
level.allies[level.allies.size] = spawn_ally( "ally1", var_0 );
|
|
level.allies[level.allies.size] = spawn_ally( "ally2", var_0 );
|
|
level.allies[level.allies.size] = spawn_ally( "ally4", var_0 );
|
|
level.allies[0].animname = "baker";
|
|
level.allies[1].animname = "keegan";
|
|
level.allies[2].animname = "hesh";
|
|
level.allies[0].npcid = "mrk";
|
|
level.allies[1].npcid = "kgn";
|
|
level.allies[2].npcid = "hsh";
|
|
|
|
foreach ( var_2 in level.allies )
|
|
self.goalradius = 25;
|
|
|
|
var_4 = spawn_ally( "dog", var_0 );
|
|
var_4 setup_dog();
|
|
level.player_dog = var_4;
|
|
level.player thread maps\_dog_control::enable_dog_control( level.dog );
|
|
|
|
if ( isdefined( level.start_point ) && level.start_point != "intro" && level.start_point != "introroof" && level.start_point != "drive_in" )
|
|
{
|
|
|
|
}
|
|
|
|
maps\_utility::delaythread( 0.05, maps\_utility::set_team_bcvoice, "allies", "taskforce" );
|
|
level.allies[2] attach( "weapon_mts_255_small", "tag_stowed_back", 1 );
|
|
}
|
|
|
|
setup_dog()
|
|
{
|
|
level.dog = self;
|
|
level.dog.animname = "dog";
|
|
level.dog.meleealwayswin = 1;
|
|
level.dog.script_stealthgroup = "dog";
|
|
level.dog.script_nobark = 1;
|
|
level.dog.script_friendname = "Riley";
|
|
level.dog.name = "Riley";
|
|
level.dog.goalradius = 512;
|
|
level.dog.goalheight = 128;
|
|
level.dog.pathenemyfightdist = level.dog.goalradius;
|
|
level.dog.fixednode = 1;
|
|
level.dog setdogattackradius( 128 );
|
|
level.dog setthreatbiasgroup( "dog" );
|
|
setthreatbias( "dog", "axis", 75 );
|
|
level.dog pushplayer( 1 );
|
|
level.dog maps\enemyhq_code::set_move_rate( 0.7 );
|
|
}
|
|
|
|
spawn_ally( var_0, var_1 )
|
|
{
|
|
var_2 = undefined;
|
|
|
|
if ( !isdefined( var_1 ) )
|
|
var_2 = level.start_point + "_" + var_0;
|
|
else
|
|
var_2 = var_1 + "_" + var_0;
|
|
|
|
var_3 = maps\enemyhq_code::spawn_targetname_at_struct_targetname( var_0, var_2 );
|
|
|
|
if ( !isdefined( var_3 ) )
|
|
return undefined;
|
|
|
|
var_3 maps\_utility::make_hero();
|
|
|
|
if ( !isdefined( var_3.magic_bullet_shield ) )
|
|
var_3 maps\_utility::magic_bullet_shield();
|
|
|
|
var_3.countryid = "US";
|
|
var_3.voice = "delta";
|
|
return var_3;
|
|
}
|
|
|
|
lights()
|
|
{
|
|
var_0 = getentarray( "flickerlight1", "targetname" );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
var_2 thread flareflicker();
|
|
}
|
|
|
|
flareflicker()
|
|
{
|
|
while ( isdefined( self ) )
|
|
{
|
|
wait( randomfloatrange( 0.05, 0.1 ) );
|
|
self setlightintensity( randomfloatrange( 0.6, 1.8 ) );
|
|
}
|
|
}
|
|
|
|
flare_flicker( var_0, var_1 )
|
|
{
|
|
var_2 = getent( self.target, "targetname" );
|
|
|
|
if ( !isdefined( var_0 ) )
|
|
var_0 = 0.6;
|
|
|
|
if ( !isdefined( var_1 ) )
|
|
var_1 = 1.8;
|
|
|
|
thread common_scripts\utility::play_loop_sound_on_entity( "flare_burn_loop" );
|
|
|
|
while ( isdefined( self ) )
|
|
{
|
|
wait( randomfloatrange( 0.05, 0.1 ) );
|
|
var_2 setlightintensity( randomfloatrange( var_0, var_1 ) );
|
|
}
|
|
}
|