From 2a4e7c5e55b4c910159caf17653a47f8d38f2e2d Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Wed, 19 Apr 2023 15:10:14 -0400 Subject: [PATCH] v2.1.0: mobs no longer randomly spawn on plants or traps --- .../shatteredpixeldungeon/levels/RegularLevel.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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) {