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.

78 lines
2.3 KiB

4 years ago
-------------------------------------------------------------------------------
-- Module Declaration
--
local mod, CL = BigWigs:NewBoss("Rajh", 644, 130)
if not mod then return end
mod:RegisterEnableMob(39378)
mod.engageId = 1078
mod.respawnTime = 30
--------------------------------------------------------------------------------
-- Locals
--
local warnedAboutBlessingIncoming = nil
-------------------------------------------------------------------------------
-- Initialization
--
function mod:GetOptions()
return {
-2861, -- Sun Strike
-2862, -- Summon Sun Orb
{-2863, "FLASH"}, -- Inferno Leap
76355, -- Blessing of the Sun
}
end
function mod:OnBossEnable()
self:Log("SPELL_CAST_SUCCESS", "SunStrike", 73872)
self:Log("SPELL_AURA_APPLIED", "SummonSunOrb", 80352)
self:Log("SPELL_AURA_APPLIED", "InfernoLeap", 87657) -- 87657 = Burning Adrenaline Rush, the debuff you get when he's targeting your location
self:RegisterUnitEvent("UNIT_SPELLCAST_SUCCEEDED", nil, "boss1")
end
function mod:OnEngage()
self:RegisterUnitEvent("UNIT_POWER_FREQUENT", nil, "boss1")
end
-------------------------------------------------------------------------------
-- Event Handlers
--
function mod:SunStrike()
self:MessageOld(-2861, "yellow")
end
function mod:SummonSunOrb()
self:MessageOld(-2862, "orange")
end
function mod:InfernoLeap(args)
if self:Me(args.destGUID) then
self:TargetMessageOld(-2863, args.destName, "blue", "warning")
self:Flash(-2863)
end
end
do
function mod:UNIT_POWER_FREQUENT(_, unit)
local power = UnitPower(unit) / UnitPowerMax(unit) * 100
if power <= 30 and not warnedAboutBlessingIncoming then
warnedAboutBlessingIncoming = true
self:MessageOld(76355, "cyan", nil, CL.soon:format(self:SpellName(76355)))
end
end
end
function mod:UNIT_SPELLCAST_SUCCEEDED(_, _, _, spellId)
if spellId == 76352 then -- Blessing of the Sun
self:MessageOld(76355, "green", "long", CL.casting:format(self:SpellName(spellId)))
self:CastBar(76355, 20) -- EJ says "reenergizes himself with ... for 3 sec" but it took 17s for him to get back 100 energy when I tried, and the last SPELL_PERIODIC_ENERGIZE event fired 20s after the USCS
self:SimpleTimer(function() warnedAboutBlessingIncoming = nil end, 20) -- no events that indicate the end of this "phase"
end
end