mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-10 02:37:59 -05:00
62 lines
1.9 KiB
Plaintext
62 lines
1.9 KiB
Plaintext
//includes match cerberus output
|
|
#include maps/mp/killstreaks/_dogs;
|
|
#include maps/mp/killstreaks/_airsupport;
|
|
#include common_scripts/utility;
|
|
#include maps/mp/_utility;
|
|
|
|
init() //checked matches cerberus output
|
|
{
|
|
level.willypetedamageradius = 300;
|
|
level.willypetedamageheight = 128;
|
|
level.sound_smoke_start = "wpn_smoke_hiss_start";
|
|
level.sound_smoke_loop = "wpn_smoke_hiss_lp";
|
|
level.sound_smoke_stop = "wpn_smoke_hiss_end";
|
|
level.smokesoundduration = 8;
|
|
level.fx_smokegrenade_single = "smoke_center_mp";
|
|
precacheitem( level.fx_smokegrenade_single );
|
|
}
|
|
|
|
watchsmokegrenadedetonation( owner ) //checked matches cerberus output
|
|
{
|
|
owner addweaponstat( "willy_pete_mp", "used", 1 );
|
|
self waittill( "explode", position, surface );
|
|
if ( !isDefined( level.water_duds ) || level.water_duds == 1 )
|
|
{
|
|
if ( isDefined( surface ) && surface == "water" )
|
|
{
|
|
return;
|
|
}
|
|
}
|
|
onefoot = vectorScale( ( 0, 0, 1 ), 12 );
|
|
startpos = position + onefoot;
|
|
ent = spawntimedfx( level.fx_smokegrenade_single, position, ( 0, 0, 1 ), 12 );
|
|
ent thread blocksight();
|
|
if ( isDefined( owner ) )
|
|
{
|
|
owner.smokegrenadetime = getTime();
|
|
owner.smokegrenadeposition = position;
|
|
}
|
|
thread playsmokesound( position, level.smokesoundduration, level.sound_smoke_start, level.sound_smoke_stop, level.sound_smoke_loop );
|
|
damageeffectarea( owner, startpos, level.willypetedamageradius, level.willypetedamageheight, undefined );
|
|
}
|
|
|
|
damageeffectarea( owner, position, radius, height, killcament ) //checked matches cerberus output
|
|
{
|
|
effectarea = spawn( "trigger_radius", position, 0, radius, height );
|
|
owner thread maps/mp/killstreaks/_dogs::flash_dogs( effectarea );
|
|
effectarea delete();
|
|
}
|
|
|
|
blocksight() //checked matches cerberus output
|
|
{
|
|
self endon( "death" );
|
|
radius = 64;
|
|
fxblocksight( self, radius );
|
|
for ( ;; )
|
|
{
|
|
wait 0.75;
|
|
radius = clamp( radius * 1.5, 10, 150 );
|
|
fxblocksight( self, radius );
|
|
}
|
|
}
|