You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.0 KiB
70 lines
2.0 KiB
local ADDON, Addon = ...
|
|
local Mod = Addon:NewModule('Keystone')
|
|
|
|
-- local poorColor = select(4, GetItemQualityColor(LE_ITEM_QUALITY_POOR))
|
|
-- local epicColor = select(4, GetItemQualityColor(LE_ITEM_QUALITY_EPIC))
|
|
|
|
-- local events = {
|
|
-- "CHAT_MSG_SAY",
|
|
-- "CHAT_MSG_YELL",
|
|
-- "CHAT_MSG_CHANNEL",
|
|
-- "CHAT_MSG_TEXT_EMOTE",
|
|
-- "CHAT_MSG_WHISPER",
|
|
-- "CHAT_MSG_WHISPER_INFORM",
|
|
-- "CHAT_MSG_BN_WHISPER",
|
|
-- "CHAT_MSG_BN_WHISPER_INFORM",
|
|
-- "CHAT_MSG_BN_CONVERSATION",
|
|
-- "CHAT_MSG_GUILD",
|
|
-- "CHAT_MSG_OFFICER",
|
|
-- "CHAT_MSG_PARTY",
|
|
-- "CHAT_MSG_PARTY_LEADER",
|
|
-- "CHAT_MSG_RAID",
|
|
-- "CHAT_MSG_RAID_LEADER",
|
|
-- "CHAT_MSG_INSTANCE_CHAT",
|
|
-- "CHAT_MSG_INSTANCE_CHAT_LEADER",
|
|
-- }
|
|
|
|
-- local function filter(self, event, msg, ...)
|
|
-- local msg2 = msg:gsub("(|Hkeystone:([0-9:]+)|h(%b[])|h)", function(msg, itemString, itemName)
|
|
-- local info = { strsplit(":", itemString) }
|
|
-- local mapID = tonumber(info[1])
|
|
-- local mapLevel = tonumber(info[2])
|
|
|
|
-- if mapID and mapLevel then
|
|
-- local mapName = C_ChallengeMode.GetMapInfo(mapID)
|
|
-- return msg:gsub(itemName:gsub("(%W)","%%%1"), format(Addon.Locale.keystoneFormat, mapName, mapLevel))
|
|
-- else
|
|
-- return msg
|
|
-- end
|
|
-- end)
|
|
-- if msg2 ~= msg then
|
|
-- return false, msg2, ...
|
|
-- end
|
|
-- end
|
|
|
|
-- for _, v in pairs(events) do
|
|
-- ChatFrame_AddMessageEventFilter(v, filter)
|
|
-- end
|
|
|
|
local function SlotKeystone()
|
|
for container=BACKPACK_CONTAINER, NUM_BAG_SLOTS do
|
|
local slots = C_Container.GetContainerNumSlots(container)
|
|
for slot=1, slots do
|
|
local _, _, _, _, _, _, slotLink, _, _, slotItemID = C_Container.GetContainerItemInfo(container, slot)
|
|
if slotLink and slotLink:match("|Hkeystone:") then
|
|
PickupContainerItem(container, slot)
|
|
if (CursorHasItem()) then
|
|
C_ChallengeMode.SlotKeystone()
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function Mod:Blizzard_ChallengesUI()
|
|
ChallengesKeystoneFrame:HookScript("OnShow", SlotKeystone)
|
|
end
|
|
|
|
function Mod:Startup()
|
|
self:RegisterAddOnLoaded("Blizzard_ChallengesUI")
|
|
end
|
|
|