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.
80 lines
2.1 KiB
80 lines
2.1 KiB
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Hymdall", 1477, 1485)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(94960)
|
|
mod.engageId = 1805
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Locals
|
|
--
|
|
|
|
local bladeCount = 1
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
193235, -- Dancing Blade
|
|
191284, -- Horn of Valor
|
|
193092, -- Bloodletting Sweep
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:Log("SPELL_CAST_START", "DancingBlade", 193235)
|
|
self:Log("SPELL_CAST_START", "HornOfValor", 191284)
|
|
|
|
self:Log("SPELL_PERIODIC_DAMAGE", "DancingBladeDamage", 193234)
|
|
self:Log("SPELL_PERIODIC_MISSED", "DancingBladeDamage", 193234)
|
|
|
|
self:RegisterUnitEvent("UNIT_SPELLCAST_SUCCEEDED", nil, "boss1")
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
bladeCount = 1
|
|
self:CDBar(193235, 3.3) -- Dancing Blade
|
|
self:CDBar(191284, 8) -- Horn of Valor
|
|
self:CDBar(193092, 16) -- Bloodletting Sweep
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
function mod:DancingBlade(args)
|
|
self:MessageOld(args.spellId, "orange", "alert", CL.incoming:format(args.spellName))
|
|
self:CDBar(args.spellId, bladeCount % 2 == 0 and 10 or 31) -- pull:5.2, 31.5, 10.9, 31.6, 10.9, 32.4, 10.1
|
|
bladeCount = bladeCount + 1
|
|
end
|
|
|
|
function mod:HornOfValor(args)
|
|
self:MessageOld(args.spellId, "red", "long", CL.casting:format(args.spellName))
|
|
self:CDBar(args.spellId, 42) -- pull:10.1, 42.4, 43.3
|
|
end
|
|
|
|
do
|
|
local prev = 0
|
|
function mod:DancingBladeDamage(args)
|
|
if self:Me(args.destGUID) then
|
|
local t = GetTime()
|
|
if t-prev > 2 then
|
|
prev = t
|
|
self:MessageOld(193235, "blue", "alarm", CL.you:format(args.spellName))
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(_, _, _, spellId)
|
|
if spellId == 193092 then -- Bloodletting Sweep
|
|
self:MessageOld(spellId, "yellow", self:Tank() and "info")
|
|
self:CDBar(spellId, 18) -- 18.2 - 23
|
|
end
|
|
end
|
|
|
|
|