vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:
IMBA_OURO_SWEEP_MSG             =       "Ouro begins to cast Sweep."
IMBA_OURO_SWEEP_TIME            =       20;

IMBA_OURO_SANDBLAST_MSG         =       "Ouro begins to perform Sand Blast."
IMBA_OURO_SANDBLAST_TIME        =       20;

IMBA_OURO_SUBMERGE_MSG          =       "Ouro casts Summon Ouro Mounds."
IMBA_OURO_SUBMERGE_TIME         =       30

IMBA_OURO_EMERGE_MSG            =       "Dirt Mound casts Summon Ouro Scarabs."
IMBA_OURO_EMERGE_TIME           =       90

IMBA_OURO_ENRAGE_MSG            =       "goes into a berserker rage!"

function IMBA_Ouro_RegenActivator()
        IMBA_Ouro_TimerSubmerge:SetBarText("Ouro Submerging in");
        IMBA_Ouro_TimerSubmerge:StartTimer(IMBA_OURO_EMERGE_TIME,true,nil,5);
        IMBA_Ouro:Show();
        IMBA_Ouro_Enraged=false;
end

function IMBA_Ouro_RegisterEvents()
        this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE");
        this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF");
        this:RegisterEvent("CHAT_MSG_MONSTER_EMOTE");
        this:RegisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH");
end

function IMBA_Ouro_UnregisterEvents()
        this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE");
        this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF");
        this:UnregisterEvent("CHAT_MSG_MONSTER_EMOTE");
        this:UnregisterEvent("CHAT_MSG_COMBAT_HOSTILE_DEATH");
end

function IMBA_Ouro_OnLoad()
        this:SetBackdropBorderColor(1, 1, 1, 1);
        this:SetBackdropColor(0.0,0.0,0.0,0.6);

        
        IMBA_Ouro_Title:SetText("Ouro Timers");

        IMBA_Ouro_TimerSweep:SetBarText("Sweep");
        IMBA_Ouro_TimerSandBlast:SetBarText("Sand Blast");
        IMBA_Ouro_TimerSubmerge:SetBarText("Ouro Submerging in");
        IMBA_Ouro_HealthOuro.UnitName="Ouro";

        
        IMBA_AddAddon("Ouro", "Timers for Sweep, Sand Blasts, and Submerge/Emerge", IMBA_LOCATIONS_AQ40, "IMBA_Ouro_RegenActivator", nil,nil,"IMBA_Ouro");
        IMBA_AddOption2("Ouro","AnnounceSweep","Announce Sweep");
        IMBA_AddOption2("Ouro","AnnounceSandBlast","Announce Sand Blast");
        IMBA_AddOption2("Ouro","AnnounceSubmerge","Announce Submerge/Emerge");
        IMBA_AddOption2("Ouro","AnnounceEnrage","Announce Enrage");

        IMBA_Ouro_Enraged=false;
end



function IMBA_Ouro_OnEvent(event)
        if event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE" then
                if string.find(arg1,IMBA_OURO_SWEEP_MSG)  then
                        IMBA_Ouro_TimerSweep:StartTimer(IMBA_OURO_SWEEP_TIME,false);
                        IMBA_AddRaidAlert("** Ouro is Sweeping **",IMBA_CheckVar("Ouro","AnnounceSweep"),IMBA_CheckVar("Ouro","AnnounceSweep"));
                elseif string.find(arg1,IMBA_OURO_SANDBLAST_MSG) then
                        IMBA_Ouro_TimerSandBlast:StartTimer(IMBA_OURO_SWEEP_TIME,false);
                        IMBA_Ouro_TimerSandBlast:StartWarningTimer("** Ouro is Sand Blastin in ~5 Seconds **",5,IMBA_CheckVar("Ouro","AnnounceSandBlast"),IMBA_CheckVar("Ouro","AnnounceSandBlast"));
                        IMBA_AddRaidAlert("** Ouro is Sand Blasting **",IMBA_CheckVar("Ouro","AnnounceSandBlast"),IMBA_CheckVar("Ouro","AnnounceSandBlast"));
                end
        elseif event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF" then
                if string.find(arg1,IMBA_OURO_SUBMERGE_MSG)  then
                        IMBA_Ouro_TimerSubmerge:SetBarText("Ouro Emerging in");
                        IMBA_Ouro_TimerSubmerge:StartTimer(IMBA_OURO_SUBMERGE_TIME,false);
                        IMBA_Ouro_TimerSubmerge:StartWarningTimer("** Ouro is Emerging in 5 Seconds **",5,IMBA_CheckVar("Ouro","AnnounceSubmerge"),IMBA_CheckVar("Ouro","AnnounceSubmerge"));
                        IMBA_AddRaidAlert("** Ouro is Submerging **",IMBA_CheckVar("Ouro","AnnounceSubmerge"),IMBA_CheckVar("Ouro","AnnounceSubmerge"));
                elseif string.find(arg1,IMBA_OURO_EMERGE_MSG) and IMBA_Ouro_Enraged==false then
                        IMBA_Ouro_TimerSubmerge:SetBarText("Ouro Submerging in");
                        IMBA_Ouro_TimerSubmerge:StartTimer(IMBA_OURO_EMERGE_TIME,true);                 
                        IMBA_AddRaidAlert("** Ouro is Emerging **",IMBA_CheckVar("Ouro","AnnounceSubmerge"),IMBA_CheckVar("Ouro","AnnounceSubmerge"));
                end
        elseif (event == "CHAT_MSG_MONSTER_EMOTE") then
                if string.find(arg1,IMBA_OURO_ENRAGE_MSG) then
                        IMBA_AddRaidAlert("** Ouro is Enraged **",IMBA_CheckVar("Ouro","AnnounceEnrage"),IMBA_CheckVar("Ouro","AnnounceEnrage"));
                        IMBA_Ouro_Enraged=true;
                end
        elseif (event == "CHAT_MSG_COMBAT_HOSTILE_DEATH") then
                if string.find(arg1,"Ouro dies") then
                        IMBA_Ouro_TimerSweep.active=false;
                        IMBA_Ouro_TimerSandBlast.active=false;
                        IMBA_Ouro_TimerSubmerge.active=false;
                        IMBA_Ouro:Hide();
                end             
        end
end

Generated by GNU Enscript 1.6.5.90.