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.
77 lines
2.3 KiB
77 lines
2.3 KiB
|
|
--------------------------------------------------------------------------------
|
|
-- Module Declaration
|
|
--
|
|
|
|
local mod, CL = BigWigs:NewBoss("Ozumat", 643, 104)
|
|
if not mod then return end
|
|
mod:RegisterEnableMob(40792, 44566) -- Neptulon, Ozumat
|
|
mod.engageId = 1047
|
|
mod.respawnTime = 26
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Localization
|
|
--
|
|
|
|
local L = mod:GetLocale()
|
|
if L then
|
|
L.custom_on_autotalk = "Autotalk"
|
|
L.custom_on_autotalk_desc = "Instantly selects the gossip option to start the fight."
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Initialization
|
|
--
|
|
|
|
function mod:GetOptions()
|
|
return {
|
|
"custom_on_autotalk",
|
|
"stages",
|
|
}
|
|
end
|
|
|
|
function mod:OnBossEnable()
|
|
self:Log("SPELL_CAST_SUCCESS", "EntanglingGrasp", 83463) -- Entangling Grasp, 3 adds that need to be killed in P2 cast this on Neptulon
|
|
self:Log("SPELL_AURA_REMOVED", "EntanglingGraspRemoved", 83463)
|
|
self:Log("SPELL_CAST_SUCCESS", "TidalSurge", 76133) -- the buff Neptulon applies to players in P3
|
|
self:RegisterEvent("GOSSIP_SHOW")
|
|
end
|
|
|
|
function mod:OnEngage()
|
|
-- this stage lasts 1:40 on both difficulties, EJ's entry is incorrect
|
|
self:Bar("stages", 100, CL.stage:format(1), "Achievement_Dungeon_Throne of the Tides") -- Yes, " " is the correct delimiter.
|
|
self:DelayedMessage("stages", 90, "yellow", CL.soon:format(CL.stage:format(2)))
|
|
end
|
|
|
|
--------------------------------------------------------------------------------
|
|
-- Event Handlers
|
|
--
|
|
|
|
do
|
|
local prev, addsAlive = 0, 0
|
|
function mod:EntanglingGrasp()
|
|
addsAlive = addsAlive + 1
|
|
|
|
local t = GetTime()
|
|
if t-prev > 10 then
|
|
prev = t
|
|
self:MessageOld("stages", "yellow", "info", CL.stage:format(2), false)
|
|
end
|
|
end
|
|
function mod:EntanglingGraspRemoved()
|
|
addsAlive = addsAlive - 1
|
|
self:MessageOld("stages", "green", nil, CL.add_remaining:format(addsAlive), false)
|
|
end
|
|
end
|
|
|
|
function mod:TidalSurge()
|
|
self:MessageOld("stages", "yellow", "info", CL.stage:format(3), false)
|
|
end
|
|
|
|
function mod:GOSSIP_SHOW()
|
|
if self:GetOption("custom_on_autotalk") and self:MobId(self:UnitGUID("npc")) == 40792 then
|
|
if self:GetGossipOptions() then
|
|
self:SelectGossipOption(1, true) -- auto confirm it
|
|
end
|
|
end
|
|
end
|
|
|