diff --git a/README.md b/README.md index f492e601..b55d308c 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ * No longer killed when landing on top of another player * Ignored by enemies for 1 second after being revived * Weapon is no longer switched after reviving if player switched weapons during revive +* No longer gain points back on self revives * Can shoot while looking at other players * Increased mantle speed * Increased ladder climb speed diff --git a/scripts/zm/_zm_reimagined.gsc b/scripts/zm/_zm_reimagined.gsc index 0902eea5..0bd75c66 100644 --- a/scripts/zm/_zm_reimagined.gsc +++ b/scripts/zm/_zm_reimagined.gsc @@ -31,6 +31,7 @@ main() replaceFunc(maps/mp/zombies/_zm::last_stand_pistol_rank_init, scripts/zm/replaced/_zm::last_stand_pistol_rank_init); replaceFunc(maps/mp/zombies/_zm::actor_damage_override, scripts/zm/replaced/_zm::actor_damage_override); replaceFunc(maps/mp/zombies/_zm::wait_and_revive, scripts/zm/replaced/_zm::wait_and_revive); + replaceFunc(maps/mp/zombies/_zm::player_revive_monitor, scripts/zm/replaced/_zm::player_revive_monitor); replaceFunc(maps/mp/zombies/_zm::end_game, scripts/zm/replaced/_zm::end_game); replaceFunc(maps/mp/zombies/_zm_playerhealth::playerhealthregen, scripts/zm/replaced/_zm_playerhealth::playerhealthregen); replaceFunc(maps/mp/zombies/_zm_utility::track_players_intersection_tracker, scripts/zm/replaced/_zm_utility::track_players_intersection_tracker); diff --git a/scripts/zm/replaced/_zm.gsc b/scripts/zm/replaced/_zm.gsc index 9f4c850a..6a739794 100644 --- a/scripts/zm/replaced/_zm.gsc +++ b/scripts/zm/replaced/_zm.gsc @@ -955,6 +955,33 @@ wait_and_revive() } } +player_revive_monitor() +{ + self endon( "disconnect" ); + self notify( "stop_player_revive_monitor" ); + self endon( "stop_player_revive_monitor" ); + while ( 1 ) + { + self waittill( "player_revived", reviver ); + self playsoundtoplayer( "zmb_character_revived", self ); + if ( isDefined( level.isresetting_grief ) && level.isresetting_grief ) + { + continue; + } + bbprint( "zombie_playerdeaths", "round %d playername %s deathtype %s x %f y %f z %f", level.round_number, self.name, "revived", self.origin ); + if ( isDefined( reviver ) ) + { + self maps/mp/zombies/_zm_audio::create_and_play_dialog( "general", "revive_up" ); + if(reviver != self) + { + points = self.score_lost_when_downed; + reviver maps/mp/zombies/_zm_score::player_add_points( "reviver", points ); + } + self.score_lost_when_downed = 0; + } + } +} + end_game() { level waittill( "end_game" ); diff --git a/scripts/zm/replaced/_zm_game_module.gsc b/scripts/zm/replaced/_zm_game_module.gsc index 49b42efa..9a7db5d3 100644 --- a/scripts/zm/replaced/_zm_game_module.gsc +++ b/scripts/zm/replaced/_zm_game_module.gsc @@ -169,9 +169,6 @@ round_end(winner, force_win) players = get_players(); foreach(player in players) { - // don't give score back from down - player.pers["score"] = player.score; - // don't spawn tombstone powerup on next down player.hasperkspecialtytombstone = undefined;