[nexuiz-commits] r6310 - trunk/data/qcsrc/server

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Thu Mar 26 12:53:53 EDT 2009


Author: div0
Date: 2009-03-26 12:53:51 -0400 (Thu, 26 Mar 2009)
New Revision: 6310

Modified:
   trunk/data/qcsrc/server/cl_physics.qc
   trunk/data/qcsrc/server/w_hook.qc
Log:
jetpack: support unlimited ammo
hook: decrease ammo gradually, not one by one


Modified: trunk/data/qcsrc/server/cl_physics.qc
===================================================================
--- trunk/data/qcsrc/server/cl_physics.qc	2009-03-26 16:38:17 UTC (rev 6309)
+++ trunk/data/qcsrc/server/cl_physics.qc	2009-03-26 16:53:51 UTC (rev 6310)
@@ -639,7 +639,7 @@
 				self.velocity = self.velocity + wishdir * min(f, sv_accelerate*maxspd_mod * frametime * wishspeed);
 		}
 	}
-	else if (g_jetpack && self.BUTTON_HOOK && (!cvar("g_jetpack_ammo") || self.ammo_cells >= 0.01))
+	else if (g_jetpack && self.BUTTON_HOOK && (!cvar("g_jetpack_ammo") || self.ammo_cells >= 0.01 || self.items & IT_UNLIMITED_WEAPON_AMMO))
 	{
 		//makevectors(self.v_angle_y * '0 1 0');
 		makevectors(self.v_angle);
@@ -670,7 +670,7 @@
 		wishvel_z = (wishvel_z - sv_gravity) * fz + sv_gravity;
 		fvel = min(1, vlen(wishvel) / fvel);
 
-		if(cvar("g_jetpack_ammo"))
+		if(cvar("g_jetpack_ammo") && !(self.items & IT_UNLIMITED_WEAPON_AMMO))
 		{
 			if(self.ammo_cells < 0.01)
 				f = 0;
@@ -683,7 +683,8 @@
 		if (f > 0 && wishvel != '0 0 0')
 		{
 			self.velocity = self.velocity + wishvel * f * frametime;
-			self.ammo_cells -= cvar("g_jetpack_ammo") * frametime * fvel * f;
+			if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
+				self.ammo_cells -= cvar("g_jetpack_ammo") * frametime * fvel * f;
 			self.flags &~= FL_ONGROUND;
 			self.modelflags |= MF_ROCKET;
 			self.items |= IT_USING_JETPACK;

Modified: trunk/data/qcsrc/server/w_hook.qc
===================================================================
--- trunk/data/qcsrc/server/w_hook.qc	2009-03-26 16:38:17 UTC (rev 6309)
+++ trunk/data/qcsrc/server/w_hook.qc	2009-03-26 16:53:51 UTC (rev 6310)
@@ -157,8 +157,8 @@
 					if ( self.ammo_cells >= 1 )
 					{
 						if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
-							self.ammo_cells -= 1;
-						self.hook_time_ammodecrease = time + hooked_ammodecrease_delay;
+							self.ammo_cells -= frametime / hooked_ammodecrease_delay;
+						// decrease next frame again
 					}
 					else
 					{



More information about the nexuiz-commits mailing list