diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java index 9d57eef77..9466098ab 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/Dungeon.java @@ -376,7 +376,8 @@ public class Dungeon { hero.viewDistance = light == null ? level.viewDistance : Math.max( Light.DISTANCE, level.viewDistance ); hero.curAction = hero.lastAction = null; - + + observe(); try { saveAll(); } catch (IOException e) { 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 b675f5df5..d0f2d8147 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 @@ -1125,6 +1125,11 @@ public abstract class Mob extends Char { ally.pos = pos; } if (ally.sprite != null) ally.sprite.place(ally.pos); + + if (ally.fieldOfView == null || ally.fieldOfView.length != level.length()){ + ally.fieldOfView = new boolean[level.length()]; + } + Dungeon.level.updateFieldOfView( ally, ally.fieldOfView ); } }