From 1123f82cd016391bdd21244cced04a9391ec9629 Mon Sep 17 00:00:00 2001 From: Nick Towle Date: Sun, 1 Dec 2024 17:46:46 -0500 Subject: [PATCH] Classic/DireMaul/Immolthar: Add boss module (#1216) --- Classic/DireMaul/Immolthar.lua | 64 ++++++++++++++++++++++++++--- Classic/DireMaul/Options/Colors.lua | 5 +++ Classic/DireMaul/Options/Sounds.lua | 3 ++ 3 files changed, 66 insertions(+), 6 deletions(-) diff --git a/Classic/DireMaul/Immolthar.lua b/Classic/DireMaul/Immolthar.lua index 1cdc6f778..68ea97bc8 100644 --- a/Classic/DireMaul/Immolthar.lua +++ b/Classic/DireMaul/Immolthar.lua @@ -6,7 +6,7 @@ local mod, CL = BigWigs:NewBoss("Immol'thar", 429, 409) if not mod then return end mod:RegisterEnableMob(11496) -- Immol'thar mod:SetEncounterID(349) ---mod:SetRespawnTime(0) +--mod:SetRespawnTime(0) resets, doesn't respawn -------------------------------------------------------------------------------- -- Initialization @@ -14,25 +14,77 @@ mod:SetEncounterID(349) function mod:GetOptions() return { - + 451127, -- Eyes of Immol'thar + {452516, "HEALER"}, -- Trample + 22950, -- Portal of Immol'thar } end function mod:OnBossEnable() if self:Retail() then - self:RegisterEvent("ENCOUNTER_START") -- XXX no boss frames + self:Log("SPELL_CAST_SUCCESS", "EyesOfImmolthar", 451127) + self:Log("SPELL_CAST_SUCCESS", "Trample", 452516) + if self:Heroic() then -- no encounter events in Timewalking + self:RegisterEvent("INSTANCE_ENCOUNTER_ENGAGE_UNIT", "CheckBossStatus") + self:Death("Win", 11496) + end + else -- Classic + self:Log("SPELL_CAST_SUCCESS", "EyesOfImmolthar", 22899) -- Eye of Immolthar + self:Log("SPELL_CAST_SUCCESS", "Trample", 5568) end + self:Log("SPELL_CAST_SUCCESS", "PortalOfImmolthar", 22950) end function mod:OnEngage() + self:CDBar(451127, 6.1) -- Eyes of Immol'thar + self:CDBar(452516, 7.0) -- Trample + self:CDBar(22950, 13.7) -- Portal of Immol'thar +end + +-------------------------------------------------------------------------------- +-- Classic Initialization +-- + +if mod:Classic() then + function mod:GetOptions() + return { + 22899, -- Eye of Immol'thar + {5568, "HEALER"}, -- Trample + 22950, -- Portal of Immol'thar + } + end + + function mod:OnEngage() + self:CDBar(5568, 6.5) -- Trample + self:CDBar(22899, 11.3) -- Eye of Immol'thar + self:CDBar(22950, 12.9) -- Portal of Immol'thar + end end -------------------------------------------------------------------------------- -- Event Handlers -- -function mod:ENCOUNTER_START(_, id) -- XXX no boss frames - if id == self.engageId then - self:Engage() +function mod:EyesOfImmolthar(args) -- Eye of Immol'thar on Classic + self:Message(args.spellId, "cyan") + if self:Retail() then + self:CDBar(args.spellId, 20.7) + else -- Classic + self:CDBar(args.spellId, 9.7) end + self:PlaySound(args.spellId, "info") +end + +function mod:Trample(args) + -- also cast by trash + if self:MobId(args.sourceGUID) == 11496 then -- Immol'thar + self:Message(args.spellId, "orange") + self:CDBar(args.spellId, 7.3) + end +end + +function mod:PortalOfImmolthar(args) + self:TargetMessage(args.spellId, "yellow", args.destName) + self:CDBar(args.spellId, 12.1) + self:PlaySound(args.spellId, "alert", nil, args.destName) end diff --git a/Classic/DireMaul/Options/Colors.lua b/Classic/DireMaul/Options/Colors.lua index 224a5ed4f..19d50c41f 100644 --- a/Classic/DireMaul/Options/Colors.lua +++ b/Classic/DireMaul/Options/Colors.lua @@ -13,6 +13,11 @@ BigWigs:AddColors("Magister Kalendris", { }) BigWigs:AddColors("Immol'thar", { + [5568] = "orange", + [22899] = "cyan", + [22950] = {"blue","yellow"}, + [451127] = "cyan", + [452516] = "orange", }) BigWigs:AddColors("Prince Tortheldrin", { diff --git a/Classic/DireMaul/Options/Sounds.lua b/Classic/DireMaul/Options/Sounds.lua index 94f2be73a..f236ec525 100644 --- a/Classic/DireMaul/Options/Sounds.lua +++ b/Classic/DireMaul/Options/Sounds.lua @@ -13,6 +13,9 @@ BigWigs:AddSounds("Magister Kalendris", { }) BigWigs:AddSounds("Immol'thar", { + [22899] = "info", + [22950] = "alert", + [451127] = "info", }) BigWigs:AddSounds("Prince Tortheldrin", {