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.
117 lines
3.0 KiB
117 lines
3.0 KiB
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Humongris", -641, 1770)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(108879)
|
|
mod.otherMenu = -619
|
|
mod.worldBoss = 108879
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
{216428, "SAY"}, -- Fire Boom
|
|
216430, -- Earthshake Stomp
|
|
{216432, "SAY"}, -- Ice Fist
|
|
216467, -- Make the Snow
|
|
{216817, "SAY"}, -- You Go Bang!
|
|
216476, -- Blizzard
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:Log("SPELL_CAST_START", "FireBoom", 216428)
|
|
self:Log("SPELL_CAST_START", "EarthshakeStomp", 216430)
|
|
self:Log("SPELL_CAST_START", "IceFist", 216432)
|
|
self:Log("SPELL_CAST_SUCCESS", "MakeTheSnow", 216467)
|
|
self:Log("SPELL_CAST_SUCCESS", "YouGoBang", 216817)
|
|
self:Log("SPELL_AURA_APPLIED", "YouGoBangApplied", 216817)
|
|
|
|
self:Log("SPELL_AURA_APPLIED", "BlizzardDamage", 216476)
|
|
self:Log("SPELL_PERIODIC_DAMAGE", "BlizzardDamage", 216476)
|
|
self:Log("SPELL_PERIODIC_MISSED", "BlizzardDamage", 216476)
|
|
|
|
self:ScheduleTimer("CheckForEngage", 1)
|
|
self:RegisterEvent("BOSS_KILL")
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
self:CheckForWipe()
|
|
self:CDBar(216430, 13) -- Earthshake Stomp
|
|
self:CDBar(216432, 18) -- Ice Fist
|
|
self:CDBar(216817, 20) -- You Go Bang!
|
|
self:CDBar(216467, 26) -- Make the Snow
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
do
|
|
local function printTarget(self, player, guid)
|
|
self:TargetMessageOld(216428, player, "yellow", "alarm")
|
|
if self:Me(guid) then
|
|
self:Say(216428)
|
|
end
|
|
end
|
|
function mod:FireBoom(args)
|
|
self:GetUnitTarget(printTarget, 0.3, args.sourceGUID)
|
|
end
|
|
end
|
|
|
|
function mod:EarthshakeStomp(args)
|
|
self:MessageOld(args.spellId, "orange", "info", CL.casting:format(args.spellName))
|
|
self:CDBar(args.spellId, 34)
|
|
end
|
|
|
|
do
|
|
local function printTarget(self, player, guid)
|
|
self:TargetMessageOld(216432, player, "red", "alert")
|
|
if self:Me(guid) then
|
|
self:Say(216432)
|
|
end
|
|
end
|
|
function mod:IceFist(args)
|
|
self:GetUnitTarget(printTarget, 0.3, args.sourceGUID)
|
|
self:CDBar(args.spellId, 30)
|
|
end
|
|
end
|
|
|
|
function mod:MakeTheSnow(args)
|
|
self:MessageOld(args.spellId, "green", "long")
|
|
self:CDBar(args.spellId, 34)
|
|
end
|
|
|
|
function mod:YouGoBang(args)
|
|
self:CDBar(args.spellId, 24)
|
|
end
|
|
|
|
function mod:YouGoBangApplied(args)
|
|
self:TargetMessageOld(args.spellId, args.destName, "red", "warning", nil, nil, true)
|
|
self:TargetBar(args.spellId, 12, args.destName, self:SpellName(47496)) -- 47496 = "Explode"
|
|
if self:Me(args.destGUID) then
|
|
self:Say(args.spellId)
|
|
end
|
|
end
|
|
|
|
do
|
|
local prev = 0
|
|
function mod:BlizzardDamage(args)
|
|
local t = GetTime()
|
|
if self:Me(args.destGUID) and t-prev > 3 then
|
|
prev = t
|
|
self:MessageOld(args.spellId, "blue", "alert", CL.underyou:format(args.spellName))
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:BOSS_KILL(_, id)
|
|
if id == 1917 then
|
|
self:Win()
|
|
end
|
|
end
|
|
|