vanilla-wow-addons – Rev 1

Subversion Repositories:
Rev:

IMBA_4H_MARK_INITIAL    =       20;
IMBA_4H_MARK_NORMAL     =       12;
IMBA_4H_MARK_DURATION   =       75;

IMBA_4H_METEOR_TIME     =       11;
IMBA_4H_METEOR_MSG      =       "Thane Korth'azz ?'s Meteor hits";

IMBA_4H_HOLY_WRATH_TIME =       11;
IMBA_4H_HOLY_WRATH_MSG  =       "Sir Zeliek ?'s Holy Wrath hits";

IMBA_4H_VOID_ZONE_TIME  =       11;
IMBA_4H_VOID_ZONE_MSG   =       "Lady Blaumeux casts Void Zone.";
IMBA_4H_VOID_CONSUMPTION =      "Void Zone's Consumption hits you";


IMBA_Mark=1;
function IMBA_FourHorsemen_StartNormal()
        IMBA_FourHorsemen_TimerMark:StartTimer(IMBA_4H_MARK_NORMAL);
        IMBA_AddRaidAlert("** Mark "..IMBA_Mark.." **",false,IMBA_CheckVar("Four Horsemen","AnnounceMarks"));
        IMBA_Mark=IMBA_Mark+1;
        IMBA_FourHorsemen_TimerMark:SetBarText("Mark "..IMBA_Mark.." in");
end


function IMBA_FourHorsemen_StartInitial()
        IMBA_FourHorsemen_TimerMark:StartTimer(IMBA_4H_MARK_INITIAL);
        IMBA_Mark=1;
        IMBA_FourHorsemen_TimerMark:SetBarText("Mark "..IMBA_Mark.." in");
end


function IMBA_FourHorsemen_RegenActivator()
        IMBA_FourHorsemen_StartInitial()
        IMBA_FourHorsemen:Show();

        if IMBA_CheckVar("Four Horsemen","ActivateRangeChecker") then
                IMBA_RangeChecker:Show();
        end
end

function IMBA_FourHorsemen_RegisterEvents()
        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_PERIODIC_HOSTILEPLAYER_DAMAGE");
        this:RegisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE");
        this:RegisterEvent("PLAYER_DEAD");

        this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE");
        this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE");
        this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE");
        IMBA_RangeChecker_Active=true;
end

function IMBA_FourHorsemen_UnregisterEvents()
        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_PERIODIC_HOSTILEPLAYER_DAMAGE");
        this:UnregisterEvent("CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE");
        this:UnregisterEvent("PLAYER_DEAD");

        this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE");
        this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE");
        this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE");
        IMBA_RangeChecker_Active=false;
end

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

        
        IMBA_FourHorsemen_Title:SetText("Four Horsemen Timers");

        IMBA_FourHorsemen_TimerMeteor:SetBarText("Meteor");
        IMBA_FourHorsemen_TimerHolyWrath:SetBarText("Holy Wrath");
        IMBA_FourHorsemen_TimerVoidZone:SetBarText("Void Zone");
        IMBA_Mark=1;
        IMBA_FourHorsemen_TimerMark:SetBarText("Mark "..IMBA_Mark.." in");


        IMBA_AddAddon("Four Horsemen", "Timers for Meteor, Holy Wrath, Void Zones, and Mark", IMBA_LOCATIONS_NAXX_DK, "IMBA_FourHorsemen_RegenActivator", nil, nil,"IMBA_FourHorsemen");
        IMBA_AddBossName("Four Horsemen","Lady Blaumeux");
        IMBA_AddBossName("Four Horsemen","Thane Korth'azz");
        IMBA_AddBossName("Four Horsemen","Highlord Mograine");
        IMBA_AddBossName("Four Horsemen","Sir Zeliek"); 
        
        IMBA_AddOption2("Four Horsemen","AnnounceMarks","Announce Marks")
        IMBA_AddOption2("Four Horsemen","ActivateRangeChecker","Activate Range Checker");
        IMBA_FourHorsemen_LockoutTime=0;
end

function IMBA_FourHorsemen_OnEvent(event)
        
        if ( event == "CHAT_MSG_SPELL_PERIODIC_SELF_DAMAGE" ) or ( event == "CHAT_MSG_SPELL_PERIODIC_PARTY_DAMAGE" ) or ( event == "CHAT_MSG_SPELL_PERIODIC_FRIENDLYPLAYER_DAMAGE" ) or ( event == "CHAT_MSG_SPELL_PERIODIC_HOSTILEPLAYER_DAMAGE") or (event == "CHAT_MSG_SPELL_PERIODIC_CREATURE_DAMAGE") then 
                if IMBA_FourHorsemen_LockoutTime>GetTime() then
                        return;
                end
                if string.find(arg1, "is afflicted by Mark of Blaumeux") then
                        IMBA_FourHorsemen_StartNormal();
                        IMBA_FourHorsemen_LockoutTime=GetTime()+11;
                elseif string.find(arg1, "is afflicted by Mark of Korth'azz") then
                        IMBA_FourHorsemen_StartNormal();
                        IMBA_FourHorsemen_LockoutTime=GetTime()+11;
                elseif string.find(arg1, "is afflicted by Mark of Mograine") then
                        IMBA_FourHorsemen_StartNormal();
                        IMBA_FourHorsemen_LockoutTime=GetTime()+11;
                elseif string.find(arg1, "is afflicted by Mark of Zeliek") then
                        IMBA_FourHorsemen_StartNormal();
                        IMBA_FourHorsemen_LockoutTime=GetTime()+11;
                end
        elseif (event == "CHAT_MSG_SPELL_CREATURE_VS_SELF_DAMAGE") or ( event == "CHAT_MSG_SPELL_CREATURE_VS_PARTY_DAMAGE") or ( event == "CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE") then
                if string.find(arg1,IMBA_4H_METEOR_MSG) then
                        IMBA_FourHorsemen_TimerMeteor:StartTimer(IMBA_4H_METEOR_TIME)
                elseif string.find(arg1,IMBA_4H_HOLY_WRATH_MSG) then
                        IMBA_FourHorsemen_TimerHolyWrath:StartTimer(IMBA_4H_HOLY_WRATH_TIME)
                elseif string.find(arg1,IMBA_4H_VOID_ZONE_MSG) then
                        IMBA_FourHorsemen_TimerVoidZone:StartTimer(IMBA_4H_VOID_ZONE_TIME)
                        IMBA_AddAlert("Blaumeux summons a Void Zone");
                        IMBA_Flash_Warning();
                elseif string.find(arg1,IMBA_4H_VOID_CONSUMPTION) then
                        IMBA_AddAlert("Standing in a Void Zone!");
                        IMBA_Flash_Warning();
                end
        end
end

Generated by GNU Enscript 1.6.5.90.