From d32deec9d2ab8e558bb2d6d3df3b77a39b332b35 Mon Sep 17 00:00:00 2001 From: div0 Date: Thu, 24 Sep 2009 11:19:59 +0000 Subject: [PATCH] forcehalflife for the nex too git-svn-id: svn://svn.icculus.org/nexuiz/trunk@7891 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/balance.cfg | 1 + data/balance25.cfg | 1 + data/balanceHavoc.cfg | 1 + data/qcsrc/server/g_triggers.qc | 6 +++--- data/qcsrc/server/w_common.qc | 7 ++++--- data/qcsrc/server/w_minstanex.qc | 2 +- data/qcsrc/server/w_nex.qc | 2 +- 7 files changed, 12 insertions(+), 8 deletions(-) diff --git a/data/balance.cfg b/data/balance.cfg index a71dcae4d..44e784a26 100644 --- a/data/balance.cfg +++ b/data/balance.cfg @@ -366,6 +366,7 @@ set g_balance_nex_ammo 5 set g_balance_nex_damagefalloff_mindist 0 set g_balance_nex_damagefalloff_maxdist 0 set g_balance_nex_damagefalloff_halflife 0 +set g_balance_nex_damagefalloff_forcehalflife 0 // }}} // {{{ minstanex set g_balance_minstanex_refire 1 diff --git a/data/balance25.cfg b/data/balance25.cfg index f261096e1..86e4b6ba8 100644 --- a/data/balance25.cfg +++ b/data/balance25.cfg @@ -366,6 +366,7 @@ set g_balance_nex_ammo 5 set g_balance_nex_damagefalloff_mindist 0 set g_balance_nex_damagefalloff_maxdist 0 set g_balance_nex_damagefalloff_halflife 0 +set g_balance_nex_damagefalloff_forcehalflife 0 // }}} // {{{ minstanex set g_balance_minstanex_refire 1 diff --git a/data/balanceHavoc.cfg b/data/balanceHavoc.cfg index c07e6d717..fe8c1f3ae 100644 --- a/data/balanceHavoc.cfg +++ b/data/balanceHavoc.cfg @@ -366,6 +366,7 @@ set g_balance_nex_ammo 5 set g_balance_nex_damagefalloff_mindist 0 set g_balance_nex_damagefalloff_maxdist 0 set g_balance_nex_damagefalloff_halflife 0 +set g_balance_nex_damagefalloff_forcehalflife 0 // }}} // {{{ minstanex set g_balance_minstanex_refire 1 diff --git a/data/qcsrc/server/g_triggers.qc b/data/qcsrc/server/g_triggers.qc index 70b5ad382..3d34fca05 100644 --- a/data/qcsrc/server/g_triggers.qc +++ b/data/qcsrc/server/g_triggers.qc @@ -838,7 +838,7 @@ void spawnfunc_func_snow() }; -void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, float mindist, float maxdist, float halflifedist, float deathtype); +void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, float mindist, float maxdist, float halflifedist, float forcehalflifedist, float deathtype); .float modelscale; void misc_laser_aim() @@ -914,9 +914,9 @@ void misc_laser_think() if(self.dmg) { if(self.dmg < 0) - FireRailgunBullet(self.origin, o, 100000, 0, 0, 0, 0, DEATH_HURTTRIGGER); + FireRailgunBullet(self.origin, o, 100000, 0, 0, 0, 0, 0, DEATH_HURTTRIGGER); else - FireRailgunBullet(self.origin, o, self.dmg * frametime, 0, 0, 0, 0, DEATH_HURTTRIGGER); + FireRailgunBullet(self.origin, o, self.dmg * frametime, 0, 0, 0, 0, 0, DEATH_HURTTRIGGER); } if(self.enemy.target != "") // DETECTOR laser diff --git a/data/qcsrc/server/w_common.qc b/data/qcsrc/server/w_common.qc index 6a7e03be8..48898a2d1 100644 --- a/data/qcsrc/server/w_common.qc +++ b/data/qcsrc/server/w_common.qc @@ -27,7 +27,7 @@ void W_GiveWeapon (entity e, float wep, string name) self = oldself; } -void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, float mindist, float maxdist, float halflifedist, float deathtype) +void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, float mindist, float maxdist, float halflifedist, float forcehalflifedist, float deathtype) { local vector hitloc, force, endpoint, dir; local entity ent, endent; @@ -38,7 +38,7 @@ void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, f vector beampos; string snd; entity pseudoprojectile; - float f; + float f, ffs; did_hit = 0; @@ -138,10 +138,11 @@ void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, f did_hit = 0; f = ExponentialFalloff(mindist, maxdist, halflifedist, (msg_entity.origin - start) * dir); + ffs = ExponentialFalloff(mindist, maxdist, forcehalflifedist, (msg_entity.origin - start) * dir); // apply the damage if (ent.takedamage) - Damage (ent, self, self, bdamage * f, deathtype, hitloc, force * f); + Damage (ent, self, self, bdamage * f, deathtype, hitloc, force * ffs); // create a small explosion to throw gibs around (if applicable) //setorigin (explosion, hitloc); diff --git a/data/qcsrc/server/w_minstanex.qc b/data/qcsrc/server/w_minstanex.qc index 8c6e9140e..f39b01910 100644 --- a/data/qcsrc/server/w_minstanex.qc +++ b/data/qcsrc/server/w_minstanex.qc @@ -10,7 +10,7 @@ void W_MinstaNex_Attack (void) yoda = 0; damage_goodhits = 0; headshot = 0; - FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, 10000, 800, 0, 0, 0, WEP_MINSTANEX); + FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, 10000, 800, 0, 0, 0, 0, WEP_MINSTANEX); if(g_minstagib) { diff --git a/data/qcsrc/server/w_nex.qc b/data/qcsrc/server/w_nex.qc index 34e2d8221..a9812cb08 100644 --- a/data/qcsrc/server/w_nex.qc +++ b/data/qcsrc/server/w_nex.qc @@ -18,7 +18,7 @@ void W_Nex_Attack (void) W_SetupShot (self, TRUE, 5, "weapons/nexfire.wav", cvar("g_balance_nex_damage")); yoda = 0; - FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, cvar("g_balance_nex_damage"), cvar("g_balance_nex_force"), cvar("g_balance_nex_damagefalloff_mindist"), cvar("g_balance_nex_damagefalloff_maxdist"), cvar("g_balance_nex_damagefalloff_halflife"), WEP_NEX); + FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, cvar("g_balance_nex_damage"), cvar("g_balance_nex_force"), cvar("g_balance_nex_damagefalloff_mindist"), cvar("g_balance_nex_damagefalloff_maxdist"), cvar("g_balance_nex_damagefalloff_halflife"), cvar("g_balance_nex_damagefalloff_forcehalflife"), WEP_NEX); if(yoda && flying) announce(self, "announcer/male/yoda.wav"); -- 2.39.2