diff --git a/scripts/zm/replaced/_zm_game_module.gsc b/scripts/zm/replaced/_zm_game_module.gsc index 35d99645..ff8f7d37 100644 --- a/scripts/zm/replaced/_zm_game_module.gsc +++ b/scripts/zm/replaced/_zm_game_module.gsc @@ -99,6 +99,8 @@ check_for_round_end(winner) round_end(winner) { + level endon("end_game"); + team = undefined; if(isDefined(winner)) { @@ -110,20 +112,8 @@ round_end(winner) { team = "allies"; } - } - if(isDefined(winner)) - { - level.grief_score[winner]++; - level.grief_score_hud["axis"].score[team] setValue(level.grief_score[winner]); - level.grief_score_hud["allies"].score[team] setValue(level.grief_score[winner]); - setteamscore(team, level.grief_score[winner]); - - if(level.grief_score[winner] == scripts\zm\zgrief\zgrief_reimagined::get_gamemode_winning_score()) - { - game_won(winner); - return; - } + scripts\zm\zgrief\zgrief_reimagined::increment_score(team); } players = get_players(); diff --git a/scripts/zm/zgrief/zgrief_reimagined.gsc b/scripts/zm/zgrief/zgrief_reimagined.gsc index 38f417f3..f1ecc310 100644 --- a/scripts/zm/zgrief/zgrief_reimagined.gsc +++ b/scripts/zm/zgrief/zgrief_reimagined.gsc @@ -1478,7 +1478,7 @@ is_respawn_gamemode() show_grief_hud_msg( msg, msg_parm, offset, delay ) { - if(!isDefined(delay)) + if(!isDefined(offset)) { self notify( "show_grief_hud_msg" ); } @@ -1516,7 +1516,7 @@ show_grief_hud_msg( msg, msg_parm, offset, delay ) zgrief_hudmsg endon( "death" ); - zgrief_hudmsg thread show_grief_hud_msg_cleanup(self, delay); + zgrief_hudmsg thread show_grief_hud_msg_cleanup(self, offset); while ( isDefined( level.hostmigrationtimer ) ) { @@ -1557,15 +1557,15 @@ show_grief_hud_msg( msg, msg_parm, offset, delay ) } } -show_grief_hud_msg_cleanup(player, delay) +show_grief_hud_msg_cleanup(player, offset) { self endon( "death" ); - self thread show_grief_hud_msg_cleanup_restart_round(); self thread show_grief_hud_msg_cleanup_end_game(); - if(!isDefined(delay)) + if(!isDefined(offset)) { + self thread show_grief_hud_msg_cleanup_restart_round(); player waittill( "show_grief_hud_msg" ); } else @@ -3361,6 +3361,30 @@ increment_score(team) } } } + + if (!isDefined(level.prev_leader) || (level.prev_leader != encounters_team && level.grief_score[encounters_team] > level.grief_score[level.prev_leader])) + { + level.prev_leader = encounters_team; + + delay = 0; + if (level.scr_zm_ui_gametype_obj == "zsnr") + { + delay = 1; + } + + players = get_players(); + foreach (player in players) + { + if (player.team == team) + { + player thread show_grief_hud_msg("Your team gained the lead", undefined, 30, delay); + } + else + { + player thread show_grief_hud_msg("Your team lost the lead", undefined, 30, delay); + } + } + } } spawn_bots()