From 65250b07bfbb408128dbcf9cc190b11bbdb288e6 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Tue, 2 Dec 2025 23:56:57 -0800 Subject: [PATCH] Don't send door case after every shop purchase --- .../game/tower/cases/StarTowerBattleCase.java | 4 ++-- .../game/tower/cases/StarTowerPotentialCase.java | 4 ++-- .../nebula/game/tower/room/StarTowerBaseRoom.java | 13 +++++++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/main/java/emu/nebula/game/tower/cases/StarTowerBattleCase.java b/src/main/java/emu/nebula/game/tower/cases/StarTowerBattleCase.java index d09983c..3ab6059 100644 --- a/src/main/java/emu/nebula/game/tower/cases/StarTowerBattleCase.java +++ b/src/main/java/emu/nebula/game/tower/cases/StarTowerBattleCase.java @@ -88,8 +88,8 @@ public class StarTowerBattleCase extends StarTowerBaseCase { if (potentialCase != null) { // Create potential selector this.getGame().addCase(rsp.getMutableCases(), potentialCase); - } else { - // Add door case here + } else if (!this.getRoom().hasDoor()) { + // Add door case here if door hasn't opened yet this.getGame().createExit(rsp.getMutableCases()); } diff --git a/src/main/java/emu/nebula/game/tower/cases/StarTowerPotentialCase.java b/src/main/java/emu/nebula/game/tower/cases/StarTowerPotentialCase.java index 4161e80..c872915 100644 --- a/src/main/java/emu/nebula/game/tower/cases/StarTowerPotentialCase.java +++ b/src/main/java/emu/nebula/game/tower/cases/StarTowerPotentialCase.java @@ -54,8 +54,8 @@ public class StarTowerPotentialCase extends StarTowerBaseCase { if (potentialCase != null) { // Create potential selector this.getGame().addCase(rsp.getMutableCases(), potentialCase); - } else { - // Add door case here + } else if (!this.getRoom().hasDoor()) { + // Add door case here if door hasn't opened yet this.getGame().createExit(rsp.getMutableCases()); } diff --git a/src/main/java/emu/nebula/game/tower/room/StarTowerBaseRoom.java b/src/main/java/emu/nebula/game/tower/room/StarTowerBaseRoom.java index 9400132..b7821b3 100644 --- a/src/main/java/emu/nebula/game/tower/room/StarTowerBaseRoom.java +++ b/src/main/java/emu/nebula/game/tower/room/StarTowerBaseRoom.java @@ -5,6 +5,7 @@ import java.util.List; import emu.nebula.data.resources.StarTowerStageDef; import emu.nebula.game.tower.StarTowerGame; +import emu.nebula.game.tower.cases.CaseType; import emu.nebula.game.tower.cases.StarTowerBaseCase; import emu.nebula.game.tower.cases.StarTowerSyncHPCase; import emu.nebula.proto.PublicStarTower.InteractEnterReq; @@ -30,6 +31,9 @@ public class StarTowerBaseRoom { private int lastCaseId = 0; private List cases; + // Misc + private boolean hasDoor; + public StarTowerBaseRoom(StarTowerGame game, StarTowerStageDef stage) { this.game = game; this.stage = stage; @@ -40,6 +44,10 @@ public class StarTowerBaseRoom { return stage.getRoomType(); } + public boolean hasDoor() { + return this.hasDoor; + } + // Map info public void setMapInfo(StarTowerApplyReq req) { @@ -85,6 +93,11 @@ public class StarTowerBaseRoom { cases.add(towerCase.toProto()); } + // Check if door case + if (towerCase.getType() == CaseType.OpenDoor) { + this.hasDoor = true; + } + // Complete return towerCase; }