mirror of
https://github.com/JezuzLizard/BO2-Reimagined.git
synced 2025-06-17 02:28:06 -05:00
EMP: fix disabled perks being reset on downed
This commit is contained in:
@ -271,6 +271,7 @@ post_all_players_spawned()
|
|||||||
level.callbackplayerdamage = scripts\zm\replaced\_zm::callback_playerdamage;
|
level.callbackplayerdamage = scripts\zm\replaced\_zm::callback_playerdamage;
|
||||||
level.overrideplayerdamage = scripts\zm\replaced\_zm::player_damage_override;
|
level.overrideplayerdamage = scripts\zm\replaced\_zm::player_damage_override;
|
||||||
level.playerlaststand_func = scripts\zm\replaced\_zm::player_laststand;
|
level.playerlaststand_func = scripts\zm\replaced\_zm::player_laststand;
|
||||||
|
level.callbackplayerlaststand = scripts\zm\replaced\_zm::callback_playerlaststand;
|
||||||
level.etrap_damage = maps\mp\zombies\_zm::ai_zombie_health( 255 );
|
level.etrap_damage = maps\mp\zombies\_zm::ai_zombie_health( 255 );
|
||||||
level.slipgun_damage = maps\mp\zombies\_zm::ai_zombie_health( 255 );
|
level.slipgun_damage = maps\mp\zombies\_zm::ai_zombie_health( 255 );
|
||||||
level.tombstone_spawn_func = ::tombstone_spawn;
|
level.tombstone_spawn_func = ::tombstone_spawn;
|
||||||
|
@ -998,7 +998,7 @@ player_damage_override( einflictor, eattacker, idamage, idflags, smeansofdeath,
|
|||||||
if ( ( solo_death || non_solo_death ) && !is_true( level.no_end_game_check ) )
|
if ( ( solo_death || non_solo_death ) && !is_true( level.no_end_game_check ) )
|
||||||
{
|
{
|
||||||
level notify( "stop_suicide_trigger" );
|
level notify( "stop_suicide_trigger" );
|
||||||
self thread maps\mp\zombies\_zm_laststand::playerlaststand( einflictor, eattacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime );
|
self thread scripts\zm\replaced\_zm_laststand::playerlaststand( einflictor, eattacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime );
|
||||||
if ( !isDefined( vdir ) )
|
if ( !isDefined( vdir ) )
|
||||||
{
|
{
|
||||||
vdir = ( 1, 0, 0 );
|
vdir = ( 1, 0, 0 );
|
||||||
@ -1195,6 +1195,12 @@ player_laststand( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, s
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
callback_playerlaststand( einflictor, eattacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
|
||||||
|
{
|
||||||
|
self endon( "disconnect" );
|
||||||
|
[[ scripts\zm\replaced\_zm_laststand::playerlaststand ]]( einflictor, eattacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration );
|
||||||
|
}
|
||||||
|
|
||||||
player_spawn_protection()
|
player_spawn_protection()
|
||||||
{
|
{
|
||||||
self endon("disconnect");
|
self endon("disconnect");
|
||||||
|
@ -335,3 +335,67 @@ auto_revive( reviver, dont_enable_weapons )
|
|||||||
|
|
||||||
self notify( "player_revived", reviver );
|
self notify( "player_revived", reviver );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
playerlaststand( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration )
|
||||||
|
{
|
||||||
|
self notify( "entering_last_stand" );
|
||||||
|
|
||||||
|
if ( isdefined( level._game_module_player_laststand_callback ) )
|
||||||
|
self [[ level._game_module_player_laststand_callback ]]( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration );
|
||||||
|
|
||||||
|
if ( self player_is_in_laststand() )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if ( isdefined( self.in_zombify_call ) && self.in_zombify_call )
|
||||||
|
return;
|
||||||
|
|
||||||
|
self thread player_last_stand_stats( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration );
|
||||||
|
|
||||||
|
if ( isdefined( level.playerlaststand_func ) )
|
||||||
|
[[ level.playerlaststand_func ]]( einflictor, attacker, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration );
|
||||||
|
|
||||||
|
self.health = 1;
|
||||||
|
self.laststand = 1;
|
||||||
|
self.ignoreme = 1;
|
||||||
|
self thread maps\mp\gametypes_zm\_gameobjects::onplayerlaststand();
|
||||||
|
self thread maps\mp\zombies\_zm_buildables::onplayerlaststand();
|
||||||
|
|
||||||
|
if ( !( isdefined( self.no_revive_trigger ) && self.no_revive_trigger ) )
|
||||||
|
self revive_trigger_spawn();
|
||||||
|
else
|
||||||
|
self undolaststand();
|
||||||
|
|
||||||
|
if ( isdefined( self.is_zombie ) && self.is_zombie )
|
||||||
|
{
|
||||||
|
self takeallweapons();
|
||||||
|
|
||||||
|
if ( isdefined( attacker ) && isplayer( attacker ) && attacker != self )
|
||||||
|
attacker notify( "killed_a_zombie_player", einflictor, self, idamage, smeansofdeath, sweapon, vdir, shitloc, psoffsettime, deathanimduration );
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
self laststand_disable_player_weapons();
|
||||||
|
self laststand_give_pistol();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( isdefined( level.playersuicideallowed ) && level.playersuicideallowed && get_players().size > 1 )
|
||||||
|
{
|
||||||
|
if ( !isdefined( level.canplayersuicide ) || self [[ level.canplayersuicide ]]() )
|
||||||
|
self thread suicide_trigger_spawn();
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( level.laststandgetupallowed )
|
||||||
|
self thread laststand_getup();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bleedout_time = getdvarfloat( "player_lastStandBleedoutTime" );
|
||||||
|
self thread laststand_bleedout( bleedout_time );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( "zcleansed" != level.gametype )
|
||||||
|
maps\mp\_demo::bookmark( "zm_player_downed", gettime(), self );
|
||||||
|
|
||||||
|
self notify( "player_downed" );
|
||||||
|
self thread refire_player_downed();
|
||||||
|
self thread cleanup_laststand_on_disconnect();
|
||||||
|
}
|
Reference in New Issue
Block a user