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.

83 lines
2.6 KiB

--------------------------------------------------------------------------------
-- Module Declaration
--
local mod, CL = BigWigs:NewBoss("Warlord Zaela", 1358, 1234)
if not mod then return end
mod:RegisterEnableMob(77120)
mod.engageId = 1762
mod.respawnTime = 20
--------------------------------------------------------------------------------
-- Initialization
--
function mod:GetOptions()
return {
"stages",
{155721, "ICON", "FLASH"}, -- Black Iron Cyclone
}
end
function mod:VerifyEnable(unit) -- present during the third encounter
return UnitCanAttack("player", unit)
end
function mod:OnBossEnable()
self:Log("SPELL_CAST_START", "BlackIronCycloneCast", 155721)
self:Log("SPELL_AURA_APPLIED", "BlackIronCyclone", 155721)
self:Log("SPELL_AURA_REMOVED", "BlackIronCycloneOver", 155721)
self:RegisterUnitEvent("UNIT_HEALTH", nil, "boss1")
self:RegisterUnitEvent("UNIT_TARGETABLE_CHANGED", nil, "boss1")
end
function mod:OnEngage()
self:CDBar(155721, 12.5) -- Black Iron Cyclone // 16.1 // 17.1 XXX
end
--------------------------------------------------------------------------------
-- Event Handlers
--
do
local function bossTarget(self, name, guid)
self:TargetMessageOld(155721, name, "yellow", "alert")
self:PrimaryIcon(155721, name)
if self:Me(guid) then
self:Flash(155721)
end
end
function mod:BlackIronCycloneCast(args)
self:GetBossTarget(bossTarget, 0.3, args.sourceGUID)
self:CDBar(args.spellId, 19) -- 18-21
end
end
function mod:BlackIronCyclone(args)
self:TargetBar(args.spellId, 4.5, args.destName, 33786, args.spellId) -- 33786 = "Cyclone"
end
function mod:BlackIronCycloneOver(args)
self:PrimaryIcon(args.spellId)
end
function mod:UNIT_HEALTH(event, unit)
local hp = UnitHealth(unit) / UnitHealthMax(unit) * 100
if hp < 65 then
self:UnregisterUnitEvent(event, unit)
self:MessageOld("stages", "green", nil, CL.soon:format(CL.intermission), false)
end
end
function mod:UNIT_TARGETABLE_CHANGED(_, unit)
if UnitCanAttack("player", unit) then
self:MessageOld("stages", "red", "info", CL.incoming:format(self.displayName), "achievement_character_orc_female")
else
self:MessageOld("stages", "red", "info", CL.percent:format(60, CL.intermission), "achievement_character_orc_female")
self:DelayedMessage("stages", 1, "red", self:SpellName(-10741), "achievement_character_orc_male") -- Black Iron Wyrm Riders
self:Bar("stages", self:Normal() and 28 or 36.5, CL.intermission, "achievement_character_orc_female")
self:StopBar(155721) -- Black Iron Cyclone
end
end