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.
118 lines
3.2 KiB
118 lines
3.2 KiB
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Merektha", 1877, 2143)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(133384, 134487) -- Creature and Vehicle
|
|
mod.engageId = 2125
|
|
mod.respawnTime = 20
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
263912, -- Noxious Breath
|
|
263927, -- Toxic Pool
|
|
263914, -- Blinding Sand
|
|
264239, -- Hatch
|
|
264206, -- Burrow
|
|
{263958, "SAY", "ICON"}, -- A Knot of Snakes
|
|
}, {
|
|
[263912] = "general",
|
|
[263958] = "heroic",
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:Log("SPELL_CAST_START", "NoxiousBreath", 263912)
|
|
self:Log("SPELL_AURA_APPLIED", "ToxicPool", 263927)
|
|
self:Log("SPELL_PERIODIC_DAMAGE", "ToxicPool", 263927)
|
|
self:Log("SPELL_PERIODIC_MISSED", "ToxicPool", 263927)
|
|
self:Log("SPELL_CAST_START", "BlindingSand", 263914)
|
|
self:Log("SPELL_CAST_START", "Hatch", 264239, 264233) -- different sides
|
|
self:Log("SPELL_AURA_APPLIED", "KnotOfSnakes", 263958)
|
|
self:Log("SPELL_AURA_REMOVED", "KnotOfSnakesRemoved", 263958)
|
|
|
|
self:RegisterUnitEvent("UNIT_TARGETABLE_CHANGED", nil, "boss1")
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
self:Bar(263912, 6) -- Noxious Breath
|
|
self:Bar(263958, 12) -- A Knot of Snakes
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
function mod:NoxiousBreath(args)
|
|
self:Message(args.spellId, "yellow", CL.casting:format(args.spellName))
|
|
self:PlaySound(args.spellId, "alert")
|
|
self:Bar(args.spellId, 9)
|
|
end
|
|
|
|
do
|
|
local prev = 0
|
|
function mod:ToxicPool(args)
|
|
if self:Me(args.destGUID) then
|
|
local t = args.time
|
|
if t-prev > 2 then
|
|
prev = t
|
|
self:PersonalMessage(args.spellId, "underyou")
|
|
self:PlaySound(args.spellId, "alarm")
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:BlindingSand(args)
|
|
self:Message(args.spellId, "red", CL.casting:format(args.spellName))
|
|
self:PlaySound(args.spellId, "warning")
|
|
self:CastBar(args.spellId, 2.5)
|
|
end
|
|
|
|
do
|
|
local prev = 0
|
|
function mod:Hatch(args)
|
|
local t = args.time
|
|
if t-prev > 2 then
|
|
prev = t
|
|
self:Bar(264239, 35)
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:UNIT_TARGETABLE_CHANGED(_, unit)
|
|
-- Burrow
|
|
if UnitCanAttack("player", unit) then
|
|
self:Message(264206, "green", CL.over:format(self:SpellName(264206))) -- Burrow
|
|
self:PlaySound(264206, "info") -- Burrow
|
|
self:CDBar(263914, 6) -- Blinding Sand
|
|
self:CDBar(263958, 8) -- A Knot of Snakes
|
|
else
|
|
self:Message(264206, "cyan") -- Burrow
|
|
self:PlaySound(264206, "long") -- Burrow
|
|
self:Bar(264206, 29) -- Burrow
|
|
self:StopBar(264239) -- Hatch
|
|
self:StopBar(263912) -- Noxious Breath
|
|
end
|
|
end
|
|
|
|
function mod:KnotOfSnakes(args)
|
|
if self:Me(args.destGUID) then
|
|
self:Say(args.spellId)
|
|
end
|
|
self:TargetMessage(args.spellId, "red", args.destName)
|
|
self:PlaySound(args.spellId, "warning", nil, args.destName)
|
|
self:TargetBar(args.spellId, 15, args.destName)
|
|
self:PrimaryIcon(args.spellId, args.destName)
|
|
end
|
|
|
|
function mod:KnotOfSnakesRemoved(args)
|
|
self:PrimaryIcon(args.spellId)
|
|
self:StopBar(args.spellName, args.destName)
|
|
end
|
|
|