do
local function updateflagcarrier(self, event, arg1)
if not self.Options.ShowFlagCarrier then return end
if self.FlagCarrierFrame1 and self.FlagCarrierFrame2 then
if string.match(arg1, L.ExprFlagPickUp) or (GetLocale() ~= "ruRU" and string.match(arg1, L.ExprFlagPickUp2)) then
local sArg1, sArg2
local mSide, mNick
if ( GetLocale() == "ruRU" and string.match(arg1, L.ExprFlagPickUp2) ) then
sArg2, sArg1 = string.match(arg1, L.ExprFlagPickUp2)
else
sArg1, sArg2 = string.match(arg1, L.ExprFlagPickUp)
end
if( GetLocale() == "deDE" or GetLocale() == "koKR") then
mSide = sArg2
mNick = sArg1
else
mSide = sArg1
mNick = sArg2
end
if mSide == L.Alliance then
FlagCarrier[2] = mNick
self.FlagCarrierFrame2Text:SetText(mNick)
self.FlagCarrierFrame2:Show()
self:ColorFlagCarrier(mNick)
if UnitAffectingCombat("player") then
if self.Options.ShowFlagCarrierErrorNote then
self:AddMsg(L.InfoErrorText)
end
else
self.FlagCarrierFrame2Button:SetAttribute( "macrotext", "/targetexact " .. mNick )
end
elseif mSide == L.Horde then
FlagCarrier[1] = mNick
self.FlagCarrierFrame1Text:SetText(mNick)
self.FlagCarrierFrame1:Show()
self:ColorFlagCarrier(mNick)
if UnitAffectingCombat("player") then
if self.Options.ShowFlagCarrierErrorNote then
self:AddMsg(L.InfoErrorText)
end
else
self.FlagCarrierFrame1Button:SetAttribute( "macrotext", "/targetexact " .. mNick )
end
end
elseif string.match(arg1, L.ExprFlagReturn) then
if( GetLocale() == "ruRU") then
local _, _, mNick, mSide = string.find(arg1, L.ExprFlagReturn)
else
local _, _, mSide, mNick = string.find(arg1, L.ExprFlagReturn)
end
if mSide == L.Alliance then
self.FlagCarrierFrame2:Hide()
FlagCarrier[2] = nil
elseif mSide == L.Horde then
self.FlagCarrierFrame1:Hide()
FlagCarrier[1] = nil
end
end
end
if string.match(arg1, L.ExprFlagCaptured) then
flagTimer:Start()
if self.FlagCarrierFrame1 and self.FlagCarrierFrame2 then
self.FlagCarrierFrame1:Hide()
self.FlagCarrierFrame2:Hide()
FlagCarrier[1] = nil
FlagCarrier[2] = nil
end
end
end
function Warsong:CHAT_MSG_BG_SYSTEM_ALLIANCE(...)
updateflagcarrier(self, "CHAT_MSG_BG_SYSTEM_ALLIANCE", ...)
end
function Warsong:CHAT_MSG_BG_SYSTEM_HORDE(...)
updateflagcarrier(self, "CHAT_MSG_BG_SYSTEM_HORDE", ...)
end
function Warsong:CHAT_MSG_RAID_BOSS_EMOTE(...)
updateflagcarrier(self, "CHAT_MSG_RAID_BOSS_EMOTE", ...)
end
end