IMBA_THADDIUS_POLARITY_TIME = 30; IMBA_THADDIUS_POLARITY_MSG = "Thaddius begins to cast Polarity Shift." IMBA_THADDIUS_ENRAGE_TIME = 300; IMBA_THADDIUS2_YELL1 = "Kill..."; IMBA_THADDIUS2_YELL2 = "Eat... your... bones..."; IMBA_THADDIUS2_YELL3 = "Break... you!!"; IMBA_THADDIUS2_DEATH = "Thank... you..."; IMBA_THADDIUS2_POSITIVECHARGE = "Spell_ChargePositive" IMBA_THADDIUS2_NEGATIVECHARGE = "Spell_ChargeNegative" if (GetLocale()=="frFR") then --Translation by A.su.K.A IMBA_THADDIUS_POLARITY_MSG = "Thaddius commence \195\160 lancer Changement de polarit\195\169." IMBA_THADDIUS2_YELL1 = "Tuer..."; IMBA_THADDIUS2_YELL2 = "Manger.. tes... os..."; IMBA_THADDIUS2_YELL3 = "Casser... toi !"; IMBA_THADDIUS2_DEATH = "Mer...ci"; end function IMBA_Thaddius2_Start() --Reduced range on combat logs to help performance IMBA_SetLogDistance(30); IMBA_Thaddius2_TimerEnrage:StartTimer(IMBA_THADDIUS_ENRAGE_TIME); IMBA_OldCharge=1; end function IMBA_Thaddius2_YellActivator(arg1) if arg1==IMBA_THADDIUS2_YELL1 then IMBA_Thaddius2_Start(); IMBA_Thaddius1:Hide(); IMBA_Thaddius2:Show(); return true; elseif string.find(arg1,IMBA_THADDIUS2_YELL2) then IMBA_Thaddius2_Start(); IMBA_Thaddius1:Hide(); IMBA_Thaddius2:Show(); return true; elseif string.find(arg1,IMBA_THADDIUS2_YELL3) then IMBA_Thaddius2_Start(); IMBA_Thaddius1:Hide(); IMBA_Thaddius2:Show(); return true; end return false; end function IMBA_Thaddius2_RegisterEvents() this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"); this:RegisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF"); this:RegisterEvent("CHAT_MSG_MONSTER_YELL"); end function IMBA_Thaddius2_UnregisterEvents() this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_DAMAGE"); this:UnregisterEvent("CHAT_MSG_SPELL_CREATURE_VS_CREATURE_BUFF"); this:UnregisterEvent("CHAT_MSG_MONSTER_YELL"); IMBA_SetLogDistance(IMBA_SavedVariables.CombatLogDist); end function IMBA_Thaddius2_OnLoad() this:SetBackdropBorderColor(1, 1, 1, 1); this:SetBackdropColor(0.0,0.0,0.0,0.6); IMBA_Thaddius2_Title:SetText("Thaddius - Phase 2"); IMBA_Thaddius2_TimerPolarity:SetBarText("Polarity Shift"); IMBA_Thaddius2_TimerEnrage:SetBarText("Enrage in"); IMBA_Thaddius2_HealthThaddius.UnitName="Thaddius"; IMBA_Thaddius2_PolarityCheckTime=0; IMBA_Thaddius2_PolarityCheckNum=0; IMBA_AddAddon("Thaddius - Phase 2", "Timers for Polarity Shift and Enrage, Health for Thaddius and Polarity Change Warning", IMBA_LOCATIONS_NAXX_ABOM, nil, "IMBA_Thaddius2_YellActivator",IMBA_THADDIUS2_YELL1,"IMBA_Thaddius2"); end function IMBA_Thaddius2_CheckCharge() local i, d; local IMBA_Charge = 0; for i = 1, 16 do d = UnitDebuff("player",i); if(d == nil) then break; elseif string.find(d, IMBA_THADDIUS2_POSITIVECHARGE) then IMBA_Charge = 1; break; elseif string.find(d, IMBA_THADDIUS2_NEGATIVECHARGE) then IMBA_Charge = -1; break; end end if ( IMBA_Charge ~= IMBA_OldCharge) then if ( IMBA_Charge == 1 ) then IMBA_AddAlert("*** Charge has changed to Positive! MOVE! ***"); elseif ( IMBA_Charge == -1 ) then IMBA_AddAlert("*** Charge has changed to Negative! MOVE! ***"); end end IMBA_OldCharge = IMBA_Charge; end function IMBA_Thaddius2_OnUpdate() if (IMBA_Thaddius2_PolarityCheckNum<10) and (IMBA_Thaddius2_PolarityCheckTime