mirror of
https://github.com/JezuzLizard/Recompilable-gscs-for-BO2-zombies-and-multiplayer.git
synced 2025-06-11 19:27:57 -05:00
checked 11 patch_mp mp scripts
checked _acousticsensor.gsc, _ballistic_knife.gsc, _bouncingbetty.gsc, _empgrenade.gsc, _entityheadicons.gsc, _flashgrenades.gsc, _mgturret.gsc, _scrambler.gsc, _sensor_grenade.gsc, _teargrenades.gsc, and _treadfx.gsc.
This commit is contained in:
@ -1,3 +1,4 @@
|
||||
//checked includes match cerberus output
|
||||
#include maps/mp/gametypes/_damagefeedback;
|
||||
#include maps/mp/gametypes/_globallogic_player;
|
||||
#include maps/mp/_utility;
|
||||
@ -8,12 +9,12 @@
|
||||
#include maps/mp/gametypes/_weaponobjects;
|
||||
#include common_scripts/utility;
|
||||
|
||||
init()
|
||||
init() //checked matches cerberus output
|
||||
{
|
||||
level.isplayertrackedfunc = ::isplayertracked;
|
||||
}
|
||||
|
||||
createsensorgrenadewatcher()
|
||||
createsensorgrenadewatcher() //checked matches cerberus output
|
||||
{
|
||||
watcher = self maps/mp/gametypes/_weaponobjects::createuseweaponobjectwatcher( "sensor_grenade", "sensor_grenade_mp", self.team );
|
||||
watcher.headicon = 0;
|
||||
@ -26,7 +27,7 @@ createsensorgrenadewatcher()
|
||||
watcher.enemydestroy = 1;
|
||||
}
|
||||
|
||||
onspawnsensorgrenade( watcher, player )
|
||||
onspawnsensorgrenade( watcher, player ) //checked matches cerberus output
|
||||
{
|
||||
self endon( "death" );
|
||||
self thread maps/mp/gametypes/_weaponobjects::onspawnuseweaponobject( watcher, player );
|
||||
@ -40,7 +41,7 @@ onspawnsensorgrenade( watcher, player )
|
||||
self thread watchforexplode( player );
|
||||
}
|
||||
|
||||
watchforstationary( owner )
|
||||
watchforstationary( owner ) //checked matches cerberus output
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "hacked" );
|
||||
@ -51,7 +52,7 @@ watchforstationary( owner )
|
||||
checkfortracking( self.origin );
|
||||
}
|
||||
|
||||
watchforexplode( owner )
|
||||
watchforexplode( owner ) //checked matches cerberus output
|
||||
{
|
||||
self endon( "hacked" );
|
||||
self endon( "delete" );
|
||||
@ -61,18 +62,15 @@ watchforexplode( owner )
|
||||
checkfortracking( origin + ( 0, 0, 1 ) );
|
||||
}
|
||||
|
||||
checkfortracking( origin )
|
||||
checkfortracking( origin ) //checked changed to match cerberus output
|
||||
{
|
||||
if ( isDefined( self.owner ) == 0 )
|
||||
{
|
||||
return;
|
||||
}
|
||||
players = level.players;
|
||||
_a85 = level.players;
|
||||
_k85 = getFirstArrayKey( _a85 );
|
||||
while ( isDefined( _k85 ) )
|
||||
foreach ( player in level.players )
|
||||
{
|
||||
player = _a85[ _k85 ];
|
||||
if ( player isenemyplayer( self.owner ) )
|
||||
{
|
||||
if ( !player hasperk( "specialty_nomotionsensor" ) )
|
||||
@ -87,11 +85,10 @@ checkfortracking( origin )
|
||||
}
|
||||
}
|
||||
}
|
||||
_k85 = getNextArrayKey( _a85, _k85 );
|
||||
}
|
||||
}
|
||||
|
||||
tracksensorgrenadevictim( victim )
|
||||
tracksensorgrenadevictim( victim ) //checked matches cerberus output
|
||||
{
|
||||
if ( !isDefined( self.sensorgrenadedata ) )
|
||||
{
|
||||
@ -103,7 +100,7 @@ tracksensorgrenadevictim( victim )
|
||||
}
|
||||
}
|
||||
|
||||
isplayertracked( player, time )
|
||||
isplayertracked( player, time ) //checked matches cerberus output
|
||||
{
|
||||
playertracked = 0;
|
||||
if ( isDefined( self.sensorgrenadedata ) && isDefined( self.sensorgrenadedata[ player.clientid ] ) )
|
||||
@ -116,7 +113,7 @@ isplayertracked( player, time )
|
||||
return playertracked;
|
||||
}
|
||||
|
||||
sensorgrenadedestroyed( attacker, weaponname )
|
||||
sensorgrenadedestroyed( attacker, weaponname ) //checked matches cerberus output
|
||||
{
|
||||
from_emp = maps/mp/killstreaks/_emp::isempweapon( weaponname );
|
||||
if ( !from_emp )
|
||||
@ -135,7 +132,7 @@ sensorgrenadedestroyed( attacker, weaponname )
|
||||
self delete();
|
||||
}
|
||||
|
||||
watchsensorgrenadedamage( watcher )
|
||||
watchsensorgrenadedamage( watcher ) //checked changed to match beta dump
|
||||
{
|
||||
self endon( "death" );
|
||||
self endon( "hacked" );
|
||||
@ -145,81 +142,77 @@ watchsensorgrenadedamage( watcher )
|
||||
{
|
||||
self.damagetaken = 0;
|
||||
}
|
||||
for ( ;; )
|
||||
while ( 1 )
|
||||
{
|
||||
while ( 1 )
|
||||
self.maxhealth = 100000;
|
||||
self.health = self.maxhealth;
|
||||
self waittill( "damage", damage, attacker, direction, point, type, tagname, modelname, partname, weaponname, idflags );
|
||||
if ( !isDefined( attacker ) || !isplayer( attacker ) )
|
||||
{
|
||||
self.maxhealth = 100000;
|
||||
self.health = self.maxhealth;
|
||||
self waittill( "damage", damage, attacker, direction, point, type, tagname, modelname, partname, weaponname, idflags );
|
||||
if ( !isDefined( attacker ) || !isplayer( attacker ) )
|
||||
continue;
|
||||
}
|
||||
if ( level.teambased && isplayer( attacker ) )
|
||||
{
|
||||
if ( !level.hardcoremode && self.owner.team == attacker.pers[ "team" ] && self.owner != attacker )
|
||||
{
|
||||
continue;
|
||||
}
|
||||
while ( level.teambased && isplayer( attacker ) )
|
||||
}
|
||||
if ( isDefined( weaponname ) )
|
||||
{
|
||||
switch( weaponname )
|
||||
{
|
||||
while ( !level.hardcoremode && self.owner.team == attacker.pers[ "team" ] && self.owner != attacker )
|
||||
{
|
||||
case "concussion_grenade_mp":
|
||||
case "flash_grenade_mp":
|
||||
if ( watcher.stuntime > 0 )
|
||||
{
|
||||
self thread maps/mp/gametypes/_weaponobjects::stunstart( watcher, watcher.stuntime );
|
||||
}
|
||||
if ( level.teambased && self.owner.team != attacker.team )
|
||||
{
|
||||
if ( maps/mp/gametypes/_globallogic_player::dodamagefeedback( weaponname, attacker ) )
|
||||
{
|
||||
attacker maps/mp/gametypes/_damagefeedback::updatedamagefeedback();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !level.teambased && self.owner != attacker )
|
||||
{
|
||||
if ( maps/mp/gametypes/_globallogic_player::dodamagefeedback( weaponname, attacker ) )
|
||||
{
|
||||
attacker maps/mp/gametypes/_damagefeedback::updatedamagefeedback();
|
||||
}
|
||||
}
|
||||
}
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if ( isDefined( weaponname ) )
|
||||
{
|
||||
switch( weaponname )
|
||||
{
|
||||
case "concussion_grenade_mp":
|
||||
case "flash_grenade_mp":
|
||||
if ( watcher.stuntime > 0 )
|
||||
{
|
||||
self thread maps/mp/gametypes/_weaponobjects::stunstart( watcher, watcher.stuntime );
|
||||
}
|
||||
if ( level.teambased && self.owner.team != attacker.team )
|
||||
{
|
||||
if ( maps/mp/gametypes/_globallogic_player::dodamagefeedback( weaponname, attacker ) )
|
||||
{
|
||||
attacker maps/mp/gametypes/_damagefeedback::updatedamagefeedback();
|
||||
}
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( !level.teambased && self.owner != attacker )
|
||||
{
|
||||
if ( maps/mp/gametypes/_globallogic_player::dodamagefeedback( weaponname, attacker ) )
|
||||
{
|
||||
attacker maps/mp/gametypes/_damagefeedback::updatedamagefeedback();
|
||||
}
|
||||
}
|
||||
}
|
||||
case "emp_grenade_mp":
|
||||
damage = damagemax;
|
||||
default:
|
||||
if ( maps/mp/gametypes/_globallogic_player::dodamagefeedback( weaponname, attacker ) )
|
||||
{
|
||||
attacker maps/mp/gametypes/_damagefeedback::updatedamagefeedback();
|
||||
}
|
||||
case "emp_grenade_mp":
|
||||
damage = damagemax;
|
||||
default:
|
||||
if ( maps/mp/gametypes/_globallogic_player::dodamagefeedback( weaponname, attacker ) )
|
||||
{
|
||||
attacker maps/mp/gametypes/_damagefeedback::updatedamagefeedback();
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
weaponname = "";
|
||||
}
|
||||
if ( type == "MOD_MELEE" )
|
||||
{
|
||||
self.damagetaken = damagemax;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.damagetaken += damage;
|
||||
}
|
||||
if ( self.damagetaken >= damagemax )
|
||||
{
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( self, 0, attacker, weaponname );
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
weaponname = "";
|
||||
}
|
||||
if ( type == "MOD_MELEE" )
|
||||
{
|
||||
self.damagetaken = damagemax;
|
||||
}
|
||||
else
|
||||
{
|
||||
self.damagetaken += damage;
|
||||
}
|
||||
if ( self.damagetaken >= damagemax )
|
||||
{
|
||||
watcher thread maps/mp/gametypes/_weaponobjects::waitanddetonate( self, 0, attacker, weaponname );
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user