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

DONOTREPLY at icculus.org DONOTREPLY at icculus.org
Wed Sep 23 01:58:57 EDT 2009


Author: div0
Date: 2009-09-23 01:58:57 -0400 (Wed, 23 Sep 2009)
New Revision: 7867

Modified:
   trunk/data/defaultNexuiz.cfg
   trunk/data/qcsrc/server/constants.qh
   trunk/data/qcsrc/server/w_campingrifle.qc
   trunk/data/weapons.cfg
   trunk/data/weapons25.cfg
   trunk/data/weaponsHavoc.cfg
Log:
camping rifle: in havoc balance, remove reload, instead support bursts for secondary, then a slower refire


Modified: trunk/data/defaultNexuiz.cfg
===================================================================
--- trunk/data/defaultNexuiz.cfg	2009-09-23 04:57:52 UTC (rev 7866)
+++ trunk/data/defaultNexuiz.cfg	2009-09-23 05:58:57 UTC (rev 7867)
@@ -26,7 +26,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 28459139144883d7da0c4033615e0b20
+set cvar_check_default 555b377d0ab22c70606023c3ff4c3beb
 
 // Nexuiz version (formatted for machines)
 // used to determine if a client version is compatible

Modified: trunk/data/qcsrc/server/constants.qh
===================================================================
--- trunk/data/qcsrc/server/constants.qh	2009-09-23 04:57:52 UTC (rev 7866)
+++ trunk/data/qcsrc/server/constants.qh	2009-09-23 05:58:57 UTC (rev 7867)
@@ -1,5 +1,5 @@
-string CVAR_CHECK_DEFAULT = "28459139144883d7da0c4033615e0b20";
-string CVAR_CHECK_WEAPONS = "bc8154746bdc33b6ff517c0e19fa91e0";
+string CVAR_CHECK_DEFAULT = "555b377d0ab22c70606023c3ff4c3beb";
+string CVAR_CHECK_WEAPONS = "5278169134188aeb084c58d3ed3ed289";
 
 float	FALSE					= 0;
 float	TRUE					= 1;

Modified: trunk/data/qcsrc/server/w_campingrifle.qc
===================================================================
--- trunk/data/qcsrc/server/w_campingrifle.qc	2009-09-23 04:57:52 UTC (rev 7866)
+++ trunk/data/qcsrc/server/w_campingrifle.qc	2009-09-23 05:58:57 UTC (rev 7867)
@@ -2,18 +2,22 @@
 //* Manually operating the bolt means that all the power of the gas is used to propell the bullet. In this mode the bolt is prevented from moving backwards in response to the firing of the bullet.
 //** In fully automatic mode some of the gas is used to extract and reload the next cartrige, thus there is less power and range.
 
+.float campingrifle_accumulator;
+
 float W_CampingRifle_CheckMaxBullets()
 {
 	float maxbulls;
 	maxbulls = cvar("g_balance_campingrifle_magazinecapacity");
+	if(!maxbulls)
+		maxbulls = 8;
 	if not(self.items & IT_UNLIMITED_WEAPON_AMMO)
 		maxbulls = min(maxbulls, floor(self.ammo_nails / min(cvar("g_balance_campingrifle_primary_ammo"), cvar("g_balance_campingrifle_secondary_ammo"))));
-	if(self.campingrifle_bulletcounter > maxbulls)
+	if(self.campingrifle_bulletcounter > maxbulls || !cvar("g_balance_campingrifle_magazinecapacity"))
 		self.campingrifle_bulletcounter = maxbulls;
 	return (self.campingrifle_bulletcounter == maxbulls);
 }
 
-void W_Campingrifle_ReloadedAndReady()
+void W_CampingRifle_ReloadedAndReady()
 {
 	float t;
 	self.campingrifle_bulletcounter = cvar("g_balance_campingrifle_magazinecapacity");
@@ -23,10 +27,11 @@
 	w_ready();
 }
 
-void W_Campingrifle_Reload()
+void W_CampingRifle_Reload()
 {
 	float t;
 
+	W_CampingRifle_CheckMaxBullets();
 	if (self.campingrifle_bulletcounter >= cvar("g_balance_campingrifle_magazinecapacity"))
 		return;
 
@@ -50,16 +55,16 @@
 	t = max(time, ATTACK_FINISHED(self)) + cvar("g_balance_campingrifle_reloadtime") + 1;
 	ATTACK_FINISHED(self) = t;
 
-	weapon_thinkf(WFRAME_RELOAD, cvar("g_balance_campingrifle_reloadtime"), W_Campingrifle_ReloadedAndReady);
+	weapon_thinkf(WFRAME_RELOAD, cvar("g_balance_campingrifle_reloadtime"), W_CampingRifle_ReloadedAndReady);
 
 	self.campingrifle_bulletcounter = -1;
 }
 
-void W_Campingrifle_CheckReloadAndReady()
+void W_CampingRifle_CheckReloadAndReady()
 {
 	w_ready();
 	if (self.campingrifle_bulletcounter <= 0)
-		W_Campingrifle_Reload();
+		W_CampingRifle_Reload();
 	else
 		w_ready();
 }
@@ -89,14 +94,15 @@
 		SpawnCasing (((random () * 50 + 50) * v_right) - (v_forward * (random () * 25 + 25)) - ((random () * 5 - 70) * v_up), 2, vectoangles(v_forward),'0 250 0', 100, 3, self);
 	
 	self.campingrifle_bulletcounter = self.campingrifle_bulletcounter - 1;
+	W_CampingRifle_CheckMaxBullets();
 }
 
-void W_Campingrifle_Attack()
+void W_CampingRifle_Attack()
 {
 	W_CampingRifle_FireBullet(cvar("g_balance_campingrifle_primary_spread"), cvar("g_balance_campingrifle_primary_damage"), cvar("g_balance_campingrifle_primary_headshotaddeddamage"), cvar("g_balance_campingrifle_primary_force"), cvar("g_balance_campingrifle_primary_speed"), cvar("g_balance_campingrifle_primary_lifetime"), cvar("g_balance_campingrifle_primary_ammo"), WEP_CAMPINGRIFLE, cvar("g_balance_campingrifle_primary_bulletconstant"));
 }
 
-void W_Campingrifle_Attack2()
+void W_CampingRifle_Attack2()
 {
 	W_CampingRifle_FireBullet(cvar("g_balance_campingrifle_secondary_spread"), cvar("g_balance_campingrifle_secondary_damage"), cvar("g_balance_campingrifle_secondary_headshotaddeddamage"), cvar("g_balance_campingrifle_secondary_force"), cvar("g_balance_campingrifle_secondary_speed"), cvar("g_balance_campingrifle_secondary_lifetime"), cvar("g_balance_campingrifle_secondary_ammo"), WEP_CAMPINGRIFLE | HITTYPE_SECONDARY, cvar("g_balance_campingrifle_secondary_bulletconstant"));
 }
@@ -139,21 +145,26 @@
 		{
 			if(self.switchweapon == self.weapon)
 			if(self.weaponentity.state == WS_READY)
-				W_Campingrifle_Reload();
+				W_CampingRifle_Reload();
 		}
 		else
 		{
+			self.campingrifle_accumulator = bound(time - cvar("g_balance_campingrifle_bursttime"), self.campingrifle_accumulator, time);
+			if (time >= self.campingrifle_accumulator + cvar("g_balance_campingrifle_primary_burstcost"))
 			if (self.BUTTON_ATCK)
 			if (weapon_prepareattack(0, cvar("g_balance_campingrifle_primary_refire")))
 			{
-				W_Campingrifle_Attack();
-				weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_campingrifle_primary_animtime"), W_Campingrifle_CheckReloadAndReady);
+				W_CampingRifle_Attack();
+				weapon_thinkf(WFRAME_FIRE1, cvar("g_balance_campingrifle_primary_animtime"), W_CampingRifle_CheckReloadAndReady);
+				self.campingrifle_accumulator += cvar("g_balance_campingrifle_primary_burstcost");
 			}
+			if (time >= self.campingrifle_accumulator + cvar("g_balance_campingrifle_secondary_burstcost"))
 			if (self.BUTTON_ATCK2)
 			if (weapon_prepareattack(1, cvar("g_balance_campingrifle_secondary_refire")))
 			{
-				W_Campingrifle_Attack2();
-				weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_campingrifle_secondary_animtime"), W_Campingrifle_CheckReloadAndReady);
+				W_CampingRifle_Attack2();
+				weapon_thinkf(WFRAME_FIRE2, cvar("g_balance_campingrifle_secondary_animtime"), W_CampingRifle_CheckReloadAndReady);
+				self.campingrifle_accumulator += cvar("g_balance_campingrifle_secondary_burstcost");
 			}
 		}
 	}
@@ -213,7 +224,7 @@
 	}
 	else if (req == WR_RELOAD)
 	{
-		W_Campingrifle_Reload();
+		W_CampingRifle_Reload();
 	}
 	return TRUE;
 };

Modified: trunk/data/weapons.cfg
===================================================================
--- trunk/data/weapons.cfg	2009-09-23 04:57:52 UTC (rev 7866)
+++ trunk/data/weapons.cfg	2009-09-23 05:58:57 UTC (rev 7867)
@@ -3,7 +3,7 @@
 //
 // And... don't forget to edit weaponsHavoc.cfg too.
 
-set cvar_check_weapons bc8154746bdc33b6ff517c0e19fa91e0
+set cvar_check_weapons 5278169134188aeb084c58d3ed3ed289
 
 // NOTE: this only replaces weapons on the map
 // use g_start_weapon_* to also replace the on-startup weapons!
@@ -340,21 +340,23 @@
 set g_balance_hlac_secondary_ammo 10
 set g_balance_hlac_secondary_shots 5
 
-set g_balance_campingrifle_magazinecapacity 8
+set g_balance_campingrifle_magazinecapacity 0
 set g_balance_campingrifle_reloadtime 2 // matches reload anim
 set g_balance_campingrifle_auto_reload_after_changing_weapons 0
+set g_balance_campingrifle_bursttime 0.85 // 0.35 - 0.1 + 0.35 - 0.1 + 0.35 = three secondaries
 set g_balance_campingrifle_primary_damage 50
-set g_balance_campingrifle_primary_headshotaddeddamage 100
+set g_balance_campingrifle_primary_headshotaddeddamage 50
 set g_balance_campingrifle_primary_spread 0
 set g_balance_campingrifle_primary_force 2
 set g_balance_campingrifle_primary_speed 35000
 set g_balance_campingrifle_primary_lifetime 5
 set g_balance_campingrifle_primary_refire 0.7
 set g_balance_campingrifle_primary_animtime 0.3
-set g_balance_campingrifle_primary_ammo 5
+set g_balance_campingrifle_primary_ammo 15
 set g_balance_campingrifle_primary_bulletconstant 130 // 56.3qu
+set g_balance_campingrifle_primary_burstcost 0.35 // require same cooldown as secondary, note it's smaller than primary refire time
 set g_balance_campingrifle_secondary_damage 15
-set g_balance_campingrifle_secondary_headshotaddeddamage 15 // 50 damage only on head
+set g_balance_campingrifle_secondary_headshotaddeddamage 25
 set g_balance_campingrifle_secondary_spread 0.02
 set g_balance_campingrifle_secondary_force 1
 set g_balance_campingrifle_secondary_speed 20000
@@ -363,6 +365,7 @@
 set g_balance_campingrifle_secondary_animtime 0.1
 set g_balance_campingrifle_secondary_ammo 5
 set g_balance_campingrifle_secondary_bulletconstant 130 // 18.3qu
+set g_balance_campingrifle_secondary_burstcost 0.35
 
 set g_balance_tuba_refire 0.25
 set g_balance_tuba_animtime 0.25

Modified: trunk/data/weapons25.cfg
===================================================================
--- trunk/data/weapons25.cfg	2009-09-23 04:57:52 UTC (rev 7866)
+++ trunk/data/weapons25.cfg	2009-09-23 05:58:57 UTC (rev 7867)
@@ -3,7 +3,7 @@
 //
 // And... don't forget to edit weaponsHavoc.cfg too.
 
-set cvar_check_weapons bc8154746bdc33b6ff517c0e19fa91e0
+set cvar_check_weapons 5278169134188aeb084c58d3ed3ed289
 
 // NOTE: this only replaces weapons on the map
 // use g_start_weapon_* to also replace the on-startup weapons!
@@ -343,6 +343,7 @@
 set g_balance_campingrifle_magazinecapacity 8
 set g_balance_campingrifle_reloadtime 2 // matches reload anim
 set g_balance_campingrifle_auto_reload_after_changing_weapons 0
+set g_balance_campingrifle_bursttime 0
 set g_balance_campingrifle_primary_damage 60
 set g_balance_campingrifle_primary_headshotaddeddamage 100
 set g_balance_campingrifle_primary_spread 0
@@ -353,6 +354,7 @@
 set g_balance_campingrifle_primary_animtime 0.3
 set g_balance_campingrifle_primary_ammo 10
 set g_balance_campingrifle_primary_bulletconstant 130 // 56.3qu
+set g_balance_campingrifle_primary_burstcost 0
 set g_balance_campingrifle_secondary_damage 35
 set g_balance_campingrifle_secondary_headshotaddeddamage 15 // 50 damage only on head
 set g_balance_campingrifle_secondary_spread 0.008
@@ -363,6 +365,7 @@
 set g_balance_campingrifle_secondary_animtime 0.1
 set g_balance_campingrifle_secondary_ammo 10
 set g_balance_campingrifle_secondary_bulletconstant 130 // 18.3qu
+set g_balance_campingrifle_secondary_burstcost 0
 
 set g_balance_tuba_refire 0.25
 set g_balance_tuba_animtime 0.25

Modified: trunk/data/weaponsHavoc.cfg
===================================================================
--- trunk/data/weaponsHavoc.cfg	2009-09-23 04:57:52 UTC (rev 7866)
+++ trunk/data/weaponsHavoc.cfg	2009-09-23 05:58:57 UTC (rev 7867)
@@ -1,4 +1,4 @@
-set cvar_check_weapons bc8154746bdc33b6ff517c0e19fa91e0
+set cvar_check_weapons 5278169134188aeb084c58d3ed3ed289
 
 // NOTE: this only replaces weapons on the map
 // use g_start_weapon_* to also replace the on-startup weapons!
@@ -335,21 +335,23 @@
 set g_balance_hlac_secondary_ammo 10
 set g_balance_hlac_secondary_shots 5
 
-set g_balance_campingrifle_magazinecapacity 8
+set g_balance_campingrifle_magazinecapacity 0
 set g_balance_campingrifle_reloadtime 2 // matches reload anim
 set g_balance_campingrifle_auto_reload_after_changing_weapons 0
+set g_balance_campingrifle_bursttime 0.85 // 0.35 - 0.1 + 0.35 - 0.1 + 0.35 = three secondaries
 set g_balance_campingrifle_primary_damage 50
-set g_balance_campingrifle_primary_headshotaddeddamage 100
+set g_balance_campingrifle_primary_headshotaddeddamage 50
 set g_balance_campingrifle_primary_spread 0
 set g_balance_campingrifle_primary_force 2
 set g_balance_campingrifle_primary_speed 35000
 set g_balance_campingrifle_primary_lifetime 5
 set g_balance_campingrifle_primary_refire 0.7
 set g_balance_campingrifle_primary_animtime 0.3
-set g_balance_campingrifle_primary_ammo 5
+set g_balance_campingrifle_primary_ammo 15
 set g_balance_campingrifle_primary_bulletconstant 130 // 56.3qu
+set g_balance_campingrifle_primary_burstcost 0.35 // require same cooldown as secondary, note it's smaller than primary refire time
 set g_balance_campingrifle_secondary_damage 15
-set g_balance_campingrifle_secondary_headshotaddeddamage 15 // 50 damage only on head
+set g_balance_campingrifle_secondary_headshotaddeddamage 25
 set g_balance_campingrifle_secondary_spread 0.02
 set g_balance_campingrifle_secondary_force 1
 set g_balance_campingrifle_secondary_speed 20000
@@ -358,6 +360,7 @@
 set g_balance_campingrifle_secondary_animtime 0.1
 set g_balance_campingrifle_secondary_ammo 5
 set g_balance_campingrifle_secondary_bulletconstant 130 // 18.3qu
+set g_balance_campingrifle_secondary_burstcost 0.35
 
 set g_balance_tuba_refire 0.25
 set g_balance_tuba_animtime 0.25



More information about the nexuiz-commits mailing list