[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