diff --git a/modules/roll.lua b/modules/roll.lua index 5b6ee8ce..e11bf8a1 100644 --- a/modules/roll.lua +++ b/modules/roll.lua @@ -2,11 +2,13 @@ pfUI:RegisterModule("roll", "vanilla:tbc", function () pfUI.roll = CreateFrame("Frame", "pfLootRoll", UIParent) pfUI.roll.frames = {} - pfUI.roll.LOOT_ROLL_GREED = string.gsub(string.gsub(LOOT_ROLL_GREED, "%%s|Hitem:%%d:%%d:%%d:%%d|h%[%%s%]|h%%s", "(.+)"), "%%s", "(.+)") - pfUI.roll.LOOT_ROLL_NEED = string.gsub(string.gsub(LOOT_ROLL_NEED, "%%s|Hitem:%%d:%%d:%%d:%%d|h%[%%s%]|h%%s", "(.+)"), "%%s", "(.+)") - pfUI.roll.LOOT_ROLL_PASSED = string.gsub(string.gsub(LOOT_ROLL_PASSED, "%%s|Hitem:%%d:%%d:%%d:%%d|h%[%%s%]|h%%s", "(.+)"), "%%s", "(.+)") + -- squash vanilla item placeholders + local LOOT_ROLL_GREED = string.gsub(LOOT_ROLL_GREED, "%%s|Hitem:%%d:%%d:%%d:%%d|h%[%%s%]|h%%s", "%%s") + local LOOT_ROLL_NEED = string.gsub(LOOT_ROLL_NEED, "%%s|Hitem:%%d:%%d:%%d:%%d|h%[%%s%]|h%%s", "%%s") + local LOOT_ROLL_PASSED = string.gsub(LOOT_ROLL_PASSED, "%%s|Hitem:%%d:%%d:%%d:%%d|h%[%%s%]|h%%s", "%%s") - local _, _, everyone, _ = strfind(LOOT_ROLL_ALL_PASSED, pfUI.roll.LOOT_ROLL_PASSED); + -- try to detect the everyone string + local _, _, everyone, _ = strfind(LOOT_ROLL_ALL_PASSED, LOOT_ROLL_PASSED); pfUI.roll.blacklist = { YOU, everyone } pfUI.roll.cache = {} @@ -14,19 +16,19 @@ pfUI:RegisterModule("roll", "vanilla:tbc", function () pfUI.roll.scan = CreateFrame("Frame", "pfLootRollMonitor", UIParent) pfUI.roll.scan:RegisterEvent("CHAT_MSG_LOOT") pfUI.roll.scan:SetScript("OnEvent", function() - local _, _, player, item = strfind(arg1, pfUI.roll.LOOT_ROLL_GREED); + local player, item = cmatch(arg1, LOOT_ROLL_GREED); if player and item then pfUI.roll:AddCache(item, player, "GREED") return end - local _, _, player, item = strfind(arg1, pfUI.roll.LOOT_ROLL_NEED); + local player, item = cmatch(arg1, LOOT_ROLL_NEED); if player and item then pfUI.roll:AddCache(item, player, "NEED") return end - local _, _, player, item = strfind(arg1, pfUI.roll.LOOT_ROLL_PASSED); + local player, item = cmatch(arg1, LOOT_ROLL_PASSED); if player and item then pfUI.roll:AddCache(item, player, "PASS") return