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.
110 lines
3.7 KiB
110 lines
3.7 KiB
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Lady Hatecoil", 1456, 1490)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(91789)
|
|
mod.engageId = 1811
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Localization
|
|
--
|
|
|
|
local L = mod:GetLocale()
|
|
if L then
|
|
L.blob = "{193682} ({-12139})" -- Beckon Storm (Saltsea Globule)
|
|
L.blob_desc = 193682
|
|
L.blob_icon = 193682
|
|
|
|
L.custom_on_show_helper_messages = "Helper messages for Static Nova and Focused Lightning"
|
|
L.custom_on_show_helper_messages_desc = "Enable this option to add a helper message telling you whether water or land is safe when the boss starts casting |cff71d5ffStatic Nova|r or |cff71d5ffFocused Lightning|r."
|
|
|
|
L.water_safe = "%s (water is safe)"
|
|
L.land_safe = "%s (land is safe)"
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
193597, -- Static Nova
|
|
{193611, "PROXIMITY"}, -- Focused Lightning
|
|
"custom_on_show_helper_messages",
|
|
193698, -- Curse of the Witch
|
|
"blob",
|
|
196610, -- Monsoon
|
|
}, {
|
|
[196610] = "heroic"
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:Log("SPELL_CAST_START", "StaticNova", 193597)
|
|
self:Log("SPELL_CAST_START", "FocusedLightning", 193611)
|
|
self:Log("SPELL_CAST_SUCCESS", "FocusedLightningSuccess", 193611)
|
|
self:Log("SPELL_AURA_APPLIED", "CurseOfTheWitch", 193698)
|
|
self:Log("SPELL_AURA_REMOVED", "CurseOfTheWitchRemoved", 193698)
|
|
self:Log("SPELL_CAST_SUCCESS", "BeckonStorm", 193682)
|
|
|
|
self:RegisterUnitEvent("UNIT_SPELLCAST_SUCCEEDED", nil, "boss1")
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
self:CDBar(193597, 10) -- Static Nova
|
|
self:CDBar(193611, 25) -- Focused Lightning
|
|
self:CDBar("blob", 21, -12139, L.blob_icon) -- Saltsea Globule
|
|
if not self:Normal() then
|
|
self:CDBar(196610, 31) -- Monsoon
|
|
end
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
function mod:StaticNova(args)
|
|
self:MessageOld(args.spellId, "orange", "warning", self:GetOption("custom_on_show_helper_messages") and L.land_safe:format(args.spellName))
|
|
self:CDBar(args.spellId, 34) -- pull:10.8, 35.2, 34.0 / m pull:10.8, 35.2, 36.4, 37.6, 34.0
|
|
end
|
|
|
|
function mod:FocusedLightning(args)
|
|
self:MessageOld(args.spellId, "yellow", "alert", self:GetOption("custom_on_show_helper_messages") and L.water_safe:format(args.spellName))
|
|
self:CDBar(args.spellId, 35) -- pull:25.4, 36.4, 35.2 / m pull:25.3, 36.4, 36.4, 37.6
|
|
self:OpenProximity(args.spellId, 5) -- Excess Lightning (193624)
|
|
end
|
|
|
|
function mod:FocusedLightningSuccess(args)
|
|
self:CloseProximity(args.spellId)
|
|
end
|
|
|
|
function mod:CurseOfTheWitch(args)
|
|
if self:Me(args.destGUID) then
|
|
self:TargetMessageOld(args.spellId, args.destName, "blue", "alarm")
|
|
local _, _, duration = self:UnitDebuff("player", args.spellId) -- Random lengths
|
|
self:Bar(args.spellId, duration or 6)
|
|
end
|
|
end
|
|
|
|
function mod:CurseOfTheWitchRemoved(args)
|
|
if self:Me(args.destGUID) then
|
|
self:MessageOld(args.spellId, "blue", nil, CL.removed:format(args.spellName))
|
|
self:StopBar(args.spellName)
|
|
end
|
|
end
|
|
|
|
function mod:BeckonStorm()
|
|
self:MessageOld("blob", "red", "info", CL.spawned:format(self:SpellName(-12139)), L.blob_icon) -- Saltsea Globule
|
|
self:CDBar("blob", 47, -12139, L.blob_icon) -- Saltsea Globule -- pull:21.3, 47.4 / m pull:21.3, 49.8, 47.4
|
|
end
|
|
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(_, _, _, spellId)
|
|
-- Starts by using 196629 then randomly swaps to using 196634 (mythic)
|
|
if spellId == 196634 or spellId == 196629 then -- Monsoon
|
|
self:MessageOld(196610, "green")
|
|
self:CDBar(196610, 20)
|
|
end
|
|
end
|
|
|