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.
104 lines
2.9 KiB
104 lines
2.9 KiB
|
4 years ago
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Module Declaration
|
||
|
|
--
|
||
|
|
|
||
|
|
local mod, CL = BigWigs:NewBoss("Raal the Gluttonous", 1862, 2127)
|
||
|
|
if not mod then return end
|
||
|
|
mod:RegisterEnableMob(131863)
|
||
|
|
mod.engageId = 2115
|
||
|
|
mod.respawnTime = 20
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Locals
|
||
|
|
--
|
||
|
|
|
||
|
|
local rottenExpulsionCount = 1
|
||
|
|
local tenderizeCount = 0
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Initialization
|
||
|
|
--
|
||
|
|
|
||
|
|
function mod:GetOptions()
|
||
|
|
return {
|
||
|
|
264734, -- Consume All
|
||
|
|
264931, -- Call Servant
|
||
|
|
265005, -- Consumed Servant
|
||
|
|
264923, -- Tenderize
|
||
|
|
264694, -- Rotten Expulsion
|
||
|
|
}
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnBossEnable()
|
||
|
|
self:Log("SPELL_CAST_START", "ConsumeAll", 264734)
|
||
|
|
self:Log("SPELL_CAST_START", "CallServant", 264931)
|
||
|
|
self:Log("SPELL_AURA_APPLIED", "ConsumedServant", 265005)
|
||
|
|
self:Log("SPELL_AURA_APPLIED_DOSE", "ConsumedServant", 265005)
|
||
|
|
self:Log("SPELL_CAST_START", "Tenderize", 264923)
|
||
|
|
self:Log("SPELL_CAST_START", "RottenExpulsion", 264694)
|
||
|
|
self:Log("SPELL_AURA_APPLIED", "RottenExpulsionDamage", 264712)
|
||
|
|
self:Log("SPELL_PERIODIC_DAMAGE", "RottenExpulsionDamage", 264712)
|
||
|
|
self:Log("SPELL_PERIODIC_MISSED", "RottenExpulsionDamage", 264712)
|
||
|
|
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:OnEngage()
|
||
|
|
rottenExpulsionCount = 1
|
||
|
|
tenderizeCount = 0
|
||
|
|
self:Bar(264694, 5.5) -- Rotten Expulsion
|
||
|
|
self:Bar(264923, 20.5) -- Tenderize
|
||
|
|
self:Bar(264931, 43.5) -- Call Servant
|
||
|
|
end
|
||
|
|
|
||
|
|
--------------------------------------------------------------------------------
|
||
|
|
-- Event Handlers
|
||
|
|
--
|
||
|
|
|
||
|
|
function mod:ConsumeAll(args)
|
||
|
|
self:Message(args.spellId, "orange")
|
||
|
|
self:PlaySound(args.spellId, "warning")
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:CallServant(args)
|
||
|
|
self:Message(args.spellId, "yellow")
|
||
|
|
self:PlaySound(args.spellId, "long")
|
||
|
|
self:Bar(args.spellId, 29)
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:ConsumedServant(args)
|
||
|
|
self:StackMessage(args.spellId, args.destName, args.amount, "orange")
|
||
|
|
self:PlaySound(args.spellId, "alert")
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:Tenderize(args)
|
||
|
|
tenderizeCount = tenderizeCount + 1
|
||
|
|
self:Message(args.spellId, "red", CL.count:format(args.spellName, tenderizeCount))
|
||
|
|
if tenderizeCount == 3 then
|
||
|
|
tenderizeCount = 0
|
||
|
|
self:Bar(args.spellId, 36.4)
|
||
|
|
end
|
||
|
|
self:PlaySound(args.spellId, "warning")
|
||
|
|
end
|
||
|
|
|
||
|
|
function mod:RottenExpulsion(args)
|
||
|
|
self:Message(args.spellId, "orange")
|
||
|
|
self:PlaySound(args.spellId, "alarm")
|
||
|
|
rottenExpulsionCount = rottenExpulsionCount + 1
|
||
|
|
self:Bar(args.spellId, rottenExpulsionCount == 2 and 14 or rottenExpulsionCount == 3 and 25 or 29) -- 5.7, 14.6, 25.5, 29.1
|
||
|
|
end
|
||
|
|
|
||
|
|
do
|
||
|
|
local prev = 0
|
||
|
|
function mod:RottenExpulsionDamage(args)
|
||
|
|
if self:Me(args.destGUID) then
|
||
|
|
local t = args.time
|
||
|
|
if t-prev > 1.5 then
|
||
|
|
prev = t
|
||
|
|
self:PersonalMessage(264694, "underyou")
|
||
|
|
self:PlaySound(264694, "alarm", "gtfo")
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|
||
|
|
end
|