diff --git a/Server/src/main/content/data/EnchantedJewellery.kt b/Server/src/main/content/data/EnchantedJewellery.kt index 23aa3b1bb..422f55963 100644 --- a/Server/src/main/content/data/EnchantedJewellery.kt +++ b/Server/src/main/content/data/EnchantedJewellery.kt @@ -17,6 +17,7 @@ import core.game.world.update.flag.context.Animation import core.game.world.update.flag.context.Graphics import org.rs09.consts.Items import core.game.world.GameWorld.Pulser +import core.tools.Log import org.rs09.consts.Sounds import java.util.* @@ -260,17 +261,24 @@ enum class EnchantedJewellery( if (isSlayerRing(item)) { if (isEquipped) { // Remove it now, but only addItemOrDrop the gem after the teleport has procced - removeItem(player, item, Container.INVENTORY) - return@queueScript delayScript(player, 1) + if (removeItem(player, item, Container.EQUIPMENT)) { + return@queueScript delayScript(player, 1) + } + log(this.javaClass, Log.ERR, "Error replacing slayer ring with enchanted gem (removeItem from equipment)") } // Not equipped -> can replace fluently - replaceSlot(player, item.slot, Item(Items.ENCHANTED_GEM_4155), item) - return@queueScript stopExecuting(player) + if (replaceSlot(player, item.slot, Item(Items.ENCHANTED_GEM_4155), item) == item) { + return@queueScript stopExecuting(player) + } + log(this.javaClass, Log.ERR, "Error replacing slayer ring with enchanted gem (replaceSlot)") } // Not slayer ring if (isCrumble) { val removeFrom = if (isEquipped) Container.EQUIPMENT else Container.INVENTORY - removeItem(player, item, removeFrom) + if (removeItem(player, item, removeFrom)) { + return@queueScript stopExecuting(player) + } + log(this.javaClass, Log.ERR, "Error crumbling jewelry") } } else { replaceJewellery(player, item, nextJewellery, isEquipped)