From d9781106e436a28a7da089440b189a28c3645867 Mon Sep 17 00:00:00 2001 From: FruitieX Date: Wed, 1 Sep 2010 22:27:51 +0300 Subject: [PATCH] falloff on electro primary to nerf it a little, testing and early balance stats hint that it's way overpowered --- balance25.cfg | 3 +++ balanceNexSVN.cfg | 3 +++ balanceSamual.cfg | 3 +++ balanceXonotic.cfg | 3 +++ qcsrc/server/w_electro.qc | 9 ++++++--- 5 files changed, 18 insertions(+), 3 deletions(-) diff --git a/balance25.cfg b/balance25.cfg index 0250978c3..8110998bd 100644 --- a/balance25.cfg +++ b/balance25.cfg @@ -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 diff --git a/balanceNexSVN.cfg b/balanceNexSVN.cfg index 0f8a8dc35..f039f3b92 100644 --- a/balanceNexSVN.cfg +++ b/balanceNexSVN.cfg @@ -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 diff --git a/balanceSamual.cfg b/balanceSamual.cfg index e70157872..b52c31ffc 100644 --- a/balanceSamual.cfg +++ b/balanceSamual.cfg @@ -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 diff --git a/balanceXonotic.cfg b/balanceXonotic.cfg index 9515b2b05..bbcee6aa1 100644 --- a/balanceXonotic.cfg +++ b/balanceXonotic.cfg @@ -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 diff --git a/qcsrc/server/w_electro.qc b/qcsrc/server/w_electro.qc index a98c5a915..fa9034c13 100644 --- a/qcsrc/server/w_electro.qc +++ b/qcsrc/server/w_electro.qc @@ -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); -- 2.39.2