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

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Sun May 31 15:06:25 EDT 2009


Author: div0
Date: 2009-05-31 15:06:22 -0400 (Sun, 31 May 2009)
New Revision: 6833

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/server/cl_weaponsystem.qc
   trunk/data/qcsrc/server/constants.qh
   trunk/data/qcsrc/server/g_damage.qc
   trunk/data/qcsrc/server/miscfunctions.qc
   trunk/data/qcsrc/server/w_hlac.qc
   trunk/data/qcsrc/server/w_rocketlauncher.qc
   trunk/data/qcsrc/server/w_uzi.qc
Log:
new cvars: g_weaponspeedfactor, g_weapondamagefactor (mimicking UT's "game style" setting)


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2009-05-31 18:36:34 UTC (rev 6832)
+++ trunk/data/defaultNexuiz.cfg	2009-05-31 19:06:22 UTC (rev 6833)
@@ -24,7 +24,7 @@
 seta g_configversion 0	"Configuration file version (used to upgrade settings) 0: first run, or previous start was <2.4.1  Later, it's overridden by config.cfg, version ranges are defined in config_update.cfg"
 
 // default.cfg versioning (update using update-cvarcount.sh, run that every time after adding a new cvar)
-set cvar_check_default e6c4e90556771011ab2d85a3f0b5d4d6
+set cvar_check_default c120fa8ce7b9f4b1b86b922d65249573
 
 // Nexuiz version (formatted for machines)
 // used to determine if a client version is compatible
@@ -1528,6 +1528,9 @@
 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_weapondamagefactor 1 "weapon damage multiplier"
+
 set cl_effects_lightningarc_simple 0
 set cl_effects_lightningarc_segmentlength 64
 set cl_effects_lightningarc_drift_start 0.45

Modified: trunk/data/qcsrc/server/cl_weaponsystem.qc
===================================================================
--- trunk/data/qcsrc/server/cl_weaponsystem.qc	2009-05-31 18:36:34 UTC (rev 6832)
+++ trunk/data/qcsrc/server/cl_weaponsystem.qc	2009-05-31 19:06:22 UTC (rev 6833)
@@ -7,6 +7,29 @@
 ===========================================================================
 */
 
+float W_WeaponSpeedFactor()
+{
+	float t;
+	t = 1.0 / g_weaponspeedfactor;
+
+	if(g_runematch)
+	{
+		if(self.runes & RUNE_SPEED)
+		{
+			if(self.runes & CURSE_SLOW)
+				t = t * cvar("g_balance_rune_speed_combo_atkrate");
+			else
+				t = t * cvar("g_balance_rune_speed_atkrate");
+		}
+		else if(self.runes & CURSE_SLOW)
+		{
+			t = t * cvar("g_balance_curse_slow_atkrate");
+		}
+	}
+
+	return t;
+}
+
 void W_SwitchWeapon_Force(entity e, float w)
 {
 	e.cnt = e.switchweapon;
@@ -602,7 +625,7 @@
 	f = 0;
 	if (self.state == WS_RAISE)
 	{
-		f = (self.owner.weapon_nextthink - time) / cvar("g_balance_weaponswitchdelay");
+		f = (self.owner.weapon_nextthink - time) * g_weaponspeedfactor / cvar("g_balance_weaponswitchdelay");
 		self.angles_x = -90 * f * f;
 		if (qcweaponanimation)
 		{
@@ -612,7 +635,7 @@
 	}
 	else if (self.state == WS_DROP)
 	{
-		f = 1 - (self.owner.weapon_nextthink - time) / cvar("g_balance_weaponswitchdelay");
+		f = 1 - (self.owner.weapon_nextthink - time) * g_weaponspeedfactor / cvar("g_balance_weaponswitchdelay");
 		self.angles_x = -90 * f * f;
 		if (qcweaponanimation)
 		{
@@ -991,7 +1014,7 @@
 			ATTACK_FINISHED(self) = time;
 			//dprint("resetting attack finished to ", ftos(time), "\n");
 		}
-		ATTACK_FINISHED(self) = ATTACK_FINISHED(self) + attacktime;
+		ATTACK_FINISHED(self) = ATTACK_FINISHED(self) + attacktime * W_WeaponSpeedFactor();
 	}
 	self.bulletcounter += 1;
 	//dprint("attack finished ", ftos(ATTACK_FINISHED(self)), "\n");
@@ -1094,6 +1117,7 @@
 				a = self.weaponentity.anim_fire2;
 			else if (fr == WFRAME_RELOAD)
 				a = self.weaponentity.anim_reload;
+			a_z *= g_weaponspeedfactor;
 			setanim(self.weaponentity, a, restartanim == FALSE, restartanim, restartanim);
 		}
 
@@ -1112,20 +1136,7 @@
 		backtrace("Tried to override initial weapon think function - should this really happen?");
 	}
 
-	if(g_runematch)
-	{
-		if(self.runes & RUNE_SPEED)
-		{
-			if(self.runes & CURSE_SLOW)
-				t = t * cvar("g_balance_rune_speed_combo_atkrate");
-			else
-				t = t * cvar("g_balance_rune_speed_atkrate");
-		}
-		else if(self.runes & CURSE_SLOW)
-		{
-			t = t * cvar("g_balance_curse_slow_atkrate");
-		}
-	}
+	t *= W_WeaponSpeedFactor();
 
 	// VorteX: haste can be added here
 	if (self.weapon_think == w_ready)

Modified: trunk/data/qcsrc/server/constants.qh
===================================================================
--- trunk/data/qcsrc/server/constants.qh	2009-05-31 18:36:34 UTC (rev 6832)
+++ trunk/data/qcsrc/server/constants.qh	2009-05-31 19:06:22 UTC (rev 6833)
@@ -1,4 +1,4 @@
-string CVAR_CHECK_DEFAULT = "e6c4e90556771011ab2d85a3f0b5d4d6";
+string CVAR_CHECK_DEFAULT = "c120fa8ce7b9f4b1b86b922d65249573";
 string CVAR_CHECK_WEAPONS = "2f93eb8481f44bb2ff744af86a75eccf";
 
 float	FALSE					= 0;

Modified: trunk/data/qcsrc/server/g_damage.qc
===================================================================
--- trunk/data/qcsrc/server/g_damage.qc	2009-05-31 18:36:34 UTC (rev 6832)
+++ trunk/data/qcsrc/server/g_damage.qc	2009-05-31 19:06:22 UTC (rev 6833)
@@ -702,6 +702,9 @@
 			}
 		}
 
+		if not(DEATH_ISSPECIAL(deathtype))
+			damage *= g_weapondamagefactor;
+
 		// apply strength multiplier
 		if ((attacker.items & IT_STRENGTH) && !g_minstagib)
 		{

Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc	2009-05-31 18:36:34 UTC (rev 6832)
+++ trunk/data/qcsrc/server/miscfunctions.qc	2009-05-31 19:06:22 UTC (rev 6833)
@@ -691,6 +691,8 @@
 float g_pickup_healthmega_max;
 float g_weaponarena;
 string g_weaponarena_list;
+float g_weaponspeedfactor;
+float g_weapondamagefactor;
 
 float start_weapons;
 float start_items;
@@ -1044,6 +1046,9 @@
 	if(g_nixnex) g_weaponarena = 0;
 	g_weaponarena = 0;
 
+	g_weaponspeedfactor = cvar("g_weaponspeedfactor");
+	g_weapondamagefactor = cvar("g_weapondamagefactor");
+
 	g_pickup_shells                    = cvar("g_pickup_shells");
 	g_pickup_shells_max                = cvar("g_pickup_shells_max");
 	g_pickup_nails                     = cvar("g_pickup_nails");

Modified: trunk/data/qcsrc/server/w_hlac.qc
===================================================================
--- trunk/data/qcsrc/server/w_hlac.qc	2009-05-31 18:36:34 UTC (rev 6832)
+++ trunk/data/qcsrc/server/w_hlac.qc	2009-05-31 19:06:22 UTC (rev 6833)
@@ -135,8 +135,6 @@
 		self.punchangle_x = random () - 0.5;
 		self.punchangle_y = random () - 0.5;
 	}
-
-	// ATTACK_FINISHED(self) = time + cvar("g_balance_hlac_secondary_refire");
 }
 
 
@@ -158,7 +156,7 @@
 			return;
 		}
 
-		ATTACK_FINISHED(self) = time + cvar("g_balance_hlac_primary_refire");
+		ATTACK_FINISHED(self) = time + cvar("g_balance_hlac_primary_refire") * W_WeaponSpeedFactor();
 		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_rocketlauncher.qc
===================================================================
--- trunk/data/qcsrc/server/w_rocketlauncher.qc	2009-05-31 18:36:34 UTC (rev 6832)
+++ trunk/data/qcsrc/server/w_rocketlauncher.qc	2009-05-31 19:06:22 UTC (rev 6833)
@@ -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");
+			ATTACK_FINISHED(self.owner) = time + cvar("g_balance_rocketlauncher_refire") * W_WeaponSpeedFactor();
 	}
 	remove (self);
 }
@@ -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;
+				ATTACK_FINISHED(self.owner) = time + 0.2 * W_WeaponSpeedFactor();
 			}
 		}
 		else

Modified: trunk/data/qcsrc/server/w_uzi.qc
===================================================================
--- trunk/data/qcsrc/server/w_uzi.qc	2009-05-31 18:36:34 UTC (rev 6832)
+++ trunk/data/qcsrc/server/w_uzi.qc	2009-05-31 19:06:22 UTC (rev 6833)
@@ -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");
+	ATTACK_FINISHED(self) = time + cvar("g_balance_uzi_first_refire") * W_WeaponSpeedFactor();
 
 	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