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
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
|
|
|