round_timelimit = STAT(ROUND_TIMELIMIT);
// Calculate round time left
- round_timeleft = round_timelimit + STAT(ROUNDSTARTTIME) - time;
+ round_timeleft = round_timelimit + STAT(ROUNDSTARTTIME) - (game_stopped_time ? game_stopped_time : time);
if (!autocvar_hud_panel_timer_unbound)
round_timeleft = bound(0, round_timeleft, round_timelimit);
round_timeleft = ceil(round_timeleft);
if (intermission_time) {
subtimer = seconds_tostring(max(0, floor(intermission_time - STAT(ROUNDSTARTTIME))));
} else if (autocvar_hud_panel_timer_increment || round_timelimit <= 0) {
- float round_time_elapsed = floor(time - STAT(ROUNDSTARTTIME));
+ float round_time_elapsed = floor((game_stopped_time ? game_stopped_time : time) - STAT(ROUNDSTARTTIME));
if (!autocvar_hud_panel_timer_unbound)
round_time_elapsed = max(0, round_time_elapsed);
if(intermission && !intermission_time)
intermission_time = time;
+ if(STAT(GAME_STOPPED) && !game_stopped_time)
+ game_stopped_time = time;
+ else if(game_stopped_time && !STAT(GAME_STOPPED))
+ game_stopped_time = 0;
+
if(intermission && !isdemo() && !(calledhooks & HOOK_END))
{
if(calledhooks & HOOK_START)