[nexuiz-commits] r7890 - in trunk/data: . qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Thu Sep 24 07:12:43 EDT 2009
Author: div0
Date: 2009-09-24 07:12:42 -0400 (Thu, 24 Sep 2009)
New Revision: 7890
Modified:
trunk/data/balance.cfg
trunk/data/balance25.cfg
trunk/data/balanceHavoc.cfg
trunk/data/qcsrc/server/constants.qh
trunk/data/qcsrc/server/g_triggers.qc
trunk/data/qcsrc/server/miscfunctions.qc
trunk/data/qcsrc/server/w_common.qc
trunk/data/qcsrc/server/w_minstanex.qc
trunk/data/qcsrc/server/w_nex.qc
Log:
distance-based nex damage falloff option (not used in any config yet)
Modified: trunk/data/balance.cfg
===================================================================
--- trunk/data/balance.cfg 2009-09-24 05:49:56 UTC (rev 7889)
+++ trunk/data/balance.cfg 2009-09-24 11:12:42 UTC (rev 7890)
@@ -3,7 +3,7 @@
//
// And... don't forget to edit the other balance*.cfg too.
-set cvar_check_balance 3ff761c8f23b7181d7038c4d05b527aa
+set cvar_check_balance df069a840b96084fe7ea4de2efb12ae5
// {{{ weapon replacement
// NOTE: this only replaces weapons on the map
@@ -363,6 +363,9 @@
set g_balance_nex_refire 1
set g_balance_nex_animtime 0.3
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
// }}}
// {{{ minstanex
set g_balance_minstanex_refire 1
Modified: trunk/data/balance25.cfg
===================================================================
--- trunk/data/balance25.cfg 2009-09-24 05:49:56 UTC (rev 7889)
+++ trunk/data/balance25.cfg 2009-09-24 11:12:42 UTC (rev 7890)
@@ -3,7 +3,7 @@
//
// And... don't forget to edit the other balance*.cfg too.
-set cvar_check_balance 3ff761c8f23b7181d7038c4d05b527aa
+set cvar_check_balance df069a840b96084fe7ea4de2efb12ae5
// {{{ weapon replacement
// NOTE: this only replaces weapons on the map
@@ -363,6 +363,9 @@
set g_balance_nex_refire 1.5
set g_balance_nex_animtime 0.3
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
// }}}
// {{{ minstanex
set g_balance_minstanex_refire 1
Modified: trunk/data/balanceHavoc.cfg
===================================================================
--- trunk/data/balanceHavoc.cfg 2009-09-24 05:49:56 UTC (rev 7889)
+++ trunk/data/balanceHavoc.cfg 2009-09-24 11:12:42 UTC (rev 7890)
@@ -3,7 +3,7 @@
//
// And... don't forget to edit the other balance*.cfg too.
-set cvar_check_balance 3ff761c8f23b7181d7038c4d05b527aa
+set cvar_check_balance df069a840b96084fe7ea4de2efb12ae5
// {{{ weapon replacement
// NOTE: this only replaces weapons on the map
@@ -363,6 +363,9 @@
set g_balance_nex_refire 0.7
set g_balance_nex_animtime 0.3
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
// }}}
// {{{ minstanex
set g_balance_minstanex_refire 1
Modified: trunk/data/qcsrc/server/constants.qh
===================================================================
--- trunk/data/qcsrc/server/constants.qh 2009-09-24 05:49:56 UTC (rev 7889)
+++ trunk/data/qcsrc/server/constants.qh 2009-09-24 11:12:42 UTC (rev 7890)
@@ -1,5 +1,5 @@
string CVAR_CHECK_DEFAULT = "a806b2ec1a306ab62c20ebb3dd3fb5d2";
-string CVAR_CHECK_BALANCE = "3ff761c8f23b7181d7038c4d05b527aa";
+string CVAR_CHECK_BALANCE = "df069a840b96084fe7ea4de2efb12ae5";
float FALSE = 0;
float TRUE = 1;
Modified: trunk/data/qcsrc/server/g_triggers.qc
===================================================================
--- trunk/data/qcsrc/server/g_triggers.qc 2009-09-24 05:49:56 UTC (rev 7889)
+++ trunk/data/qcsrc/server/g_triggers.qc 2009-09-24 11:12:42 UTC (rev 7890)
@@ -838,7 +838,7 @@
};
-void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, float deathtype);
+void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, float mindist, float maxdist, float halflifedist, float deathtype);
.float modelscale;
void misc_laser_aim()
@@ -914,9 +914,9 @@
if(self.dmg)
{
if(self.dmg < 0)
- FireRailgunBullet(self.origin, o, 100000, 0, DEATH_HURTTRIGGER);
+ FireRailgunBullet(self.origin, o, 100000, 0, 0, 0, 0, DEATH_HURTTRIGGER);
else
- FireRailgunBullet(self.origin, o, self.dmg * frametime, 0, DEATH_HURTTRIGGER);
+ FireRailgunBullet(self.origin, o, self.dmg * frametime, 0, 0, 0, 0, DEATH_HURTTRIGGER);
}
if(self.enemy.target != "") // DETECTOR laser
Modified: trunk/data/qcsrc/server/miscfunctions.qc
===================================================================
--- trunk/data/qcsrc/server/miscfunctions.qc 2009-09-24 05:49:56 UTC (rev 7889)
+++ trunk/data/qcsrc/server/miscfunctions.qc 2009-09-24 11:12:42 UTC (rev 7890)
@@ -2637,3 +2637,13 @@
--iter;
}
}
+
+float ExponentialFalloff(float mindist, float maxdist, float halflifedist, float d)
+{
+ if(halflifedist > 0)
+ return pow(0.5, (bound(mindist, d, maxdist) - mindist) / halflifedist);
+ else if(halflifedist < 0)
+ return pow(0.5, (maxdist - bound(mindist, d, maxdist)) / halflifedist);
+ else
+ return 1;
+}
Modified: trunk/data/qcsrc/server/w_common.qc
===================================================================
--- trunk/data/qcsrc/server/w_common.qc 2009-09-24 05:49:56 UTC (rev 7889)
+++ trunk/data/qcsrc/server/w_common.qc 2009-09-24 11:12:42 UTC (rev 7890)
@@ -24,11 +24,10 @@
sprint (other, "\n");
}
-
self = oldself;
}
-void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, float deathtype)
+void FireRailgunBullet (vector start, vector end, float bdamage, float bforce, float mindist, float maxdist, float halflifedist, float deathtype)
{
local vector hitloc, force, endpoint, dir;
local entity ent, endent;
@@ -138,9 +137,11 @@
if(ent.team == self.team)
did_hit = 0;
+ f = ExponentialFalloff(mindist, maxdist, halflifedist, (msg_entity.origin - start) * dir);
+
// apply the damage
- if (ent.takedamage || ent.classname == "case")
- Damage (ent, self, self, bdamage, deathtype, hitloc, force);
+ if (ent.takedamage)
+ Damage (ent, self, self, bdamage * f, deathtype, hitloc, force * f);
// create a small explosion to throw gibs around (if applicable)
//setorigin (explosion, hitloc);
Modified: trunk/data/qcsrc/server/w_minstanex.qc
===================================================================
--- trunk/data/qcsrc/server/w_minstanex.qc 2009-09-24 05:49:56 UTC (rev 7889)
+++ trunk/data/qcsrc/server/w_minstanex.qc 2009-09-24 11:12:42 UTC (rev 7890)
@@ -10,7 +10,7 @@
yoda = 0;
damage_goodhits = 0;
headshot = 0;
- FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, 10000, 800, WEP_MINSTANEX);
+ FireRailgunBullet (w_shotorg, w_shotorg + w_shotdir * MAX_SHOT_DISTANCE, 10000, 800, 0, 0, 0, WEP_MINSTANEX);
if(g_minstagib)
{
Modified: trunk/data/qcsrc/server/w_nex.qc
===================================================================
--- trunk/data/qcsrc/server/w_nex.qc 2009-09-24 05:49:56 UTC (rev 7889)
+++ trunk/data/qcsrc/server/w_nex.qc 2009-09-24 11:12:42 UTC (rev 7890)
@@ -18,7 +18,7 @@
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"), 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"), WEP_NEX);
if(yoda && flying)
announce(self, "announcer/male/yoda.wav");
More information about the nexuiz-commits
mailing list