From bc3166e4006a29a146892b6db6fc547bcc09e870 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Sun, 12 Feb 2023 22:29:47 -0500 Subject: [PATCH] v2.0.0: fixed bugs with kinetic and elemental strike --- .../hero/abilities/duelist/ElementalStrike.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/duelist/ElementalStrike.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/duelist/ElementalStrike.java index 2af06a4b6..dc409c1ce 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/duelist/ElementalStrike.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/abilities/duelist/ElementalStrike.java @@ -244,8 +244,8 @@ public class ElementalStrike extends ArmorAbility { //*** Kinetic *** if (ench instanceof Kinetic){ - if (hero.buff(Kinetic.KineticTracker.class) != null) { - storedKineticDamage = hero.buff(Kinetic.KineticTracker.class).conservedDamage; + if (hero.buff(Kinetic.ConservedDamage.class) != null) { + storedKineticDamage = hero.buff(Kinetic.ConservedDamage.class).damageBonus(); } //*** Blocking *** @@ -348,10 +348,17 @@ public class ElementalStrike extends ArmorAbility { //*** Kinetic *** } else if (ench instanceof Kinetic){ - for (Char ch : affected){ - if (ch != primaryTarget) { - ch.damage(Math.round(storedKineticDamage * 0.33f * powerMulti), ench); + if (storedKineticDamage > 0) { + for (Char ch : affected) { + if (ch != primaryTarget) { + ch.damage(Math.round(storedKineticDamage * 0.33f * powerMulti), ench); + } } + storedKineticDamage = 0; + } + //clear stored damage if there was no primary target + if (primaryTarget == null && hero.buff(Kinetic.ConservedDamage.class) != null){ + hero.buff(Kinetic.ConservedDamage.class).detach(); } //*** Blooming ***