diff --git a/scripts/zm/_zm_reimagined.gsc b/scripts/zm/_zm_reimagined.gsc index eb687df8..4a50d69b 100644 --- a/scripts/zm/_zm_reimagined.gsc +++ b/scripts/zm/_zm_reimagined.gsc @@ -1559,7 +1559,7 @@ bleedout_bar_hud() bleedout_bar showelem(); - self waittill_any("player_revived", "bled_out"); + self waittill_any("player_revived", "bled_out", "player_suicide"); bleedout_bar hideelem(); } @@ -1570,6 +1570,7 @@ bleedout_bar_hud_updatebar(bleedout_bar) { self endon("player_revived"); self endon("bled_out"); + self endon("player_suicide"); bleedout_time = getDvarInt("player_lastStandBleedoutTime"); interval_time = 30; @@ -4194,7 +4195,7 @@ tombstone_timeout() self thread maps/mp/zombies/_zm_tombstone::playtombstonetimeraudio(); - self waittill("bled_out"); + self waittill_any("bled_out", "player_suicide"); self tombstone_delete(); } diff --git a/scripts/zm/replaced/_zm_weap_emp_bomb.gsc b/scripts/zm/replaced/_zm_weap_emp_bomb.gsc index d39b0648..9c30574c 100644 --- a/scripts/zm/replaced/_zm_weap_emp_bomb.gsc +++ b/scripts/zm/replaced/_zm_weap_emp_bomb.gsc @@ -59,7 +59,7 @@ emp_players(origin, radius, owner) } else if(player maps/mp/zombies/_zm_laststand::player_is_in_laststand()) { - player.bleedout_time = 0; + player thread player_suicide(); } } } @@ -211,4 +211,13 @@ player_perk_unpause( perk ) } self notify("perk_lost"); +} + +player_suicide() +{ + self notify( "player_suicide" ); + + wait_network_frame(); + + self maps/mp/zombies/_zm_laststand::bleed_out(); } \ No newline at end of file diff --git a/scripts/zm/zgrief/zgrief_reimagined.gsc b/scripts/zm/zgrief/zgrief_reimagined.gsc index 46890e33..f567c961 100644 --- a/scripts/zm/zgrief/zgrief_reimagined.gsc +++ b/scripts/zm/zgrief/zgrief_reimagined.gsc @@ -477,7 +477,7 @@ on_player_bleedout() while(1) { - self waittill( "bled_out" ); + self waittill_any( "bled_out", "player_suicide" ); self.statusicon = "hud_status_dead"; self bleedout_feed();