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

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