diff --git a/modules/prat.lua b/modules/prat.lua index 937f1b1..94765a4 100644 --- a/modules/prat.lua +++ b/modules/prat.lua @@ -9,51 +9,54 @@ local options = { function mod:OnInitialize() db = core.db.profile[self:GetName()] or {} - self:RegisterEvent("ADDON_LOADED") end -function mod:ADDON_LOADED(_, name) - if name == "Prat" then - local module = Prat.Addon:GetModule('AltNames') - Prat.RegisterMessageItem('ALTNAMES', 'PLAYER') - module.padfmt = '||%s' - module.setMainPos = function() end +function mod:OnEnable() + if Prat then + self:ModifyPrat() + self.OnEnable = nil + end +end - -- Prevent dropdown menu option from being displayed - module.menusAdded = true +function mod:ModifyPrat() + local module = Prat.Addon:GetModule('AltNames') + Prat.RegisterMessageItem('ALTNAMES', 'PLAYER') + module.padfmt = '||%s' + module.setMainPos = function() end - -- /run Prat.Addon:ChatFrame_MessageEventHandler(ChatFrame1, "CHAT_MSG_SYSTEM", "Batche has gone offline.", "", "", "", "", "", 0, 0, "", 0, 3991, "", 0, true, false) - -- PreAddMessage hook to limit main print to 3 characters and make sure player is added for logouts - local PreAddMessage = module.Prat_PreAddMessage - module.Prat_PreAddMessage = function(self, e, message, frame, event, ...) - -- check to see if we have a log off - if event == "CHAT_MSG_SYSTEM" then - -- .MESSAGE contains modified message with color, .OUTPUT contains raw - local p, m = message.OUTPUT:match("(%S+)( has gone offline.*)") - if p then - local class = Prat.Addon:GetModule('PlayerNames'):GetData(p) - -- inline coloring won't work (fires before) so we do it manually - -- set PLAYERLINK for AltNames to read - message.MESSAGE, message.PLAYER, message.PLAYERLINK = m, Prat.CLR:Player(p, p:lower(), class), p - end - end + -- Prevent dropdown menu option from being displayed + module.menusAdded = true - -- call normal - PreAddMessage(self, e, message, frame, event, ...) - - -- unset PLAYERLINK if we have a log off so as not to have it display - if not message.lL or message.lL == "" then - message.PLAYERLINK = nil - end - - -- limit to 3 characters in the main - if message.ALTNAMES and message.ALTNAMES ~= "" then - -- 12 characters of color padding; so sub(1, 12+length) - self.ALTNAMES = self.ALTNAMES:sub(1, 15).."|r" - message.ALTNAMES = self.ALTNAMES + -- /run Prat.Addon:ChatFrame_MessageEventHandler(ChatFrame1, "CHAT_MSG_SYSTEM", "Batche has gone offline.", "", "", "", "", "", 0, 0, "", 0, 3991, "", 0, true, false) + -- PreAddMessage hook to limit main print to 3 characters and make sure player is added for logouts + local PreAddMessage = module.Prat_PreAddMessage + module.Prat_PreAddMessage = function(self, e, message, frame, event, ...) + -- check to see if we have a log off + if event == "CHAT_MSG_SYSTEM" then + -- .MESSAGE contains modified message with color, .OUTPUT contains raw + local p, m = message.OUTPUT:match("(%S+)( has gone offline.*)") + if p then + local class = Prat.Addon:GetModule('PlayerNames'):GetData(p) + -- inline coloring won't work (fires before) so we do it manually + -- set PLAYERLINK for AltNames to read + message.MESSAGE, message.PLAYER, message.PLAYERLINK = m, Prat.CLR:Player(p, p:lower(), class), p end end - self:UnregisterEvent("ADDON_LOADED") + -- call normal + PreAddMessage(self, e, message, frame, event, ...) + + -- unset PLAYERLINK if we have a log off so as not to have it display + if not message.lL or message.lL == "" then + message.PLAYERLINK = nil + end + + -- limit to 3 characters in the main + if message.ALTNAMES and message.ALTNAMES ~= "" then + -- 12 characters of color padding; so sub(1, 12+length) + self.ALTNAMES = self.ALTNAMES:sub(1, 15).."|r" + message.ALTNAMES = self.ALTNAMES + end end end + diff --git a/modules/rbs.lua b/modules/rbs.lua index 037a70a..135ffcf 100644 --- a/modules/rbs.lua +++ b/modules/rbs.lua @@ -9,23 +9,19 @@ local options = { function mod:OnInitialize() db = core.db.profile[self:GetName()] or {} - self:RegisterEvent("ADDON_LOADED") end -function mod:ADDON_LOADED(_, name) - if name == "RaidBuffStatus" then - if RaidBuffStatus then - self:SecureHook(RaidBuffStatus, "SetupFrames", "SetupRBS") - end - self:UnregisterEvent("ADDON_LOADED") - end +function mod:OnEnable() + if RaidBuffStatus then + self:SecureHook(RaidBuffStatus, "SetupFrames", "SetupRBS") + end end function mod:RunMacro(name) local macros = core:GetModule("Macros") if not macros or not macros[name] then return end - macros[name]() + macros[name](macros) end local didSetup = false