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

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Fri Aug 7 10:28:49 EDT 2009


Author: div0
Date: 2009-08-07 10:28:48 -0400 (Fri, 07 Aug 2009)
New Revision: 7383

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/server/bots.qc
   trunk/data/qcsrc/server/cl_weaponsystem.qc
   trunk/data/qcsrc/server/miscfunctions.qc
   trunk/data/qcsrc/server/w_hlac.qc
   trunk/data/qcsrc/server/w_minstanex.qc
   trunk/data/qcsrc/server/w_rocketlauncher.qc
   trunk/data/qcsrc/server/w_uzi.qc
Log:
also make projectile speed variable :P


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2009-08-07 13:59:17 UTC (rev 7382)
+++ trunk/data/defaultNexuiz.cfg	2009-08-07 14:28:48 UTC (rev 7383)
@@ -1592,7 +1592,8 @@
 set g_balance_pause_fuel_rot 5
 set g_balance_pause_fuel_rot_spawn 10
 
-set g_weaponspeedfactor 1 "weapon fire rate multiplier"
+set g_weaponspeedfactor 1 "weapon projectile speed multiplier"
+set g_weaponratefactor 1 "weapon fire rate multiplier"
 set g_weapondamagefactor 1 "weapon damage multiplier"
 set g_weaponforcefactor 1 "weapon force multiplier"
 

Modified: trunk/data/qcsrc/server/bots.qc
===================================================================
--- trunk/data/qcsrc/server/bots.qc	2009-08-07 13:59:17 UTC (rev 7382)
+++ trunk/data/qcsrc/server/bots.qc	2009-08-07 14:28:48 UTC (rev 7383)
@@ -2415,6 +2415,8 @@
 	dprint(", ", ftos(applygravity));
 	dprint(");\n");
 	*/
+	shotspeed *= g_weaponspeedfactor;
+	shotspeedupward *= g_weaponspeedfactor;
 	if (!shotspeed)
 	{
 		dprint("bot_aim: WARNING: weapon ", W_Name(self.weapon), " shotspeed is zero!\n");

Modified: trunk/data/qcsrc/server/cl_weaponsystem.qc
===================================================================
--- trunk/data/qcsrc/server/cl_weaponsystem.qc	2009-08-07 13:59:17 UTC (rev 7382)
+++ trunk/data/qcsrc/server/cl_weaponsystem.qc	2009-08-07 14:28:48 UTC (rev 7383)
@@ -7,10 +7,10 @@
 ===========================================================================
 */
 
-float W_WeaponSpeedFactor()
+float W_WeaponRateFactor()
 {
 	float t;
-	t = 1.0 / g_weaponspeedfactor;
+	t = 1.0 / g_weaponratefactor;
 
 	if(g_runematch)
 	{
@@ -640,7 +640,7 @@
 	f = 0;
 	if (self.state == WS_RAISE)
 	{
-		f = (self.owner.weapon_nextthink - time) * g_weaponspeedfactor / cvar("g_balance_weaponswitchdelay");
+		f = (self.owner.weapon_nextthink - time) * g_weaponratefactor / cvar("g_balance_weaponswitchdelay");
 		self.angles_x = -90 * f * f;
 		if (qcweaponanimation)
 		{
@@ -650,7 +650,7 @@
 	}
 	else if (self.state == WS_DROP)
 	{
-		f = 1 - (self.owner.weapon_nextthink - time) * g_weaponspeedfactor / cvar("g_balance_weaponswitchdelay");
+		f = 1 - (self.owner.weapon_nextthink - time) * g_weaponratefactor / cvar("g_balance_weaponswitchdelay");
 		self.angles_x = -90 * f * f;
 		if (qcweaponanimation)
 		{
@@ -1034,7 +1034,7 @@
 			ATTACK_FINISHED(self) = time;
 			//dprint("resetting attack finished to ", ftos(time), "\n");
 		}
-		ATTACK_FINISHED(self) = ATTACK_FINISHED(self) + attacktime * W_WeaponSpeedFactor();
+		ATTACK_FINISHED(self) = ATTACK_FINISHED(self) + attacktime * W_WeaponRateFactor();
 	}
 	self.bulletcounter += 1;
 	//dprint("attack finished ", ftos(ATTACK_FINISHED(self)), "\n");
@@ -1137,7 +1137,7 @@
 				a = self.weaponentity.anim_fire2;
 			else if (fr == WFRAME_RELOAD)
 				a = self.weaponentity.anim_reload;
-			a_z *= g_weaponspeedfactor;
+			a_z *= g_weaponratefactor;
 			setanim(self.weaponentity, a, restartanim == FALSE, restartanim, restartanim);
 		}
 	}
@@ -1151,7 +1151,7 @@
 		backtrace("Tried to override initial weapon think function - should this really happen?");
 	}
 
-	t *= W_WeaponSpeedFactor();
+	t *= W_WeaponRateFactor();
 
 	// VorteX: haste can be added here
 	if (self.weapon_think == w_ready)
@@ -1192,6 +1192,8 @@
 	float nstyle;
 	vector outvelocity;
 
+	mvelocity = mvelocity * g_weaponspeedfactor;
+
 	mdirection = normalize(mvelocity);
 	mspeed = vlen(mvelocity);
 

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2009-08-07 13:59:17 UTC (rev 7382)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2009-08-07 14:28:48 UTC (rev 7383)
@@ -704,6 +704,7 @@
 float g_weaponarena;
 string g_weaponarena_list;
 float g_weaponspeedfactor;
+float g_weaponratefactor;
 float g_weapondamagefactor;
 float g_weaponforcefactor;
 
@@ -1077,6 +1078,7 @@
     g_weaponarena = 0;
 
     g_weaponspeedfactor = cvar("g_weaponspeedfactor");
+    g_weaponratefactor = cvar("g_weaponratefactor");
     g_weapondamagefactor = cvar("g_weapondamagefactor");
     g_weaponforcefactor = cvar("g_weaponforcefactor");
 

Modified: trunk/data/qcsrc/server/w_hlac.qc
===================================================================
--- trunk/data/qcsrc/server/w_hlac.qc	2009-08-07 13:59:17 UTC (rev 7382)
+++ trunk/data/qcsrc/server/w_hlac.qc	2009-08-07 14:28:48 UTC (rev 7383)
@@ -156,7 +156,7 @@
 			return;
 		}
 
-		ATTACK_FINISHED(self) = time + cvar("g_balance_hlac_primary_refire") * W_WeaponSpeedFactor();
+		ATTACK_FINISHED(self) = time + cvar("g_balance_hlac_primary_refire") * W_WeaponRateFactor();
 		W_HLAC_Attack();
 		self.HLAC_bulletcounter = self.HLAC_bulletcounter + 1;
         weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_hlac_primary_refire"), HLAC_fire1_02);

Modified: trunk/data/qcsrc/server/w_minstanex.qc
===================================================================
--- trunk/data/qcsrc/server/w_minstanex.qc	2009-08-07 13:59:17 UTC (rev 7382)
+++ trunk/data/qcsrc/server/w_minstanex.qc	2009-08-07 14:28:48 UTC (rev 7383)
@@ -151,7 +151,7 @@
 		{
 			if (self.jump_interval <= time)
 			{
-				self.jump_interval = time + 0.9;
+				self.jump_interval = time + 0.9 * W_WeaponRateFactor();
 				W_Laser_Attack(FALSE);
 			}
 		}

Modified: trunk/data/qcsrc/server/w_rocketlauncher.qc
===================================================================
--- trunk/data/qcsrc/server/w_rocketlauncher.qc	2009-08-07 13:59:17 UTC (rev 7382)
+++ trunk/data/qcsrc/server/w_rocketlauncher.qc	2009-08-07 14:28:48 UTC (rev 7383)
@@ -26,7 +26,7 @@
 			self.owner.switchweapon = w_getbestweapon(self.owner);
 		}
 		if(g_laserguided_missile)
-			ATTACK_FINISHED(self.owner) = time + cvar("g_balance_rocketlauncher_refire") * W_WeaponSpeedFactor();
+			ATTACK_FINISHED(self.owner) = time + cvar("g_balance_rocketlauncher_refire") * W_WeaponRateFactor();
 	}
 	remove (self);
 }
@@ -143,7 +143,7 @@
 	{
 		// accelerate
 		makevectors(self.angles_x * '-1 0 0' + self.angles_y * '0 1 0');
-		velspeed = cvar("g_balance_rocketlauncher_laserguided_speed") - (self.velocity * v_forward);
+		velspeed = cvar("g_balance_rocketlauncher_laserguided_speed") * g_weaponspeedfactor - (self.velocity * v_forward);
 		if (velspeed > 0)
 			self.velocity = self.velocity + v_forward * min(cvar("g_balance_rocketlauncher_laserguided_speedaccel") * frametime, velspeed);
 	}
@@ -151,9 +151,9 @@
 	{
 		// accelerate
 		makevectors(self.angles_x * '-1 0 0' + self.angles_y * '0 1 0');
-		velspeed = cvar("g_balance_rocketlauncher_speed") - (self.velocity * v_forward);
+		velspeed = cvar("g_balance_rocketlauncher_speed") * g_weaponspeedfactor - (self.velocity * v_forward);
 		if (velspeed > 0)
-			self.velocity = self.velocity + v_forward * min(cvar("g_balance_rocketlauncher_speedaccel") * frametime, velspeed);
+			self.velocity = self.velocity + v_forward * min(cvar("g_balance_rocketlauncher_speedaccel") * g_weaponspeedfactor * frametime, velspeed);
 	}
 
 	// laser guided, or remote detonation
@@ -194,7 +194,7 @@
 				self.velocity = newdir * velspeed;					// make me fly in the new direction at my flight speed
 				self.angles = vectoangles(self.velocity);			// turn model in the new flight direction
 
-				ATTACK_FINISHED(self.owner) = time + 0.2 * W_WeaponSpeedFactor();
+				ATTACK_FINISHED(self.owner) = time + 0.2 * W_WeaponRateFactor();
 			}
 		}
 		else
@@ -282,9 +282,9 @@
 
 	setorigin (missile, w_shotorg - v_forward * 3); // move it back so it hits the wall at the right point
 	if(g_laserguided_missile && self.laser_on)
-		missile.velocity = w_shotdir * cvar("g_balance_rocketlauncher_laserguided_speedstart");
+		missile.velocity = w_shotdir * cvar("g_balance_rocketlauncher_laserguided_speedstart") * g_weaponspeedfactor;
 	else
-		missile.velocity = w_shotdir * cvar("g_balance_rocketlauncher_speedstart");
+		missile.velocity = w_shotdir * cvar("g_balance_rocketlauncher_speedstart") * g_weaponspeedfactor;
 	W_SetupProjectileVelocity(missile);
 	missile.angles = vectoangles (missile.velocity);
 

Modified: trunk/data/qcsrc/server/w_uzi.qc
===================================================================
--- trunk/data/qcsrc/server/w_uzi.qc	2009-08-07 13:59:17 UTC (rev 7382)
+++ trunk/data/qcsrc/server/w_uzi.qc	2009-08-07 14:28:48 UTC (rev 7383)
@@ -30,7 +30,7 @@
 	}
 
 	// this attack_finished just enforces a cooldown at the end of a burst
-	ATTACK_FINISHED(self) = time + cvar("g_balance_uzi_first_refire") * W_WeaponSpeedFactor();
+	ATTACK_FINISHED(self) = time + cvar("g_balance_uzi_first_refire") * W_WeaponRateFactor();
 
 	if (self.uzi_bulletcounter == 1)
 		fireBallisticBullet(w_shotorg, w_shotdir, cvar("g_balance_uzi_first_spread"), cvar("g_balance_uzi_speed"), 5, cvar("g_balance_uzi_first_damage"), 0, cvar("g_balance_uzi_first_force"), deathtype, 0, 1, cvar("g_balance_uzi_bulletconstant"));



More information about the nexuiz-commits mailing list