1
0
Fork 0
AllTheLittleThings/modules/prat.lua

62 lines
2 KiB
Lua

local core = LibStub("AceAddon-3.0"):GetAddon("AllTheLittleThings")
local mod = core:NewModule("Prat", "AceEvent-3.0")
local db
local defaults = {
}
local options = {
}
function mod:OnInitialize()
db = core.db.profile[self:GetName()] or {}
end
function mod:OnEnable()
if Prat then
self:ModifyPrat()
self.OnEnable = nil
end
end
function mod:ModifyPrat()
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
end