From 4f80f0451cd9ff9ff0d948bcbf74ece1b24de4ac Mon Sep 17 00:00:00 2001 From: Jbleezy Date: Thu, 23 Mar 2023 17:02:36 -0700 Subject: [PATCH] Scoreboard no longer counts self revives as revives Encounter: fix revives underflowing --- README.md | 1 + scripts/zm/_zm_reimagined.gsc | 1 + scripts/zm/replaced/_zm_laststand.gsc | 52 +++++++++++++++++++++++++ scripts/zm/zgrief/zgrief_reimagined.gsc | 1 - 4 files changed, 54 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 9d962050..7463f274 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,7 @@ * Entering and exiting last stand no longer refills last stand weapon clip automatically * Decreased friendly player name fade out time from 1.5 seconds to 0.25 seconds * Removed enemy player name fade in time +* Scoreboard no longer counts self revives as revives ## Zombies * Health capped at 100,000 diff --git a/scripts/zm/_zm_reimagined.gsc b/scripts/zm/_zm_reimagined.gsc index 7b8b8933..9e78760a 100644 --- a/scripts/zm/_zm_reimagined.gsc +++ b/scripts/zm/_zm_reimagined.gsc @@ -48,6 +48,7 @@ main() replaceFunc(maps\mp\zombies\_zm_laststand::revive_do_revive, scripts\zm\replaced\_zm_laststand::revive_do_revive); replaceFunc(maps\mp\zombies\_zm_laststand::revive_give_back_weapons, scripts\zm\replaced\_zm_laststand::revive_give_back_weapons); replaceFunc(maps\mp\zombies\_zm_laststand::revive_hud_think, scripts\zm\replaced\_zm_laststand::revive_hud_think); + replaceFunc(maps\mp\zombies\_zm_laststand::auto_revive, scripts\zm\replaced\_zm_laststand::auto_revive); replaceFunc(maps\mp\zombies\_zm_weapons::weapon_give, scripts\zm\replaced\_zm_weapons::weapon_give); replaceFunc(maps\mp\zombies\_zm_weapons::ammo_give, scripts\zm\replaced\_zm_weapons::ammo_give); replaceFunc(maps\mp\zombies\_zm_weapons::get_upgraded_ammo_cost, scripts\zm\replaced\_zm_weapons::get_upgraded_ammo_cost); diff --git a/scripts/zm/replaced/_zm_laststand.gsc b/scripts/zm/replaced/_zm_laststand.gsc index 60642d1a..94bd63f2 100644 --- a/scripts/zm/replaced/_zm_laststand.gsc +++ b/scripts/zm/replaced/_zm_laststand.gsc @@ -271,4 +271,56 @@ revive_hud_think() playertorevive.revivetrigger.createtime = undefined; } } +} + +auto_revive( reviver, dont_enable_weapons ) +{ + if ( isdefined( self.revivetrigger ) ) + { + self.revivetrigger.auto_revive = 1; + + if ( self.revivetrigger.beingrevived == 1 ) + { + while ( true ) + { + if ( self.revivetrigger.beingrevived == 0 ) + break; + + wait_network_frame(); + } + } + + self.revivetrigger.auto_trigger = 0; + } + + self reviveplayer(); + self maps\mp\zombies\_zm_perks::perk_set_max_health_if_jugg( "health_reboot", 1, 0 ); + setclientsysstate( "lsm", "0", self ); + self notify( "stop_revive_trigger" ); + + if ( isdefined( self.revivetrigger ) ) + { + self.revivetrigger delete(); + self.revivetrigger = undefined; + } + + self cleanup_suicide_hud(); + + if ( !isdefined( dont_enable_weapons ) || dont_enable_weapons == 0 ) + self laststand_enable_player_weapons(); + + self allowjump( 1 ); + self.ignoreme = 0; + self.laststand = undefined; + + if ( reviver != self ) + { + reviver.revives++; + reviver maps\mp\zombies\_zm_stats::increment_client_stat( "revives" ); + reviver maps\mp\zombies\_zm_stats::increment_player_stat( "revives" ); + self recordplayerrevivezombies( reviver ); + maps\mp\_demo::bookmark( "zm_player_revived", gettime(), self, reviver ); + } + + self notify( "player_revived", reviver ); } \ No newline at end of file diff --git a/scripts/zm/zgrief/zgrief_reimagined.gsc b/scripts/zm/zgrief/zgrief_reimagined.gsc index 8295ceb9..2018cfaa 100644 --- a/scripts/zm/zgrief/zgrief_reimagined.gsc +++ b/scripts/zm/zgrief/zgrief_reimagined.gsc @@ -912,7 +912,6 @@ on_player_bleedout() } self maps\mp\zombies\_zm::spectator_respawn(); - self.revives--; } } }