Skip to content

Commit

Permalink
Legion/BlackRookHold/KurtalosRavencrest: Dreadlord's Guile cast bar, …
Browse files Browse the repository at this point in the history
…timer improvements
  • Loading branch information
ntowle committed Nov 21, 2023
1 parent 5152b7b commit 7a4445e
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 10 deletions.
48 changes: 40 additions & 8 deletions Legion/BlackRookHold/KurtalosRavencrest.lua
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ mod:SetStage(1)

local unerringShearCount = 1
local shadowBoltVolleyCount = 1
local nextCloudOfHypnosis = 0

--------------------------------------------------------------------------------
-- Localization
Expand All @@ -42,7 +43,7 @@ function mod:GetOptions()
-- Stage Two: Vengeance of the Ancients
{201733, "SAY"}, -- Stinging Swarm
199143, -- Cloud of Hypnosis
199193, -- Dreadlord's Guile
{199193, "CASTBAR"}, -- Dreadlord's Guile
202019, -- Shadow Bolt Volley
}, {
[198635] = -12502, -- Stage One: Lord of the Keep
Expand All @@ -69,6 +70,7 @@ end
function mod:OnEngage()
unerringShearCount = 1
shadowBoltVolleyCount = 1
nextCloudOfHypnosis = 0
self:SetStage(1)
self:CDBar(198635, 5.9, CL.count:format(self:SpellName(198635), unerringShearCount)) -- Unerring Shear
self:CDBar(198641, 10.8) -- Whirling Blade
Expand Down Expand Up @@ -118,42 +120,72 @@ function mod:KurtalosDeath()
self:Message("stages", "cyan", -12509, false) -- Stage Two: Vengeance of the Ancients
self:PlaySound("stages", "long")
self:CDBar(202019, 17.5, CL.count:format(self:SpellName(202019), shadowBoltVolleyCount)) -- Shadow Bolt Volley
self:CDBar(201733, 22.3) -- Stinging Swarm
if not self:Normal() then
self:CDBar(201733, 22.3) -- Stinging Swarm
end
self:CDBar(199143, 27.2) -- Cloud of Hypnosis
self:CDBar(199193, 38.2) -- Dreadlord's Guile
end

-- Stage Two: Vengeance of the Ancients

function mod:StingingSwarm(args)
self:CDBar(args.spellId, 18.2)
self:CDBar(args.spellId, 17.0)
end

function mod:StingingSwarmApplied(args)
self:TargetMessage(args.spellId, "yellow", args.destName)
self:TargetMessage(args.spellId, "red", args.destName)
self:PlaySound(args.spellId, "alert", nil, args.destName)
if self:Me(args.destGUID) then
self:Say(args.spellId)
end
end

function mod:CloudOfHypnosis(args)
local t = GetTime()
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "info")
self:Bar(args.spellId, 32.8)
self:CDBar(args.spellId, 32.8)
nextCloudOfHypnosis = t + 32.8
end

function mod:DreadlordsGuile(args)
self:Message(args.spellId, "red")
self:Message(args.spellId, "cyan")
self:PlaySound(args.spellId, "long")
self:CDBar(args.spellId, 83.8)
-- TODO delay / reset other timers
if self:Mythic() then
local t = GetTime()
-- 4s cast + 15.9s phase
self:CastBar(args.spellId, 19.9)
-- no other abilities until 5s cast + 15.9s phase + ~3.2s delay is over
self:CDBar(202019, 23.1, CL.count:format(self:SpellName(202019), shadowBoltVolleyCount)) -- Shadow Bolt Volley
self:CDBar(201733, 23.1) -- Stinging Swarm
if nextCloudOfHypnosis - t < 23.1 then
self:CDBar(199143, 23.1) -- Cloud of Hypnosis
end
self:CDBar(args.spellId, 82.7)
elseif self:Heroic() then
-- 5s cast + 23.5s phase
self:CastBar(args.spellId, 28.5)
-- no other abilities until 5s cast + 23.5s phase + ~3.2s delay is over
self:CDBar(202019, 31.7, CL.count:format(self:SpellName(202019), shadowBoltVolleyCount)) -- Shadow Bolt Volley
self:CDBar(201733, 31.7) -- Stinging Swarm
self:CDBar(199143, 31.7) -- Cloud of Hypnosis
self:CDBar(args.spellId, 92.0)
else -- Normal
-- 5s cast + 24.7s phase
self:CastBar(args.spellId, 29.7)
-- no other abilities until 5s cast + 24.7s phase + ~3.2s delay is over
self:CDBar(202019, 32.9, CL.count:format(self:SpellName(202019), shadowBoltVolleyCount)) -- Shadow Bolt Volley
self:CDBar(199143, 32.9) -- Cloud of Hypnosis
self:CDBar(args.spellId, 93.2)
end
end

function mod:ShadowBoltVolley(args)
self:StopBar(CL.count:format(args.spellName, shadowBoltVolleyCount))
self:Message(args.spellId, "yellow", CL.count:format(args.spellName, shadowBoltVolleyCount))
if shadowBoltVolleyCount == 1 then
-- players won't have the Legacy of the Ravencrest buff yet, making the first Shadow Bolt Volley especially dangerous
self:PlaySound(args.spellId, "warning")
else
self:PlaySound(args.spellId, "alert")
Expand Down
4 changes: 2 additions & 2 deletions Legion/BlackRookHold/Options/Colors.lua
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ BigWigs:AddColors("Kurtalos Ravencrest", {
[198641] = "orange",
[198820] = "yellow",
[199143] = "orange",
[199193] = "red",
[201733] = {"blue","yellow"},
[199193] = "cyan",
[201733] = {"blue","red"},
[202019] = "yellow",
["stages"] = "cyan",
})
Expand Down

0 comments on commit 7a4445e

Please sign in to comment.