From 06dc208305057d3e6b083ca8acc2687891f222d7 Mon Sep 17 00:00:00 2001 From: Melledy <121644117+Melledy@users.noreply.github.com> Date: Tue, 21 Jul 2026 04:28:29 -0700 Subject: [PATCH] Fix hunt permits check --- .../java/emu/nebula/game/inventory/Inventory.java | 6 ++++++ .../emu/nebula/game/tracehunt/TraceHuntManager.java | 13 ++++++++++--- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/main/java/emu/nebula/game/inventory/Inventory.java b/src/main/java/emu/nebula/game/inventory/Inventory.java index dd86155..ea14eb9 100644 --- a/src/main/java/emu/nebula/game/inventory/Inventory.java +++ b/src/main/java/emu/nebula/game/inventory/Inventory.java @@ -721,6 +721,12 @@ public class Inventory extends PlayerManager implements GameDatabaseObject { case Title -> { yield this.getTitles().contains(id); } + case TraceRequest -> { + yield this.getPlayer().getTraceHuntManager().getTraceRequests() >= count; + } + case HuntPermit -> { + yield this.getPlayer().getTraceHuntManager().getHuntPermits() >= count; + } default -> { // Not implemented yield false; diff --git a/src/main/java/emu/nebula/game/tracehunt/TraceHuntManager.java b/src/main/java/emu/nebula/game/tracehunt/TraceHuntManager.java index 228b520..4fda8d2 100644 --- a/src/main/java/emu/nebula/game/tracehunt/TraceHuntManager.java +++ b/src/main/java/emu/nebula/game/tracehunt/TraceHuntManager.java @@ -338,6 +338,13 @@ public class TraceHuntManager extends PlayerManager implements GameDatabaseObjec return false; } + // Check if we have enough cost items + var cost = this.getHuntCost(); + + if (cost != null && !getPlayer().getInventory().hasItem(cost.getExtraCost1Tid(), cost.getExtraCost1Qty())) { + return false; + } + // Set build this.huntPlayerUid = (int) ownerUid; this.huntBossId = bossId; @@ -363,9 +370,6 @@ public class TraceHuntManager extends PlayerManager implements GameDatabaseObjec // Add logs to change info change.setExtraData(logs); - // Add exp - this.addExp(50); - // Calculate result if (this.huntPlayerUid == this.getPlayerUid()) { // Check if we have enough cost items @@ -396,6 +400,9 @@ public class TraceHuntManager extends PlayerManager implements GameDatabaseObjec return null; } + // Add exp + this.addExp(50); + // Add medals this.getPlayer().getInventory().addItem(37, this.getRandomMedals(), change);