572 lines
18 KiB
Plaintext
572 lines
18 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
main()
|
|
{
|
|
maps\mp\mp_sovereign_precache::main();
|
|
maps\createart\mp_sovereign_art::main();
|
|
maps\mp\mp_sovereign_fx::main();
|
|
level thread walkway_collapse();
|
|
level thread maps\mp\mp_sovereign_events::assembly_line_precache();
|
|
level thread maps\mp\_movable_cover::init();
|
|
level.mapcustomcratefunc = ::sovereigncustomcratefunc;
|
|
level.mapcustomkillstreakfunc = ::sovereigncustomkillstreakfunc;
|
|
level.mapcustombotkillstreakfunc = ::sovereigncustombotkillstreakfunc;
|
|
maps\mp\_load::main();
|
|
thread maps\mp\_fx::func_glass_handler();
|
|
maps\mp\_compass::setupminimap( "compass_map_mp_sovereign" );
|
|
|
|
if ( level.ps3 || level.xenon )
|
|
setdvar( "sm_sunShadowScale", "0.5" );
|
|
|
|
setdvar( "r_lightGridEnableTweaks", 1 );
|
|
setdvar( "r_lightGridIntensity", 1.33 );
|
|
setdvar( "r_sky_fog_intensity", "1" );
|
|
setdvar( "r_sky_fog_min_angle", "60" );
|
|
setdvar( "r_sky_fog_max_angle", "85" );
|
|
setdvar( "r_ssaofadedepth", 1200 );
|
|
maps\mp\_utility::setdvar_cg_ng( "r_specularColorScale", 3.5, 5 );
|
|
maps\mp\_utility::setdvar_cg_ng( "r_diffuseColorScale", 1.5, 1.2 );
|
|
game["attackers"] = "allies";
|
|
game["defenders"] = "axis";
|
|
level thread maps\mp\mp_sovereign_events::assembly_line();
|
|
level thread maps\mp\mp_sovereign_events::halon_system();
|
|
level thread robot_arm();
|
|
level thread malfunctioning_crane();
|
|
level thread update_bot_maxsightdistsqrd();
|
|
}
|
|
|
|
update_bot_maxsightdistsqrd()
|
|
{
|
|
var_0 = 1200;
|
|
var_1 = var_0 * var_0;
|
|
|
|
while ( !isdefined( level.participants ) )
|
|
common_scripts\utility::waitframe();
|
|
|
|
for (;;)
|
|
{
|
|
var_2 = [];
|
|
|
|
foreach ( var_4 in level.participants )
|
|
{
|
|
if ( !isplayer( var_4 ) )
|
|
continue;
|
|
|
|
var_5 = level.halon_fog_on && var_4 geteye()[2] < 280;
|
|
|
|
if ( var_5 )
|
|
var_2[var_2.size] = var_4;
|
|
|
|
if ( isbot( var_4 ) )
|
|
{
|
|
if ( !isdefined( var_4.default_maxsightdistsqrd ) )
|
|
var_4.default_maxsightdistsqrd = var_4.maxsightdistsqrd;
|
|
|
|
if ( var_5 )
|
|
{
|
|
var_4.maxsightdistsqrd = var_1;
|
|
continue;
|
|
}
|
|
|
|
var_4.maxsightdistsqrd = var_4.default_maxsightdistsqrd;
|
|
}
|
|
}
|
|
|
|
if ( var_2.size )
|
|
common_scripts\utility::exploder( 39, var_2 );
|
|
|
|
wait 0.5;
|
|
}
|
|
}
|
|
|
|
is_dynamic_path()
|
|
{
|
|
return isdefined( self.spawnflags ) && self.spawnflags & 1;
|
|
}
|
|
|
|
is_ai_sight_line()
|
|
{
|
|
return isdefined( self.spawnflags ) && self.spawnflags & 2;
|
|
}
|
|
|
|
#using_animtree("animated_props");
|
|
|
|
walkway_collapse()
|
|
{
|
|
common_scripts\utility::flag_init( "walkway_collasped" );
|
|
|
|
if ( getdvar( "r_reflectionProbeGenerate" ) == "1" )
|
|
return;
|
|
|
|
precachempanim( "mp_sovereign_walkway_collapse_top" );
|
|
precachempanim( "mp_sovereign_walkway_collapse_bottom" );
|
|
precachempanim( "mp_sovereign_walkway_collapse_top_idle" );
|
|
precachempanim( "mp_sovereign_walkway_collapse_bottom_idle" );
|
|
common_scripts\utility::waitframe();
|
|
var_0 = getanimlength( %mp_sovereign_walkway_collapse_top );
|
|
var_1 = getanimlength( %mp_sovereign_walkway_collapse_bottom );
|
|
var_2 = getnotetracktimes( %mp_sovereign_walkway_collapse_top, "bottom_anim_begin" )[0];
|
|
var_2 = var_2 * var_0;
|
|
var_3 = getent( "walkway_trigger_damage", "targetname" );
|
|
var_4 = getent( "walkway_tank_animated", "targetname" );
|
|
var_4 scriptmodelplayanimdeltamotion( "mp_sovereign_walkway_collapse_top_idle" );
|
|
|
|
if ( isdefined( var_4.target ) )
|
|
{
|
|
var_4.clip = getent( var_4.target, "targetname" );
|
|
|
|
if ( isdefined( var_4.clip ) )
|
|
{
|
|
var_4.clip linkto( var_4, "j_canister_main" );
|
|
var_5 = spawn( "script_model", ( 568, -722, 568 ) );
|
|
var_4.clip.killcament = var_5;
|
|
}
|
|
}
|
|
|
|
var_6 = getentarray( "walkway_clip_end", "targetname" );
|
|
common_scripts\utility::array_thread( var_6, ::walkway_collapse_clip_hide );
|
|
var_7 = getent( "walkway_tank_trigger_hurt", "targetname" );
|
|
|
|
if ( isdefined( var_7 ) )
|
|
var_7 delete();
|
|
|
|
var_8 = getent( "walkway_animated", "targetname" );
|
|
var_8 scriptmodelplayanimdeltamotion( "mp_sovereign_walkway_collapse_bottom_idle" );
|
|
var_8 hide();
|
|
var_9 = walkway_collapse_group( "walkway_non_destroyed" );
|
|
var_10 = walkway_collapse_group( "walkway_destroyed" );
|
|
var_10 walkway_collapse_hide();
|
|
var_11 = [];
|
|
var_12 = getnotetracktimes( %mp_sovereign_walkway_collapse_top, "hose1_start" );
|
|
var_13 = getnotetracktimes( %mp_sovereign_walkway_collapse_top, "hose2_start" );
|
|
var_14 = getnotetracktimes( %mp_sovereign_walkway_collapse_top, "hose3_start" );
|
|
|
|
if ( var_12.size > 0 )
|
|
{
|
|
var_15 = var_12[0] * var_0;
|
|
var_16 = var_13[0] * var_0;
|
|
var_17 = var_14[0] * var_0;
|
|
var_11[0] = [ "tag_fx_canister_1", "vfx_can_afterleak", var_15 ];
|
|
var_11[1] = [ "tag_fx_canister_2", "vfx_can_afterleak", var_16 ];
|
|
var_11[2] = [ "tag_fx_canister_3", "vfx_can_afterleak", var_17 ];
|
|
var_11[3] = [ "tag_fx_cables_1", "vfx_can_jet", var_15 ];
|
|
var_11[4] = [ "tag_fx_cables_2", "vfx_can_jet", var_16 ];
|
|
var_11[5] = [ "tag_fx_cables_3", "vfx_can_jet", var_17 ];
|
|
}
|
|
|
|
for (;;)
|
|
{
|
|
var_18 = walkway_wait( var_3 );
|
|
common_scripts\utility::flag_set( "walkway_collasped" );
|
|
common_scripts\utility::exploder( 2 );
|
|
var_4.clip playsoundonmovingent( "scn_catwalk_break_away" );
|
|
common_scripts\utility::noself_delaycall( var_2, ::playsoundatpos, ( 136, -412, 360 ), "scn_catwalk_impact" );
|
|
common_scripts\utility::noself_delaycall( 4.13, ::playsoundatpos, ( 242, -326, 322 ), "scn_catwalk_steam_burst1" );
|
|
common_scripts\utility::noself_delaycall( 4.46, ::playsoundatpos, ( 277, -283, 256 ), "scn_catwalk_steam_burst2" );
|
|
var_4 scriptmodelplayanimdeltamotion( "mp_sovereign_walkway_collapse_top" );
|
|
|
|
foreach ( var_20 in var_11 )
|
|
thread walkway_play_fx( var_20[2], var_4, var_20[1], var_20[0] );
|
|
|
|
level maps\mp\_utility::delaythread( var_2, common_scripts\utility::exploder, 3 );
|
|
var_8 common_scripts\utility::delaycall( var_2, ::show );
|
|
var_8 common_scripts\utility::delaycall( var_2, ::scriptmodelplayanimdeltamotion, "mp_sovereign_walkway_collapse_bottom" );
|
|
var_9 maps\mp\_utility::delaythread( var_2, ::walkway_collapse_hide );
|
|
common_scripts\utility::array_thread( var_6, maps\mp\_utility::delaythread, var_2, ::walkway_collapse_clip_show );
|
|
var_10 maps\mp\_utility::delaythread( var_2 + var_1, ::walkway_collapse_show );
|
|
|
|
if ( isdefined( var_4.clip ) )
|
|
{
|
|
var_4.clip thread maps\mp\_movers::player_pushed_kill( 0 );
|
|
var_4.clip maps\mp\_utility::delaythread( var_2 + var_1, ::walkway_collapse_clip_hide );
|
|
var_4.clip.unresolved_collision_kill = 1;
|
|
var_4.clip.unresolved_collision_notify_min = 1;
|
|
var_4.clip.owner = var_18;
|
|
}
|
|
|
|
wait( var_2 + var_1 );
|
|
|
|
if ( isdefined( var_4.clip ) )
|
|
{
|
|
var_4.clip maps\mp\_movers::stop_player_pushed_kill();
|
|
var_4.clip.unresolved_collision_kill = 0;
|
|
var_4.clip.unresolved_collision_notify_min = undefined;
|
|
var_4.clip.owner = undefined;
|
|
}
|
|
|
|
walkway_wait();
|
|
common_scripts\utility::flag_clear( "walkway_collasped" );
|
|
var_4 show();
|
|
var_8 scriptmodelplayanimdeltamotion( "mp_sovereign_walkway_collapse_bottom_idle" );
|
|
var_8 hide();
|
|
common_scripts\utility::array_thread( var_6, ::walkway_collapse_clip_hide );
|
|
var_9 walkway_collapse_show();
|
|
var_10 walkway_collapse_hide();
|
|
|
|
if ( isdefined( var_4.clip ) )
|
|
var_4.clip walkway_collapse_clip_show();
|
|
|
|
wait 1;
|
|
var_4 scriptmodelplayanimdeltamotion( "mp_sovereign_walkway_collapse_top_idle" );
|
|
}
|
|
}
|
|
|
|
walkway_play_fx( var_0, var_1, var_2, var_3 )
|
|
{
|
|
wait( var_0 );
|
|
playfxontag( level._effect[var_2], var_1, var_3 );
|
|
}
|
|
|
|
walkway_collapse_hurt_trigger_stop()
|
|
{
|
|
self notify( "stop_walkway_collapse_hurt_trigger" );
|
|
}
|
|
|
|
walkway_collapse_hurt_trigger( var_0 )
|
|
{
|
|
self endon( "stop_walkway_collapse_hurt_trigger" );
|
|
|
|
for (;;)
|
|
{
|
|
self waittill( "trigger", var_1 );
|
|
|
|
if ( isplayer( var_1 ) )
|
|
var_1 dodamage( 1000, var_1.origin );
|
|
}
|
|
}
|
|
|
|
walkway_wait( var_0 )
|
|
{
|
|
level thread walkway_wait_dvar();
|
|
|
|
if ( isdefined( var_0 ) )
|
|
level thread walkway_wait_trigger( var_0 );
|
|
|
|
level waittill( "activate_walkway", var_1 );
|
|
return var_1;
|
|
}
|
|
|
|
walkway_wait_trigger( var_0 )
|
|
{
|
|
level endon( "activate_walkway" );
|
|
var_0 waittill( "trigger", var_1 );
|
|
level notify( "activate_walkway", var_1 );
|
|
}
|
|
|
|
walkway_wait_dvar()
|
|
{
|
|
level endon( "activate_walkway" );
|
|
|
|
while ( getdvarint( "trigger_walkway" ) == 0 )
|
|
wait 0.05;
|
|
|
|
level notify( "activate_walkway" );
|
|
}
|
|
|
|
walkway_collapse_hide()
|
|
{
|
|
if ( isdefined( self.walkway_collapse_hide ) && self.walkway_collapse_hide )
|
|
return;
|
|
|
|
self.walkway_collapse_hide = 1;
|
|
self.origin = self.origin - ( 0, 0, 1000 );
|
|
|
|
foreach ( var_1 in self.clip )
|
|
var_1 walkway_collapse_clip_hide();
|
|
|
|
self dontinterpolate();
|
|
|
|
foreach ( var_4 in self.traverse_nodes )
|
|
disconnectnodepair( var_4, var_4.connected_to );
|
|
|
|
foreach ( var_4 in self.nodes )
|
|
var_4 disconnectnode();
|
|
}
|
|
|
|
walkway_collapse_clip_hide()
|
|
{
|
|
if ( is_dynamic_path() )
|
|
self connectpaths();
|
|
|
|
if ( is_ai_sight_line() )
|
|
self setaisightlinevisible( 0 );
|
|
|
|
self.old_contents = self setcontents( 0 );
|
|
self notsolid();
|
|
self hide();
|
|
}
|
|
|
|
walkway_collapse_show()
|
|
{
|
|
if ( isdefined( self.walkway_collapse_hide ) && !self.walkway_collapse_hide )
|
|
return;
|
|
|
|
self.walkway_collapse_hide = 0;
|
|
self.origin = self.origin + ( 0, 0, 1000 );
|
|
|
|
foreach ( var_1 in self.clip )
|
|
var_1 walkway_collapse_clip_show();
|
|
|
|
self dontinterpolate();
|
|
|
|
foreach ( var_4 in self.traverse_nodes )
|
|
connectnodepair( var_4, var_4.connected_to );
|
|
|
|
foreach ( var_4 in self.nodes )
|
|
var_4 connectnode();
|
|
}
|
|
|
|
walkway_collapse_clip_show()
|
|
{
|
|
self solid();
|
|
self setcontents( self.old_contents );
|
|
self show();
|
|
|
|
if ( is_dynamic_path() )
|
|
self disconnectpaths();
|
|
|
|
if ( is_ai_sight_line() )
|
|
self setaisightlinevisible( 1 );
|
|
}
|
|
|
|
walkway_collapse_group( var_0 )
|
|
{
|
|
var_1 = common_scripts\utility::getstruct( var_0, "targetname" );
|
|
|
|
if ( !isdefined( var_1 ) )
|
|
return undefined;
|
|
|
|
var_2 = spawn( "script_model", var_1.origin );
|
|
var_2 setmodel( "tag_origin" );
|
|
var_2.clip = [];
|
|
var_2.linked = [];
|
|
var_3 = var_1 common_scripts\utility::get_linked_ents();
|
|
|
|
foreach ( var_5 in var_3 )
|
|
{
|
|
if ( var_5.classname == "script_brushmodel" )
|
|
{
|
|
var_2.clip[var_2.clip.size] = var_5;
|
|
continue;
|
|
}
|
|
|
|
var_2.linked[var_2.linked.size] = var_5;
|
|
var_5 linkto( var_2 );
|
|
}
|
|
|
|
var_7 = var_1 maps\mp\_utility::getlinknamenodes();
|
|
var_2.traverse_nodes = [];
|
|
var_2.nodes = [];
|
|
|
|
foreach ( var_9 in var_7 )
|
|
{
|
|
if ( isdefined( var_9.targetname ) && var_9.targetname == "traverse" )
|
|
{
|
|
var_9.connected_to = getnode( var_9.target, "targetname" );
|
|
var_2.traverse_nodes[var_2.traverse_nodes.size] = var_9;
|
|
continue;
|
|
}
|
|
|
|
var_2.nodes[var_2.nodes.size] = var_9;
|
|
}
|
|
|
|
return var_2;
|
|
}
|
|
|
|
malfunctioning_crane()
|
|
{
|
|
var_0 = getent( "malfunctioning_crane_arm", "targetname" );
|
|
var_1 = getent( "malfunctioning_crane_arm_clip", "targetname" );
|
|
var_2 = getanimlength( %mp_sovereign_malfunctioning_crane_arm );
|
|
|
|
if ( !isdefined( var_0 ) )
|
|
return;
|
|
|
|
if ( isdefined( var_1 ) )
|
|
{
|
|
var_1 enablelinkto();
|
|
var_1 linkto( var_0, "basetwist_jnt", ( 0, 0, 0 ), ( 180, 0, 0 ) );
|
|
}
|
|
|
|
var_3 = spawn( "script_model", var_0.origin );
|
|
var_3 setmodel( "tag_origin" );
|
|
var_3 linkto( var_0, "basetwist_jnt" );
|
|
var_0 scriptmodelplayanimdeltamotion( "mp_sovereign_malfunctioning_crane_arm" );
|
|
|
|
for (;;)
|
|
{
|
|
var_3 playsoundonmovingent( "scn_sov_yellow_crane" );
|
|
wait( var_2 );
|
|
}
|
|
}
|
|
|
|
robot_arm()
|
|
{
|
|
var_0 = "mp_sovereign_robot_arm_malfunction";
|
|
precachempanim( var_0 );
|
|
common_scripts\utility::waitframe();
|
|
var_1 = getent( "robot_arm", "targetname" );
|
|
|
|
if ( !isdefined( var_1 ) )
|
|
return;
|
|
|
|
if ( isdefined( var_1.target ) )
|
|
{
|
|
var_2 = getent( var_1.target, "targetname" );
|
|
var_2 linkto( var_1, "j_anim_001" );
|
|
}
|
|
|
|
var_3 = spawn( "script_model", var_1.origin );
|
|
var_3 setmodel( "tag_origin" );
|
|
var_3.angles = var_1.angles;
|
|
var_1 linkto( var_3 );
|
|
var_1.ends = [];
|
|
var_4 = var_1 common_scripts\utility::get_links();
|
|
|
|
foreach ( var_6 in var_4 )
|
|
{
|
|
var_7 = common_scripts\utility::getstruct( var_6, "script_linkname" );
|
|
var_1.ends[var_1.ends.size] = var_7;
|
|
}
|
|
|
|
var_9 = getent( "robot_arm_top", "targetname" );
|
|
var_9 linkto( var_3 );
|
|
var_10 = getent( "robot_arm_track", "targetname" );
|
|
var_10.ends = [];
|
|
var_4 = var_10 common_scripts\utility::get_links();
|
|
|
|
foreach ( var_6 in var_4 )
|
|
{
|
|
var_7 = common_scripts\utility::getstruct( var_6, "script_linkname" );
|
|
var_10.ends[var_10.ends.size] = var_7;
|
|
}
|
|
|
|
var_13 = min( var_1.ends[0].origin[0], var_1.ends[1].origin[0] );
|
|
var_14 = max( var_1.ends[0].origin[0], var_1.ends[1].origin[0] );
|
|
var_15 = min( var_10.ends[0].origin[1], var_10.ends[1].origin[1] );
|
|
var_16 = max( var_10.ends[0].origin[1], var_10.ends[1].origin[1] );
|
|
var_17 = ( var_13, var_15, 0 );
|
|
var_18 = ( var_14, var_16, 0 );
|
|
var_19 = common_scripts\utility::getstructarray( "robot_arm_corner", "targetname" );
|
|
var_20 = min( var_19[0].origin[0], var_19[1].origin[0] );
|
|
var_21 = max( var_19[0].origin[0], var_19[1].origin[0] );
|
|
var_22 = min( var_19[0].origin[1], var_19[1].origin[1] );
|
|
var_23 = max( var_19[0].origin[1], var_19[1].origin[1] );
|
|
var_24 = ( var_20, var_22, 0 );
|
|
var_25 = ( var_21, var_23, 0 );
|
|
var_1 playloopsound( "scn_sov_single_robot_arm_lp" );
|
|
var_1 scriptmodelplayanimdeltamotion( var_0 );
|
|
var_26 = 80;
|
|
|
|
for (;;)
|
|
{
|
|
var_27 = maps\mp\gametypes\_gamescore::gethighestscoringplayer();
|
|
|
|
if ( isdefined( var_27 ) )
|
|
{
|
|
var_28 = robot_arm_get_scaled_position( var_17, var_18, var_24, var_25, var_27.origin );
|
|
var_29 = ( var_28[0], var_28[1], var_1.origin[2] );
|
|
var_30 = ( var_10.origin[0], var_28[1], var_10.origin[2] );
|
|
var_31 = distance( var_1.origin, var_29 );
|
|
|
|
if ( var_31 > 10 )
|
|
{
|
|
var_32 = vectortoyaw( var_27.origin - var_1.origin );
|
|
var_33 = var_31 / var_26;
|
|
var_3 moveto( var_29, var_33 );
|
|
var_3 rotateto( ( var_1.angles[0], var_32, var_1.angles[2] ), var_33 / 2 );
|
|
var_10 moveto( var_30, var_33 );
|
|
wait( max( var_33, 6 ) );
|
|
continue;
|
|
}
|
|
}
|
|
|
|
wait 3;
|
|
}
|
|
}
|
|
|
|
robot_arm_get_scaled_position( var_0, var_1, var_2, var_3, var_4 )
|
|
{
|
|
var_5 = var_1 - var_0;
|
|
var_6 = var_3 - var_2;
|
|
var_6 = ( var_6[0], var_6[1], 1 );
|
|
var_7 = ( var_4 - var_2 ) / var_6;
|
|
var_7 = ( clamp( var_7[0], 0, 1 ), clamp( var_7[1], 0, 1 ), 0 );
|
|
return var_5 * var_7 + var_0;
|
|
}
|
|
|
|
sovereigncustomcratefunc()
|
|
{
|
|
if ( !isdefined( game["player_holding_level_killstrek"] ) )
|
|
game["player_holding_level_killstrek"] = 0;
|
|
|
|
var_0 = level.gametype != "sotf" && level.gametype != "infect" && level.gametype != "horde";
|
|
|
|
if ( !var_0 || game["player_holding_level_killstrek"] )
|
|
return;
|
|
|
|
maps\mp\killstreaks\_airdrop::addcratetype( "airdrop_assault", "sovereign_gas", 55, maps\mp\killstreaks\_airdrop::killstreakcratethink, maps\mp\killstreaks\_airdrop::get_friendly_crate_model(), maps\mp\killstreaks\_airdrop::get_enemy_crate_model(), &"KILLSTREAKS_HINTS_SOVEREIGN_GAS" );
|
|
level thread watch_for_sovereign_gas_crate();
|
|
}
|
|
|
|
watch_for_sovereign_gas_crate()
|
|
{
|
|
for (;;)
|
|
{
|
|
level waittill( "createAirDropCrate", var_0 );
|
|
|
|
if ( isdefined( var_0 ) && isdefined( var_0.cratetype ) && var_0.cratetype == "sovereign_gas" )
|
|
{
|
|
disable_sovereign_gas();
|
|
var_1 = wait_for_capture( var_0 );
|
|
|
|
if ( !var_1 )
|
|
{
|
|
maps\mp\killstreaks\_airdrop::changecrateweight( "airdrop_assault", "sovereign_gas", 55 );
|
|
continue;
|
|
}
|
|
|
|
game["player_holding_level_killstrek"] = 1;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
wait_for_capture( var_0 )
|
|
{
|
|
var_1 = watch_for_air_drop_death( var_0 );
|
|
return !isdefined( var_1 );
|
|
}
|
|
|
|
watch_for_air_drop_death( var_0 )
|
|
{
|
|
var_0 endon( "captured" );
|
|
var_0 waittill( "death" );
|
|
waittillframeend;
|
|
return 1;
|
|
}
|
|
|
|
disable_sovereign_gas()
|
|
{
|
|
maps\mp\killstreaks\_airdrop::changecrateweight( "airdrop_assault", "sovereign_gas", 0 );
|
|
}
|
|
|
|
sovereigncustomkillstreakfunc()
|
|
{
|
|
level.killstreakfuncs["sovereign_gas"] = ::tryusesovereigngas;
|
|
level.killstreakweildweapons["sovereign_gas_mp"] = "sovereign_gas";
|
|
}
|
|
|
|
sovereigncustombotkillstreakfunc()
|
|
{
|
|
maps\mp\bots\_bots_ks::bot_register_killstreak_func( "sovereign_gas", maps\mp\bots\_bots_ks::bot_killstreak_simple_use, maps\mp\mp_sovereign_events::bot_clear_of_gas );
|
|
}
|
|
|
|
tryusesovereigngas( var_0, var_1 )
|
|
{
|
|
game["player_holding_level_killstrek"] = 0;
|
|
level notify( "sovereign_gas_killstreak", self );
|
|
return 1;
|
|
}
|