From 07d58369f80daeff4ce517b485cf6563524af01f Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Fri, 31 Jul 2020 23:52:57 -0400 Subject: [PATCH] v0.8.2: fixed crashes caused by new targeted trap logic --- .../levels/traps/DisintegrationTrap.java | 4 ++-- .../shatteredpixeldungeon/levels/traps/GrimTrap.java | 4 ++-- .../shatteredpixeldungeon/levels/traps/PoisonDartTrap.java | 4 ++-- .../shatteredpixeldungeon/levels/traps/WornDartTrap.java | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisintegrationTrap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisintegrationTrap.java index 04bc395ae..36ecc280c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisintegrationTrap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/DisintegrationTrap.java @@ -53,8 +53,8 @@ public class DisintegrationTrap extends Trap { if (target == null){ float closestDist = Float.MAX_VALUE; for (Char ch : Actor.chars()){ - float curDist = Dungeon.level.trueDistance(pos, target.pos); - if (target.invisible > 0) curDist += 1000; + float curDist = Dungeon.level.trueDistance(pos, ch.pos); + if (ch.invisible > 0) curDist += 1000; Ballistica bolt = new Ballistica(pos, ch.pos, Ballistica.PROJECTILE); if (bolt.collisionPos == ch.pos && curDist < closestDist){ target = ch; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrimTrap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrimTrap.java index 30fdf81ca..5e6b4e09d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrimTrap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/GrimTrap.java @@ -52,8 +52,8 @@ public class GrimTrap extends Trap { if (target == null){ float closestDist = Float.MAX_VALUE; for (Char ch : Actor.chars()){ - float curDist = Dungeon.level.trueDistance(pos, target.pos); - if (target.invisible > 0) curDist += 1000; + float curDist = Dungeon.level.trueDistance(pos, ch.pos); + if (ch.invisible > 0) curDist += 1000; Ballistica bolt = new Ballistica(pos, ch.pos, Ballistica.PROJECTILE); if (bolt.collisionPos == ch.pos && curDist < closestDist){ target = ch; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonDartTrap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonDartTrap.java index 8d399dde5..cc2ba6866 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonDartTrap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/PoisonDartTrap.java @@ -64,8 +64,8 @@ public class PoisonDartTrap extends Trap { if (target == null){ float closestDist = Float.MAX_VALUE; for (Char ch : Actor.chars()){ - float curDist = Dungeon.level.trueDistance(pos, target.pos); - if (target.invisible > 0) curDist += 1000; + float curDist = Dungeon.level.trueDistance(pos, ch.pos); + if (ch.invisible > 0) curDist += 1000; Ballistica bolt = new Ballistica(pos, ch.pos, Ballistica.PROJECTILE); if (canTarget(ch) && bolt.collisionPos == ch.pos && curDist < closestDist){ target = ch; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WornDartTrap.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WornDartTrap.java index 4ca3a252b..aa390b096 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WornDartTrap.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/traps/WornDartTrap.java @@ -49,8 +49,8 @@ public class WornDartTrap extends Trap { if (target == null){ float closestDist = Float.MAX_VALUE; for (Char ch : Actor.chars()){ - float curDist = Dungeon.level.trueDistance(pos, target.pos); - if (target.invisible > 0) curDist += 1000; + float curDist = Dungeon.level.trueDistance(pos, ch.pos); + if (ch.invisible > 0) curDist += 1000; Ballistica bolt = new Ballistica(pos, ch.pos, Ballistica.PROJECTILE); if (bolt.collisionPos == ch.pos && curDist < closestDist){ target = ch;