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.

79 lines
2.3 KiB

--------------------------------------------------------------------------------
-- Module Declaration
--
local mod, CL = BigWigs:NewBoss("Commander Tharbek", 1358, 1228)
if not mod then return end
mod:RegisterEnableMob(79912, 80098) -- Commander Tharbek, Ironbarb Skyreaver
mod.engageId = 1759
mod.respawnTime = 26
--------------------------------------------------------------------------------
-- Localization
--
local L = mod:GetLocale()
if L then
L.iron_reaver = "{161989} ({100})" -- Iron Reaver (Charge)
L.iron_reaver_desc = 161989
L.iron_reaver_icon = 161989
end
--------------------------------------------------------------------------------
-- Initialization
--
function mod:GetOptions()
return {
"stages",
161833, -- Noxious Spit
162090, -- Imbued Iron Axe
"iron_reaver",
161882, -- Incinerating Breath
}
end
function mod:OnBossEnable()
self:RegisterUnitEvent("UNIT_TARGETABLE_CHANGED", nil, "boss1", "boss2")
self:Log("SPELL_AURA_APPLIED", "NoxiousSpit", 161833)
self:Log("SPELL_CAST_SUCCESS", "ImbuedIronAxe", 162090)
self:RegisterUnitEvent("UNIT_SPELLCAST_SUCCEEDED", "IronReaver", "boss1", "boss2")
self:Death("DragonDies", 80098)
end
--------------------------------------------------------------------------------
-- Event Handlers
--
function mod:UNIT_TARGETABLE_CHANGED(_, unit)
if self:MobId(self:UnitGUID(unit)) == 79912 and UnitCanAttack("player", unit) then
self:MessageOld("stages", "cyan", "info", self.displayName, "ability_warrior_endlessrage")
end
end
function mod:NoxiousSpit(args)
if self:Me(args.destGUID) then
self:MessageOld(args.spellId, "blue", "alarm", CL.underyou:format(args.spellName))
end
end
function mod:ImbuedIronAxe(args)
self:TargetMessageOld(args.spellId, args.destName, "yellow", "alert")
end
function mod:IronReaver(_, _, _, spellId)
if spellId == 161989 then -- Iron Reaver
self:MessageOld("iron_reaver", "red", nil, self:SpellName(100), spellId) -- 100 = "Charge"
self:CDBar("iron_reaver", 19, self:SpellName(100), spellId) -- 19.4-22.7s
elseif spellId == 161882 then -- Incinerating Breath
self:MessageOld(spellId, "orange", "long", CL.incoming:format(self:SpellName(spellId)))
self:CDBar(spellId, 20)
end
end
function mod:DragonDies()
self:StopBar(161882) -- Incinerating Breath
end