r3781 - in trunk/data: . qcsrc/common qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Mon Jul 7 02:35:37 EDT 2008
Author: div0
Date: 2008-07-07 02:35:37 -0400 (Mon, 07 Jul 2008)
New Revision: 3781
Modified:
trunk/data/defaultNexuiz.cfg
trunk/data/qcsrc/common/mapinfo.qc
trunk/data/qcsrc/server/teamplay.qc
Log:
add support for capturelimit_override and capturelimit in the mapinfo file
Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg 2008-07-06 22:11:59 UTC (rev 3780)
+++ trunk/data/defaultNexuiz.cfg 2008-07-07 06:35:37 UTC (rev 3781)
@@ -309,11 +309,14 @@
// this means that timelimit can be overidden globally and fraglimit can be overidden for each game mode: DM/TDM, Domination, CTF, and Runematch.
seta timelimit_override -1
seta fraglimit_override -1
-seta g_ctf_capture_limit -1
+seta capturelimit_override -1 // actual captures, if g_ctf_win_mode 0 or 1
+seta g_ctf_capture_limit -1 // points, if g_ctf_win_mode 2
seta g_domination_point_limit -1
seta g_runematch_point_limit -1
seta g_keyhunt_point_limit -1
+seta g_ctf_win_mode 2 // 0: captures only, 1: captures, points if equal captures, 2: points
+
// 50% of the spawns shall be far away from any players
set g_spawn_furthest 0.5
// respawn delay
@@ -1034,3 +1037,6 @@
set sv_maxidle 0
// when sv_maxidle is not 0, assume spectators are idle too
set sv_maxidle_spectatorsareidle 0
+
+// CTF capture limit placeholder cvar
+set capturelimit 0
Modified: trunk/data/qcsrc/common/mapinfo.qc
===================================================================
--- trunk/data/qcsrc/common/mapinfo.qc 2008-07-06 22:11:59 UTC (rev 3780)
+++ trunk/data/qcsrc/common/mapinfo.qc 2008-07-07 06:35:37 UTC (rev 3781)
@@ -458,6 +458,7 @@
void _MapInfo_Map_ApplyGametype(string s, float pWantedType, float pThisType)
{
+ string sa;
MapInfo_Map_supportedGametypes |= pThisType;
if(!(pThisType & pWantedType))
return;
@@ -470,15 +471,27 @@
if(pWantedType == MAPINFO_TYPE_TEAM_DEATHMATCH)
{
- cvar_set("g_tdm_teams", car(s));
+ sa = car(s);
+ if(sa != "")
+ cvar_set("g_tdm_teams", car(s));
s = cdr(s);
}
if(pWantedType == MAPINFO_TYPE_KEYHUNT)
{
- cvar_set("g_keyhunt_teams", car(s));
+ sa = car(s);
+ if(sa != "")
+ cvar_set("g_keyhunt_teams", car(s));
s = cdr(s);
}
+
+ if(pWantedType == MAPINFO_TYPE_CTF)
+ {
+ sa = car(s);
+ if(sa != "")
+ cvar_set("capturelimit", car(s));
+ s = cdr(s);
+ }
}
float MapInfo_Type_FromString(string t)
@@ -532,7 +545,7 @@
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_DEATHMATCH) fputs(fh, "type dm 30 20\n");
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_TEAM_DEATHMATCH) fputs(fh, "type tdm 50 20 2\n");
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_DOMINATION) fputs(fh, "type dom 200 20\n");
- if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_CTF) fputs(fh, "type ctf 300 20\n");
+ if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_CTF) fputs(fh, "type ctf 300 20 10\n");
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_RUNEMATCH) fputs(fh, "type rune 200 20\n");
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_LMS) fputs(fh, "type lms 9 20\n");
if(MapInfo_Map_supportedGametypes & MAPINFO_TYPE_ARENA) fputs(fh, "type arena 10 20\n");
Modified: trunk/data/qcsrc/server/teamplay.qc
===================================================================
--- trunk/data/qcsrc/server/teamplay.qc 2008-07-06 22:11:59 UTC (rev 3780)
+++ trunk/data/qcsrc/server/teamplay.qc 2008-07-07 06:35:37 UTC (rev 3781)
@@ -121,7 +121,7 @@
void InitGameplayMode()
{
- float fraglimit_override, timelimit_override;
+ float fraglimit_override, timelimit_override, capturelimit_override;
VoteReset();
@@ -135,6 +135,7 @@
// set both here, gamemode can override it later
timelimit_override = cvar("timelimit_override");
fraglimit_override = cvar("fraglimit_override");
+ capturelimit_override = cvar("capturelimit_override");
if(game == GAME_DOMINATION || cvar("g_domination"))
{
@@ -158,6 +159,7 @@
ActivateTeamplay();
fraglimit_override = cvar("g_ctf_capture_limit");
+ //no capture limit override here
gamemode_name = "Capture the Flag";
teams_matter = 1;
@@ -263,22 +265,12 @@
{
// we can only assume...
ResetGameCvars();
+ game = GAME_DEATHMATCH;
cvar_set("g_dm", "1");
gamemode_name = "Deathmatch";
teams_matter = 0;
}
-/* else if(game == GAME_TEAM_DEATHMATCH)
- {
- if(!cvar("deathmatch"))
- cvar_set("deathmatch", "1");
- //if(!cvar("teamplay"))
- // cvar_set("teamplay", "3");
- ActivateTeamplay();
-
- fraglimit_override = cvar("fraglimit_override");
- }*/
-
// those mutators rule each other out
if(cvar("g_minstagib"))
{
@@ -318,6 +310,8 @@
cvar_set("fraglimit", ftos(fraglimit_override));
if(timelimit_override >= 0)
cvar_set("timelimit", ftos(timelimit_override));
+ if(capturelimit_override >= 0)
+ cvar_set("capturelimit", ftos(capturelimit_override));
}
if (game == GAME_DOMINATION)//cvar("g_domination"))
More information about the nexuiz-commits
mailing list