Skip to content

Commit

Permalink
Legion/BlackRookHold/Trash: "Drink" Ancient Potion, Soul Blade cast, …
Browse files Browse the repository at this point in the history
…Arcane Blitz updates
  • Loading branch information
ntowle committed Nov 21, 2023
1 parent 07c12bc commit 506707a
Show file tree
Hide file tree
Showing 3 changed files with 61 additions and 22 deletions.
7 changes: 4 additions & 3 deletions Legion/BlackRookHold/Options/Colors.lua
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,13 @@ BigWigs:AddColors("Kurtalos Ravencrest", {
BigWigs:AddColors("Black Rook Hold Trash", {
[194966] = {"blue","orange"},
[196916] = "orange",
[200084] = {"blue","orange"},
[200105] = "yellow",
[200084] = {"blue","orange","yellow"},
[200105] = "cyan",
[200248] = "yellow",
[200261] = "orange",
[200291] = "yellow",
[200291] = "orange",
[200343] = "red",
[200784] = "yellow",
[200913] = "orange",
[203163] = {"blue","orange"},
[204896] = "red",
Expand Down
1 change: 1 addition & 0 deletions Legion/BlackRookHold/Options/Sounds.lua
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ BigWigs:AddSounds("Black Rook Hold Trash", {
[200261] = "alarm",
[200291] = "alert",
[200343] = "alarm",
[200784] = "alert",
[200913] = "alarm",
[203163] = {"alert","warning"},
[204896] = "alert",
Expand Down
75 changes: 56 additions & 19 deletions Legion/BlackRookHold/Trash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,7 @@ function mod:GetOptions()
-- Risen Arcanist
200248, -- Arcane Blitz
-- Wyrmtongue Scavenger
200784, -- "Drink" Ancient Potion
200913, -- Indigestion
-- Bloodscent Felhound
204896, -- Drain Life
Expand All @@ -101,7 +102,7 @@ function mod:GetOptions()
[200291] = L.risen_scout,
[200343] = L.risen_archer,
[200248] = L.risen_arcanist,
[200913] = L.wyrmtongue_scavenger,
[200784] = L.wyrmtongue_scavenger,
[204896] = L.bloodscent_felhound,
[203163] = L.felspite_dominator,
[214003] = L.risen_swordsman,
Expand All @@ -111,6 +112,8 @@ end

function mod:OnBossEnable()
-- Ghostly Retainer
self:Log("SPELL_CAST_START", "SoulBlade", 200084)
self:Log("SPELL_AURA_APPLIED", "SoulBladeApplied", 200084)
self:Log("SPELL_AURA_APPLIED_DOSE", "SoulBladeApplied", 200084)

-- Ghostly Protector
Expand Down Expand Up @@ -139,13 +142,13 @@ function mod:OnBossEnable()

-- Risen Arcanist
self:Log("SPELL_CAST_START", "ArcaneBlitz", 200248)
self:Log("SPELL_AURA_APPLIED", "ArcaneBlitzApplied", 200248)
self:Log("SPELL_AURA_APPLIED_DOSE", "ArcaneBlitzApplied", 200248)
self:Log("SPELL_AURA_REMOVED", "ArcaneBlitzRemoved", 200248)

-- Wyrmtongue Scavenger
-- TODO this is just spammed if you stop the first cast, either delete or see if it's adjusted
--self:Log("SPELL_CAST_START", "DrinkAncientPotion", 200784)
-- TODO other potion effects? ("Hyperactive, Frenzy Potion)
self:Log("SPELL_CAST_START", "DrinkAncientPotion", 200784)
-- TODO other potion effects? (Hyperactive, Frenzy Potion)
self:Log("SPELL_CAST_START", "Indigestion", 200913)

-- Bloodscent Felhound
Expand Down Expand Up @@ -175,23 +178,41 @@ end

-- Ghostly Retainer

function mod:SoulBladeApplied(args)
if args.amount % 2 == 0 and (self:Dispeller("magic", nil, args.spellId) or self:Me(args.destGUID)) then
self:StackMessage(args.spellId, "orange", args.destName, args.amount, 4)
self:PlaySound(args.spellId, "alert", nil, args.destName)
do
local prev = 0
function mod:SoulBlade(args)
local t = args.time
if t - prev > 2 then
prev = t
self:Message(args.spellId, "yellow")
self:PlaySound(args.spellId, "alert")
end
end
end

do
local prev = 0
function mod:SoulBladeApplied(args)
local t = args.time
if t - prev > 3 and (self:Dispeller("magic", nil, args.spellId) or self:Me(args.destGUID)) then
prev = t
self:StackMessage(args.spellId, "orange", args.destName, args.amount, 2)
self:PlaySound(args.spellId, "alert", nil, args.destName)
end
end
end

-- Ghostly Protector

function mod:SacrificeSoul(args)
self:Message(args.spellId, "yellow", CL.on:format(args.spellName, args.sourceName))
self:Message(args.spellId, "cyan", CL.on:format(args.spellName, args.sourceName))
self:PlaySound(args.spellId, "info")
end

-- Ghostly Councilor

function mod:DarkMending(args)
-- non-Mythic+ only
self:Message(args.spellId, "red", CL.casting:format(args.spellName))
self:PlaySound(args.spellId, "warning")
end
Expand Down Expand Up @@ -226,10 +247,10 @@ do
local amount = args.amount
local t = args.time
-- stacks very quickly on the tank
if t - prev > 3 and amount % 10 == 0 and (self:Me(args.destGUID) or self:Dispeller("magic", nil, 225908)) then
if t - prev > 3 and amount % 5 == 0 and (self:Me(args.destGUID) or self:Dispeller("magic", nil, 225908)) then
prev = t
self:StackMessage(225908, "yellow", args.destName, amount, 30)
if amount >= 30 then
self:StackMessage(225908, "yellow", args.destName, amount, 10)
if amount >= 15 then
self:PlaySound(225908, "warning", nil, args.destName)
else
self:PlaySound(225908, "alert", nil, args.destName)
Expand Down Expand Up @@ -260,7 +281,7 @@ do
local t = args.time
if t - prev > 1.5 then
prev = t
self:Message(args.spellId, "yellow")
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "alert")
end
end
Expand All @@ -286,16 +307,20 @@ do
local blitzTracker = {}

function mod:ArcaneBlitz(args)
-- only show a message if stacks are getting high
local amount = blitzTracker[args.sourceGUID]
if amount and amount > 2 and (self:Interrupter() or self:Dispeller("magic", true)) then
self:Message(args.spellId, "yellow", CL.count:format(args.spellName, amount))
local amount = blitzTracker[args.sourceGUID] or 0
local _, interruptReady = self:Interrupter()
if interruptReady or (self:Dispeller("magic") and amount >= 2) then
if amount >= 1 then
self:Message(args.spellId, "yellow", CL.casting:format(CL.count:format(args.spellName, amount)))
else
self:Message(args.spellId, "yellow", CL.casting:format(args.spellName))
end
self:PlaySound(args.spellId, "alert")
end
end

function mod:ArcaneBlitzApplied(args)
blitzTracker[args.destGUID] = args.amount
blitzTracker[args.destGUID] = args.amount or 1
end

function mod:ArcaneBlitzRemoved(args)
Expand All @@ -307,9 +332,21 @@ end

do
local prev = 0
function mod:Indigestion(args)
function mod:DrinkAncientPotion(args)
local t = args.time
if t - prev > 2 then
prev = t
self:Message(args.spellId, "yellow")
self:PlaySound(args.spellId, "alert")
end
end
end

do
local prev = 0
function mod:Indigestion(args)
local t = args.time
if t - prev > 1.5 then
prev = t
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "alarm")
Expand Down

0 comments on commit 506707a

Please sign in to comment.