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.
87 lines
2.5 KiB
87 lines
2.5 KiB
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Rukhran", 1209, 967)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(76143)
|
|
mod.engageId = 1700
|
|
mod.respawnTime = 15
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Locals
|
|
--
|
|
|
|
local quillsWarn = 100
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
{153794, "TANK"}, -- Pierce Armor
|
|
153810, -- Summon Solar Flare
|
|
159382, -- Quills
|
|
{167757, "FLASH"}, -- Fixate
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:RegisterEvent("RAID_BOSS_WHISPER")
|
|
--self:Log("SPELL_AURA_APPLIED", "Fixate", 167757) -- XXX
|
|
|
|
self:Log("SPELL_CAST_START", "PierceArmor", 153794)
|
|
self:Log("SPELL_CAST_START", "SummonSolarFlare", 153810)
|
|
self:Log("SPELL_CAST_START", "Quills", 159382)
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
quillsWarn = 100
|
|
self:RegisterUnitEvent("UNIT_HEALTH", "QuillsWarn", "boss1")
|
|
self:Bar(153794, 10.5) -- Pierce Armor
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
function mod:RAID_BOSS_WHISPER()
|
|
-- RAID_BOSS_WHISPER#|TInterface\\Icons\\ability_fixated_state_red:20|tA Solar Flare has |cFFFF0000|Hspell:176544|h[Fixated]|h|r on you! If it reaches you it will |cFFFF0000|Hspell:153828|h[Explode]|h|r!#Solar Flare#1#true
|
|
self:MessageOld(167757, "blue", "alarm", CL.you:format(self:SpellName(167757)))
|
|
self:Flash(167757)
|
|
end
|
|
|
|
-- XXX
|
|
--function mod:Fixate(args)
|
|
-- if self:Me(args.destGUID) then
|
|
-- self:MessageOld(args.spellId, "blue", "alarm", CL.you:format(args.spellName))
|
|
-- self:Flash(args.spellId)
|
|
-- end
|
|
--end
|
|
|
|
function mod:PierceArmor(args)
|
|
self:MessageOld(args.spellId, "yellow", "warning")
|
|
self:Bar(args.spellId, 10.9)
|
|
end
|
|
|
|
function mod:SummonSolarFlare(args)
|
|
self:MessageOld(args.spellId, "red", "info")
|
|
end
|
|
|
|
function mod:Quills(args)
|
|
self:MessageOld(args.spellId, "orange", "long", CL.percent:format(quillsWarn, args.spellName))
|
|
self:Bar(args.spellId, 17)
|
|
end
|
|
|
|
function mod:QuillsWarn(event, unitId)
|
|
local hp = UnitHealth(unitId) / UnitHealthMax(unitId) * 100
|
|
if (hp < 67 and quillsWarn == 100) or (hp < 27 and quillsWarn == 60) then
|
|
quillsWarn = quillsWarn - 40
|
|
self:MessageOld(159382, "green", nil, CL.soon:format(self:SpellName(159382)), false)
|
|
if quillsWarn == 20 then
|
|
self:UnregisterUnitEvent(event, unitId)
|
|
end
|
|
end
|
|
end
|
|
|