vanilla-wow-addons – Rev 1
?pathlinks?
IMBA_Follower_Count=2;
IMBA_Worshipper_Count=4;
IMBA_Silence_Time=30;
IMBA_Enrage_Time=60;
IMBA_FAERLINA_AGGRO_YELL1 = "You cannot hide from me!";
IMBA_FAERLINA_AGGRO_YELL2 = "Run while you still can!";
IMBA_FAERLINA_AGGRO_YELL3 = "Kneel before me, worm!";
IMBA_FAERLINA_AGGRO_YELL4 = "Slay them in the master's name!";
IMBA_FAERLINA_ENRAGE_MSG = "Grand Widow Faerlina gains Enrage.";
IMBA_FAERLINA_SILENCE = "Grand Widow Faerlina is afflicted by Widow's Embrace";
IMBA_FAERLINA_SILENCE_FADE = "Widow's Embrace fades from Grand Widow Faerlina."
if (GetLocale()=="frFR") then
--Translation by A.su.K.A
IMBA_FAERLINA_AGGRO_YELL1 = "Vous ne pouvez pas m'\195\169chapper !";
IMBA_FAERLINA_AGGRO_YELL2 = "Fuyez tant que vous le pouvez !";
IMBA_FAERLINA_AGGRO_YELL3 = "genoux, vermisseau !";
IMBA_FAERLINA_AGGRO_YELL4 = "Tuez%-les au nom du ma\195\174tre !";
IMBA_FAERLINA_ENRAGE_MSG = "Grande veuve Faerlina gagne Enrager.";
IMBA_FAERLINA_SILENCE = "Grande veuve Faerlina subit les effets de Etreinte de la veuve.";
IMBA_FAERLINA_SILENCE_FADE = "Enrager sur Grande veuve Faerlina vient de se dissiper."
end
function IMBA_Faerlina_UpdateBarNumbers()
IMBA_Faerlina_Follower:SetValText(IMBA_Follower_Count);
IMBA_Faerlina_Worshipper:SetValText(IMBA_Worshipper_Count);
end
function IMBA_Faerlina_InitNumbers()
IMBA_Follower_Count=2;
IMBA_Worshipper_Count=4;
IMBA_Faerlina_UpdateBarNumbers();
SendAddonMessage("IMBA", "VARSYNC IMBA_Follower_Count 2 REPLACE","RAID");
SendAddonMessage("IMBA", "VARSYNC IMBA_Worshipper_Count 4 REPLACE","RAID");
end
function IMBA_Faerlina_Start()
IMBA_Faerlina_TimerSilence.timeEnd=0;
IMBA_Faerlina_TimerSilence.timeLength=IMBA_Silence_Time;
IMBA_Faerlina_TimerSilence.active=true;
IMBA_Faerlina_InitNumbers();
IMBA_Faerlina_TimerEnrage:StartTimer(IMBA_Enrage_Time)
IMBA_Faerlina_TimerEnrage:StartWarningTimer("** Faerlina Enrages in ~5 Seconds **",5,IMBA_CheckVar("Grand Widow Faerlina","AnnounceEnrage"),IMBA_CheckVar("Grand Widow Faerlina","AnnounceEnrage"));
end
function IMBA_Faerlina_YellActivator(arg1)
if IMBA_CheckIfRunning("Grand Widow Faerlina") then
return false;
end
if string.find(arg1,IMBA_FAERLINA_AGGRO_YELL1) or string.find(arg1,IMBA_FAERLINA_AGGRO_YELL2) or string.find(arg1,IMBA_FAERLINA_AGGRO_YELL3) or string.find(arg1,IMBA_FAERLINA_AGGRO_YELL4) then
IMBA_Faerlina_Start()
IMBA_Faerlina:Show();
return true;
end
return false;
end
function IMBA_Faerlina_RegisterEvents()
this:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH");
this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF");
this:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS");
this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DEBUFF");
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_AURA_GONE_OTHER");
end
function IMBA_Faerlina_UnregisterEvents()
this:UnregisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH");
this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF");
this:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS");
this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DEBUFF");
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_AURA_GONE_OTHER");
end
function IMBA_Faerlina_OnLoad()
this:SetBackdropBorderColor(1, 1, 1, 1);
this:SetBackdropColor(0.0,0.0,0.0,0.6);
IMBA_Faerlina_Title:SetText("Faerlina Status");
IMBA_Faerlina_Follower:SetBarText("Followers");
IMBA_Faerlina_Follower:SetValText("2");
IMBA_Faerlina_Worshipper:SetBarText("Worshippers");
IMBA_Faerlina_Worshipper:SetValText("4");
IMBA_Faerlina_TimerSilence.timeLength=IMBA_Silence_Time;
IMBA_Faerlina_TimerSilence.timeEnd=0;
IMBA_Faerlina_TimerSilence.repeating=false;
IMBA_Faerlina_TimerSilence.active=true;
IMBA_Faerlina_TimerSilence:SetBarText("Silenced for");
IMBA_Faerlina_TimerEnrage.timeLength=IMBA_Enrage_Time;
IMBA_Faerlina_TimerEnrage.timeEnd=0;
IMBA_Faerlina_TimerEnrage.repeating=false;
IMBA_Faerlina_TimerEnrage.active=true;
IMBA_Faerlina_TimerEnrage:SetBarText("Enraging in");
IMBA_Faerlina_InitNumbers();
IMBA_AddAddon("Grand Widow Faerlina", "Tracks Follower & Worshipper Counts and Silence & Enrage Timers", IMBA_LOCATIONS_NAXX_SPIDER, nil, "IMBA_Faerlina_YellActivator",IMBA_FAERLINA_AGGRO_YELL1, "IMBA_Faerlina");
IMBA_AddSyncVar("Grand Widow Faerlina","IMBA_Follower_Count","MIN");
IMBA_AddSyncVar("Grand Widow Faerlina","IMBA_Worshipper_Count","MIN");
IMBA_AddOption2("Grand Widow Faerlina","AnnounceEnrage","Announce Enrages")
IMBA_AddOption2("Grand Widow Faerlina","AnnounceSilence","Announce Silencing and Fading")
Faerline_Silence=0;
end
function IMBA_Faerlina_OnEvent(event)
if ( event == "CHAT_MSG_COMBAT_HOSTILE_DEATH" ) then
if ( arg1 == "Naxxramas Worshipper dies." ) then
IMBA_Worshipper_Count=IMBA_Worshipper_Count-1;
IMBA_Faerlina_UpdateBarNumbers();
elseif ( arg1 == "Naxxramas Follower dies." ) then
IMBA_Follower_Count=IMBA_Follower_Count-1;
IMBA_Faerlina_UpdateBarNumbers();
end
elseif(event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DEBUFF") then
if string.find(arg1,IMBA_FAERLINA_SILENCE) then
if Faerline_Silence > GetTime() then
return;
end
Faerline_Silence=GetTime()+5;
IMBA_Faerlina_TimerSilence:StartTimer(IMBA_Silence_Time)
IMBA_Faerlina_TimerSilence:StartWarningTimer("** Silence Wears Off in ~5 Seconds **",5,IMBA_CheckVar("Grand Widow Faerlina","AnnounceSilence"),IMBA_CheckVar("Grand Widow Faerlina","AnnounceSilence"));
IMBA_AddRaidAlert("** Faerlina is Silenced **",IMBA_CheckVar("Grand Widow Faerlina","AnnounceSilence"),IMBA_CheckVar("Grand Widow Faerlina","AnnounceSilence"));
if IMBA_Faerlina_TimerEnrage.timeEnd < (GetTime()+IMBA_Silence_Time) then
IMBA_Faerlina_TimerEnrage:StartTimer(IMBA_Silence_Time+0.1) --Slightly offset so the message pops up after silence wearing off message
IMBA_Faerlina_TimerEnrage:StartWarningTimer("** Faerlina Enrages in ~5 Seconds **",5,IMBA_CheckVar("Grand Widow Faerlina","AnnounceEnrage"),IMBA_CheckVar("Grand Widow Faerlina","AnnounceEnrage"));
end
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
if string.find(arg1,"Widow's Embrace") then
if Faerline_Silence > GetTime() then
return;
end
Faerline_Silence=GetTime()+5;
IMBA_Faerlina_TimerSilence:StartTimer(IMBA_Silence_Time)
IMBA_Faerlina_TimerSilence:StartWarningTimer("** Silence Wears Off in ~5 Seconds **",5,IMBA_CheckVar("Grand Widow Faerlina","AnnounceSilence"),IMBA_CheckVar("Grand Widow Faerlina","AnnounceSilence"));
IMBA_AddRaidAlert("** Faerlina is Silenced **",IMBA_CheckVar("Grand Widow Faerlina","AnnounceSilence"),IMBA_CheckVar("Grand Widow Faerlina","AnnounceSilence"));
if IMBA_Faerlina_TimerEnrage.timeEnd < (GetTime()+IMBA_Silence_Time) then
IMBA_Faerlina_TimerEnrage:StartTimer(IMBA_Silence_Time+0.1) --Slightly offset so the message pops up after silence wearing off message
IMBA_Faerlina_TimerEnrage:StartWarningTimer("** Faerlina Enrages in ~5 Seconds **",5,IMBA_CheckVar("Grand Widow Faerlina","AnnounceEnrage"),IMBA_CheckVar("Grand Widow Faerlina","AnnounceEnrage"));
end
end
elseif (event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF" ) or (event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_BUFFS") then
if string.find(arg1,IMBA_FAERLINA_ENRAGE_MSG) then
IMBA_Faerlina_TimerEnrage:StartTimer(IMBA_Enrage_Time)
IMBA_Faerlina_TimerEnrage:StartWarningTimer("** Faerlina Enrages in ~5 Seconds **",5,IMBA_CheckVar("Grand Widow Faerlina","AnnounceEnrage"),IMBA_CheckVar("Grand Widow Faerlina","AnnounceEnrage"));
IMBA_AddRaidAlert("** Faerlina is Enraged! **",IMBA_CheckVar("Grand Widow Faerlina","AnnounceEnrage"),IMBA_CheckVar("Grand Widow Faerlina","AnnounceEnrage"));
end
elseif (event == "CHAT_MSG_SPELL_AURA_GONE_OTHER" ) then
if string.find(arg1,IMBA_FAERLINA_SILENCE_FADE) then
IMBA_AddRaidAlert("** Silence has Faded **",IMBA_CheckVar("Grand Widow Faerlina","AnnounceSilence"),IMBA_CheckVar("Grand Widow Faerlina","AnnounceSilence"));
end
end
end
Generated by GNU Enscript 1.6.5.90.