r2815 - branches/nexuiz-2.0/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sat Oct 6 15:27:32 EDT 2007


Author: div0
Date: 2007-10-06 15:27:31 -0400 (Sat, 06 Oct 2007)
New Revision: 2815

Modified:
   branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc
   branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc
   branches/nexuiz-2.0/data/qcsrc/server/defs.qh
   branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_laser.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_rocketlauncher.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_shotgun.qc
   branches/nexuiz-2.0/data/qcsrc/server/w_uzi.qc
Log:
add bestweapon support using DP_CON_BESTWEAPON


Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_client.qc	2007-10-06 19:27:31 UTC (rev 2815)
@@ -616,6 +616,7 @@
 void ClientConnect (void)
 {
 	local string s;
+	float wep;
 
 	if(Ban_IsClientBanned(self))
 	{
@@ -695,6 +696,15 @@
 	// get version info from player
 	stuffcmd(self, "cmd clientversion $gameversion\n");
 
+	// send all weapon info strings
+	stuffcmd(self, "register_bestweapon clear\n"); // clear the Quake stuff
+	wep = WEP_FIRST;
+	while (wep <= WEP_LAST)
+	{
+		weapon_action(wep, WR_REGISTER);
+		wep = wep + 1;
+	}
+
 	// get other cvars from player
 	GetCvars(0);
 

Modified: branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/cl_weaponsystem.qc	2007-10-06 19:27:31 UTC (rev 2815)
@@ -494,4 +494,29 @@
 		error("Unowned missile");
 
 	missile.velocity = W_CalculateProjectileVelocity(missile.owner.velocity, missile.velocity);
+} 
+
+void(float wepcode, float minammo) weapon_register =
+{
+	string s;
+	float itemcode;
+	s = strcat("register_bestweapon ", ftos(wepcode), " "); // char for bestweapon
+	s = strcat(s, ftos(wepcode), " "); // impulse
+	s = strcat(s, ftos(W_ItemCode(wepcode)), " "); // item code
+	s = strcat(s, ftos(wepcode), " "); // self.weapon code
+
+	// ammo stat
+	itemcode = W_AmmoItemCode(wepcode);
+	if(itemcode == IT_SHELLS)
+		s = strcat(s, "6 ");
+	else if(itemcode == IT_NAILS)
+		s = strcat(s, "7 ");
+	else if(itemcode == IT_ROCKETS)
+		s = strcat(s, "8 ");
+	else // if(itemcode == IT_CELLS)
+		s = strcat(s, "9 ");
+
+	s = strcat(s, ftos(minammo), "\n");
+	//dprint(s);
+	stuffcmd(self, s);
 }

Modified: branches/nexuiz-2.0/data/qcsrc/server/defs.qh
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/defs.qh	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/defs.qh	2007-10-06 19:27:31 UTC (rev 2815)
@@ -138,6 +138,7 @@
 float WR_CHECKAMMO2	  = 4; // checks ammo for weapon
 float WR_AIM		  = 5; // runs bot aiming code for this weapon
 float WR_PRECACHE	  = 6; // precaches models/sounds used by this weapon
+float WR_REGISTER	  = 7; // send data about the weapon to the client self (for ClientConnect)
 
 // Weapon indexes
 float WEP_LASER				= 1; // float	IT_LASER				= 4096;

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_crylink.qc	2007-10-06 19:27:31 UTC (rev 2815)
@@ -217,5 +217,7 @@
 		return self.ammo_cells >= cvar("g_balance_crylink_primary_ammo");
 	else if (req == WR_CHECKAMMO2)
 		return self.ammo_cells >= cvar("g_balance_crylink_secondary_ammo");
+	else if (req == WR_REGISTER)
+		weapon_register(WEP_CRYLINK, min(cvar("g_balance_crylink_primary_ammo"), cvar("g_balance_crylink_secondary_ammo")));
 	return TRUE;
 };

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_electro.qc	2007-10-06 19:27:31 UTC (rev 2815)
@@ -212,5 +212,7 @@
 		return self.ammo_cells >= cvar("g_balance_electro_primary_ammo");
 	else if (req == WR_CHECKAMMO2)
 		return self.ammo_cells >= cvar("g_balance_electro_secondary_ammo");
+	else if (req == WR_REGISTER)
+		weapon_register(WEP_ELECTRO, min(cvar("g_balance_electro_primary_ammo"), cvar("g_balance_electro_secondary_ammo")));
 	return TRUE;
 };

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_grenadelauncher.qc	2007-10-06 19:27:31 UTC (rev 2815)
@@ -201,5 +201,7 @@
 		return self.ammo_rockets >= cvar("g_balance_grenadelauncher_primary_ammo");
 	else if (req == WR_CHECKAMMO2)
 		return self.ammo_rockets >= cvar("g_balance_grenadelauncher_secondary_ammo");
+	else if (req == WR_REGISTER)
+		weapon_register(WEP_GRENADE_LAUNCHER, min(cvar("g_balance_grenadelauncher_primary_ammo"), cvar("g_balance_grenadelauncher_secondary_ammo")));
 	return TRUE;
 };

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_hagar.qc	2007-10-06 19:27:31 UTC (rev 2815)
@@ -189,5 +189,7 @@
 		return self.ammo_rockets >= cvar("g_balance_hagar_primary_ammo");
 	else if (req == WR_CHECKAMMO2)
 		return self.ammo_rockets >= cvar("g_balance_hagar_secondary_ammo");
+	else if (req == WR_REGISTER)
+		weapon_register(WEP_HAGAR, min(cvar("g_balance_hagar_primary_ammo"), cvar("g_balance_hagar_secondary_ammo")));
 	return TRUE;
 };

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_laser.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_laser.qc	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_laser.qc	2007-10-06 19:27:31 UTC (rev 2815)
@@ -131,5 +131,7 @@
 		return TRUE;
 	else if (req == WR_CHECKAMMO2)
 		return TRUE;
+	else if (req == WR_REGISTER)
+		weapon_register(WEP_LASER, 0);
 	return TRUE;
 };

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_nex.qc	2007-10-06 19:27:31 UTC (rev 2815)
@@ -192,5 +192,7 @@
 	}
 	else if (req == WR_CHECKAMMO2)
 		return FALSE;
+	else if (req == WR_REGISTER)
+		weapon_register(WEP_NEX, cvar("g_balance_nex_ammo"));
 	return TRUE;
 };

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_rocketlauncher.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_rocketlauncher.qc	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_rocketlauncher.qc	2007-10-06 19:27:31 UTC (rev 2815)
@@ -411,5 +411,7 @@
 	}
 	else if (req == WR_CHECKAMMO2)
 		return FALSE;
+	else if (req == WR_REGISTER)
+		weapon_register(WEP_ROCKET_LAUNCHER, cvar("g_balance_rocketlauncher_ammo"));
 	return TRUE;
 };

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_shotgun.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_shotgun.qc	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_shotgun.qc	2007-10-06 19:27:31 UTC (rev 2815)
@@ -108,5 +108,7 @@
 		return self.ammo_shells >= cvar("g_balance_shotgun_primary_ammo");
 	else if (req == WR_CHECKAMMO2)
 		return self.ammo_shells >= cvar("g_balance_shotgun_secondary_ammo") * 3;
+	else if (req == WR_REGISTER)
+		weapon_register(WEP_SHOTGUN, min(cvar("g_balance_shotgun_primary_ammo"), cvar("g_balance_shotgun_secondary_ammo")));
 	return TRUE;
 };

Modified: branches/nexuiz-2.0/data/qcsrc/server/w_uzi.qc
===================================================================
--- branches/nexuiz-2.0/data/qcsrc/server/w_uzi.qc	2007-10-06 19:25:31 UTC (rev 2814)
+++ branches/nexuiz-2.0/data/qcsrc/server/w_uzi.qc	2007-10-06 19:27:31 UTC (rev 2815)
@@ -126,6 +126,8 @@
 	else if (req == WR_CHECKAMMO1)
 		return self.ammo_nails >= cvar("g_balance_uzi_first_ammo");
 	else if (req == WR_CHECKAMMO2)
-		return self.ammo_nails >= cvar("g_balance_uzi_sustained_ammo");
+		return self.ammo_nails >= cvar("g_balance_uzi_first_ammo");
+	else if (req == WR_REGISTER)
+		weapon_register(WEP_UZI, cvar("g_balance_uzi_first_ammo"));
 	return TRUE;
 };




More information about the nexuiz-commits mailing list