Restore Wrath compatibility

This commit is contained in:
Robin Hüskes 2023-01-22 07:54:12 +01:00
parent 42fdfd738f
commit ef759c0ed1
7 changed files with 120 additions and 133 deletions

View File

@ -124,13 +124,13 @@ function modul.Get(id)
end end
-- function events:BANKFRAME_OPENED() function events:BANKFRAME_OPENED()
-- BankIsOpen = true BankIsOpen = true
-- scanAllBankBags() scanAllBankBags()
-- end end
-- function events:BANKFRAME_CLOSED() function events:BANKFRAME_CLOSED()
-- BankIsOpen = false BankIsOpen = false
-- end end
function events:PLAYERBANKBAGSLOTS_CHANGED(...) function events:PLAYERBANKBAGSLOTS_CHANGED(...)
scanAllBankBags() scanAllBankBags()
end end
@ -171,14 +171,15 @@ function modul:Delete(id, typ)
self['db'][id] = nil self['db'][id] = nil
end end
end end
local skip = {} local skip = {
local function MFOpen() [WOW_PROJECT_WRATH_CLASSIC] = {
BankIsOpen = true ['PLAYERREAGENTBANKSLOTS_CHANGED'] = true
scanAllBankBags() },
end [WOW_PROJECT_MAINLINE] = {
local function MFClose() ['BANKFRAME_OPENED'] = true,
BankIsOpen = false ['BANKFRAME_CLOSED'] = true
end }
}
function modul:Enable() function modul:Enable()
self['status'] = true self['status'] = true
local list = {} local list = {}
@ -191,8 +192,10 @@ function modul:Enable()
self['frame']:RegisterEvent(list[i]) self['frame']:RegisterEvent(list[i])
end end
self['frame']:SetScript("OnEvent", OnEvent) self['frame']:SetScript("OnEvent", OnEvent)
child:RegisterOpen(8, MFOpen) if(WOW_PROJECT_ID == WOW_PROJECT_MAINLINE) then
child:RegisterClose(8, MFClose) child:RegisterOpen(8, events.BANKFRAME_OPENED)
child:RegisterClose(8, events.BANKFRAME_CLOSED)
end
end end
function modul:Disable() function modul:Disable()
self['status'] = false self['status'] = false

View File

@ -172,11 +172,6 @@ local skip = {
['CURRENCY_DISPLAY_UPDATE'] = true ['CURRENCY_DISPLAY_UPDATE'] = true
} }
} }
if(WOW_PROJECT_BURNING_CRUSADE_CLASSIC) then
skip[WOW_PROJECT_BURNING_CRUSADE_CLASSIC] = {
['PLAYERREAGENTBANKSLOTS_CHANGED'] = true
}
end
function modul:Enable() function modul:Enable()
if(child:IsRetail()) then if(child:IsRetail()) then
self.status = true self.status = true
@ -206,8 +201,9 @@ function modul:Disable()
end end
end end
end end
child:IgnoreClassic(modulname) if(LE_EXPANSION_LEVEL_CURRENT<LE_EXPANSION_WRATH_OF_THE_LICH_KING or not _G['GetCurrencyListInfo']) then
child:IgnoreBCC(modulname) child:addIgnore(WOW_PROJECT_ID, modulname)
end
local init = { local init = {
Setup = function(self) Setup = function(self)
modul.db, modul.status = child:RegisterModul(modul, modulname) modul.db, modul.status = child:RegisterModul(modul, modulname)

View File

@ -130,12 +130,12 @@ function events:GUILDBANKBAGSLOTS_CHANGED()
end end
end end
end end
-- function events:GUILDBANKFRAME_CLOSED() function events:GUILDBANKFRAME_CLOSED()
-- GuildBankIsOpen = false GuildBankIsOpen = false
-- end end
-- function events:GUILDBANKFRAME_OPENED() function events:GUILDBANKFRAME_OPENED()
-- GuildBankIsOpen = true GuildBankIsOpen = true
-- end end
local function OnEvent(self, event, ...) local function OnEvent(self, event, ...)
local guildID = child.getGID() local guildID = child.getGID()
if(guildID and type(events[event])=='function') then if(guildID and type(events[event])=='function') then
@ -183,6 +183,12 @@ end
local function MFClose() local function MFClose()
GuildBankIsOpen = false GuildBankIsOpen = false
end end
local skip = {
[WOW_PROJECT_MAINLINE] = {
['GUILDBANKFRAME_OPENED'] = true,
['GUILDBANKFRAME_CLOSED'] = true
}
}
function modul:Enable() function modul:Enable()
self.status = true self.status = true
local list = {} local list = {}
@ -194,11 +200,15 @@ function modul:Enable()
lgbc.RegisterCallback(self, "GuildBankComm_PageUpdate", "OnPageSync") lgbc.RegisterCallback(self, "GuildBankComm_PageUpdate", "OnPageSync")
end end
for i = 1, #list do for i = 1, #list do
self['frame']:RegisterEvent(list[i]) if(not skip[WOW_PROJECT_ID] or not skip[WOW_PROJECT_ID][event]) then
self['frame']:RegisterEvent(list[i])
end
end end
self['frame']:SetScript("OnEvent", OnEvent) self['frame']:SetScript("OnEvent", OnEvent)
child:RegisterOpen(10, MFOpen) if(WOW_PROJECT_ID == WOW_PROJECT_MAINLINE) then
child:RegisterClose(10, MFClose) child:RegisterOpen(10, MFOpen)
child:RegisterClose(10, MFClose)
end
end end
function modul:Disable() function modul:Disable()
self.status = false self.status = false
@ -211,6 +221,9 @@ function modul:Disable()
end end
end end
end end
if(LE_EXPANSION_LEVEL_CURRENT<LE_EXPANSION_BURNING_CRUSADE or not GetGuildBankItemInfo) then
child:addIgnore(WOW_PROJECT_ID, modulname)
end
local init = { local init = {
Setup = function(self) Setup = function(self)
db = child['db'] db = child['db']

View File

@ -10,34 +10,16 @@ local modul = {
local desc = format('%sCount', modulname) local desc = format('%sCount', modulname)
local mailOpen = false local mailOpen = false
local db local db
--[[CLOSE_INBOX_ITEM: mailIndex
MAIL_CLOSED
MAIL_FAILED: itemID
MAIL_INBOX_UPDATE
MAIL_LOCK_SEND_ITEMS: attachSlot, itemLink
MAIL_SEND_INFO_UPDATE
MAIL_SEND_SUCCESS
MAIL_SHOW
MAIL_SUCCESS: itemID
MAIL_UNLOCK_SEND_ITEMS
SEND_MAIL_COD_CHANGED
SEND_MAIL_MONEY_CHANGED
UPDATE_PENDING_MAIL
]]
local function scan() local function scan()
if(not mailOpen) then return end if(not mailOpen) then return end
local numItems, totalItems = GetInboxNumItems() local numItems, totalItems = GetInboxNumItems()
-- print("Found",numItems, totalItems)
local playerID = child.getPID() local playerID = child.getPID()
local db = modul['db'][playerID] local db = modul['db'][playerID]
db[1] = {} db[1] = {}
for index = 1, numItems do for index = 1, numItems do
local packageIcon, stationeryIcon, sender, subject, money, CODAmount, daysLeft, hasItem, wasRead, wasReturned, local packageIcon, stationeryIcon, sender, subject, money, CODAmount, daysLeft, hasItem, wasRead, wasReturned,
textCreated, canReply, isGM = GetInboxHeaderInfo(index) textCreated, canReply, isGM = GetInboxHeaderInfo(index)
-- print("Index", index, hasItem)
if(hasItem) then if(hasItem) then
-- print("Mail has item", index)
for itemIndex = 1, ATTACHMENTS_MAX_RECEIVE do for itemIndex = 1, ATTACHMENTS_MAX_RECEIVE do
local name, itemID, texture, count, quality, canUse = GetInboxItem(index, itemIndex) local name, itemID, texture, count, quality, canUse = GetInboxItem(index, itemIndex)
if(name) then if(name) then
@ -51,48 +33,19 @@ local function scan()
end end
end end
function events:MAIL_INBOX_UPDATE() function events:MAIL_INBOX_UPDATE()
-- print("MIU")
scan() scan()
end end
function events:MAIL_FAILED() function events:MAIL_SHOW()
-- print('failed') mailOpen = true
end end
-- function events:MAIL_CLOSED() function events:MAIL_CLOSED()
-- -- print('closed') mailOpen = false
-- mailOpen = false
-- end
function events:MAIL_SEND_SUCCESS()
-- print("mail_send_success")
end end
function events:MAIL_SUCCESS(event, itemID) --fires along with MAIL_SEND_SUCCESS, itemID always nil, fires when deleting mail function events:MAIL_SUCCESS(event, itemID) --fires along with MAIL_SEND_SUCCESS, itemID always nil, fires when deleting mail
scan() scan()
end end
function events:MAIL_SEND_INFO_UPDATE() -- item changed
-- print("update")
for index = 1, ATTACHMENTS_MAX_SEND do
local name, itemID, texture, count, quality = GetSendMailItem(index)
if name then
-- print("You are sending", name, "x", count)
end
end
end
--[[function events:SEND_MAIL_COD_CHANGED() -- price added
print("cod changed")
end]]
function events:MAIL_LOCK_SEND_ITEMS(event, attachSlot, itemLink)
-- print(event, attachSlot, itemLink)
end
function events:UPDATE_PENDING_MAIL()
-- print("Update pending mail")
end
-- function events:MAIL_SHOW()
-- -- print("Mail show")
-- mailOpen = true
-- end
local function OnEvent(self, event, ...) local function OnEvent(self, event, ...)
local playerID = child.getPID() local playerID = child.getPID()
-- print(modulname, event, ...)
if(playerID and type(events[event])=='function') then if(playerID and type(events[event])=='function') then
modul['db'] = child:GetNamespace(modul.name) modul['db'] = child:GetNamespace(modul.name)
modul['db'][playerID] = modul['db'][playerID] or {} modul['db'][playerID] = modul['db'][playerID] or {}
@ -149,6 +102,12 @@ end
local function MFClose() local function MFClose()
mailOpen = false mailOpen = false
end end
local skip = {
[WOW_PROJECT_MAINLINE] = {
['MAIL_SHOW'] = true,
['MAIL_CLOSED'] = true
}
}
function modul:Enable() function modul:Enable()
self['status'] = true self['status'] = true
local list = {} local list = {}
@ -156,11 +115,15 @@ function modul:Enable()
list[#list+1] = event list[#list+1] = event
end end
for i = 1, #list do for i = 1, #list do
self['frame']:RegisterEvent(list[i]) if(not skip[WOW_PROJECT_ID] or not skip[WOW_PROJECT_ID][event]) then
self['frame']:RegisterEvent(list[i])
end
end end
self['frame']:SetScript("OnEvent", OnEvent) self['frame']:SetScript("OnEvent", OnEvent)
child:RegisterOpen(17, MFOpen) if(WOW_PROJECT_ID == WOW_PROJECT_MAINLINE) then
child:RegisterClose(17, MFClose) child:RegisterOpen(17, MFOpen)
child:RegisterClose(17, MFClose)
end
end end
function modul:Disable() function modul:Disable()
self['status'] = false self['status'] = false

View File

@ -79,13 +79,13 @@ function modul.Output(input, sum, b)
end end
return input, sum return input, sum
end end
-- function events:VOID_STORAGE_CLOSE() function events:VOID_STORAGE_CLOSE()
-- voidOpen = false voidOpen = false
-- end end
-- function events:VOID_STORAGE_OPEN() function events:VOID_STORAGE_OPEN()
-- voidOpen = true voidOpen = true
-- scanVoid() scanVoid()
-- end end
events.VOID_STORAGE_CONTENTS_UPDATE = scanVoid events.VOID_STORAGE_CONTENTS_UPDATE = scanVoid
events.VOID_STORAGE_DEPOSIT_UPDATE = scanVoid events.VOID_STORAGE_DEPOSIT_UPDATE = scanVoid
events.ITEM_UNLOCKED = scanVoid events.ITEM_UNLOCKED = scanVoid
@ -111,6 +111,16 @@ end
local function MFClose() local function MFClose()
voidOpen = false voidOpen = false
end end
local skip = {
[WOW_PROJECT_MAINLINE] = {
['VOID_STORAGE_CLOSE'] = true,
['VOID_STORAGE_OPEN'] = true
},
[WOW_PROJECT_WRATH_CLASSIC] = {
['VOID_STORAGE_CLOSE'] = true,
['VOID_STORAGE_OPEN'] = true
}
}
function modul:Enable() function modul:Enable()
self['status'] = true self['status'] = true
local list = {} local list = {}
@ -118,11 +128,15 @@ function modul:Enable()
list[#list+1] = event list[#list+1] = event
end end
for i = 1, #list do for i = 1, #list do
self['frame']:RegisterEvent(list[i]) if(not skip[WOW_PROJECT_ID] or not skip[WOW_PROJECT_ID][event]) then
self['frame']:RegisterEvent(list[i])
end
end end
self['frame']:SetScript("OnEvent", OnEvent) self['frame']:SetScript("OnEvent", OnEvent)
child:RegisterOpen(26, MFOpen) if(WOW_PROJECT_ID == WOW_PROJECT_MAINLINE) then
child:RegisterClose(26, MFClose) child:RegisterOpen(26, MFOpen)
child:RegisterClose(26, MFClose)
end
end end
function modul:Disable() function modul:Disable()
self['status'] = false self['status'] = false
@ -130,8 +144,9 @@ function modul:Disable()
self['frame']:UnregisterEvent(event) self['frame']:UnregisterEvent(event)
end end
end end
child:IgnoreClassic(modulname) if(LE_EXPANSION_LEVEL_CURRENT<LE_EXPANSION_CATACLYSM or not _G['GetVoidItemInfo']) then
child:IgnoreBCC(modulname) child:addIgnore(WOW_PROJECT_ID, modulname)
end
local init = { local init = {
Setup = function(self) Setup = function(self)
db = child['db'] db = child['db']

View File

@ -7,9 +7,6 @@ local db
local skip = { local skip = {
[WOW_PROJECT_CLASSIC] = {} [WOW_PROJECT_CLASSIC] = {}
} }
if(WOW_PROJECT_BURNING_CRUSADE_CLASSIC) then
skip[WOW_PROJECT_BURNING_CRUSADE_CLASSIC] = {}
end
function child:GetModul(modName) function child:GetModul(modName)
for k,modul in pairs(moduls) do for k,modul in pairs(moduls) do
if(modul.name==modName) then if(modul.name==modName) then
@ -17,12 +14,12 @@ function child:GetModul(modName)
end end
end end
end end
function child:IgnoreClassic(ign) function child:addIgnore(pid, ign)
skip[WOW_PROJECT_CLASSIC][ign] = true if(pid) then
end if(ign) then
function child:IgnoreBCC(ign) skip[pid] = skip[pid] or {}
if(WOW_PROJECT_BURNING_CRUSADE_CLASSIC) then skip[pid][ign] = true
skip[WOW_PROJECT_BURNING_CRUSADE_CLASSIC][ign] = true end
end end
end end
function child:RegisterModul(modul, namespace) function child:RegisterModul(modul, namespace)

View File

@ -75,36 +75,36 @@ local function GameTooltip_OnTooltipSetItem(tooltip)
tooltip:Show() tooltip:Show()
end end
local function GameTooltip_OnTooltipSetItem2(tooltip, tooltipData) local function GameTooltip_OnTooltipSetItem2(tooltip, tooltipData)
-- local tooltipData = tooltip:GetTooltipData() -- local tooltipData = tooltip:GetTooltipData()
if(tooltipData and tooltipData.id and tooltipData.type == 0) then -- type -> 0 = item, 1 = spell if(tooltipData and tooltipData.id and tooltipData.type == 0) then -- type -> 0 = item, 1 = spell
curItem = tooltipData.id curItem = tooltipData.id
tooltip.zzInfo = true tooltip.zzInfo = true
child:setTT(curItem,tooltip) child:setTT(curItem,tooltip)
tooltip:AddLine() tooltip:AddLine()
for name,b in pairs(child:Search(curItem)) do for name,b in pairs(child:Search(curItem)) do
local dname, drealm = strsplit(" - ",name) local dname, drealm = strsplit(" - ",name)
local input,sum = child:output(b) local input,sum = child:output(b)
if(sum>0) then if(sum>0) then
tooltip:AddLine(format(L['tooltip_main_string'],child:getIcon(curItem),dname,sum,child:colorize(table.concat(input,', '),"ffffff"))) tooltip:AddLine(format(L['tooltip_main_string'],child:getIcon(curItem),dname,sum,child:colorize(table.concat(input,', '),"ffffff")))
end
input = nil
end end
child:specialoutput(tooltip, curItem) input = nil
if(db['showID']) then
tooltip:AddLine(format(L['tooltip_id_string'],curItem))
end
GameTooltip_CalculatePadding(tooltip)
-- tooltip:Show()
elseif(tooltipData) then
end end
child:specialoutput(tooltip, curItem)
if(db['showID']) then
tooltip:AddLine(format(L['tooltip_id_string'],curItem))
end
GameTooltip_CalculatePadding(tooltip)
-- tooltip:Show()
elseif(tooltipData) then
end end
if(GameTooltip.OnTooltipSetItem) then end
child.GameTooltip_OnTooltipSetItem = GameTooltip_OnTooltipSetItem if(TooltipDataProcessor) then
GameTooltip:HookScript("OnTooltipSetItem", GameTooltip_OnTooltipSetItem)
else
child.GameTooltip_OnTooltipSetItem = GameTooltip_OnTooltipSetItem2 child.GameTooltip_OnTooltipSetItem = GameTooltip_OnTooltipSetItem2
TooltipDataProcessor.AddTooltipPostCall(Enum.TooltipDataType.Item, GameTooltip_OnTooltipSetItem2) TooltipDataProcessor.AddTooltipPostCall(Enum.TooltipDataType.Item, GameTooltip_OnTooltipSetItem2)
else
child.GameTooltip_OnTooltipSetItem = GameTooltip_OnTooltipSetItem
GameTooltip:HookScript("OnTooltipSetItem", GameTooltip_OnTooltipSetItem)
end end
function events:TRADE_SKILL_LIST_UPDATE(event) function events:TRADE_SKILL_LIST_UPDATE(event)
child:updateTT() child:updateTT()