[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