From 31e992ec10115fb7b29897e0a2f4544c1cffaffe Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Tue, 4 Nov 2025 11:11:36 -0500 Subject: [PATCH] v3.3.0: fixed some inconsistencies on regular vs. unlocked doors --- .../levels/painters/RegularPainter.java | 15 ++++++++------- .../levels/rooms/special/CrystalPathRoom.java | 2 +- .../levels/rooms/special/DemonSpawnerRoom.java | 2 +- .../levels/rooms/special/ToxicGasRoom.java | 2 +- 4 files changed, 11 insertions(+), 10 deletions(-) diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RegularPainter.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RegularPainter.java index aca603283..2ff5858cb 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RegularPainter.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/painters/RegularPainter.java @@ -258,16 +258,17 @@ public abstract class RegularPainter extends Painter { d.type = Room.Door.Type.UNLOCKED; } - //entrance doors on floor 1 are hidden during tutorial - //entrance doors on floor 2 are hidden if the player hasn't picked up 2nd guidebook page - if (r.isEntrance() || n.isEntrance()){ - if ((Dungeon.depth == 1 && SPDSettings.intro()) + } + + //unlocked entrance doors on floor 1 are hidden during tutorial + //unlocked entrance doors on floor 2 are hidden if the player hasn't picked up 2nd guidebook page + if (d.type == Room.Door.Type.UNLOCKED && (r.isEntrance() || n.isEntrance())){ + if ((Dungeon.depth == 1 && SPDSettings.intro()) || (Dungeon.depth == 2 && !Document.ADVENTURERS_GUIDE.isPageFound(Document.GUIDE_SEARCHING))) { - d.type = Room.Door.Type.HIDDEN; - } + d.type = Room.Door.Type.HIDDEN; } } - + switch (d.type) { case EMPTY: l.map[door] = Terrain.EMPTY; diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/CrystalPathRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/CrystalPathRoom.java index 2e696151a..f74637f90 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/CrystalPathRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/CrystalPathRoom.java @@ -247,7 +247,7 @@ public class CrystalPathRoom extends SpecialRoom { level.addItemToSpawn( new CrystalKey( Dungeon.depth ) ); level.addItemToSpawn( new CrystalKey( Dungeon.depth ) ); - entrance().set( Door.Type.UNLOCKED ); + entrance().set( Door.Type.REGULAR ); } diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/DemonSpawnerRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/DemonSpawnerRoom.java index 54a539d92..8caa1dbc8 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/DemonSpawnerRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/DemonSpawnerRoom.java @@ -45,7 +45,7 @@ public class DemonSpawnerRoom extends SpecialRoom { int cy = c.y; Door door = entrance(); - door.set(Door.Type.UNLOCKED); + door.set(Door.Type.UNLOCKED); //cannot be hidden randomly under any circumstance DemonSpawner spawner = new DemonSpawner(); spawner.pos = cx + cy * level.width(); diff --git a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/ToxicGasRoom.java b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/ToxicGasRoom.java index 81f733cd7..7904cb406 100644 --- a/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/ToxicGasRoom.java +++ b/core/src/main/java/com/shatteredpixel/shatteredpixeldungeon/levels/rooms/special/ToxicGasRoom.java @@ -105,7 +105,7 @@ public class ToxicGasRoom extends SpecialRoom { level.addItemToSpawn(new PotionOfPurity()); - entrance().set( Door.Type.UNLOCKED ); + entrance().set( Door.Type.REGULAR ); }