From df345d782fa05a40386f323bfcfc839ce8c9f840 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 3 Feb 2023 15:30:29 +0000 Subject: [PATCH] Fixed bug preventing tipping/finishing of crossbow bolts with full inventory --- .../main/content/global/skill/fletching/GemBoltPlugin.java | 3 ++- .../global/skill/fletching/items/bolts/BoltPulse.java | 5 +++++ .../global/skill/fletching/items/gem/GemBoltPulse.java | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/Server/src/main/content/global/skill/fletching/GemBoltPlugin.java b/Server/src/main/content/global/skill/fletching/GemBoltPlugin.java index 068e69de2..5c5d264d0 100644 --- a/Server/src/main/content/global/skill/fletching/GemBoltPlugin.java +++ b/Server/src/main/content/global/skill/fletching/GemBoltPlugin.java @@ -67,7 +67,8 @@ public final class GemBoltPlugin extends UseWithHandler { if(bolt == null){ bolt = Fletching.tipMap.get(event.getUsedWith().getId()); } - if(bolt != null){ + if(bolt != null && (event.getUsedItem().getId() == bolt.tip && event.getUsedWith().getId() == bolt.base) + || event.getUsedItem().getId() == bolt.base && event.getUsedWith().getId() == bolt.tip ) { SkillDialogueHandler handler = new SkillDialogueHandler(player, SkillDialogue.ONE_OPTION, new Item(bolt.product)) { @Override public void create(final int amount, int index) { diff --git a/Server/src/main/content/global/skill/fletching/items/bolts/BoltPulse.java b/Server/src/main/content/global/skill/fletching/items/bolts/BoltPulse.java index 26c974603..b345c4276 100644 --- a/Server/src/main/content/global/skill/fletching/items/bolts/BoltPulse.java +++ b/Server/src/main/content/global/skill/fletching/items/bolts/BoltPulse.java @@ -76,6 +76,11 @@ public final class BoltPulse extends SkillPulse { if (!player.getInventory().containsItem(bolt.getUnfinished())) { return false; } + if (!player.getInventory().hasSpaceFor(bolt.getFinished())) { + player.getDialogueInterpreter().sendDialogue("You do not have enough inventory space."); + return false; + } + return true; } diff --git a/Server/src/main/content/global/skill/fletching/items/gem/GemBoltPulse.java b/Server/src/main/content/global/skill/fletching/items/gem/GemBoltPulse.java index 266d18dad..4cd856e8a 100644 --- a/Server/src/main/content/global/skill/fletching/items/gem/GemBoltPulse.java +++ b/Server/src/main/content/global/skill/fletching/items/gem/GemBoltPulse.java @@ -48,6 +48,10 @@ public final class GemBoltPulse extends SkillPulse { if (!player.getInventory().containsItem(new Item(bolt.base)) || !player.getInventory().containsItem(new Item(bolt.tip))) { return false; } + if (!player.getInventory().hasSpaceFor(new Item(bolt.product))){ + player.getDialogueInterpreter().sendDialogue("You do not have enough inventory space."); + return false; + } return true; }