}
// z411 set title
- if(time < STAT(GAMESTARTTIME) && !warmup_stage) {
+ if(time <= STAT(GAMESTARTTIME) && !warmup_stage) {
if(gametype == MAPINFO_TYPE_DUEL) {
entity pl1 = players.sort_next;
entity pl2 = pl1.sort_next;
Local_Notification(MSG_ANNCE, ANNCE_PREPARE);
}
- announcer_countdown.nextthink = startTime - floor(startTime - time); //synchronize nextthink to startTime
+ announcer_countdown.nextthink = startTime - floor(startTime - time + 0.5); //synchronize nextthink to startTime
}
}
FOREACH_CLIENT(IS_PLAYER(it) && IS_REAL_CLIENT(it), { CS(it).allowed_timeouts = autocvar_sv_timeout_number; });
}
+ round_handler_Activate(!warmup_stage);
if (!sv_ready_restart_after_countdown || warmup_stage) reset_map(true, is_fake_round_start);
if (autocvar_sv_eventlog) GameLogEcho(":restart");
}
void round_handler_Think(entity this)
{
+ if (!this.isactive) return;
if (game_timeout) { this.nextthink = time + 1; return; }
-
+
if (intermission_running)
{
round_handler_Reset(0);
return;
}
entity this = round_handler = new_pure(round_handler);
-
this.canRoundStart = canRoundStart_func;
this.canRoundEnd = canRoundEnd_func;
this.roundStart = roundStart_func;
this.wait = false;
round_handler_Init(5, 5, 180);
-
}
void round_handler_Activate(bool active) {
if(active) {
setthink(this, round_handler_FirstThink);
this.nextthink = time;
+ } else {
+ round_starttime = -1;
}
}
}