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.8 KiB
87 lines
2.8 KiB
local mod = DBM:NewMod(122, "DBM-Party-Cataclysm", 5, 69)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod.statTypes = "normal,heroic,timewalker"
|
|
|
|
mod:SetRevision("20200912135206")
|
|
mod:SetCreatureID(44819)
|
|
mod:SetEncounterID(1055)
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_AURA_APPLIED 84982",
|
|
"SPELL_CAST_START 84522 91872",
|
|
"SPELL_CAST_SUCCESS 84589 83066 83151",
|
|
"SPELL_SUMMON 84547 84553 84554"
|
|
)
|
|
|
|
local warnStaticShock = mod:NewCountAnnounce(84547, 4) -- Summons a "Servant of Siamat"
|
|
local warnThunderCrash = mod:NewCastAnnounce(84522, 3)
|
|
local warnDeflectingWinds = mod:NewSpellAnnounce(84589, 3)
|
|
local warnWailingWinds = mod:NewSpellAnnounce(83066, 3)--Useful?
|
|
local warnAbsorbStorms = mod:NewSpellAnnounce(83151, 2, nil, false, 2)
|
|
local warnGatheredStorms = mod:NewSpellAnnounce(84982, 3)
|
|
local warnLightningCharge = mod:NewCastAnnounce(91872, 3)
|
|
|
|
local specWarnPhase2Soon = mod:NewSpecialWarning("specWarnPhase2Soon", true, nil, nil, 2, 2)
|
|
|
|
local timerThunderCrash = mod:NewCastTimer(3, 84522, nil, nil, nil, 3)
|
|
local timerWailingWinds = mod:NewBuffActiveTimer(6, 83066, nil, nil, nil, 3)
|
|
local timerAbsorbStorms = mod:NewCDTimer(33, 83151, nil, false, 2)
|
|
local timerGatheredStorms = mod:NewBuffActiveTimer(25, 84982, nil, false, 2)
|
|
local timerPhase2Start = mod:NewPhaseTimer(5)
|
|
|
|
mod.vb.servantSpawn = 0
|
|
mod.vb.thirdServant = 0
|
|
|
|
function mod:OnCombatStart(delay)
|
|
self.vb.servantSpawn = 0
|
|
self.vb.thirdServant = 0
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 84982 then
|
|
warnGatheredStorms:Show()
|
|
timerGatheredStorms:Start()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 84522 then
|
|
warnThunderCrash:Show()
|
|
timerThunderCrash:Start()
|
|
elseif spellId == 91872 then
|
|
warnLightningCharge:Show()
|
|
if args.sourceGUID == self.vb.thirdServant then--Third add to have spawned is dying and casting Lightning Charge
|
|
specWarnPhase2Soon:Show()
|
|
specWarnPhase2Soon:Play("ptwo")
|
|
timerPhase2Start:Start()--Phase 2 starts 5 seconds after 3rd add casts static charge regardless of whether or not other adds are dead.
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
local spellId = args.spellId
|
|
if spellId == 84589 then
|
|
warnDeflectingWinds:Show()
|
|
elseif spellId == 83066 then
|
|
warnWailingWinds:Show()
|
|
timerWailingWinds:Start()
|
|
elseif spellId == 83151 then
|
|
warnAbsorbStorms:Show()
|
|
timerAbsorbStorms:Start()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_SUMMON(args)
|
|
if args:IsSpellID(84547, 84553, 84554) then
|
|
self.vb.servantSpawn = self.vb.servantSpawn + 1
|
|
warnStaticShock:Show(self.vb.servantSpawn)
|
|
if self.vb.thirdServant == 3 then--Third add spawned
|
|
self.vb.thirdServant = args.destGUID
|
|
end
|
|
end
|
|
end
|
|
|