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.

67 lines
1.8 KiB

--------------------------------------------------------------------------------
-- Module declaration
--
local mod, CL = BigWigs:NewBoss("Rokmar the Crackler", 547, 571)
if not mod then return end
mod:RegisterEnableMob(17991)
-- mod.engageId = 1941 -- no boss frames
-- mod.respawnTime = 0 -- resets, doesn't respawn
--------------------------------------------------------------------------------
-- Initialization
--
function mod:GetOptions()
return {
34970, -- Frenzy
31948, -- Ensnaring Moss
38801, -- Grievous Wound
}
end
function mod:OnBossEnable()
self:Log("SPELL_AURA_APPLIED", "Frenzy", 34970)
self:Log("SPELL_AURA_APPLIED", "EnsnaringMoss", 31948)
self:Log("SPELL_AURA_REMOVED", "EnsnaringMossRemoved", 31948)
self:Log("SPELL_AURA_APPLIED", "GrievousWound", 31956, 38801)
self:RegisterUnitEvent("UNIT_HEALTH", nil, "target", "focus")
self:Death("Win", 17991)
end
--------------------------------------------------------------------------------
-- Event Handlers
--
function mod:Frenzy(args)
self:MessageOld(args.spellId, "red", nil, CL.percent:format(20, args.spellName))
end
function mod:EnsnaringMoss(args)
self:TargetMessageOld(args.spellId, args.destName, "yellow")
self:TargetBar(args.spellId, 10, args.destName)
end
function mod:EnsnaringMossRemoved(args)
self:StopBar(args.spellName, args.destName)
end
function mod:GrievousWound(args)
if self:Me(args.destGUID) or self:Healer() then
self:TargetMessageOld(38801, args.destName, "orange")
end
end
function mod:UNIT_HEALTH(event, unit)
if self:MobId(self:UnitGUID(unit)) == 17991 then
local hp = UnitHealth(unit) / UnitHealthMax(unit) * 100
if hp < 26 then
self:UnregisterUnitEvent(event, "target", "focus")
self:MessageOld(34970, "green", nil, CL.soon:format(self:SpellName(34970)), false)
end
end
end