2011-05-30 14:16:17 -04:00
|
|
|
local core = LibStub("AceAddon-3.0"):GetAddon("AllTheLittleThings")
|
|
|
|
local mod = core:NewModule("Prat", "AceEvent-3.0")
|
2011-05-30 18:13:08 -04:00
|
|
|
local db
|
2011-05-30 14:16:17 -04:00
|
|
|
|
|
|
|
local defaults = {
|
|
|
|
}
|
|
|
|
local options = {
|
|
|
|
}
|
|
|
|
|
|
|
|
function mod:OnInitialize()
|
2011-05-30 18:13:08 -04:00
|
|
|
db = core.db.profile[self:GetName()] or {}
|
2011-05-30 14:16:17 -04:00
|
|
|
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
|
|
|
|
|
|
|
|
-- Prevent dropdown menu option from being displayed
|
|
|
|
module.menusAdded = true
|
|
|
|
|
|
|
|
-- /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
|
|
|
|
|
|
|
|
-- 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
|
|
|
|
|
|
|
|
self:UnregisterEvent("ADDON_LOADED")
|
|
|
|
end
|
|
|
|
end
|