You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
4.1 KiB
138 lines
4.1 KiB
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Black Rook Hold Trash", 1501)
|
|
if not mod then return end
|
|
mod.displayName = CL.trash
|
|
mod:RegisterEnableMob(
|
|
98280, -- Risen Arcanist
|
|
98243, -- Soul-torn Champion
|
|
100485, -- Soul-torn Vanguard
|
|
102094, -- Risen Swordsman
|
|
98275, -- Risen Archer
|
|
98691, -- Risen Scout
|
|
98370, -- Ghostly Councilor
|
|
102788 -- Felspite Dominator
|
|
)
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Localization
|
|
--
|
|
|
|
local L = mod:GetLocale()
|
|
if L then
|
|
L.arcanist = "Risen Arcanist"
|
|
L.champion = "Soul-torn Champion"
|
|
L.swordsman = "Risen Swordsman"
|
|
L.archer = "Risen Archer"
|
|
L.scout = "Risen Scout"
|
|
L.councilor = "Ghostly Councilor"
|
|
L.dominator = "Felspite Dominator"
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
200248, -- Arcane Blitz (Risen Arcanist)
|
|
200261, -- Bonebreaking Strike (Soul-torn Champion)
|
|
197974, -- Bonecrushing Strike (Soul-torn Vanguard)
|
|
214003, -- Coup de Grace (Risen Swordsman)
|
|
200343, -- Arrow Barrage (Risen Archer)
|
|
200291, -- Knife Dance (Risen Scout)
|
|
225573, -- Dark Mending (Ghostly Councilor)
|
|
203163, -- Sic Bats! (Felspite Dominator)
|
|
227913 -- Felfrenzy (Felspite Dominator)
|
|
}, {
|
|
[200248] = L.arcanist,
|
|
[200261] = L.champion,
|
|
[214003] = L.swordsman,
|
|
[200343] = L.archer,
|
|
[200291] = L.scout,
|
|
[225573] = L.councilor,
|
|
[203163] = L.dominator
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:RegisterMessage("BigWigs_OnBossEngage", "Disable")
|
|
|
|
self:Log("SPELL_CAST_START", "ArcaneBlitz", 200248)
|
|
self:Log("SPELL_AURA_APPLIED_DOSE", "ArcaneBlitzApplied", 200248)
|
|
self:Log("SPELL_AURA_REMOVED", "ArcaneBlitzRemoved", 200248)
|
|
self:Log("SPELL_CAST_START", "BonebreakingStrike", 200261, 197974) -- 197974 = Bonecrushing Strike
|
|
self:Log("SPELL_CAST_START", "CoupdeGrace", 214003)
|
|
self:Log("SPELL_CAST_START", "ArrowBarrage", 200343)
|
|
self:Log("SPELL_CAST_START", "KnifeDance", 200291)
|
|
self:Log("SPELL_CAST_START", "DarkMending", 225573)
|
|
self:Log("SPELL_AURA_APPLIED", "SicBats", 203163)
|
|
self:Log("SPELL_CAST_START", "Felfrenzy", 227913)
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
do
|
|
local blitzTracker = {}
|
|
|
|
-- Risen Arcanist
|
|
function mod:ArcaneBlitz(args)
|
|
-- only show a message if stacks are getting high (6 = 300% which is around 1m damage a hit)
|
|
local amount = blitzTracker[args.sourceGUID]
|
|
if amount and amount > 5 and (self:Interrupter(args.sourceGUID) or self:Dispeller("magic", true)) then
|
|
self:MessageOld(args.spellId, "yellow", "alert", CL.count:format(args.spellName, amount))
|
|
end
|
|
end
|
|
function mod:ArcaneBlitzApplied(args)
|
|
blitzTracker[args.destGUID] = args.amount
|
|
end
|
|
function mod:ArcaneBlitzRemoved(args)
|
|
blitzTracker[args.destGUID] = nil
|
|
end
|
|
end
|
|
|
|
-- Soul-torn Champion, Soul-torn Vanguard
|
|
function mod:BonebreakingStrike(args)
|
|
self:MessageOld(args.spellId, "orange", "alarm", CL.incoming:format(args.spellName))
|
|
end
|
|
|
|
-- Risen Swordsman
|
|
function mod:CoupdeGrace(args)
|
|
self:MessageOld(args.spellId, "red", "alarm", CL.incoming:format(args.spellName))
|
|
end
|
|
|
|
-- Risen Archer
|
|
function mod:ArrowBarrage(args)
|
|
self:MessageOld(args.spellId, "yellow", "warning", CL.casting:format(args.spellName))
|
|
end
|
|
|
|
-- Risen Scout
|
|
function mod:KnifeDance(args)
|
|
self:MessageOld(args.spellId, "red", "alert", CL.casting:format(args.spellName))
|
|
end
|
|
|
|
-- Ghostly Councilor
|
|
function mod:DarkMending(args)
|
|
self:MessageOld(args.spellId, "yellow", self:Interrupter() and "alarm", CL.casting:format(args.spellName))
|
|
end
|
|
|
|
-- Felspite Dominator
|
|
function mod:Felfrenzy(args)
|
|
self:MessageOld(args.spellId, "yellow", self:Interrupter() and "alarm", CL.casting:format(args.spellName))
|
|
end
|
|
|
|
do
|
|
local prev = 0
|
|
function mod:SicBats(args)
|
|
local t = GetTime()
|
|
if t-prev > 1.5 then
|
|
prev = t
|
|
self:TargetMessageOld(args.spellId, args.destName, "orange", "warning")
|
|
end
|
|
end
|
|
end
|
|
|