Skip to content

Commit

Permalink
Shadowlands/TheaterOfPain/Mordretha: Timer updates
Browse files Browse the repository at this point in the history
  • Loading branch information
ntowle committed Jan 12, 2025
1 parent de10906 commit 527202d
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 40 deletions.
74 changes: 40 additions & 34 deletions Shadowlands/TheaterOfPain/Mordretha.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ mod:SetRespawnTime(30)
function mod:GetOptions()
return {
"warmup",
-- General
{324079, "TANK_HEALER"}, -- Reaping Scythe
323608, -- Dark Devastation
323825, -- Grasping Rift
Expand All @@ -26,8 +25,7 @@ function mod:GetOptions()
{339706, "CASTBAR"}, -- Ghostly Charge
339550, -- Echo of Battle
}, {
[324079] = "general",
[339573] = "mythic",
[339573] = CL.mythic,
}
end

Expand All @@ -36,17 +34,20 @@ function mod:OnBossEnable()
self:Log("SPELL_CAST_START", "DarkDevastation", 323608)
self:Log("SPELL_CAST_START", "GraspingRift", 323683)
self:Log("SPELL_CAST_SUCCESS", "ManifestDeath", 324449)

-- Mythic
self:Log("SPELL_CAST_SUCCESS", "EchoesOfCarnage", 339573)
self:Log("SPELL_CAST_START", "GhostlyCharge", 339706)
self:Log("SPELL_CAST_START", "EchoOfBattle", 339550)
self:Log("SPELL_AURA_APPLIED", "DeathGraspApplied", 323831)
end

function mod:OnEngage()
self:Bar(324079, 8.2) -- Reaping Scythe
self:Bar(323608, 15.5) -- Dark Devastation
self:Bar(324449, 21.6) -- Manifest Death
self:Bar(323825, 22.8) -- Grasping Rift
self:StopBar(CL.active)
self:CDBar(324079, 8.2) -- Reaping Scythe
self:CDBar(323608, 15.5) -- Dark Devastation
self:CDBar(323825, 24.2) -- Grasping Rift
self:CDBar(324449, 25.4) -- Manifest Death
end

--------------------------------------------------------------------------------
Expand All @@ -55,74 +56,79 @@ end

-- called from trash module
function mod:Warmup()
self:Bar("warmup", 30.8, CL.active, "achievement_dungeon_theatreofpain")
self:Bar("warmup", 30.3, CL.active, "achievement_dungeon_theatreofpain")
end

function mod:ReapingScythe(args)
self:Message(args.spellId, "orange")
self:Message(args.spellId, "purple")
self:CDBar(args.spellId, 16.9)
self:PlaySound(args.spellId, "alert")
self:CDBar(args.spellId, 15.8)
end

function mod:DarkDevastation(args)
self:Message(args.spellId, "red")
self:Message(args.spellId, "orange")
self:CDBar(args.spellId, 26.7)
self:PlaySound(args.spellId, "alarm")
self:CDBar(args.spellId, 23.1)
end

function mod:GraspingRift(args)
self:Message(323825, "orange")
self:Message(323825, "yellow")
self:CDBar(323825, 31.5)
self:PlaySound(323825, "alert")
self:Bar(323825, 25.5)
end

function mod:DeathGraspApplied(args)
if self:Me(args.destGUID) or self:Dispeller("curse", nil, args.spellId) then
local onMe = self:Me(args.destGUID)
if onMe or self:Dispeller("curse", nil, args.spellId) then
self:TargetMessage(args.spellId, "yellow", args.destName)
self:PlaySound(args.spellId, "alert", nil, args.destName)
if onMe then
self:PlaySound(args.spellId, "info", nil, args.destName)
else
self:PlaySound(args.spellId, "warning", nil, args.destName)
end
end
end

function mod:ManifestDeath(args)
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "alert")
self:CDBar(args.spellId, 39)
self:Message(args.spellId, "red")
self:CDBar(args.spellId, 53.3)
self:PlaySound(args.spellId, "info")
end

-- Mythic

function mod:EchoesOfCarnage(args)
self:Message(args.spellId, "cyan")
self:CDBar(339550, 3.2) -- Echo of Battle
self:CDBar(324079, 6.9) -- Reaping Scythe
self:CDBar(339706, 13.5) -- Ghostly Charge
self:CDBar(323608, 14.6) -- Dark Devastation
self:CDBar(324449, 21) -- Manifest Death
self:CDBar(323825, 22.5) -- Grasping Rift
self:PlaySound(args.spellId, "long")
self:Bar(339550, 3.2) -- Echo of Battle
self:Bar(324079, 6.9) -- Reaping Scythe
self:Bar(339706, 13.5) -- Ghostly Charge
self:Bar(323608, 14.6) -- Dark Devastation
self:Bar(324449, 21) -- Manifest Death
self:Bar(323825, 22.5) -- Grasping Rift
end

do
local prev = 0
function mod:GhostlyCharge(args)
local t = args.time
if t-prev > 1.5 then
prev = t
if args.time - prev > 1.5 then
prev = args.time
self:Message(args.spellId, "red")
self:PlaySound(args.spellId, "alarm")
self:Bar(args.spellId, 24.3)
self:CDBar(args.spellId, 24.3)
self:CastBar(args.spellId, 3.5)
self:PlaySound(args.spellId, "alarm")
end
end
end

do
local prev = 0
function mod:EchoOfBattle(args)
local t = args.time
if t-prev > 1.5 then
prev = t
if args.time - prev > 1.5 then
prev = args.time
self:Message(args.spellId, "orange")
self:CDBar(args.spellId, 24.3)
self:PlaySound(args.spellId, "alert")
self:Bar(args.spellId, 24.3)
end
end
end
8 changes: 4 additions & 4 deletions Shadowlands/TheaterOfPain/Options/Colors.lua
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ BigWigs:AddColors("Kul'tharok", {
})

BigWigs:AddColors("Mordretha, the Endless Empress", {
[323608] = "red",
[323825] = "orange",
[323608] = "orange",
[323825] = "yellow",
[323831] = {"blue","yellow"},
[324079] = "orange",
[324449] = "orange",
[324079] = "purple",
[324449] = "red",
[339550] = "orange",
[339573] = "cyan",
[339706] = "red",
Expand Down
4 changes: 2 additions & 2 deletions Shadowlands/TheaterOfPain/Options/Sounds.lua
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,9 @@ BigWigs:AddSounds("Kul'tharok", {
BigWigs:AddSounds("Mordretha, the Endless Empress", {
[323608] = "alarm",
[323825] = "alert",
[323831] = "alert",
[323831] = {"info","warning"},
[324079] = "alert",
[324449] = "alert",
[324449] = "info",
[339550] = "alert",
[339573] = "long",
[339706] = "alarm",
Expand Down

0 comments on commit 527202d

Please sign in to comment.