702 lines
19 KiB
Plaintext
702 lines
19 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
init()
|
|
{
|
|
init_last_weapon_fx();
|
|
}
|
|
|
|
init_last_weapon_fx()
|
|
{
|
|
level._effect["electric_blast"] = loadfx( "vfx/gameplay/alien/vfx_alien_arm_gun_li_cloud" );
|
|
level._effect["nx1_explode"] = loadfx( "vfx/gameplay/alien/vfx_alien_actuator_exp" );
|
|
level._effect["fire_blast"] = loadfx( "vfx/gameplay/alien/vfx_alien_arm_gun_fire_cloud" );
|
|
level._effect["corrosive_blast"] = loadfx( "vfx/gameplay/alien/vfx_alien_arm_gun_gas" );
|
|
}
|
|
|
|
special_gun_watcher()
|
|
{
|
|
level endon( "game_ended" );
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
self notify( "gun_watcher_logic" );
|
|
self endon( "gun_watcher_logic" );
|
|
thread cortex_gun_charge_watcher();
|
|
thread watch_player_weaponswitch();
|
|
thread cortex_gun_ammo_handler();
|
|
thread cortex_gun_hud_monitor();
|
|
var_0 = "none";
|
|
var_1 = undefined;
|
|
|
|
for (;;)
|
|
{
|
|
self waittill( "missile_fire", var_1, var_0 );
|
|
|
|
if ( var_0 != "iw6_aliendlc41_mp" && var_0 != "iw6_aliendlc42_mp" )
|
|
continue;
|
|
|
|
if ( var_0 == "iw6_aliendlc41_mp" && self.adspressedtime != 9999999 )
|
|
self stoplocalsound( "weap_cortex_chrg_plr" );
|
|
|
|
var_1.health = 1;
|
|
thread cortex_gun_shoot( var_1, var_0 );
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
watch_player_weaponswitch()
|
|
{
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
|
|
for (;;)
|
|
{
|
|
common_scripts\utility::waittill_any( "weapon_switch_started", "weapon_change", "weaponchange" );
|
|
self.adspressed = 0;
|
|
self.adspressedtime = 9999999;
|
|
}
|
|
}
|
|
|
|
cortex_gun_hud_monitor()
|
|
{
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
var_0 = 10;
|
|
|
|
if ( self _meth_842C( "nerf_min_ammo" ) )
|
|
var_0 = 5;
|
|
|
|
self.gun_chargeable = 0;
|
|
|
|
for (;;)
|
|
{
|
|
if ( self getcurrentweapon() == "iw6_aliendlc41_mp" )
|
|
{
|
|
var_1 = self getcurrentweaponclipammo();
|
|
|
|
if ( var_1 >= var_0 )
|
|
{
|
|
self.gun_chargeable = 1;
|
|
|
|
if ( maps\mp\alien\_utility::is_true( self.adsallowed ) )
|
|
self notify( "cortex_launcher_full" );
|
|
|
|
self.cortex_weapon_ammo_full = 1;
|
|
}
|
|
else if ( var_1 < var_0 )
|
|
{
|
|
self.cortex_weapon_ammo_full = 0;
|
|
self.gun_chargeable = 0;
|
|
}
|
|
|
|
if ( maps\mp\alien\_perk_utility::has_perk( "perk_bullet_damage", [ 2, 3, 4 ] ) )
|
|
self unsetperk( "specialty_quickdraw", 1 );
|
|
}
|
|
else if ( maps\mp\alien\_perk_utility::has_perk( "perk_bullet_damage", [ 2, 3, 4 ] ) )
|
|
self setperk( "specialty_quickdraw", 1, 0 );
|
|
|
|
wait 0.2;
|
|
}
|
|
}
|
|
|
|
cortex_gun_charge_watcher()
|
|
{
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
level endon( "game_ended" );
|
|
self.adspressed = 0;
|
|
self.adsallowed = 1;
|
|
self.adspressedtime = 9999999;
|
|
var_0 = 0;
|
|
var_1 = -1;
|
|
|
|
for (;;)
|
|
{
|
|
var_2 = -1;
|
|
|
|
if ( self getcurrentweapon() != "iw6_aliendlc41_mp" || self isusingturret() || maps\mp\_utility::isusingremote() || isdefined( self.throwinggrenade ) || maps\mp\alien\_utility::is_true( self.is_grabbed ) )
|
|
{
|
|
if ( self.adspressedtime != 9999999 )
|
|
thread audio_cortex_interrupt_charge();
|
|
|
|
self.adsallowed = 1;
|
|
self.adspressedtime = 9999999;
|
|
|
|
if ( var_1 != -1 )
|
|
{
|
|
self setclientomnvar( "ui_custom_reticle_state", -1 );
|
|
var_1 = -1;
|
|
}
|
|
|
|
wait 0.05;
|
|
continue;
|
|
}
|
|
|
|
var_2 = 0;
|
|
|
|
if ( self adsbuttonpressed() && self.adsallowed && !self meleebuttonpressed() )
|
|
{
|
|
var_3 = gettime();
|
|
|
|
if ( !self.adspressed )
|
|
{
|
|
if ( maps\mp\alien\_utility::is_true( self.cortex_weapon_ammo_full ) )
|
|
{
|
|
self playlocalsound( "weap_cortex_chrg_plr" );
|
|
self.adspressed = 1;
|
|
self.adspressedtime = var_3;
|
|
}
|
|
else
|
|
{
|
|
self.adspressed = 0;
|
|
self.adspressedtime = 9999999;
|
|
var_0 = 0;
|
|
self playlocalsound( "weap_cortex_no_chrg_plr" );
|
|
self allowads( 0 );
|
|
self.adsallowed = 0;
|
|
thread allow_ads_reset( 0.25 );
|
|
}
|
|
|
|
var_0 = 0;
|
|
}
|
|
|
|
var_4 = var_3 - self.adspressedtime;
|
|
var_5 = 350.0;
|
|
|
|
for ( var_6 = 1; var_6 <= 4; var_6++ )
|
|
{
|
|
if ( var_4 >= var_6 * var_5 )
|
|
var_2++;
|
|
}
|
|
|
|
if ( var_4 > 1400 )
|
|
{
|
|
if ( !var_0 )
|
|
var_0 = 1;
|
|
else if ( var_4 > 1400 )
|
|
{
|
|
fire_large_cortex_blast();
|
|
wait 0.5;
|
|
thread allow_ads_reset();
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if ( self.adspressedtime != 9999999 && self.adsallowed )
|
|
{
|
|
thread audio_cortex_interrupt_charge();
|
|
self.adsallowed = 0;
|
|
self allowads( 0 );
|
|
|
|
if ( self meleebuttonpressed() )
|
|
thread allow_ads_reset();
|
|
else
|
|
thread allow_ads_reset( 0.25 );
|
|
}
|
|
|
|
self.adspressed = 0;
|
|
var_0 = 0;
|
|
self.adspressedtime = 9999999;
|
|
}
|
|
|
|
if ( var_2 != var_1 )
|
|
{
|
|
self setclientomnvar( "ui_custom_reticle_state", var_2 );
|
|
var_1 = var_2;
|
|
}
|
|
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
audio_cortex_interrupt_charge()
|
|
{
|
|
self playlocalsound( "weap_cortex_chrg_interrupt_plr" );
|
|
wait 0.15;
|
|
self stoplocalsound( "weap_cortex_chrg_plr" );
|
|
}
|
|
|
|
fire_large_cortex_blast()
|
|
{
|
|
var_0 = 10;
|
|
|
|
if ( self _meth_842C( "nerf_min_ammo" ) )
|
|
var_0 = 5;
|
|
|
|
if ( self getcurrentweapon() != "iw6_aliendlc41_mp" || self isusingturret() || maps\mp\_utility::isusingremote() || isdefined( self.throwinggrenade ) || maps\mp\alien\_utility::is_true( self.is_grabbed ) || self getcurrentweaponclipammo() != var_0 )
|
|
{
|
|
if ( self.adspressedtime != 9999999 )
|
|
self stoplocalsound( "weap_cortex_chrg_plr" );
|
|
|
|
self.adspressed = 0;
|
|
self.adspressedtime = 9999999;
|
|
self allowads( 0 );
|
|
self.adsallowed = 0;
|
|
return;
|
|
}
|
|
|
|
foreach ( var_2 in level.players )
|
|
{
|
|
if ( var_2 == self )
|
|
{
|
|
self playlocalsound( "weap_cortex_fire_lg_plr" );
|
|
continue;
|
|
}
|
|
|
|
self playsoundtoplayer( "weap_cortex_fire_lg_npc", var_2 );
|
|
}
|
|
|
|
wait 0.05;
|
|
self.adsallowed = 0;
|
|
self allowads( 0 );
|
|
thread allow_ads_reset();
|
|
self.cortex_weapon_ammo_full = 0;
|
|
self.gun_chargeable = 0;
|
|
self setweaponammoclip( "iw6_aliendlc41_mp", 0 );
|
|
self setweaponammostock( "iw6_aliendlc41_mp", 0 );
|
|
var_4 = anglestoforward( self getplayerangles() );
|
|
var_5 = self geteye();
|
|
var_6 = var_5 + var_4 * 1000;
|
|
earthquake( 0.5, 1, self.origin + ( 0, 0, 30 ), 64 );
|
|
self playrumbleonentity( "artillery_rumble" );
|
|
var_7 = magicbullet( "iw6_aliendlc42_mp", var_5, var_6, self );
|
|
|
|
if ( !isdefined( var_7 ) )
|
|
return;
|
|
|
|
self notify( "nx1_large_fire" );
|
|
thread cortex_gun_explode( var_7 );
|
|
thread detect_ancestor_hit( var_7 );
|
|
}
|
|
|
|
allow_ads_reset( var_0 )
|
|
{
|
|
if ( !isdefined( var_0 ) )
|
|
var_0 = 0.75;
|
|
|
|
common_scripts\utility::waittill_any_timeout( var_0, "weapon_switch_started", "weapon_change", "cortex_launcher_full" );
|
|
self allowads( 1 );
|
|
self.adsallowed = 1;
|
|
}
|
|
|
|
cortex_gun_shoot( var_0, var_1 )
|
|
{
|
|
level endon( "game_ended" );
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
var_2 = gettime();
|
|
self.cortex_last_shot_time = var_2;
|
|
self.adspressed = 0;
|
|
self.adspressedtime = 9999999;
|
|
self.cortex_weapon_ammo_full = 0;
|
|
self.gun_chargeable = 0;
|
|
}
|
|
|
|
detect_ancestor_hit( var_0 )
|
|
{
|
|
level endon( "game_ended" );
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
var_0 endon( "death" );
|
|
var_1 = 6400;
|
|
wait 0.1;
|
|
|
|
for (;;)
|
|
{
|
|
var_2 = common_scripts\utility::array_combine( level.active_ancestors, maps\mp\alien\_spawnlogic::get_alive_agents() );
|
|
|
|
foreach ( var_4 in var_2 )
|
|
{
|
|
var_5 = var_4.origin + ( 0, 0, 10 );
|
|
|
|
if ( isdefined( var_4.alien_type ) && var_4.alien_type == "ancestor" )
|
|
{
|
|
var_5 = var_4.origin + ( 0, 0, 80 );
|
|
var_6 = abs( var_0.origin[2] - var_5[2] );
|
|
|
|
if ( distance2dsquared( var_0.origin, var_5 ) <= var_1 && var_6 < 125 )
|
|
{
|
|
playsoundatpos( var_0.origin, "weap_cortex_impact_lg" );
|
|
playfx( level._effect["nx1_explode"], var_0.origin, anglestoforward( var_0.angles ), anglestoup( var_0.angles ) );
|
|
var_4 dodamage( 2000, var_0.origin, self, var_0, "MOD_PROJECTILE" );
|
|
radiusdamage( var_0.origin, 250, 3000, 1500, self, "MOD_PROJECTILE_SPLASH", "iw6_aliendlc42_mp" );
|
|
var_0 notify( "explode", var_0.origin );
|
|
var_0 delete();
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if ( isdefined( var_4.alien_type ) )
|
|
{
|
|
if ( distancesquared( var_0.origin, var_5 ) <= var_1 )
|
|
{
|
|
playsoundatpos( var_0.origin, "weap_cortex_impact_lg" );
|
|
playfx( level._effect["nx1_explode"], var_0.origin, anglestoforward( var_0.angles ), anglestoup( var_0.angles ) );
|
|
var_4 dodamage( 2000, var_0.origin, self, var_0, "MOD_PROJECTILE" );
|
|
radiusdamage( var_0.origin, 250, 3000, 1500, self, "MOD_PROJECTILE_SPLASH", "iw6_aliendlc42_mp" );
|
|
var_0 notify( "explode", var_0.origin );
|
|
var_0 delete();
|
|
}
|
|
}
|
|
}
|
|
|
|
wait 0.2;
|
|
}
|
|
}
|
|
|
|
cortex_gun_ammo_handler()
|
|
{
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
level endon( "game_ended" );
|
|
var_0 = "iw6_aliendlc41_mp";
|
|
self.cortex_last_shot_time = 0;
|
|
self setweaponammostock( var_0, 0 );
|
|
var_1 = 5;
|
|
var_2 = 1;
|
|
var_3 = 10;
|
|
|
|
if ( self _meth_842C( "nerf_min_ammo" ) )
|
|
{
|
|
var_2 = 2;
|
|
var_1 = 7.5;
|
|
var_3 = 5;
|
|
}
|
|
|
|
for (;;)
|
|
{
|
|
if ( gettime() - self.cortex_last_shot_time < var_1 * 1000 )
|
|
{
|
|
wait 0.1;
|
|
continue;
|
|
}
|
|
|
|
var_4 = self getweaponammoclip( var_0 );
|
|
|
|
if ( var_4 < var_3 )
|
|
{
|
|
self setweaponammoclip( var_0, var_4 + 1 );
|
|
self setweaponammostock( var_0, 0 );
|
|
}
|
|
|
|
wait( var_2 );
|
|
}
|
|
}
|
|
|
|
cortex_gun_attractor( var_0 )
|
|
{
|
|
level endon( "game_ended" );
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
var_0 endon( "death" );
|
|
playfxontag( level._effect["electric_blast"], var_0, "TAG_ORIGIN" );
|
|
var_0.attractor = missile_createattractorent( var_0, 9000, 1200 );
|
|
wait 1;
|
|
var_1 = 202500;
|
|
|
|
for (;;)
|
|
{
|
|
var_2 = maps\mp\alien\_spawnlogic::get_alive_agents();
|
|
|
|
foreach ( var_4 in var_2 )
|
|
{
|
|
if ( !isdefined( var_4.singularity_active ) && distancesquared( var_4.origin, var_0.origin ) < var_1 )
|
|
{
|
|
var_4.singularity_active = 1;
|
|
thread singularity_attract( var_4, var_0 );
|
|
thread singularity_kill_near_center( var_4, var_0 );
|
|
}
|
|
}
|
|
|
|
wait 0.2;
|
|
}
|
|
}
|
|
|
|
singularity_attract( var_0, var_1 )
|
|
{
|
|
level endon( "game_ended" );
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
var_0 endon( "death" );
|
|
var_1 endon( "death" );
|
|
var_2 = ( 0, 0, -800 );
|
|
var_0 thread maps\mp\alien\_alien_fx::fx_stun_damage();
|
|
|
|
for (;;)
|
|
{
|
|
var_3 = trajectorycalculateinitialvelocity( var_0.origin, var_1.origin, var_2, 0.5 );
|
|
var_0 setvelocity( var_3 );
|
|
var_4 = ( randomintrange( 0, 360 ), randomintrange( 0, 360 ), randomintrange( 0, 360 ) );
|
|
var_0 scragentsetorientmode( "face angle abs", var_4 );
|
|
wait 0.5;
|
|
}
|
|
}
|
|
|
|
singularity_kill_near_center( var_0, var_1 )
|
|
{
|
|
level endon( "game_ended" );
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
var_0 endon( "death" );
|
|
var_1 endon( "death" );
|
|
var_2 = 1024;
|
|
|
|
for (;;)
|
|
{
|
|
if ( distancesquared( var_0.origin, var_1.origin ) < var_2 )
|
|
var_0 suicide();
|
|
|
|
wait 0.2;
|
|
}
|
|
}
|
|
|
|
cortex_gun_explode( var_0 )
|
|
{
|
|
level endon( "game_ended" );
|
|
self endon( "death" );
|
|
self endon( "disconnect" );
|
|
var_0 waittill( "explode", var_1 );
|
|
earthquake( 0.35, 0.5, var_1, 512 );
|
|
|
|
if ( isdefined( var_0.attractor ) )
|
|
missile_deleteattractor( var_0.attractor );
|
|
|
|
wait 0.6;
|
|
physicsexplosionsphere( var_1 + ( 0, 0, -5 ), 250, 32, 10 );
|
|
}
|
|
|
|
last_grenade_watcher()
|
|
{
|
|
level endon( "game_ended" );
|
|
self endon( "disconnect" );
|
|
self notify( "grenade_watcher_logic" );
|
|
self endon( "grenade_watcher_logic" );
|
|
var_0 = "none";
|
|
var_1 = undefined;
|
|
|
|
for (;;)
|
|
{
|
|
self waittill( "grenade_fire", var_1, var_0 );
|
|
thread grenade_explosion_monitor( var_1, var_0 );
|
|
wait 0.05;
|
|
}
|
|
}
|
|
|
|
grenade_explosion_monitor( var_0, var_1 )
|
|
{
|
|
self endon( "disconnect" );
|
|
var_0 waittill( "death" );
|
|
var_2 = var_0.origin;
|
|
|
|
if ( is_venom_grenade( var_1 ) )
|
|
level thread cloudmonitor( self, var_2, var_1 );
|
|
else if ( var_1 == "iw6_aliendlc43_mp" )
|
|
{
|
|
wait 0.6;
|
|
physicsexplosionsphere( var_2 + ( 0, 0, -5 ), 800, 250, 10 );
|
|
}
|
|
}
|
|
|
|
cloudmonitor( var_0, var_1, var_2 )
|
|
{
|
|
if ( !isdefined( var_1 ) )
|
|
return;
|
|
|
|
var_3 = undefined;
|
|
var_4 = 200;
|
|
var_5 = 150;
|
|
var_6 = 250;
|
|
var_7 = 5;
|
|
var_8 = 5;
|
|
var_9 = 0.5;
|
|
var_10 = 200;
|
|
var_11 = 1000;
|
|
var_12 = 1500;
|
|
|
|
switch ( var_2 )
|
|
{
|
|
case "iw6_aliendlc11li_mp":
|
|
var_3 = spawnfx( level._effect["electric_blast"], var_1 );
|
|
break;
|
|
case "iw6_aliendlc32_mp":
|
|
var_4 = 200;
|
|
var_5 = 150;
|
|
var_6 = 250;
|
|
var_7 = 5;
|
|
var_8 = 5;
|
|
var_3 = spawnfx( level._effect["electric_blast"], var_1 );
|
|
break;
|
|
case "iw6_aliendlc11fi_mp":
|
|
var_3 = spawnfx( level._effect["fire_blast"], var_1 );
|
|
break;
|
|
case "iw6_aliendlc33_mp":
|
|
var_4 = 200;
|
|
var_5 = 150;
|
|
var_6 = 250;
|
|
var_7 = 5;
|
|
var_8 = 5;
|
|
var_3 = spawnfx( level._effect["fire_blast"], var_1 );
|
|
break;
|
|
case "iw6_aliendlc11_mp":
|
|
var_3 = spawnfx( level._effect["corrosive_blast"], var_1 );
|
|
break;
|
|
case "iw6_aliendlc31_mp":
|
|
var_4 = 200;
|
|
var_5 = 150;
|
|
var_6 = 250;
|
|
var_7 = 5;
|
|
var_8 = 5;
|
|
break;
|
|
}
|
|
|
|
var_13 = var_1 - ( 0, 0, var_5 );
|
|
var_14 = var_5 + var_5;
|
|
var_15 = spawn( "trigger_radius", var_13, 1, var_4, var_14 );
|
|
var_15.owner = var_0;
|
|
radiusdamage( var_1, var_10, var_12, var_11, var_0, "MOD_EXPLOSIVE" );
|
|
earthquake( 0.5, 1, var_1, 512 );
|
|
playrumbleonposition( "grenade_rumble", var_1 );
|
|
|
|
if ( isdefined( var_3 ) )
|
|
triggerfx( var_3 );
|
|
|
|
if ( var_2 == "iw6_aliendlc11li_mp" )
|
|
playsoundatpos( var_1, "venom_lightning_expl" );
|
|
|
|
if ( var_2 == "iw6_aliendlc11fi_mp" )
|
|
playsoundatpos( var_1, "venom_fire_expl" );
|
|
|
|
var_16 = 0.0;
|
|
var_17 = 0.25;
|
|
var_18 = 1;
|
|
var_19 = 0;
|
|
wait( var_18 );
|
|
|
|
for ( var_16 = var_16 + var_18; var_16 < var_7; var_16 = var_16 + var_17 )
|
|
{
|
|
var_20 = [];
|
|
|
|
foreach ( var_22 in level.agentarray )
|
|
{
|
|
if ( isdefined( var_22 ) && isalive( var_22 ) && var_22 istouching( var_15 ) && !isdefined( var_22.melting ) )
|
|
{
|
|
if ( var_22.alien_type == "ancestor" && var_22 maps\mp\agents\alien\alien_ancestor\_alien_ancestor::isshieldup() )
|
|
continue;
|
|
|
|
var_20[var_20.size] = var_22;
|
|
}
|
|
}
|
|
|
|
if ( isdefined( level.alive_plants ) )
|
|
{
|
|
foreach ( var_25 in level.alive_plants )
|
|
{
|
|
if ( isdefined( var_25 ) && isdefined( var_25.coll_model ) && var_25.coll_model istouching( var_15 ) )
|
|
var_25.coll_model dodamage( var_6, var_25.origin, var_0, var_0 );
|
|
}
|
|
}
|
|
|
|
foreach ( var_22 in var_20 )
|
|
{
|
|
if ( isdefined( var_22 ) && isalive( var_22 ) )
|
|
{
|
|
var_22 thread cloud_melt_alien( var_6, var_0, var_8, var_15, var_9, var_2 );
|
|
common_scripts\utility::waitframe();
|
|
}
|
|
}
|
|
|
|
wait( var_17 );
|
|
}
|
|
|
|
var_15 delete();
|
|
|
|
if ( isdefined( var_3 ) )
|
|
var_3 delete();
|
|
}
|
|
|
|
alien_corrosive_on()
|
|
{
|
|
if ( !isdefined( self.is_corrosive ) )
|
|
self.is_corrosive = 0;
|
|
|
|
self.is_corrosive++;
|
|
|
|
if ( self.is_corrosive == 1 )
|
|
self setscriptablepartstate( "body", "corrosive" );
|
|
}
|
|
|
|
alien_corrosive_off()
|
|
{
|
|
self.is_corrosive--;
|
|
|
|
if ( self.is_corrosive > 0 )
|
|
return;
|
|
|
|
self.is_corrosive = undefined;
|
|
self notify( "corrosive_off" );
|
|
self setscriptablepartstate( "body", "normal" );
|
|
}
|
|
|
|
cloud_melt_alien( var_0, var_1, var_2, var_3, var_4, var_5 )
|
|
{
|
|
self notify( "stasis_cloud_burning" );
|
|
self endon( "stasis_cloud_burning" );
|
|
self endon( "death" );
|
|
|
|
if ( !isdefined( var_2 ) )
|
|
var_2 = 6;
|
|
|
|
self.melting = 1;
|
|
|
|
switch ( var_5 )
|
|
{
|
|
case "iw6_aliendlc11_mp":
|
|
case "iw6_aliendlc31_mp":
|
|
if ( !isdefined( level.spider ) || isdefined( level.spider ) && self != level.spider )
|
|
alien_corrosive_on();
|
|
|
|
break;
|
|
case "iw6_aliendlc11fi_mp":
|
|
case "iw6_aliendlc33_mp":
|
|
thread maps\mp\alien\_damage::catch_alien_on_fire( var_1 );
|
|
break;
|
|
case "iw6_aliendlc11li_mp":
|
|
case "iw6_aliendlc32_mp":
|
|
thread maps\mp\alien\_alien_fx::fx_stun_damage();
|
|
break;
|
|
}
|
|
|
|
var_6 = 0;
|
|
|
|
while ( var_6 < var_2 )
|
|
{
|
|
if ( isdefined( var_3 ) )
|
|
self dodamage( var_0, self.origin, var_1, var_1, "MOD_UNKNOWN" );
|
|
else
|
|
self dodamage( var_0, self.origin, var_1 );
|
|
|
|
var_6 = var_6 + var_4;
|
|
wait( var_4 );
|
|
}
|
|
|
|
if ( isdefined( self.is_corrosive ) )
|
|
alien_corrosive_off();
|
|
|
|
self.melting = undefined;
|
|
}
|
|
|
|
is_venom_grenade( var_0 )
|
|
{
|
|
switch ( var_0 )
|
|
{
|
|
case "iw6_aliendlc33_mp":
|
|
case "iw6_aliendlc32_mp":
|
|
case "iw6_aliendlc31_mp":
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|