@@ -0,0 +1,150 @@
|
||||
local mod = DBM:NewMod("Supremus", "DBM-BlackTemple")
|
||||
local L = mod:GetLocalizedStrings()
|
||||
|
||||
mod:SetRevision(("$Revision: 5019 $"):sub(12, -3))
|
||||
mod:SetCreatureID(22898)
|
||||
mod:RegisterCombat("combat")
|
||||
|
||||
mod:RegisterEvents(
|
||||
"CHAT_MSG_RAID_BOSS_EMOTE",
|
||||
"SPELL_AURA_APPLIED",
|
||||
"SPELL_AURA_APPLIED_DOSE",
|
||||
"SPELL_CAST_START",
|
||||
"SPELL_DAMAGE"
|
||||
)
|
||||
|
||||
local warningTitanic = mod:NewSpellAnnounce(2142758, 3)
|
||||
local warningSupreme = mod:NewSpellAnnounce(2142764, 3)
|
||||
local warnCracked = mod:NewAnnounce(L.SupremusCracked, 2, 2142751)
|
||||
|
||||
local timerTitanic = mod:NewCastTimer(6, 2142758)
|
||||
local timerSupreme = mod:NewCastTimer(2, 2142764)
|
||||
|
||||
local timerEruption = mod:NewCastTimer(4, 2142774)
|
||||
|
||||
local warnPhase2 = mod:NewPhaseAnnounce(2)
|
||||
|
||||
function mod:OnCombatStart(delay)
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(2142772) then --Enrages at 30% hp need hp check
|
||||
warnPhase2:Show()
|
||||
elseif args:IsSpellID(2142751) then
|
||||
warnCracked:Show(args.spellName, args.destName, args.amount or 1)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED_DOSE(args)
|
||||
if args:IsSpellID(2142751) then
|
||||
warnCracked:Show(args.spellName, args.destName, args.amount or 1)
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_START(args)
|
||||
if args:IsSpellID(2142758) then
|
||||
warningTitanic:Show()
|
||||
timerTitanic:Start()
|
||||
elseif args:IsSpellID(2142758) then
|
||||
warningSupreme:Show()
|
||||
timerSupreme:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_DAMAGE(args)
|
||||
if args:IsSpellID(2142774) and DBM:AntiSpam(3) then
|
||||
timerEruption:Start()
|
||||
end
|
||||
end
|
||||
|
||||
-- Supremus.MinRevision = 828
|
||||
|
||||
-- local lastIcon = nil
|
||||
-- local phase2 = nil
|
||||
|
||||
|
||||
|
||||
--Supremus:AddOption("WarnKiteTarget", true, DBM_SUPREMUS_OPTION_TARGETWARN)
|
||||
--Supremus:AddOption("IconKiteTarget", true, DBM_SUPREMUS_OPTION_TARGETICON)
|
||||
--Supremus:AddOption("WhisperKiteTarget", false, DBM_SUPREMUS_OPTION_TARGETWHISPER)
|
||||
|
||||
--Supremus:AddBarOption("Enrage")
|
||||
--Supremus:AddBarOption("Kite Phase")
|
||||
--Supremus:AddBarOption("Tank & Spank Phase")
|
||||
|
||||
|
||||
|
||||
|
||||
-- self:StartStatusBarTimer(900 - delay, "Enrage", "Interface\\Icons\\Spell_Shadow_UnholyFrenzy")
|
||||
-- self:ScheduleAnnounce(300 - delay, DBM_GENERIC_ENRAGE_WARN:format(10, DBM_MIN), 1)
|
||||
-- self:ScheduleAnnounce(600 - delay, DBM_GENERIC_ENRAGE_WARN:format(5, DBM_MIN), 1)
|
||||
-- self:ScheduleAnnounce(720 - delay, DBM_GENERIC_ENRAGE_WARN:format(3, DBM_MIN), 1)
|
||||
-- self:ScheduleAnnounce(840 - delay, DBM_GENERIC_ENRAGE_WARN:format(1, DBM_MIN), 2)
|
||||
-- self:ScheduleAnnounce(870 - delay, DBM_GENERIC_ENRAGE_WARN:format(30, DBM_SEC), 3)
|
||||
-- self:ScheduleAnnounce(890 - delay, DBM_GENERIC_ENRAGE_WARN:format(10, DBM_SEC), 4)
|
||||
|
||||
-- self:StartStatusBarTimer(60 - delay, "Kite Phase", "Interface\\Icons\\Spell_Fire_BurningSpeed")
|
||||
-- self:ScheduleSelf(50 - delay, "PhaseWarn", 2)
|
||||
-- lastIcon = nil
|
||||
-- phase2 = nil
|
||||
|
||||
|
||||
|
||||
-- if lastIcon then
|
||||
-- DBM.ClearIconByName(lastIcon)
|
||||
-- lastIcon = nil
|
||||
-- end
|
||||
|
||||
-- function Supremus:OnEvent(event, arg1)
|
||||
-- if event == "CHAT_MSG_RAID_BOSS_EMOTE" and arg1 then
|
||||
-- if arg1:find(DBM_SUPREMUS_EMOTE_PHASE1) then
|
||||
-- self:StartStatusBarTimer(60, "Tank & Spank Phase", "Interface\\Icons\\Ability_Defend")
|
||||
|
||||
-- self:ScheduleSelf(50, "PhaseWarn", 2)
|
||||
-- self:Announce(DBM_SUPREMUS_WARN_PHASE_1, 3)
|
||||
-- if lastIcon then
|
||||
-- DBM.ClearIconByName(lastIcon)
|
||||
-- lastIcon = nil
|
||||
-- end
|
||||
-- phase2 = nil
|
||||
-- elseif arg1 == DBM_SUPREMUS_EMOTE_PHASE2 then
|
||||
-- self:StartStatusBarTimer(60, "Kite Phase", "Interface\\Icons\\Spell_Fire_BurningSpeed")
|
||||
-- self:ScheduleSelf(50, "PhaseWarn", 1)
|
||||
-- self:Announce(DBM_SUPREMUS_WARN_PHASE_2, 3)
|
||||
-- self:ScheduleMethod(4, "NewTarget") -- he waits a few seconds before changing the target since patch 2.2
|
||||
-- phase2 = true
|
||||
-- elseif phase2 and arg1:find(DBM_SUPREMUS_EMOTE_NEWTARGET) then -- he sometimes uses this emote just after switching in phase 2 since 2.2
|
||||
-- self:ScheduleMethod(0.5, "NewTarget")
|
||||
-- end
|
||||
-- elseif event == "PhaseWarn" and arg1 then
|
||||
-- self:Announce(getglobal("DBM_SUPREMUS_WARN_PHASE_"..tostring(arg1).."_SOON"), 1)
|
||||
-- elseif event == "SPELL_AURA_APPLIED" then
|
||||
-- if arg1.spellId == 42052 and arg1.destName == UnitName("player") then
|
||||
-- self:AddSpecialWarning(DBM_SUPREMUS_SPECWARN_VOLCANO)
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
|
||||
-- function Supremus:NewTarget()
|
||||
-- local target
|
||||
-- for i = 1, GetNumRaidMembers() do
|
||||
-- if UnitName("raid"..i.."target") == DBM_SUPREMUS_NAME then
|
||||
-- target = UnitName("raid"..i.."targettarget")
|
||||
-- break
|
||||
-- end
|
||||
-- end
|
||||
-- if target then
|
||||
-- if self.Options.WarnKiteTarget then
|
||||
-- self:Announce(DBM_SUPREMUS_WARN_KITE_TARGET:format(target), 2)
|
||||
-- end
|
||||
-- if self.Options.IconKiteTarget and DBM.Rank >= 1 and self.Options.Announce then
|
||||
-- lastIcon = target
|
||||
-- self:SetIcon(target)
|
||||
-- end
|
||||
-- if self.Options.WhisperKiteTarget and DBM.Rank >= 1 and self.Options.Announce then
|
||||
-- self:SendHiddenWhisper(DBM_SUPREMUS_WHISPER_RUN_AWAY, target)
|
||||
-- end
|
||||
-- end
|
||||
-- end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user