From 2201a287c5f482bd19e6ccb653c898545441b27b Mon Sep 17 00:00:00 2001 From: fruitiex Date: Sat, 28 Nov 2009 10:41:07 +0000 Subject: [PATCH] add warmup support to clan arena git-svn-id: svn://svn.icculus.org/nexuiz/trunk@8328 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/arena.qc | 6 +++--- data/qcsrc/server/cl_player.qc | 2 +- data/qcsrc/server/cl_weapons.qc | 2 +- data/qcsrc/server/clientcommands.qc | 7 ++++--- data/qcsrc/server/miscfunctions.qc | 4 ++-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/data/qcsrc/server/arena.qc b/data/qcsrc/server/arena.qc index ea975a5f9..becc1b05d 100644 --- a/data/qcsrc/server/arena.qc +++ b/data/qcsrc/server/arena.qc @@ -198,11 +198,11 @@ void Arena_Warmup() allowed_to_spawn = 0; - if(g_ca && player_cnt < 2) + if(g_ca && (player_cnt < 2 || inWarmupStage)) allowed_to_spawn = 1; msg = NEWLINES; - if(time < warmup) + if(time < warmup && !inWarmupStage) { if (g_ca) allowed_to_spawn = 1; @@ -261,7 +261,7 @@ float next_round; */ void Spawnqueue_Check() { - if(time < warmup + 1) + if(time < warmup + 1 || inWarmupStage) return; if(g_ca) { diff --git a/data/qcsrc/server/cl_player.qc b/data/qcsrc/server/cl_player.qc index 8118decc8..84e6542ee 100644 --- a/data/qcsrc/server/cl_player.qc +++ b/data/qcsrc/server/cl_player.qc @@ -475,7 +475,7 @@ void PlayerDamage (entity inflictor, entity attacker, float damage, float deatht else Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16, self, attacker); - if((g_arena && numspawned < 2) || (g_ca && player_cnt < 2)) + if((g_arena && numspawned < 2) || (g_ca && player_cnt < 2) && !inWarmupStage) return; if (!g_minstagib) diff --git a/data/qcsrc/server/cl_weapons.qc b/data/qcsrc/server/cl_weapons.qc index 384be14ba..9a0c02f2a 100644 --- a/data/qcsrc/server/cl_weapons.qc +++ b/data/qcsrc/server/cl_weapons.qc @@ -271,7 +271,7 @@ void W_ThrowWeapon(vector velo, vector delta, float doreduce) return; if (g_nexball && w == WEP_GRENADE_LAUNCHER) return; - if (!cvar("g_pickup_items")) + if (!cvar("g_pickup_items") || g_ca) return; if(!W_IsWeaponThrowable(w)) return; diff --git a/data/qcsrc/server/clientcommands.qc b/data/qcsrc/server/clientcommands.qc index c756f8acb..2cb446dbd 100644 --- a/data/qcsrc/server/clientcommands.qc +++ b/data/qcsrc/server/clientcommands.qc @@ -776,7 +776,9 @@ void ReadyRestartForce() readyrestart_happened = 1; - game_starttime = time + RESTART_COUNTDOWN; + game_starttime = time; + if(!g_ca) + game_starttime += RESTART_COUNTDOWN; restart_mapalreadyrestarted = 0; //reset this var, needed when cvar sv_ready_restart_repeatable is in use inWarmupStage = 0; //once the game is restarted the game is in match stage @@ -818,8 +820,7 @@ void ReadyRestartForce() void ReadyRestart() { // no arena, assault support yet... - // TODO: CA support - if(g_arena | g_ca | g_assault | gameover | intermission_running | race_completing) + if(g_arena | g_assault | gameover | intermission_running | race_completing) localcmd("restart\n"); else localcmd("\nsv_hook_gamerestart;"); diff --git a/data/qcsrc/server/miscfunctions.qc b/data/qcsrc/server/miscfunctions.qc index 667f011fc..935d53f08 100644 --- a/data/qcsrc/server/miscfunctions.qc +++ b/data/qcsrc/server/miscfunctions.qc @@ -1036,7 +1036,7 @@ void readplayerstartcvars() warmup_start_armorvalue = start_armorvalue; warmup_start_weapons = start_weapons; - if (!g_weaponarena && !g_nixnex && !g_minstagib) + if (!g_weaponarena && !g_nixnex && !g_minstagib && !g_ca) { if (cvar("g_use_ammunition")) { @@ -1262,7 +1262,7 @@ void readlevelcvars(void) if(g_ghost_items >= 1) g_ghost_items = 0.13; // default alpha value - if not(inWarmupStage) + if not(inWarmupStage && !g_ca) game_starttime = cvar("g_start_delay"); sv_pitch_min = cvar("sv_pitch_min"); -- 2.39.2