Co-authored-by: Szyler <Szyler@Szyler.com>
This commit is contained in:
Szyler
2024-03-03 19:23:13 +01:00
committed by GitHub
parent 00255736e5
commit dc8afd6584
53 changed files with 2770 additions and 301 deletions
+150
View File
@@ -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