diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java index ccf495832..22c41762b 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java @@ -238,6 +238,7 @@ public abstract class RegularLevel extends Level { || solid[mob.pos] || !roomToSpawn.canPlaceCharacter(cellToPoint(mob.pos), this) || mob.pos == exit() + || traps.get(mob.pos) != null || plants.get(mob.pos) != null || (!openSpace[mob.pos] && mob.properties().contains(Char.Property.LARGE)))); if (tries >= 0) { @@ -252,7 +253,12 @@ public abstract class RegularLevel extends Level { do { mob.pos = pointToCell(roomToSpawn.random()); tries--; - } while (tries >= 0 && (findMob(mob.pos) != null || !passable[mob.pos] || solid[mob.pos] || mob.pos == exit() + } while (tries >= 0 && (findMob(mob.pos) != null + || !passable[mob.pos] + || solid[mob.pos] + || !roomToSpawn.canPlaceCharacter(cellToPoint(mob.pos), this) + || mob.pos == exit() + || traps.get(mob.pos) != null || plants.get(mob.pos) != null || (!openSpace[mob.pos] && mob.properties().contains(Char.Property.LARGE)))); if (tries >= 0) {