Skip to content

Commit

Permalink
Shadowlands/TheaterOfPain/AffrontOfChallengers: Withering Touch updat…
Browse files Browse the repository at this point in the history
…e, timer updates
  • Loading branch information
ntowle committed Feb 14, 2025
1 parent 2a4976b commit 5175fcf
Show file tree
Hide file tree
Showing 3 changed files with 69 additions and 35 deletions.
100 changes: 67 additions & 33 deletions Shadowlands/TheaterOfPain/AffrontOfChallengers.lua
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,12 @@ mod:SetEncounterID(2391)
mod:SetRespawnTime(30)
mod:SetStage(1)

--------------------------------------------------------------------------------
-- Locals
--

local decayingBreathCount = 1

--------------------------------------------------------------------------------
-- Initialization
--
Expand All @@ -24,13 +30,12 @@ if isElevenDotOne then -- XXX remove this check when 11.1 is live
-- Dessia the Decapitator
1215741, -- Mighty Smash
{320069, "TANK_HEALER"}, -- Mortal Strike
{320063, "TANK"}, -- Slam XXX not cast anymore but still in journal
-- Paceran the Virulent
320182, -- Noxious Spores
1215738, -- Decaying Breath
-- Sathel the Accursed
333231, -- Searing Death
1215600, -- Withering Touch
{1215600, "DISPEL"}, -- Withering Touch
}, {
[1215741] = -21582, -- Dessia the Decapitator
[320182] = -21581, -- Paceran the Virulent
Expand Down Expand Up @@ -65,7 +70,6 @@ end
function mod:OnBossEnable()
-- Dessia the Decapitator
self:Log("SPELL_CAST_START", "MortalStrike", 320069)
self:Log("SPELL_CAST_START", "Slam", 320063) -- XXX not cast anymore in 11.1 but still in journal

-- Sathel the Accursed
self:Log("SPELL_CAST_START", "SearingDeath", 333231)
Expand All @@ -83,11 +87,13 @@ function mod:OnBossEnable()

-- Sathel the Accursed
self:Log("SPELL_CAST_START", "WitheringTouch", 1215600)
self:Log("SPELL_AURA_APPLIED", "WitheringTouchApplied", 1215600)
self:Death("SathelDeath", 164461)
else -- XXX remove this block when 11.1 is live
-- Dessia the Decapitator
self:Log("SPELL_AURA_APPLIED", "EnrageApplied", 324085)
self:Log("SPELL_AURA_APPLIED", "FixateApplied", 326892)
self:Log("SPELL_CAST_START", "Slam", 320063) -- XXX not cast anymore in 11.1 but still in journal
-- Paceran the Virulent
self:Log("SPELL_CAST_SUCCESS", "GeneticAlteration", 320248)
-- Sathel the Accursed
Expand All @@ -99,18 +105,19 @@ function mod:OnBossEnable()
end

function mod:OnEngage()
decayingBreathCount = 1
self:SetStage(1)
if not isElevenDotOne then -- XXX remove this block when 11.1 is live
self:Bar(320063, 8.5) -- Slam
self:Bar(333231, 9.7) -- Searing Death
self:Bar(320069, 21) -- Mortal Strike
else
self:CDBar(320069, 3.5) -- Mortal Strike
if isElevenDotOne then
self:CDBar(320069, 3.2) -- Mortal Strike
self:CDBar(1215600, 5.7) -- Withering Touch
self:CDBar(1215738, 6.9) -- Decaying Breath
self:CDBar(1215738, 5.7) -- Decaying Breath
self:CDBar(1215741, 10.5) -- Mighty Smash
self:CDBar(320182, 20.3) -- Noxious Spores
self:CDBar(333231, 30.2) -- Searing Death
else -- XXX remove in 11.1
self:Bar(320063, 8.5) -- Slam
self:Bar(333231, 9.7) -- Searing Death
self:Bar(320069, 21) -- Mortal Strike
end
end

Expand All @@ -124,35 +131,40 @@ function mod:MightySmash(args)
self:Message(args.spellId, "red")
if self:Mythic() then
if self:GetStage() == 1 then
self:CDBar(args.spellId, 42.5)
self:CDBar(args.spellId, 43.7)
elseif self:GetStage() == 2 then
self:CDBar(args.spellId, 29.2)
self:CDBar(args.spellId, 30.3)
else -- Stage 3
self:CDBar(args.spellId, 14.5)
self:CDBar(args.spellId, 15.8)
end
else -- Heroic
self:CDBar(args.spellId, 42.5)
else -- Heroic, Normal
self:CDBar(args.spellId, 43.7)
end
self:PlaySound(args.spellId, "info")
end

function mod:MortalStrike(args)
self:Message(args.spellId, "purple")
self:CDBar(args.spellId, 21.9)
if isElevenDotOne then
self:CDBar(args.spellId, 17.0)
else -- XXX remove in 11.1
self:CDBar(args.spellId, 21.9)
end
self:PlaySound(args.spellId, "alert")
end

function mod:Slam(args) -- XXX not cast anymore in 11.1 but still in journal
function mod:Slam(args) -- XXX remove in 11.1
self:Message(args.spellId, "purple")
self:CDBar(args.spellId, 13.4)
self:PlaySound(args.spellId, "alert")
end

function mod:DessiaDeath()
self:SetStage(self:GetStage() + 1)
if self:GetStage() < 3 then
self:SetStage(self:GetStage() + 1)
end
self:StopBar(1215741) -- Mighty Smash
self:StopBar(320069) -- Mortal Strike
self:StopBar(320063) -- Slam XXX not cast anymore in 11.1 but still in journal
end

if not isElevenDotOne then -- XXX remove this block when 11.1 is live
Expand Down Expand Up @@ -189,7 +201,18 @@ end

function mod:DecayingBreath(args)
self:Message(args.spellId, "orange")
self:StopBar(args.spellId) -- TODO only cast once (at least in heroic)
decayingBreathCount = decayingBreathCount + 1
if self:Mythic() and self:GetStage() >= 1 then
self:CDBar(args.spellId, 29.1)
-- TODO 29.1 in stage 2, but what about stage 3?
-- should we instead adjust the timer in :NoxiousSpores? always 14.6 after
else -- Heroic, Normal, Mythic Stage 1
if decayingBreathCount % 2 == 0 then
self:CDBar(args.spellId, 29.1)
else
self:CDBar(args.spellId, 14.6)
end
end
self:PlaySound(args.spellId, "alarm")
end

Expand All @@ -199,18 +222,20 @@ function mod:NoxiousSpores(args)
if self:GetStage() == 1 then
self:CDBar(args.spellId, 42.5)
elseif self:GetStage() == 2 then
self:CDBar(args.spellId, 29.2)
self:CDBar(args.spellId, 29.1)
else -- Stage 3
self:CDBar(args.spellId, 14.5)
end
else -- Heroic
else -- Heroic, Normal
self:CDBar(args.spellId, 42.5)
end
self:PlaySound(args.spellId, "long")
end

function mod:PaceranDeath()
self:SetStage(self:GetStage() + 1)
if self:GetStage() < 3 then
self:SetStage(self:GetStage() + 1)
end
self:StopBar(1215738) -- Decaying Breath
self:StopBar(320182) -- Noxious Spores
end
Expand All @@ -231,7 +256,7 @@ do
else -- Stage 3
self:CDBar(args.spellId, 14.5)
end
else -- Heroic
else -- Heroic, Normal
self:CDBar(args.spellId, 42.5)
end
else -- XXX remove in 11.1
Expand All @@ -242,7 +267,7 @@ do
function mod:SearingDeathApplied(args)
if isElevenDotOne then
playerList[#playerList + 1] = args.destName
self:TargetsMessage(args.spellId, "yellow", playerList, 4) -- everyone except healer
self:TargetsMessage(args.spellId, "yellow", playerList, 4)
self:PlaySound(args.spellId, "info", nil, playerList)
else -- XXX remove in 11.1
self:TargetMessage(args.spellId, "yellow", args.destName)
Expand All @@ -255,21 +280,30 @@ do
end

do
local function printTarget(self, name, guid)
if self:Me(guid) or self:Healer() then
self:TargetMessage(1215600, "orange", name, CL.casting:format(self:SpellName(1215600)))
self:PlaySound(1215600, "alert", nil, name)
local playerList = {}

function mod:WitheringTouch(args)
playerList = {}
self:CDBar(args.spellId, 18.2)
if self:Dispeller("magic", nil, args.spellId) then
self:Message(args.spellId, "red")
self:PlaySound(args.spellId, "alert")
end
end

function mod:WitheringTouch(args)
self:GetUnitTarget(printTarget, 0.2, args.sourceGUID)
self:CDBar(args.spellId, 17.0)
function mod:WitheringTouchApplied(args)
if self:Me(args.destGUID) or self:Dispeller("magic", nil, args.spellId) then
playerList[#playerList + 1] = args.destName
self:TargetsMessage(args.spellId, "red", playerList, 2)
self:PlaySound(args.spellId, "info", nil, playerList)
end
end
end

function mod:SathelDeath()
self:SetStage(self:GetStage() + 1)
if self:GetStage() < 3 then
self:SetStage(self:GetStage() + 1)
end
self:StopBar(333231) -- Searing Death
self:StopBar(1215600) -- Withering Touch
end
Expand Down
2 changes: 1 addition & 1 deletion Shadowlands/TheaterOfPain/Options/Colors.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ BigWigs:AddColors("An Affront of Challengers", {
[326892] = {"blue","red"},
[333231] = {"blue","yellow"},
[333540] = {"blue","red"},
[1215600] = {"blue","orange"},
[1215600] = {"blue","red"},
[1215738] = "orange",
[1215741] = "red",
})
Expand Down
2 changes: 1 addition & 1 deletion Shadowlands/TheaterOfPain/Options/Sounds.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ BigWigs:AddSounds("An Affront of Challengers", {
[326892] = "warning",
[333231] = "info",
[333540] = {"alarm","warning"},
[1215600] = "alert",
[1215600] = {"alert","info"},
[1215738] = "alarm",
[1215741] = "info",
})
Expand Down

0 comments on commit 5175fcf

Please sign in to comment.