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.
68 lines
2.2 KiB
68 lines
2.2 KiB
-------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
|
|
local mod, CL = BigWigs:NewBoss("Marwyn", 668, 602)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(38113)
|
|
-- Sometimes he resets and then respawns few seconds after instead of
|
|
-- respawning immediately, when that happens he doesn't fire ENCOUNTER_END
|
|
-- mod.engageId = 1993
|
|
-- mod.respawnTime = 30 -- you have to actually walk towards the altar, nothing will respawn on its own
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Initialization
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
"warmup",
|
|
72363, -- Corrupted Flesh
|
|
{72368, "ICON"}, -- Shared Suffering
|
|
72383, -- Corrupted Touch
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:Log("SPELL_CAST_SUCCESS", "CorruptedFlesh", 72363)
|
|
self:Log("SPELL_AURA_APPLIED", "SharedSuffering", 72368)
|
|
self:Log("SPELL_AURA_REMOVED", "SharedSufferingRemoved", 72368)
|
|
self:Log("SPELL_AURA_APPLIED", "CorruptedTouch", 72383)
|
|
self:Log("SPELL_AURA_REMOVED", "CorruptedTouchRemoved", 72383)
|
|
|
|
self:RegisterEvent("INSTANCE_ENCOUNTER_ENGAGE_UNIT", "CheckBossStatus")
|
|
self:Death("Win", 38113)
|
|
end
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
|
|
function mod:Warmup()
|
|
-- There's a 60s break before the 6th wave spawns,
|
|
-- this function is supposed to be called from Falric's OnWin().
|
|
self:Bar("warmup", 59, CL.adds, "achievement_dungeon_icecrown_hallsofreflection")
|
|
end
|
|
|
|
function mod:CorruptedFlesh(args)
|
|
self:MessageOld(args.spellId, "red")
|
|
end
|
|
|
|
function mod:SharedSuffering(args)
|
|
self:PrimaryIcon(args.spellId, args.destName)
|
|
self:TargetMessageOld(args.spellId, args.destName, "yellow")
|
|
self:TargetBar(args.spellId, 12, args.destName)
|
|
end
|
|
|
|
function mod:SharedSufferingRemoved(args)
|
|
self:StopBar(args.spellName, args.destName)
|
|
self:PrimaryIcon(args.spellId)
|
|
end
|
|
|
|
function mod:CorruptedTouch(args)
|
|
if self:Me(args.destGUID) or self:Dispeller("curse") then
|
|
self:TargetMessageOld(args.spellId, args.destName, "orange")
|
|
self:TargetBar(args.spellId, 20, args.destName)
|
|
end
|
|
end
|
|
|
|
function mod:CorruptedTouchRemoved(args)
|
|
self:StopBar(args.spellName, args.destName)
|
|
end
|
|
|