From 2e001c0d649a49b67d6ece1122e3af3b65c42206 Mon Sep 17 00:00:00 2001 From: div0 Date: Sun, 28 Feb 2010 19:44:01 +0000 Subject: [PATCH] fix electro combos through warpzones git-svn-id: svn://svn.icculus.org/nexuiz/trunk@8707 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/w_electro.qc | 22 +++++++++------------- data/qcsrc/warpzonelib/TODO | 2 +- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/data/qcsrc/server/w_electro.qc b/data/qcsrc/server/w_electro.qc index c5355a1c1..867b61ca7 100644 --- a/data/qcsrc/server/w_electro.qc +++ b/data/qcsrc/server/w_electro.qc @@ -9,22 +9,17 @@ void W_Plasma_Explode_Combo (void); void W_Plasma_TriggerCombo(vector org, float rad, entity own) { local entity e; - e = findradius(org, rad); + e = WarpZone_FindRadius(org, rad, TRUE); while (e) { if (e.classname == "plasma") { - // see if there is line of sight to the combo ball - traceline(org, e.origin, MOVE_NOMONSTERS, e); - if (trace_fraction == 1 || trace_ent == e) - { - // change owner to whoever caused the combo explosion - e.owner = own; - e.takedamage = DAMAGE_NO; - e.classname = "plasma_chain"; - e.think = W_Plasma_Explode_Combo; - e.nextthink = time + vlen(e.origin - org) / cvar("g_balance_electro_combo_speed"); // delay combo chains, looks cooler - } + // change owner to whoever caused the combo explosion + e.owner = own; + e.takedamage = DAMAGE_NO; + e.classname = "plasma_chain"; + e.think = W_Plasma_Explode_Combo; + e.nextthink = time + vlen(e.WarpZone_findradius_dist) / cvar("g_balance_electro_combo_speed"); // delay combo chains, looks cooler } e = e.chain; } @@ -97,7 +92,8 @@ void W_Plasma_Damage (entity inflictor, entity attacker, float damage, float dea self.owner = inflictor.owner; self.classname = "plasma_chain"; self.think = W_Plasma_Explode_Combo; - self.nextthink = time + vlen(self.origin - inflictor.origin) / cvar("g_balance_electro_combo_speed"); // delay combo chains, looks cooler + self.nextthink = time + min(cvar("g_balance_electro_combo_radius"), vlen(self.origin - inflictor.origin)) / cvar("g_balance_electro_combo_speed"); // delay combo chains, looks cooler + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ bounding the length, because inflictor may be in a galaxy far far away (warpzones) } else { diff --git a/data/qcsrc/warpzonelib/TODO b/data/qcsrc/warpzonelib/TODO index 7d1e386e4..faccb2bea 100644 --- a/data/qcsrc/warpzonelib/TODO +++ b/data/qcsrc/warpzonelib/TODO @@ -10,6 +10,7 @@ Weapon support: - shotgun: YES - uzi: YES - grenadelauncher: YES +- electro: YES - crylink: YES - nex: YES - hagar: YES @@ -18,7 +19,6 @@ Weapon support: - minstanex: YES - rifle: YES -- electro: PARTIAL (no combo detonation) - fireball: PARTIAL (no radius damage, laser damage) - rocketlauncher: NO (guiding not working, trail bug) -- 2.39.2