diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/CrystalGuardian.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/CrystalGuardian.java index 499ec7369..461c3bf85 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/CrystalGuardian.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/CrystalGuardian.java @@ -213,6 +213,15 @@ public class CrystalGuardian extends Mob{ return passable; } + @Override + public void beckon(int cell) { + if (state == SLEEPING){ + //do nothing + } else { + super.beckon(cell); + } + } + protected class Sleeping extends Mob.Sleeping{ @Override diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/CrystalSpire.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/CrystalSpire.java index 0d3cee8bc..e9e238391 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/CrystalSpire.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/CrystalSpire.java @@ -396,10 +396,8 @@ public class CrystalSpire extends Mob { if (ch instanceof CrystalGuardian){ if (((CrystalGuardian) ch).state == ((CrystalGuardian) ch).SLEEPING) { + ((CrystalGuardian) ch).aggro(Dungeon.hero); ((CrystalGuardian) ch).beckon(pos); - if (((CrystalGuardian) ch).state != HUNTING) { - ((CrystalGuardian) ch).aggro(Dungeon.hero); - } //delays sleeping guardians that happen to be near to the crystal if (PathFinder.distance[ch.pos] < 20){