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.
120 lines
3.5 KiB
120 lines
3.5 KiB
--------------------------------------------------------------------------------
|
|
-- TODO
|
|
-- Cannon Blast timer
|
|
--
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("HK-8 Aerial Oppression Unit", 2097, 2355)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(150190, 150295) -- HK-8 Aerial Oppression Unit, Tank Buster MK1
|
|
mod.engageId = 2291
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
"stages",
|
|
295536, -- Cannon Blast
|
|
302274, -- Fulminating Zap
|
|
{295445, "TANK_HEALER"}, -- Wreck
|
|
301351, -- Reinforcement Relay
|
|
296522, -- Self-Destruct
|
|
296080, -- Haywire
|
|
-- Hard Mode
|
|
{303885, "SAY", "SAY_COUNTDOWN"}, -- Fulminating Burst
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:Log("SPELL_CAST_START", "CannonBlast", 295536)
|
|
self:Log("SPELL_AURA_APPLIED", "FulminatingZapApplied", 302274)
|
|
self:Log("SPELL_CAST_SUCCESS", "Wreck", 295445)
|
|
self:Log("SPELL_CAST_SUCCESS", "ReinforcementRelay", 301351)
|
|
self:Log("SPELL_CAST_SUCCESS", "LiftOff", 301177)
|
|
self:Log("SPELL_AURA_APPLIED", "HaywireApplied", 296080)
|
|
self:Log("SPELL_CAST_START", "AnnihilationRay", 295939)
|
|
self:Log("SPELL_AURA_APPLIED", "FulminatingBurstApplied", 303885)
|
|
self:Log("SPELL_AURA_REMOVED", "FulminatingBurstRemoved", 303885)
|
|
|
|
self:Death("TankBusterDeath", 150295)
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
self:CDBar(295445, 12) -- Wreck
|
|
self:Bar(301351, 21.4) -- Reinforcement Relay
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
function mod:TankBusterDeath(args)
|
|
self:StopBar(301351) -- Reinforcement Relay
|
|
self:StopBar(295445) -- Wreck
|
|
end
|
|
|
|
function mod:AnnihilationRay(args)
|
|
self:Message("stages", "cyan", CL.stage:format(2), false)
|
|
self:PlaySound("stages", "long")
|
|
end
|
|
|
|
function mod:CannonBlast(args)
|
|
self:Message(args.spellId, "red")
|
|
self:PlaySound(args.spellId, "alert")
|
|
self:CastBar(args.spellId, 3)
|
|
end
|
|
|
|
function mod:FulminatingZapApplied(args)
|
|
if self:Healer() or self:Me(args.destGUID) then
|
|
self:TargetMessage(args.spellId, "orange", args.destName)
|
|
self:PlaySound(args.spellId, "info", nil, args.destName)
|
|
end
|
|
end
|
|
|
|
function mod:Wreck(args)
|
|
self:Message(args.spellId, "orange")
|
|
self:PlaySound(args.spellId, "alarm")
|
|
self:Bar(args.spellId, 23)
|
|
end
|
|
|
|
function mod:ReinforcementRelay(args)
|
|
self:Message(args.spellId, "orange", CL.spawning:format(CL.adds))
|
|
self:PlaySound(args.spellId, "alarm")
|
|
self:Bar(args.spellId, 32.8)
|
|
self:CDBar(296522, 15) -- Self-Destruct
|
|
end
|
|
|
|
function mod:LiftOff(args)
|
|
self:Message("stages", "cyan", CL.stage:format(1), false)
|
|
self:PlaySound("stages", "long")
|
|
self:CDBar(295445, 20.5) -- Wreck
|
|
self:Bar(301351, 31.5) -- Reinforcement Relay
|
|
end
|
|
|
|
function mod:HaywireApplied(args)
|
|
self:Message(args.spellId, "cyan", CL.onboss:format(args.spellName))
|
|
self:PlaySound(args.spellId, "long")
|
|
self:TargetBar(args.spellId, 30, args.destName)
|
|
end
|
|
|
|
function mod:FulminatingBurstApplied(args)
|
|
self:TargetMessage(args.spellId, "orange", args.destName)
|
|
self:PlaySound(args.spellId, "info", nil, args.destName)
|
|
self:TargetBar(args.spellId, 9)
|
|
if self:Me(args.destGUID) then
|
|
self:Yell(args.spellId)
|
|
self:YellCountdown(args.spellId, 9, nil, 5)
|
|
end
|
|
end
|
|
|
|
function mod:FulminatingBurstRemoved(args)
|
|
self:StopBar(args.spellId, args.destName)
|
|
if self:Me(args.destGUID) then
|
|
self:CancelYellCountdown(args.spellId)
|
|
end
|
|
end
|
|
|