X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fteamplay.qc;h=b001e4a4a2cd46f00f542860a6ca63f9482be4be;hp=88485d8ee21c6990276fc8161970fcf86def9f98;hb=ac46eb66c927d1d4c0c61f1ada5efe7fc847ac63;hpb=f4672e961c36dad1523728da7669019fad918abe diff --git a/qcsrc/server/teamplay.qc b/qcsrc/server/teamplay.qc index 88485d8ee..b001e4a4a 100644 --- a/qcsrc/server/teamplay.qc +++ b/qcsrc/server/teamplay.qc @@ -101,7 +101,8 @@ void WriteGameCvars() cvar_set("g_race", ftos(g_race)); cvar_set("g_nexball", ftos(g_nexball)); cvar_set("g_cts", ftos(g_cts)); - cvar_set("g_ka", ftos(g_ka)); + cvar_set("g_freezetag", ftos(g_freezetag)); + cvar_set("g_keepaway", ftos(g_keepaway)); } void ReadGameCvars() @@ -114,6 +115,7 @@ void ReadGameCvars() prev = cvar("gamecfg"); for(i = 0; i < 2; ++i) { +//#NO AUTOCVARS START found += (g_dm = (!found && (prev != GAME_DEATHMATCH) && cvar("g_dm"))); found += (g_tdm = (!found && (prev != GAME_TEAM_DEATHMATCH) && cvar("g_tdm"))); found += (g_domination = (!found && (prev != GAME_DOMINATION) && cvar("g_domination"))); @@ -128,7 +130,9 @@ void ReadGameCvars() found += (g_race = (!found && (prev != GAME_RACE) && cvar("g_race"))); found += (g_nexball = (!found && (prev != GAME_NEXBALL) && cvar("g_nexball"))); found += (g_cts = (!found && (prev != GAME_CTS) && cvar("g_cts"))); - found += (g_ka = (!found && (prev != GAME_KEEPAWAY) && cvar("g_ka"))); + found += (g_freezetag = (!found && (prev != GAME_FREEZETAG) && cvar("g_freezetag"))); + found += (g_keepaway = (!found && (prev != GAME_KEEPAWAY) && cvar("g_keepaway"))); +//#NO AUTOCVARS END if(found) break; @@ -157,14 +161,8 @@ void default_delayedinit() void ActivateTeamplay() { float teamplay_default; - teamplay_default = cvar("teamplay_default"); - - if(teamplay_default) - teamplay = teamplay_default; - else - teamplay = 3; - cvar_set("teamplay", ftos(teamplay)); + serverflags |= SERVERFLAG_TEAMPLAY; teams_matter = 1; } @@ -177,7 +175,6 @@ void InitGameplayMode() VoteReset(); teams_matter = 0; - cvar_set("teamplay", "0"); // make sure only ONE type is selected ReadGameCvars(); @@ -319,6 +316,16 @@ void InitGameplayMode() MUTATOR_ADD(gamemode_keyhunt); } + if(g_freezetag) + { + game = GAME_FREEZETAG; + gamemode_name = "Freeze Tag"; + ActivateTeamplay(); + fraglimit_override = cvar("g_freezetag_point_limit"); + leadlimit_override = cvar("g_freezetag_point_leadlimit"); + MUTATOR_ADD(gamemode_freezetag); + } + if(g_assault) { game = GAME_ASSAULT; @@ -375,11 +382,11 @@ void InitGameplayMode() have_team_spawns = -1; // request team spawns } - if(g_ka) + if(g_keepaway) { game = GAME_KEEPAWAY; gamemode_name = "Keepaway"; - MUTATOR_ADD(gamemode_ka); + MUTATOR_ADD(gamemode_keepaway); } if(teams_matter) @@ -419,7 +426,7 @@ void InitGameplayMode() race_timelimit = cvar("timelimit"); cvar_set("fraglimit", "0"); cvar_set("leadlimit", "0"); - cvar_set("timelimit", cvar_string("g_race_qualifying_timelimit")); + cvar_set("timelimit", ftos(cvar("g_race_qualifying_timelimit"))); } else g_race_qualifying = 0; @@ -825,6 +832,8 @@ float FindSmallestTeam(entity pl, float ignore_pl) error("Too few teams available for ctf\n"); else if(g_keyhunt) error("Too few teams available for key hunt\n"); + else if(g_freezetag) + error("Too few teams available for freeze tag\n"); else error("Too few teams available for team deathmatch\n"); }