Bump r3519
This commit is contained in:
parent
37d47570e5
commit
9fcebc50fd
Binary file not shown.
Binary file not shown.
@ -1 +1 @@
|
||||
{"revision":3321,"launchTarget":"bin/plutonium-launcher-win32.exe"}
|
||||
{"revision":3519,"launchTarget":"bin/plutonium-launcher-win32.exe"}
|
BIN
plutonium.exe
BIN
plutonium.exe
Binary file not shown.
BIN
storage/demonware/18397/pub/lsssk2
Normal file
BIN
storage/demonware/18397/pub/lsssk2
Normal file
Binary file not shown.
2232
storage/iw5/maps/mp/killstreaks/_killstreaks.gsc
Normal file
2232
storage/iw5/maps/mp/killstreaks/_killstreaks.gsc
Normal file
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
||||
// IW5 PC GSC
|
||||
// Decompiled by https://github.com/xensik/gsc-tool
|
||||
// IW5 GSC SOURCE
|
||||
// Dumped by https://github.com/xensik/gsc-tool
|
||||
|
||||
init()
|
||||
{
|
||||
@ -8,79 +8,79 @@ init()
|
||||
precachestring( &"MP_TACTICAL_NUKE_CALLED" );
|
||||
precachestring( &"MP_FRIENDLY_TACTICAL_NUKE" );
|
||||
precachestring( &"MP_TACTICAL_NUKE" );
|
||||
level.nukeVisionSet = "aftermath";
|
||||
level.nukevisionset = "aftermath";
|
||||
level._effect["nuke_player"] = loadfx( "explosions/player_death_nuke" );
|
||||
level._effect["nuke_flash"] = loadfx( "explosions/player_death_nuke_flash" );
|
||||
level._effect["nuke_aftermath"] = loadfx( "dust/nuke_aftermath_mp" );
|
||||
game["strings"]["nuclear_strike"] = &"MP_TACTICAL_NUKE";
|
||||
level.killstreakFuncs["nuke"] = ::tryUseNuke;
|
||||
level.killstreakfuncs["nuke"] = ::tryusenuke;
|
||||
setdvarifuninitialized( "scr_nukeTimer", 10 );
|
||||
setdvarifuninitialized( "scr_nukeCancelMode", 0 );
|
||||
level.nukeTimer = getdvarint( "scr_nukeTimer" );
|
||||
level.cancelMode = getdvarint( "scr_nukeCancelMode" );
|
||||
level.teamNukeEMPed["allies"] = 0;
|
||||
level.teamNukeEMPed["axis"] = 0;
|
||||
level.nukeEmpTimeout = 60.0;
|
||||
level.nukeEmpTimeRemaining = int( level.nukeEmpTimeout );
|
||||
level.nukeInfo = spawnstruct();
|
||||
level.nukeInfo._unk_field_ID54 = 2;
|
||||
level.nukeDetonated = undefined;
|
||||
level thread nuke_EMPTeamTracker();
|
||||
level thread onPlayerConnect();
|
||||
level.nuketimer = getdvarint( "scr_nukeTimer" );
|
||||
level.cancelmode = getdvarint( "scr_nukeCancelMode" );
|
||||
level.teamnukeemped["allies"] = 0;
|
||||
level.teamnukeemped["axis"] = 0;
|
||||
level.nukeemptimeout = 60.0;
|
||||
level.nukeemptimeremaining = int( level.nukeemptimeout );
|
||||
level.nukeinfo = spawnstruct();
|
||||
level.nukeinfo.xpscalar = 2;
|
||||
level.nukedetonated = undefined;
|
||||
level thread nuke_empteamtracker();
|
||||
level thread onplayerconnect();
|
||||
}
|
||||
|
||||
tryUseNuke( var_0, var_1 )
|
||||
tryusenuke( var_0, var_1 )
|
||||
{
|
||||
if ( isdefined( level.nukeIncoming ) )
|
||||
if ( isdefined( level.nukeincoming ) )
|
||||
{
|
||||
self iprintlnbold( &"MP_NUKE_ALREADY_INBOUND" );
|
||||
return 0;
|
||||
}
|
||||
|
||||
if ( maps\mp\_utility::isUsingRemote() && ( !isdefined( level.gtnw ) || !level.gtnw ) )
|
||||
if ( maps\mp\_utility::isusingremote() && ( !isdefined( level.gtnw ) || !level.gtnw ) )
|
||||
return 0;
|
||||
|
||||
if ( !isdefined( var_1 ) )
|
||||
var_1 = 1;
|
||||
|
||||
thread doNuke( var_1 );
|
||||
thread donuke( var_1 );
|
||||
self notify( "used_nuke" );
|
||||
maps\mp\_matchdata::logKillstreakEvent( "nuke", self.origin );
|
||||
maps\mp\_matchdata::logkillstreakevent( "nuke", self.origin );
|
||||
return 1;
|
||||
}
|
||||
|
||||
delaythread_nuke( var_0, var_1 )
|
||||
{
|
||||
level endon( "nuke_cancelled" );
|
||||
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( var_0 );
|
||||
maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause( var_0 );
|
||||
thread [[ var_1 ]]();
|
||||
}
|
||||
|
||||
doNuke( var_0 )
|
||||
donuke( var_0 )
|
||||
{
|
||||
level endon( "nuke_cancelled" );
|
||||
level.nukeInfo.player = self;
|
||||
level.nukeInfo.team = self.pers["team"];
|
||||
level.nukeIncoming = 1;
|
||||
level.nukeinfo.player = self;
|
||||
level.nukeinfo.team = self.pers["team"];
|
||||
level.nukeincoming = 1;
|
||||
setdvar( "ui_bomb_timer", 4 );
|
||||
|
||||
if ( level.teamBased )
|
||||
thread maps\mp\_utility::teamPlayerCardSplash( "used_nuke", self, self.team );
|
||||
else if ( !level.hardcoreMode )
|
||||
if ( level.teambased )
|
||||
thread maps\mp\_utility::teamplayercardsplash( "used_nuke", self, self.team );
|
||||
else if ( !level.hardcoremode )
|
||||
self iprintlnbold( &"MP_FRIENDLY_TACTICAL_NUKE" );
|
||||
|
||||
level thread delaythread_nuke( level.nukeTimer - 3.3, ::nukeSoundIncoming );
|
||||
level thread delaythread_nuke( level.nukeTimer, ::nukeSoundExplosion );
|
||||
level thread delaythread_nuke( level.nukeTimer, ::nukeSlowMo );
|
||||
level thread delaythread_nuke( level.nukeTimer, ::nukeEffects );
|
||||
level thread delaythread_nuke( level.nukeTimer + 0.25, ::nukeVision );
|
||||
level thread delaythread_nuke( level.nukeTimer + 1.5, ::nukeDeath );
|
||||
level thread delaythread_nuke( level.nukeTimer + 1.5, ::nukeEarthquake );
|
||||
level thread nukeAftermathEffect();
|
||||
level thread delaythread_nuke( level.nuketimer - 3.3, ::nukesoundincoming );
|
||||
level thread delaythread_nuke( level.nuketimer, ::nukesoundexplosion );
|
||||
level thread delaythread_nuke( level.nuketimer, ::nukeslowmo );
|
||||
level thread delaythread_nuke( level.nuketimer, ::nukeeffects );
|
||||
level thread delaythread_nuke( level.nuketimer + 0.25, ::nukevision );
|
||||
level thread delaythread_nuke( level.nuketimer + 1.5, ::nukedeath );
|
||||
level thread delaythread_nuke( level.nuketimer + 1.5, ::nukeearthquake );
|
||||
level thread nukeaftermatheffect();
|
||||
level thread update_ui_timers();
|
||||
|
||||
if ( level.cancelMode && var_0 )
|
||||
level thread cancelNukeOnDeath( self );
|
||||
if ( level.cancelmode && var_0 )
|
||||
level thread cancelnukeondeath( self );
|
||||
|
||||
if ( !isdefined( level.nuke_clockobject ) )
|
||||
{
|
||||
@ -94,26 +94,26 @@ doNuke( var_0 )
|
||||
level.nuke_soundobject hide();
|
||||
}
|
||||
|
||||
for ( var_1 = level.nukeTimer; var_1 > 0; var_1-- )
|
||||
for ( var_1 = level.nuketimer; var_1 > 0; var_1-- )
|
||||
{
|
||||
level.nuke_clockobject playsound( "ui_mp_nukebomb_timer" );
|
||||
wait 1.0;
|
||||
}
|
||||
}
|
||||
|
||||
cancelNukeOnDeath( var_0 )
|
||||
cancelnukeondeath( var_0 )
|
||||
{
|
||||
var_0 common_scripts\utility::waittill_any( "death", "disconnect" );
|
||||
|
||||
if ( isdefined( var_0 ) && level.cancelMode == 2 )
|
||||
var_0 thread maps\mp\killstreaks\_emp::EMP_Use( 0, 0 );
|
||||
if ( isdefined( var_0 ) && level.cancelmode == 2 )
|
||||
var_0 thread maps\mp\killstreaks\_emp::emp_use( 0, 0 );
|
||||
|
||||
setdvar( "ui_bomb_timer", 0 );
|
||||
level.nukeIncoming = undefined;
|
||||
level.nukeincoming = undefined;
|
||||
level notify( "nuke_cancelled" );
|
||||
}
|
||||
|
||||
nukeSoundIncoming()
|
||||
nukesoundincoming()
|
||||
{
|
||||
level endon( "nuke_cancelled" );
|
||||
|
||||
@ -121,7 +121,7 @@ nukeSoundIncoming()
|
||||
level.nuke_soundobject playsound( "nuke_incoming" );
|
||||
}
|
||||
|
||||
nukeSoundExplosion()
|
||||
nukesoundexplosion()
|
||||
{
|
||||
level endon( "nuke_cancelled" );
|
||||
|
||||
@ -132,11 +132,11 @@ nukeSoundExplosion()
|
||||
}
|
||||
}
|
||||
|
||||
nukeEffects()
|
||||
nukeeffects()
|
||||
{
|
||||
level endon( "nuke_cancelled" );
|
||||
setdvar( "ui_bomb_timer", 0 );
|
||||
level.nukeDetonated = 1;
|
||||
level.nukedetonated = 1;
|
||||
|
||||
foreach ( var_1 in level.players )
|
||||
{
|
||||
@ -147,11 +147,11 @@ nukeEffects()
|
||||
var_4 = spawn( "script_model", var_1.origin + var_2 * var_3 );
|
||||
var_4 setmodel( "tag_origin" );
|
||||
var_4.angles = ( 0, var_1.angles[1] + 180, 90 );
|
||||
var_4 thread nukeEffect( var_1 );
|
||||
var_4 thread nukeeffect( var_1 );
|
||||
}
|
||||
}
|
||||
|
||||
nukeEffect( var_0 )
|
||||
nukeeffect( var_0 )
|
||||
{
|
||||
level endon( "nuke_cancelled" );
|
||||
var_0 endon( "disconnect" );
|
||||
@ -159,7 +159,7 @@ nukeEffect( var_0 )
|
||||
playfxontagforclients( level._effect["nuke_flash"], self, "tag_origin", var_0 );
|
||||
}
|
||||
|
||||
nukeAftermathEffect()
|
||||
nukeaftermatheffect()
|
||||
{
|
||||
level endon( "nuke_cancelled" );
|
||||
level waittill( "spawning_intermission" );
|
||||
@ -170,7 +170,7 @@ nukeAftermathEffect()
|
||||
playfx( level._effect["nuke_aftermath"], var_0.origin, var_1, var_2 );
|
||||
}
|
||||
|
||||
nukeSlowMo()
|
||||
nukeslowmo()
|
||||
{
|
||||
level endon( "nuke_cancelled" );
|
||||
setslowmotion( 1.0, 0.25, 0.5 );
|
||||
@ -178,79 +178,79 @@ nukeSlowMo()
|
||||
setslowmotion( 0.25, 1, 2.0 );
|
||||
}
|
||||
|
||||
nukeVision()
|
||||
nukevision()
|
||||
{
|
||||
level endon( "nuke_cancelled" );
|
||||
level.nukeVisionInProgress = 1;
|
||||
level.nukevisioninprogress = 1;
|
||||
visionsetnaked( "mpnuke", 3 );
|
||||
level waittill( "nuke_death" );
|
||||
visionsetnaked( level.nukeVisionSet, 5 );
|
||||
visionsetpain( level.nukeVisionSet );
|
||||
visionsetnaked( level.nukevisionset, 5 );
|
||||
visionsetpain( level.nukevisionset );
|
||||
}
|
||||
|
||||
nukeDeath()
|
||||
nukedeath()
|
||||
{
|
||||
level endon( "nuke_cancelled" );
|
||||
level notify( "nuke_death" );
|
||||
maps\mp\gametypes\_hostmigration::waitTillHostMigrationDone();
|
||||
maps\mp\gametypes\_hostmigration::waittillhostmigrationdone();
|
||||
ambientstop( 1 );
|
||||
|
||||
foreach ( var_1 in level.players )
|
||||
{
|
||||
if ( level.teamBased )
|
||||
if ( level.teambased )
|
||||
{
|
||||
if ( isdefined( level.nukeInfo.team ) && var_1.team == level.nukeInfo.team )
|
||||
if ( isdefined( level.nukeinfo.team ) && var_1.team == level.nukeinfo.team )
|
||||
continue;
|
||||
}
|
||||
else if ( isdefined( level.nukeInfo.player ) && var_1 == level.nukeInfo.player )
|
||||
else if ( isdefined( level.nukeinfo.player ) && var_1 == level.nukeinfo.player )
|
||||
continue;
|
||||
|
||||
var_1.nuked = 1;
|
||||
|
||||
if ( isalive( var_1 ) )
|
||||
var_1 thread maps\mp\gametypes\_damage::finishPlayerDamageWrapper( level.nukeInfo.player, level.nukeInfo.player, 999999, 0, "MOD_EXPLOSIVE", "nuke_mp", var_1.origin, var_1.origin, "none", 0, 0 );
|
||||
var_1 thread maps\mp\gametypes\_damage::finishplayerdamagewrapper( level.nukeinfo.player, level.nukeinfo.player, 999999, 0, "MOD_EXPLOSIVE", "nuke_mp", var_1.origin, var_1.origin, "none", 0, 0 );
|
||||
}
|
||||
|
||||
level thread nuke_EMPJam();
|
||||
level.nukeIncoming = undefined;
|
||||
level thread nuke_empjam();
|
||||
level.nukeincoming = undefined;
|
||||
}
|
||||
|
||||
nukeEarthquake()
|
||||
nukeearthquake()
|
||||
{
|
||||
level endon( "nuke_cancelled" );
|
||||
level waittill( "nuke_death" );
|
||||
}
|
||||
|
||||
nuke_EMPJam()
|
||||
nuke_empjam()
|
||||
{
|
||||
level endon( "game_ended" );
|
||||
level maps\mp\killstreaks\_emp::destroyActiveVehicles( level.nukeInfo.player, maps\mp\_utility::getOtherTeam( level.nukeInfo.team ) );
|
||||
level maps\mp\killstreaks\_emp::destroyactivevehicles( level.nukeinfo.player, maps\mp\_utility::getotherteam( level.nukeinfo.team ) );
|
||||
level notify( "nuke_EMPJam" );
|
||||
level endon( "nuke_EMPJam" );
|
||||
|
||||
if ( level.teamBased )
|
||||
level.teamNukeEMPed[maps\mp\_utility::getOtherTeam( level.nukeInfo.team )] = 1;
|
||||
if ( level.teambased )
|
||||
level.teamnukeemped[maps\mp\_utility::getotherteam( level.nukeinfo.team )] = 1;
|
||||
else
|
||||
{
|
||||
level.teamNukeEMPed[level.nukeInfo.team] = 1;
|
||||
level.teamNukeEMPed[maps\mp\_utility::getOtherTeam( level.nukeInfo.team )] = 1;
|
||||
level.teamnukeemped[level.nukeinfo.team] = 1;
|
||||
level.teamnukeemped[maps\mp\_utility::getotherteam( level.nukeinfo.team )] = 1;
|
||||
}
|
||||
|
||||
level notify( "nuke_emp_update" );
|
||||
level thread keepNukeEMPTimeRemaining();
|
||||
maps\mp\gametypes\_hostmigration::waitLongDurationWithHostMigrationPause( level.nukeEmpTimeout );
|
||||
level thread keepnukeemptimeremaining();
|
||||
maps\mp\gametypes\_hostmigration::waitlongdurationwithhostmigrationpause( level.nukeemptimeout );
|
||||
|
||||
if ( level.teamBased )
|
||||
level.teamNukeEMPed[maps\mp\_utility::getOtherTeam( level.nukeInfo.team )] = 0;
|
||||
if ( level.teambased )
|
||||
level.teamnukeemped[maps\mp\_utility::getotherteam( level.nukeinfo.team )] = 0;
|
||||
else
|
||||
{
|
||||
level.teamNukeEMPed[level.nukeInfo.team] = 0;
|
||||
level.teamNukeEMPed[maps\mp\_utility::getOtherTeam( level.nukeInfo.team )] = 0;
|
||||
level.teamnukeemped[level.nukeinfo.team] = 0;
|
||||
level.teamnukeemped[maps\mp\_utility::getotherteam( level.nukeinfo.team )] = 0;
|
||||
}
|
||||
|
||||
foreach ( var_1 in level.players )
|
||||
{
|
||||
if ( level.teamBased && var_1.team == level.nukeInfo.team )
|
||||
if ( level.teambased && var_1.team == level.nukeinfo.team )
|
||||
continue;
|
||||
|
||||
var_1.nuked = undefined;
|
||||
@ -260,17 +260,17 @@ nuke_EMPJam()
|
||||
level notify( "nuke_emp_ended" );
|
||||
}
|
||||
|
||||
keepNukeEMPTimeRemaining()
|
||||
keepnukeemptimeremaining()
|
||||
{
|
||||
level notify( "keepNukeEMPTimeRemaining" );
|
||||
level endon( "keepNukeEMPTimeRemaining" );
|
||||
level endon( "nuke_emp_ended" );
|
||||
|
||||
for ( level.nukeEmpTimeRemaining = int( level.nukeEmpTimeout ); level.nukeEmpTimeRemaining; level.nukeEmpTimeRemaining-- )
|
||||
for ( level.nukeemptimeremaining = int( level.nukeemptimeout ); level.nukeemptimeremaining; level.nukeemptimeremaining-- )
|
||||
wait 1.0;
|
||||
}
|
||||
|
||||
nuke_EMPTeamTracker()
|
||||
nuke_empteamtracker()
|
||||
{
|
||||
level endon( "game_ended" );
|
||||
|
||||
@ -278,11 +278,10 @@ nuke_EMPTeamTracker()
|
||||
{
|
||||
level common_scripts\utility::waittill_either( "joined_team", "nuke_emp_update" );
|
||||
|
||||
foreach ( player in level.players )
|
||||
foreach ( player in level.players )
|
||||
{
|
||||
if ( player.team == "spectator" )
|
||||
continue;
|
||||
|
||||
if ( level.teamBased )
|
||||
{
|
||||
if ( isdefined( level.nukeInfo.team ) && player.team == level.nukeInfo.team )
|
||||
@ -290,23 +289,22 @@ nuke_EMPTeamTracker()
|
||||
}
|
||||
else if ( isdefined( level.nukeInfo.player ) && player == level.nukeInfo.player )
|
||||
continue;
|
||||
|
||||
shouldJam = level.teamNukeEMPed[player.team] || player maps\mp\_utility::isEMPed();
|
||||
player setEmpJammed(shouldJam);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onPlayerConnect()
|
||||
onplayerconnect()
|
||||
{
|
||||
for (;;)
|
||||
{
|
||||
level waittill( "connected", var_0 );
|
||||
var_0 thread onPlayerSpawned();
|
||||
level waittill( "connected", var_0 );
|
||||
var_0 thread onplayerspawned();
|
||||
}
|
||||
}
|
||||
|
||||
onPlayerSpawned()
|
||||
onplayerspawned()
|
||||
{
|
||||
self endon( "disconnect" );
|
||||
|
||||
@ -329,7 +327,6 @@ onPlayerSpawned()
|
||||
self.nuked = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if ( isdefined( level.nukeDetonated ) )
|
||||
self visionsetnakedforplayer( level.nukeVisionSet, 0 );
|
||||
}
|
||||
@ -341,10 +338,10 @@ update_ui_timers()
|
||||
level endon( "disconnect" );
|
||||
level endon( "nuke_cancelled" );
|
||||
level endon( "nuke_death" );
|
||||
var_0 = level.nukeTimer * 1000 + gettime();
|
||||
var_0 = level.nuketimer * 1000 + gettime();
|
||||
setdvar( "ui_nuke_end_milliseconds", var_0 );
|
||||
level waittill( "host_migration_begin" );
|
||||
var_1 = maps\mp\gametypes\_hostmigration::waitTillHostMigrationDone();
|
||||
var_1 = maps\mp\gametypes\_hostmigration::waittillhostmigrationdone();
|
||||
|
||||
if ( var_1 > 0 )
|
||||
setdvar( "ui_nuke_end_milliseconds", var_0 + var_1 );
|
||||
|
BIN
storage/iw5/zone/plutonium_ui_mp.ff
Normal file
BIN
storage/iw5/zone/plutonium_ui_mp.ff
Normal file
Binary file not shown.
@ -5,7 +5,6 @@ main()
|
||||
{
|
||||
level.callbackActorDamage = ::Callback_ActorDamage;
|
||||
level.callbackActorKilled = ::Callback_ActorKilled;
|
||||
level.callbackActorSpawned = ::Callback_ActorSpawned;
|
||||
}
|
||||
|
||||
init()
|
||||
@ -71,14 +70,6 @@ Callback_ActorKilled( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vD
|
||||
*/
|
||||
}
|
||||
|
||||
Callback_ActorSpawned()
|
||||
{
|
||||
/*
|
||||
PrintConsole( "Callback_ActorSpawned:" );
|
||||
PrintConsole( "self.classname: " + self.classname );
|
||||
*/
|
||||
}
|
||||
|
||||
CodeCallback_ActorDamage( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, iModelIndex, iTimeOffset )
|
||||
{
|
||||
self [[level.callbackActorDamage]]( eInflictor, eAttacker, iDamage, iDFlags, sMeansOfDeath, sWeapon, vPoint, vDir, sHitLoc, iModelIndex, iTimeOffset );
|
||||
@ -88,8 +79,3 @@ CodeCallback_ActorKilled( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon
|
||||
{
|
||||
self [[level.callbackActorKilled]]( eInflictor, eAttacker, iDamage, sMeansOfDeath, sWeapon, vDir, sHitLoc, iTimeOffset );
|
||||
}
|
||||
|
||||
CodeCallback_ActorSpawned()
|
||||
{
|
||||
self [[level.callbackActorSpawned]]();
|
||||
}
|
||||
|
@ -44,22 +44,6 @@ main()
|
||||
|
||||
if ( isDefined( all_players_connected ) )
|
||||
replaceFunc( all_players_connected, ::all_players_connected_func );
|
||||
|
||||
|
||||
// fix monkeybomb ent leak
|
||||
check_point_in_active_zone = getFunction( "maps/_zombiemode_utility", "check_point_in_active_zone" );
|
||||
|
||||
if ( isDefined( check_point_in_active_zone ) )
|
||||
replaceFunc( check_point_in_active_zone, ::check_point_in_active_zone_func );
|
||||
|
||||
// fix riser ent leak
|
||||
do_zombie_rise = getFunction( "maps/_zombiemode_spawner", "do_zombie_rise" );
|
||||
|
||||
if ( isDefined( do_zombie_rise ) )
|
||||
replaceFunc( do_zombie_rise, ::do_zombie_rise_func );
|
||||
|
||||
|
||||
// scripters could 'waittillframeend' in their 'main' to replace these replacefuncs with their own if needed
|
||||
}
|
||||
}
|
||||
|
||||
@ -188,56 +172,6 @@ all_players_connected_func()
|
||||
SetDvar( "all_players_are_connected", "1" );
|
||||
}
|
||||
|
||||
fixRiserEntLeak()
|
||||
{
|
||||
self waittill( "death" );
|
||||
|
||||
if ( isDefined( self.anchor ) )
|
||||
self.anchor delete ();
|
||||
}
|
||||
|
||||
do_zombie_rise_func()
|
||||
{
|
||||
self thread fixRiserEntLeak();
|
||||
|
||||
func = getFunction( "maps/_zombiemode_spawner", "do_zombie_rise" );
|
||||
|
||||
if ( !isDefined( func ) )
|
||||
return;
|
||||
|
||||
disableDetourOnce( func );
|
||||
self [[func]]();
|
||||
}
|
||||
|
||||
check_point_in_active_zone_func( origin )
|
||||
{
|
||||
player_zones = GetEntArray( "player_zone", "script_noteworthy" );
|
||||
|
||||
if ( !isDefined( level.zones ) || !isDefined( player_zones ) )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
scr_org = spawn( "script_origin", origin + ( 0, 0, 40 ) );
|
||||
one_valid_zone = false;
|
||||
|
||||
for ( i = 0; i < player_zones.size; i++ )
|
||||
{
|
||||
if ( scr_org isTouching( player_zones[i] ) )
|
||||
{
|
||||
if ( isDefined( level.zones[player_zones[i].targetname] ) &&
|
||||
isDefined( level.zones[player_zones[i].targetname].is_enabled ) )
|
||||
{
|
||||
one_valid_zone = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
scr_org delete ();
|
||||
|
||||
return one_valid_zone;
|
||||
}
|
||||
|
||||
ammo_dialog_timer_func()
|
||||
{
|
||||
level notify( "ammo_out" );
|
||||
|
Loading…
Reference in New Issue
Block a user