From: terencehill Date: Sat, 17 Nov 2012 15:29:09 +0000 (+0100) Subject: Better handling of the initial game delay in freezetag X-Git-Tag: xonotic-v0.7.0~61^2~123 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=af8fb3a29a37ada30b7d3d5da3ec753ebcc776e3;p=xonotic%2Fxonotic-data.pk3dir.git Better handling of the initial game delay in freezetag --- diff --git a/qcsrc/server/arena.qc b/qcsrc/server/arena.qc index 71457c0e5..691745815 100644 --- a/qcsrc/server/arena.qc +++ b/qcsrc/server/arena.qc @@ -38,7 +38,7 @@ void reset_map(float dorespawn) } else if(g_freezetag) { - warmup = time + autocvar_g_freezetag_warmup; + warmup = max(time, game_starttime) + autocvar_g_freezetag_warmup; } lms_lowest_lives = 999; diff --git a/qcsrc/server/mutators/gamemode_freezetag.qc b/qcsrc/server/mutators/gamemode_freezetag.qc index aedfd6364..de325c3d1 100644 --- a/qcsrc/server/mutators/gamemode_freezetag.qc +++ b/qcsrc/server/mutators/gamemode_freezetag.qc @@ -1,7 +1,7 @@ void freezetag_Initialize() { precache_model("models/ice/ice.md3"); - warmup = time + autocvar_g_start_delay + autocvar_g_freezetag_warmup; + warmup = max(time, game_starttime) + autocvar_g_freezetag_warmup; ScoreRules_freezetag(); } @@ -302,9 +302,12 @@ MUTATOR_HOOKFUNCTION(freezetag_PlayerDies) MUTATOR_HOOKFUNCTION(freezetag_PlayerSpawn) { + if(time <= game_starttime) + return 1; + freezetag_Unfreeze(world); // start by making sure that all ice blocks are removed - if(total_players == 1 && time > game_starttime) // only one player active on server, start a new match immediately + if(total_players == 1) // only one player active on server, start a new match immediately if(!next_round && warmup && (time < warmup - autocvar_g_freezetag_warmup || time > warmup)) // not awaiting next round { next_round = time; @@ -452,7 +455,7 @@ MUTATOR_HOOKFUNCTION(freezetag_BotRoles) else self.havocbot_role = havocbot_role_ft_offense; } - + return TRUE; }