From 3e1c4f6e9e947cca3bba0b7eb8a83a7e12fa7f38 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 29 Dec 2020 17:40:33 -0500 Subject: [PATCH] v0.9.1b: fixed further errors with DM-300 pathfinding --- .../actors/mobs/NewDM300.java | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewDM300.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewDM300.java index 24b4d015c..3677ef00a 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewDM300.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/NewDM300.java @@ -264,7 +264,7 @@ public class NewDM300 extends Mob { chargeAnnounced = true; } - if (state == WANDERING && Dungeon.hero.invisible <= 0){ + if (Dungeon.hero.invisible <= 0){ beckon(Dungeon.hero.pos); state = HUNTING; enemy = Dungeon.hero; @@ -514,26 +514,11 @@ public class NewDM300 extends Mob { return true; } else { - if (!supercharged || rooted || target == pos) { + if (!supercharged || rooted || target == pos || Dungeon.level.adjacent(pos, target)) { return false; } int bestpos = pos; - for (int i : PathFinder.NEIGHBOURS8){ - if (Dungeon.level.openSpace[pos+i] && Actor.findChar(pos+i) == null && - Dungeon.level.distance(bestpos, target) > Dungeon.level.distance(pos+i, target)){ - bestpos = pos+i; - } - } - if (bestpos != pos){ - move( bestpos ); - return true; - } - - if (state != HUNTING || Dungeon.level.adjacent(pos, target)){ - return false; - } - for (int i : PathFinder.NEIGHBOURS8){ if (Actor.findChar(pos+i) == null && Dungeon.level.trueDistance(bestpos, target) > Dungeon.level.trueDistance(pos+i, target)){