From ea3f94a4d1761625c647c59c6fd1a317237e6ba0 Mon Sep 17 00:00:00 2001 From: Mario Date: Mon, 9 Jan 2017 18:22:23 +1000 Subject: [PATCH] Optimize round restarting code and fix some modes (temporary hack) --- qcsrc/server/command/vote.qc | 38 +++++++++++++++++------------------ qcsrc/server/round_handler.qc | 3 +-- 2 files changed, 19 insertions(+), 22 deletions(-) diff --git a/qcsrc/server/command/vote.qc b/qcsrc/server/command/vote.qc index f855b2f06..e6cd4c154 100644 --- a/qcsrc/server/command/vote.qc +++ b/qcsrc/server/command/vote.qc @@ -367,28 +367,26 @@ void reset_map(bool dorespawn) { if (!MUTATOR_CALLHOOK(reset_map_players)) { - FOREACH_CLIENT(true, LAMBDA( - /* - only reset players if a restart countdown is active - this can either be due to cvar sv_ready_restart_after_countdown having set - restart_mapalreadyrestarted to 1 after the countdown ended or when - sv_ready_restart_after_countdown is not used and countdown is still running - */ - if (restart_mapalreadyrestarted || (time < game_starttime)) + //if (restart_mapalreadyrestarted || (time < game_starttime)) + //{ + FOREACH_CLIENT(IS_PLAYER(it), { + /* + only reset players if a restart countdown is active + this can either be due to cvar sv_ready_restart_after_countdown having set + restart_mapalreadyrestarted to 1 after the countdown ended or when + sv_ready_restart_after_countdown is not used and countdown is still running + */ // NEW: changed behaviour so that it prevents that previous spectators/observers suddenly spawn as players - if (IS_PLAYER(it)) - { - // PlayerScore_Clear(it); - it.killcount = 0; - // stop the player from moving so that he stands still once he gets respawned - it.velocity = '0 0 0'; - it.avelocity = '0 0 0'; - it.movement = '0 0 0'; - PutClientInServer(it); - } - } - )); + // PlayerScore_Clear(it); + it.killcount = 0; + // stop the player from moving so that he stands still once he gets respawned + it.velocity = '0 0 0'; + it.avelocity = '0 0 0'; + it.movement = '0 0 0'; + PutClientInServer(it); + }); + //} } } } diff --git a/qcsrc/server/round_handler.qc b/qcsrc/server/round_handler.qc index cbfc7c79d..c26bf629c 100644 --- a/qcsrc/server/round_handler.qc +++ b/qcsrc/server/round_handler.qc @@ -19,8 +19,7 @@ void round_handler_Think(entity this) return; } - if (game_stopped) - game_stopped = false; + game_stopped = false; if (this.wait) { -- 2.39.2