]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
falloff on electro primary to nerf it a little, testing and early balance stats hint...
authorFruitieX <rasse@rasse-lappy.localdomain>
Wed, 1 Sep 2010 19:27:51 +0000 (22:27 +0300)
committerFruitieX <rasse@rasse-lappy.localdomain>
Wed, 1 Sep 2010 19:27:51 +0000 (22:27 +0300)
balance25.cfg
balanceNexSVN.cfg
balanceSamual.cfg
balanceXonotic.cfg
qcsrc/server/w_electro.qc

index 0250978c3b56b38e8e261be84dcfbfea2884e627..8110998bd862d944055adbdec3526a42a800fbb4 100644 (file)
@@ -318,6 +318,9 @@ set g_balance_electro_primary_refire 0.6
 set g_balance_electro_primary_animtime 0.3
 set g_balance_electro_primary_ammo 2
 set g_balance_electro_primary_range 0
+set g_balance_electro_primary_falloff_mindist 255 // 0.3 * radius
+set g_balance_electro_primary_falloff_maxdist 850
+set g_balance_electro_primary_falloff_halflifedist 425
 set g_balance_electro_secondary_damage 50
 set g_balance_electro_secondary_spread 0.05
 set g_balance_electro_secondary_edgedamage 0
index 0f8a8dc35c4dcdaa02d949335b42bb237fe2bd19..f039f3b925e8a5a44bf4212ac673ed793c3ad87c 100644 (file)
@@ -318,6 +318,9 @@ set g_balance_electro_primary_refire 0.6
 set g_balance_electro_primary_animtime 0.3
 set g_balance_electro_primary_ammo 2
 set g_balance_electro_primary_range 0
+set g_balance_electro_primary_falloff_mindist 255 // 0.3 * radius
+set g_balance_electro_primary_falloff_maxdist 850
+set g_balance_electro_primary_falloff_halflifedist 425
 set g_balance_electro_secondary_damage 50
 set g_balance_electro_secondary_spread 0.05
 set g_balance_electro_secondary_edgedamage 0
index e70157872ed1a52ab980be125b4184ca42a812f8..b52c31ffca50d83d5217ae89e665b4cf2069ee44 100644 (file)
@@ -318,6 +318,9 @@ set g_balance_electro_primary_refire 0.6
 set g_balance_electro_primary_animtime 0.3
 set g_balance_electro_primary_ammo 2
 set g_balance_electro_primary_range 0
+set g_balance_electro_primary_falloff_mindist 255 // 0.3 * radius
+set g_balance_electro_primary_falloff_maxdist 850
+set g_balance_electro_primary_falloff_halflifedist 425
 set g_balance_electro_secondary_damage 50
 set g_balance_electro_secondary_spread 0.05
 set g_balance_electro_secondary_edgedamage 0
index 9515b2b05408d0dec655b392d11b2893e099a6c5..bbcee6aa1ac18d4e5924b11d33de3ed57ba31b65 100644 (file)
@@ -318,6 +318,9 @@ set g_balance_electro_primary_refire 0.03333333
 set g_balance_electro_primary_animtime 0.03333333
 set g_balance_electro_primary_ammo 7
 set g_balance_electro_primary_range 800
+set g_balance_electro_primary_falloff_mindist 255 // 0.3 * radius
+set g_balance_electro_primary_falloff_maxdist 850
+set g_balance_electro_primary_falloff_halflifedist 425
 set g_balance_electro_secondary_damage 25
 set g_balance_electro_secondary_spread 0
 set g_balance_electro_secondary_edgedamage 0
index a98c5a9153a0214842e84a67edc3bbb1bdf8529c..fa9034c136cb7c2822620b6a7b87a7765f2fc7c6 100644 (file)
@@ -226,7 +226,7 @@ void lgbeam_think()
 
        makevectors(self.owner.v_angle);
 
-       float dt;
+       float dt, f;
        dt = frametime;
        if not(self.owner.items & IT_UNLIMITED_WEAPON_AMMO)
        {
@@ -243,8 +243,11 @@ void lgbeam_think()
        {
                vector force;
                force = w_shotdir * cvar("g_balance_electro_primary_force") + '0 0 1' * cvar("g_balance_electro_primary_force_up");
-               Damage (trace_ent, self.owner, self.owner, cvar("g_balance_electro_primary_damage") * dt, WEP_ELECTRO, trace_endpos, force * dt);
-               Damage_RecordDamage(self.owner, WEP_ELECTRO, cvar("g_balance_electro_primary_damage") * dt);
+
+               f = ExponentialFalloff(cvar("g_balance_electro_primary_falloff_mindist"), cvar("g_balance_electro_primary_falloff_maxdist"), cvar("g_balance_electro_primary_falloff_halflifedist"), vlen(WarpZone_UnTransformOrigin(WarpZone_trace_transform, trace_endpos) - w_shotorg));
+
+               Damage (trace_ent, self.owner, self.owner, cvar("g_balance_electro_primary_damage") * dt * f, WEP_ELECTRO, trace_endpos, force * dt);
+               Damage_RecordDamage(self.owner, WEP_ELECTRO, cvar("g_balance_electro_primary_damage") * dt * f);
        }
        W_Plasma_TriggerCombo(trace_endpos, cvar("g_balance_electro_primary_comboradius"), self.owner);