From f0afcb1865b48df880b5c950fe99fc9c9474043c Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Fri, 16 Jan 2026 20:17:06 -0800 Subject: [PATCH] Only consume express passes if entering star tower was a success --- .../emu/nebula/game/tower/StarTowerManager.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/main/java/emu/nebula/game/tower/StarTowerManager.java b/src/main/java/emu/nebula/game/tower/StarTowerManager.java index 9525be8..97c5d37 100644 --- a/src/main/java/emu/nebula/game/tower/StarTowerManager.java +++ b/src/main/java/emu/nebula/game/tower/StarTowerManager.java @@ -278,12 +278,14 @@ public class StarTowerManager extends PlayerManager { return null; } - // Create change + // Create change info var change = new PlayerChangeInfo(); + int expressItemId = 0; // Check if sweeping if (req.getSweep()) { - // Make sure we have the proper growth node that enables sweeping + // Key to the Stairs to the Stars + // Make sure we have the proper growth node that enables the express pass if (!this.hasGrowthNode(10301)) { return null; } @@ -294,11 +296,11 @@ public class StarTowerManager extends PlayerManager { return null; } - // Check materials + // Check if the player has any express pass if (this.getPlayer().getInventory().hasItem(29, 1)) { - this.getPlayer().getInventory().removeItem(29, 1, change); + expressItemId = 29; } else if (this.getPlayer().getInventory().hasItem(30, 1)) { - this.getPlayer().getInventory().removeItem(30, 1, change); + expressItemId = 30; } else { return null; } @@ -312,6 +314,11 @@ public class StarTowerManager extends PlayerManager { return null; } + // Consume express pass item + if (expressItemId > 0) { + this.getPlayer().getInventory().removeItem(expressItemId, 1, change); + } + // Trigger quest this.getPlayer().trigger(QuestCondition.TowerEnterFloor, 1);