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.

196 lines
5.0 KiB

4 years ago
--------------------------------------------------------------------------------
-- Module Declaration
--
local mod, CL = BigWigs:NewBoss("Temple of Sethraliss Trash", 1877)
if not mod then return end
mod.displayName = CL.trash
mod:RegisterEnableMob(
134990, -- Charged Dust Devil
134600, -- Sandswept Marksman
134602, -- Shrouded Fang
134629, -- Scaled Krolusk Rider
134364, -- Faithless Tender
139425, -- Crazed Incubator
136076, -- Agitated Nimbus
139949 -- Plague Doctor
)
--------------------------------------------------------------------------------
-- Localization
--
local L = mod:GetLocale()
if L then
L.dust_devil = "Charged Dust Devil"
L.marksman = "Sandswept Marksman"
L.fang = "Shrouded Fang"
L.rider = "Scaled Krolusk Rider"
L.tender = "Faithless Tender"
L.incubator = "Crazed Incubator"
L.nimbus = "Agitated Nimbus"
L.doctor = "Plague Doctor"
end
--------------------------------------------------------------------------------
-- Initialization
--
function mod:GetOptions()
return {
-- Charged Dust Devil
265968, -- Healing Surge
-- Sandswept Marksman
264574, -- Power Shot
273563, -- Neurotoxin
-- Shrouded Fang
258908, -- Blade Flurry
-- Scaled Krolusk Rider
272659, -- Electrified Scales
272657, -- Noxious Breath
-- Faithless Tender
272700, -- Greater Healing Potion
267237, -- Drain
-- Crazed Incubator
273995, -- Pyrrhic Blast
-- Agitated Nimbus
265912, -- Accumulate Charge
-- Plague Doctor
268008, -- Snake Charm
}, {
[265968] = L.dust_devil,
[264574] = L.marksman,
[258908] = L.fang,
[272659] = L.rider,
[272700] = L.tender,
[273995] = L.incubator,
[265912] = L.nimbus,
[268008] = L.doctor,
}
end
function mod:OnBossEnable()
self:Log("SPELL_CAST_START", "HealingSurge", 265968)
self:Log("SPELL_CAST_START", "PowerShot", 264574)
self:Log("SPELL_AURA_APPLIED", "NeurotoxinApplied", 273563)
self:Log("SPELL_CAST_START", "BladeFlurry", 258908)
self:Log("SPELL_AURA_APPLIED", "BladeFlurryApplied", 258908)
self:Log("SPELL_CAST_START", "ElectrifiedScales", 272659)
self:Log("SPELL_AURA_APPLIED", "ElectrifiedScalesApplied", 272659)
self:Log("SPELL_CAST_START", "NoxiousBreath", 272657)
self:Log("SPELL_CAST_START", "GreaterHealingPotion", 272700)
self:Log("SPELL_CAST_SUCCESS", "Drain", 267237)
self:Log("SPELL_CAST_START", "PyrrhicBlast", 273995)
self:Log("SPELL_CAST_START", "AccumulateCharge", 265912)
self:Log("SPELL_CAST_START", "SnakeCharm", 268008)
self:Log("SPELL_AURA_APPLIED", "SnakeCharmApplied", 268008)
end
--------------------------------------------------------------------------------
-- Event Handlers
--
function mod:HealingSurge(args)
self:Message(args.spellId, "yellow")
self:PlaySound(args.spellId, "alert")
end
function mod:PowerShot(args)
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "alarm")
end
function mod:NeurotoxinApplied(args)
if self:Dispeller("poison") or self:Me(args.destGUID) then
self:TargetMessage(args.spellId, "red", args.destName)
self:PlaySound(args.spellId, "info", nil, args.destName)
end
end
do
local prev = 0
function mod:BladeFlurry(args)
local t = args.time
if t-prev > 2 then
prev = t
self:Message(args.spellId, "orange", CL.casting:format(args.spellName))
self:PlaySound(args.spellId, "alert")
end
end
end
function mod:BladeFlurryApplied(args)
self:Message(args.spellId, "red")
self:PlaySound(args.spellId, "alarm")
self:TargetBar(args.spellId, 8, args.destName)
end
do
local prev = 0
function mod:ElectrifiedScales(args)
local t = args.time
if t-prev > 1.5 then
prev = t
self:Message(args.spellId, "orange", CL.casting:format(args.spellName))
self:PlaySound(args.spellId, "alert")
end
end
end
do
local prev = 0
function mod:ElectrifiedScalesApplied(args)
local t = args.time
if t-prev > 1.5 then
prev = t
self:TargetMessage(args.spellId, "yellow", args.destName)
self:PlaySound(args.spellId, "info")
end
end
end
function mod:NoxiousBreath(args)
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "alarm")
end
do
local prev = 0
function mod:GreaterHealingPotion(args)
local t = args.time
if t-prev > 1.5 then
prev = t
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "alert")
end
end
end
function mod:Drain(args)
self:Message(args.spellId, "yellow")
self:PlaySound(args.spellId, "alert")
end
function mod:PyrrhicBlast(args)
self:Message(args.spellId, "red")
self:PlaySound(args.spellId, "alarm")
end
function mod:AccumulateCharge(args)
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "alert")
end
function mod:SnakeCharm(args)
self:Message(args.spellId, "orange")
self:PlaySound(args.spellId, "alert")
end
function mod:SnakeCharmApplied(args)
if self:Dispeller("magic") or self:Me(args.destGUID) then
self:TargetMessage(args.spellId, "red", args.destName)
self:PlaySound(args.spellId, "info", nil, args.destName)
end
end