From 19be3b70d735ce4d2ff4de344932898eef4d71a2 Mon Sep 17 00:00:00 2001 From: Jrc13245 Date: Sat, 8 Nov 2025 17:53:19 -0500 Subject: [PATCH] fix equipmh and equipoh errors --- Core.lua | 63 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 27 deletions(-) diff --git a/Core.lua b/Core.lua index 41da16f..cdb2e98 100644 --- a/Core.lua +++ b/Core.lua @@ -1999,42 +1999,51 @@ function CleveRoids.EquipBagItem(msg, offhand) end function CleveRoids.DoEquipMainhand(msg) - local conditionals, item = CleveRoids.ParseConditionals(msg) + local handled = false + local action = function(msg) + -- Get the item + local item = CleveRoids.GetItem(msg) + if not item then return false end - if not item or item == "" then return end - - if not CleveRoids.DoWithConditionals(conditionals, function() - local itemObj = CleveRoids.GetItem(item) - if not itemObj then - return false + -- Use queue system if available, otherwise use original method + if CleveRoids.QueueEquipItem then + return CleveRoids.QueueEquipItem(item, "MainHandSlot") + else + return CleveRoids.EquipBagItem(msg, false) end - - -- Use queue system for reliable swaps - return CleveRoids.QueueEquipItem(itemObj, "MainHandSlot") - end) then - return false end - - return true + for k, v in pairs(CleveRoids.splitStringIgnoringQuotes(msg)) do + v = string.gsub(v, "^%?", "") + if CleveRoids.DoWithConditionals(v, action, CleveRoids.FixEmptyTarget, false, action) then + handled = true + break + end + end + return handled end function CleveRoids.DoEquipOffhand(msg) - local conditionals, item = CleveRoids.ParseConditionals(msg) + local handled = false + local action = function(msg) + -- Get the item + local item = CleveRoids.GetItem(msg) + if not item then return false end - if not item or item == "" then return end - - if not CleveRoids.DoWithConditionals(conditionals, function() - local itemObj = CleveRoids.GetItem(item) - if not itemObj then - return false + -- Use queue system if available, otherwise use original method + if CleveRoids.QueueEquipItem then + return CleveRoids.QueueEquipItem(item, "SecondaryHandSlot") + else + return CleveRoids.EquipBagItem(msg, true) end - - return CleveRoids.QueueEquipItem(itemObj, "SecondaryHandSlot") - end) then - return false end - - return true + for k, v in pairs(CleveRoids.splitStringIgnoringQuotes(msg)) do + v = string.gsub(v, "^%?", "") + if CleveRoids.DoWithConditionals(v, action, CleveRoids.FixEmptyTarget, false, action) then + handled = true + break + end + end + return handled end function CleveRoids.DoUnshift(msg)