[nexuiz-commits] r8269 - in trunk/data: . qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Wed Nov 11 08:36:28 EST 2009


Author: fruitiex
Date: 2009-11-11 08:36:28 -0500 (Wed, 11 Nov 2009)
New Revision: 8269

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/server/arena.qc
   trunk/data/qcsrc/server/cl_client.qc
   trunk/data/qcsrc/server/cl_player.qc
   trunk/data/qcsrc/server/cl_weapons.qc
   trunk/data/qcsrc/server/g_damage.qc
   trunk/data/qcsrc/server/miscfunctions.qc
   trunk/data/qcsrc/server/sv_main.qc
   trunk/data/qcsrc/server/t_items.qc
   trunk/data/qcsrc/server/teamplay.qc
Log:
clean up CA and add some standard CA stuff like starting with all weapons and ammo types (uses the balance cvars of lms), no friendly fire, no selfdamage


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2009-11-10 21:29:50 UTC (rev 8268)
+++ trunk/data/defaultNexuiz.cfg	2009-11-11 13:36:28 UTC (rev 8269)
@@ -684,6 +684,12 @@
 set g_arena_warmup 5	"time, newly spawned players have to prepare themselves in round based matches"
 set g_arena_powerups 0	"enables powerups (superhealth, strength and shield), which are removed by default"
 
+// ca
+set g_ca 0 "Clan Arena: Played in rounds, once you're dead you're out! The team with survivors wins the round."
+set g_ca_point_limit 10 "point limit 10 is standard for clan arena"
+set g_ca_point_leadlimit 0
+set g_ca_warmup 10 "how long the players will have time to run around the map before the round starts"
+
 // onslaught
 set g_onslaught 0 "Onslaught: take control points towards the enemy generator and then destroy it"
 set g_onslaught_gen_health 5000
@@ -1609,6 +1615,7 @@
 alias cl_hook_gamestart_rune
 alias cl_hook_gamestart_lms
 alias cl_hook_gamestart_arena
+alias cl_hook_gamestart_ca
 alias cl_hook_gamestart_kh
 alias cl_hook_gamestart_ons
 alias cl_hook_gamestart_as
@@ -1627,6 +1634,7 @@
 alias sv_hook_gamestart_rune
 alias sv_hook_gamestart_lms
 alias sv_hook_gamestart_arena
+alias sv_hook_gamestart_ca
 alias sv_hook_gamestart_kh
 alias sv_hook_gamestart_ons
 alias sv_hook_gamestart_as

Modified: trunk/data/qcsrc/server/arena.qc
===================================================================
--- trunk/data/qcsrc/server/arena.qc	2009-11-10 21:29:50 UTC (rev 8268)
+++ trunk/data/qcsrc/server/arena.qc	2009-11-11 13:36:28 UTC (rev 8269)
@@ -32,12 +32,12 @@
 	entity oldself;
 	oldself = self;
 
-	if(g_arena || g_ca)
-	if(cvar("g_arena_warmup"))
+	if(g_arena && cvar("g_arena_warmup"))
 		warmup = time + cvar("g_arena_warmup");
-
-	if(g_ca)
+	else if(g_ca) {
+		warmup = time + cvar("g_ca_warmup");
 		allowed_to_spawn = 1;
+	}
 
 	lms_lowest_lives = 999;
 	lms_next_place = player_count;
@@ -191,7 +191,7 @@
 	float f;
 	string msg;
 
-	if((!g_arena && !g_ca) || !arena_roundbased || (time < game_starttime))
+	if((!g_arena && !g_ca) || (g_arena && !arena_roundbased) || (time < game_starttime))
 		return;
 
 	f = floor(warmup - time + 1);

Modified: trunk/data/qcsrc/server/cl_client.qc
===================================================================
--- trunk/data/qcsrc/server/cl_client.qc	2009-11-10 21:29:50 UTC (rev 8268)
+++ trunk/data/qcsrc/server/cl_client.qc	2009-11-11 13:36:28 UTC (rev 8269)
@@ -1966,10 +1966,10 @@
 	limita = limita * limit_mod;
 	//limitf = limitf * limit_mod;
 
-	if(g_lms)
+	if(g_lms && g_ca)
 		rot_mod = 0;
 
-	if (!g_minstagib && (!g_lms || cvar("g_lms_regenerate")))
+	if (!g_minstagib && !g_ca && (!g_lms || cvar("g_lms_regenerate")))
 	{
 		self.armorvalue = CalcRotRegen(self.armorvalue, mina, cvar("g_balance_armor_regen"), cvar("g_balance_armor_regenlinear"), regen_mod * frametime * (time > self.pauseregen_finished), maxa, cvar("g_balance_armor_rot"), cvar("g_balance_armor_rotlinear"), rot_mod * frametime * (time > self.pauserotarmor_finished), limita);
 		self.health = CalcRotRegen(self.health, minh, cvar("g_balance_health_regen"), cvar("g_balance_health_regenlinear"), regen_mod * frametime * (time > self.pauseregen_finished), maxh, cvar("g_balance_health_rot"), cvar("g_balance_health_rotlinear"), rot_mod * frametime * (time > self.pauserothealth_finished), limith);

Modified: trunk/data/qcsrc/server/cl_player.qc
===================================================================
--- trunk/data/qcsrc/server/cl_player.qc	2009-11-10 21:29:50 UTC (rev 8268)
+++ trunk/data/qcsrc/server/cl_player.qc	2009-11-11 13:36:28 UTC (rev 8269)
@@ -475,7 +475,7 @@
 	else
 		Violence_GibSplash_At(hitloc, force, 2, bound(0, damage, 200) / 16, self, attacker);
 
-	if(g_arena && numspawned < 2)
+	if((g_arena && numspawned < 2) || (g_ca && player_cnt < 2))
 		return;
 
 	if (!g_minstagib)

Modified: trunk/data/qcsrc/server/cl_weapons.qc
===================================================================
--- trunk/data/qcsrc/server/cl_weapons.qc	2009-11-10 21:29:50 UTC (rev 8268)
+++ trunk/data/qcsrc/server/cl_weapons.qc	2009-11-11 13:36:28 UTC (rev 8269)
@@ -302,7 +302,7 @@
 	if (frametime)
 		self.weapon_frametime = frametime;
 
-	if((arena_roundbased && time < warmup) || ((time < game_starttime) && !cvar("sv_ready_restart_after_countdown")))
+	if(((arena_roundbased || g_ca) && time < warmup) || ((time < game_starttime) && !cvar("sv_ready_restart_after_countdown")))
 		return;
 
 	if (!self.weaponentity || self.health < 1)

Modified: trunk/data/qcsrc/server/g_damage.qc
===================================================================
--- trunk/data/qcsrc/server/g_damage.qc	2009-11-10 21:29:50 UTC (rev 8268)
+++ trunk/data/qcsrc/server/g_damage.qc	2009-11-11 13:36:28 UTC (rev 8269)
@@ -702,7 +702,7 @@
 						{
 							teamdamage0 = max(attacker.dmg_team, cvar("g_teamdamage_threshold"));
 							attacker.dmg_team = attacker.dmg_team + damage;
-							if(attacker.dmg_team > teamdamage0)
+							if(attacker.dmg_team > teamdamage0 && !g_ca)
 								mirrordamage = cvar("g_mirrordamage") * (attacker.dmg_team - teamdamage0);
 							mirrorforce = cvar("g_mirrordamage") * vlen(force);
 							if(g_minstagib)
@@ -710,7 +710,7 @@
 								if(cvar("g_friendlyfire") == 0)
 									damage = 0;
 							}
-							else
+							else if(!g_ca)
 								damage = cvar("g_friendlyfire") * damage;
 							// mirrordamage will be used LATER
 						}
@@ -792,7 +792,12 @@
 			damage = damage * cvar("g_balance_powerup_invincible_takedamage");
 
 		if (targ == attacker)
-			damage = damage * cvar("g_balance_selfdamagepercent");	// Partial damage if the attacker hits himself
+		{
+			if(g_ca)
+				damage = 0;
+			else
+				damage = damage * cvar("g_balance_selfdamagepercent");	// Partial damage if the attacker hits himself
+		}
 
 		// CTF: reduce damage/force
 		if(g_ctf)

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2009-11-10 21:29:50 UTC (rev 8268)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2009-11-11 13:36:28 UTC (rev 8269)
@@ -935,7 +935,7 @@
     }
     else
     {
-        if (g_lms)
+        if (g_lms || g_ca)
         {
             start_ammo_shells = cvar("g_lms_start_ammo_shells");
             start_ammo_nails = cvar("g_lms_start_ammo_nails");
@@ -973,7 +973,7 @@
 
             if (t < 0) // "default" weapon selection
             {
-                if (g_lms)
+                if (g_lms || g_ca)
                     t = (e.spawnflags & WEPSPAWNFLAG_NORMAL);
                 else if (g_race || g_cts)
                     t = (i == WEP_LASER);

Modified: trunk/data/qcsrc/server/sv_main.qc
===================================================================
--- trunk/data/qcsrc/server/sv_main.qc	2009-11-10 21:29:50 UTC (rev 8268)
+++ trunk/data/qcsrc/server/sv_main.qc	2009-11-11 13:36:28 UTC (rev 8269)
@@ -67,7 +67,7 @@
 				self.dmg = 2;
 			}
 			// check for falling damage
-			if(!self.hook.state)
+			if(!self.hook.state && !g_ca)
 			{
 				dm = vlen(self.oldvelocity) - vlen(self.velocity); // dm is now the velocity DECREASE. Velocity INCREASE should never cause a sound or any damage.
 				if (self.deadflag)

Modified: trunk/data/qcsrc/server/t_items.qc
===================================================================
--- trunk/data/qcsrc/server/t_items.qc	2009-11-10 21:29:50 UTC (rev 8268)
+++ trunk/data/qcsrc/server/t_items.qc	2009-11-11 13:36:28 UTC (rev 8269)
@@ -788,7 +788,7 @@
 
 		weaponsInMap |= weaponid;
 
-		if(g_lms)
+		if(g_lms || g_ca)
 		{
 			startitem_failed = TRUE;
 			remove(self);

Modified: trunk/data/qcsrc/server/teamplay.qc
===================================================================
--- trunk/data/qcsrc/server/teamplay.qc	2009-11-10 21:29:50 UTC (rev 8268)
+++ trunk/data/qcsrc/server/teamplay.qc	2009-11-11 13:36:28 UTC (rev 8269)
@@ -284,12 +284,10 @@
 		ScoreRules_lms();
 	}
 
-	if(g_arena || g_ca)
+	if(g_arena)
 	{
 		game = GAME_ARENA;
 		gamemode_name = "Arena";
-		if(g_ca)
-			ActivateTeamplay();
 		fraglimit_override = cvar("g_arena_point_limit");
 		leadlimit_override = cvar("g_arena_point_leadlimit");
 		maxspawned = cvar("g_arena_maxspawned");
@@ -298,6 +296,14 @@
 		arena_roundbased = cvar("g_arena_roundbased");
 	}
 
+	if(g_ca)
+	{
+		game = GAME_CA;
+		gamemode_name = "Clan Arena";
+		ActivateTeamplay();
+		fraglimit_override = cvar("g_ca_point_limit");
+		leadlimit_override = cvar("g_ca_point_leadlimit");
+	}
 	if(g_keyhunt)
 	{
 		game = GAME_KEYHUNT;



More information about the nexuiz-commits mailing list