vanilla-wow-addons – Rev 1
?pathlinks?
IMBA_GROBBULUS_SLIMESPRAY_MSG = "Grobbulus ?'s Slime Spray"
IMBA_GROBBULUS_SLIMESPRAY_TIME = 30;
IMBA_GROBBULUS_POISONCLOUD_MSG = "Grobbulus casts Poison Cloud."
IMBA_GROBBULUS_POISONCLOUD_TIME = 15;
IMBA_GROBBULUS_INJECTION_MSG = "^([^%s]+) ([^%s]+) afflicted by Mutating Injection"
IMBA_GROBBULUS_INJECTION_MSGR = "Mutating Injection fades from ([^%s]+)[.]"
if (GetLocale()=="frFR") then
--Translation by A.su.K.A
IMBA_GROBBULUS_POISONCLOUD_MSG = "Grobbulus lance Nuage de poison."
IMBA_GROBBULUS_INJECTION_MSG = "^([^%s]+) ([^%s]+) les effets de Injection mutante."
IMBA_GROBBULUS_INJECTION_MSGR = "Injection mutante sur ([^%s]+)[.] vient de se dissiper."
end
function IMBA_Grobbulus_RegenActivator()
IMBA_Grobbulus:Show();
end
function IMBA_Grobbulus_RegisterEvents()
this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE");
this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE");
this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE");
this:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE");
this:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE");
this:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE");
this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF");
this:RegisterEvent("CHAT_MSG_SPELL_AURA_GONE_OTHER");
this:RegisterEvent("CHAT_MSG_SPELL_AURA_GONE_PARTY");
this:RegisterEvent("CHAT_MSG_SPELL_AURA_GONE_SELF");
end
function IMBA_Grobbulus_UnregisterEvents()
this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE");
this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE");
this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE");
this:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE");
this:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE");
this:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE");
this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF");
this:UnregisterEvent("CHAT_MSG_SPELL_AURA_GONE_OTHER");
this:UnregisterEvent("CHAT_MSG_SPELL_AURA_GONE_PARTY");
this:UnregisterEvent("CHAT_MSG_SPELL_AURA_GONE_SELF");
end
function IMBA_Grobbulus_OnLoad()
this:SetBackdropBorderColor(1, 1, 1, 1);
this:SetBackdropColor(0.0,0.0,0.0,0.6);
IMBA_Grobbulus_Title:SetText("Grobbulus Timers");
IMBA_Grobbulus_TimerPoisonCloud:SetBarText("Poison Cloud");
IMBA_Grobbulus_TimerSlimeSpray:SetBarText("Slime Spray");
IMBA_AddAddon("Grobbulus", "Timer for Poison Cloud, Slime Spray, and announce/marking of injection", IMBA_LOCATIONS_NAXX_ABOM, "IMBA_Grobbulus_RegenActivator", nil,nil,"IMBA_Grobbulus");
IMBA_AddOption2("Grobbulus","AnnounceInjection","Announce Mutating Injection");
IMBA_AddOption2("Grobbulus","MarkInjection","Mark Mutating Injectee");
end
function IMBA_Grobbulus_OnEvent(event)
if ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE" or event == "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE" or event == "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE") then
if string.find(arg1,IMBA_GROBBULUS_SLIMESPRAY_MSG) then
IMBA_Grobbulus_TimerSlimeSpray:StartTimer(IMBA_GROBBULUS_SLIMESPRAY_TIME)
end
elseif event=="CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF" then
if string.find(arg1,IMBA_GROBBULUS_POISONCLOUD_MSG) then
IMBA_Grobbulus_TimerPoisonCloud:StartTimer(IMBA_GROBBULUS_POISONCLOUD_TIME)
end
elseif (event == "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE") or (event == "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE") or (event == "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE") then
local iStart, iEnd, sPlayer, sType = string.find(arg1, IMBA_GROBBULUS_INJECTION_MSG);
if ( sPlayer and sType ) then
if ( sPlayer == "You" and sType == "are" ) then
IMBA_RangeChecker_Active=true;
IMBA_AddRaidAlert("** "..UnitName("player").." is Injected **",IMBA_CheckVar("Grobbulus","AnnounceInjection"),true);
if IMBA_CheckVar("Grobbulus","MarkInjection") then
SetRaidTarget("player",8);
end
else
if IsRaidLeader() or IsRaidOfficer() then
SendChatMessage("You've been injected!", "WHISPER", nil, sPlayer);
end
IMBA_AddRaidAlert("** "..sPlayer.." is Injected **",IMBA_CheckVar("Grobbulus","AnnounceInjection"),IMBA_CheckVar("Grobbulus","AnnounceInjection"));
if IMBA_CheckVar("Grobbulus","MarkInjection") then
local markUnit=IMBA_FindPlayerUnitByName(sPlayer)
if UnitExists(markUnit) then
SetRaidTarget(markUnit,8);
end
end
end
return;
end
elseif IMBA_CheckVar("Grobbulus","MarkInjection") and ((event == "CHAT_MSG_SPELL_AURA_GONE_OTHER") or (event == "CHAT_MSG_SPELL_AURA_GONE_SELF") or (event == "CHAT_MSG_SPELL_AURA_GONE_PARTY")) then
local iStart, iEnd, sPlayer = string.find(arg1, IMBA_GROBBULUS_INJECTION_MSGR);
if ( sPlayer ) then
if ( sPlayer == "you" ) then
SetRaidTarget("player",0);
else
local markUnit=IMBA_FindPlayerUnitByName(sPlayer)
if UnitExists(markUnit) then
SetRaidTarget(markUnit,0);
end
end
return;
end
end
end
Generated by GNU Enscript 1.6.5.90.