diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java index 6c77550fb..d3723cc8e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java @@ -830,7 +830,7 @@ public class Dungeon { if (hero.buff(MindVision.class) != null){ for (Mob m : level.mobs.toArray(new Mob[0])){ BArray.or( level.visited, level.heroFOV, m.pos - 1 - level.width(), 3, level.visited ); - BArray.or( level.visited, level.heroFOV, m.pos, 3, level.visited ); + BArray.or( level.visited, level.heroFOV, m.pos - 1, 3, level.visited ); BArray.or( level.visited, level.heroFOV, m.pos - 1 + level.width(), 3, level.visited ); //updates adjacent cells too GameScene.updateFog(m.pos, 2); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java index 470752af4..bb945951c 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/hero/Hero.java @@ -205,7 +205,7 @@ public class Hero extends Char { private ArrayList visibleEnemies; //This list is maintained so that some logic checks can be skipped - // for enemies we know we aren't seeing normally, resultign in better performance + // for enemies we know we aren't seeing normally, resulting in better performance public ArrayList mindVisionEnemies = new ArrayList<>(); public Hero() { diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java index 798a76ed1..edc648a1e 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/actors/mobs/Mob.java @@ -38,6 +38,7 @@ import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Charm; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Corruption; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Dread; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Hunger; +import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.MindVision; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Preparation; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.Sleep; import com.shatteredpixel.shatteredpixeldungeon.actors.buffs.SoulMark; @@ -66,6 +67,7 @@ import com.shatteredpixel.shatteredpixeldungeon.levels.Level; import com.shatteredpixel.shatteredpixeldungeon.levels.features.Chasm; import com.shatteredpixel.shatteredpixeldungeon.messages.Messages; import com.shatteredpixel.shatteredpixeldungeon.plants.Swiftthistle; +import com.shatteredpixel.shatteredpixeldungeon.scenes.GameScene; import com.shatteredpixel.shatteredpixeldungeon.sprites.CharSprite; import com.shatteredpixel.shatteredpixeldungeon.utils.GLog; import com.watabou.noosa.audio.Sample; @@ -690,7 +692,12 @@ public abstract class Mob extends Char { super.destroy(); Dungeon.level.mobs.remove( this ); - + + if (Dungeon.hero.buff(MindVision.class) != null){ + Dungeon.observe(); + GameScene.updateFog(pos, 2); + } + if (Dungeon.hero.isAlive()) { if (alignment == Alignment.ENEMY) {