From d45cc9cae45807d3e1397eb6fac263256519aadc Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 7 May 2024 11:26:43 -0400 Subject: [PATCH] v2.4.0: fixed createMobs discarding mobs it can't immediately place --- .../shatteredpixeldungeon/levels/RegularLevel.java | 5 ++++- 1 file changed, 4 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 a2673413f..821a10c6d 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/RegularLevel.java @@ -236,8 +236,9 @@ public abstract class RegularLevel extends Level { ShadowCaster.castShadow(c.x, c.y, width(), entranceFOV, losBlocking, 6); PathFinder.buildDistanceMap(entrance(), BArray.not(solid, null), 8); + Mob mob = null; while (mobsToSpawn > 0) { - Mob mob = createMob(); + if (mob == null) mob = createMob(); Room roomToSpawn; if (!stdRoomIter.hasNext()) { @@ -261,6 +262,7 @@ public abstract class RegularLevel extends Level { if (tries >= 0) { mobsToSpawn--; mobs.add(mob); + mob = null; //chance to add a second mob to this room, except on floor 1 if (Dungeon.depth > 1 && mobsToSpawn > 0 && Random.Int(4) == 0){ @@ -282,6 +284,7 @@ public abstract class RegularLevel extends Level { if (tries >= 0) { mobsToSpawn--; mobs.add(mob); + mob = null; } } }