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.
96 lines
2.9 KiB
96 lines
2.9 KiB
local mod = DBM:NewMod(640, "DBM-Party-WotLK", 10, 285)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
if not mod:IsClassic() then
|
|
mod.statTypes = "normal,heroic,timewalker"
|
|
end
|
|
|
|
mod:SetRevision("20240115231709")
|
|
mod:SetCreatureID(23954)--23980 is no longer used like it was in wrath. Kept just to keep first death from ending fight early
|
|
mod:SetMainBossID(23954)
|
|
mod:SetEncounterID(2025)
|
|
mod:DisableBossDeathKill()
|
|
|
|
mod:RegisterCombat("combat")
|
|
mod:RegisterKill("yell", L.YellCombatEnd)--Yell seems removed on retail, but maybe it'll return in classic WoTLK. Although I doubt it. Classic viscidous removedd explode emote on retail AND classic
|
|
|
|
if mod:IsClassic() then
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_START 42723 42669 59706 59709 42708 42729 59708 59734",
|
|
"SPELL_AURA_APPLIED 42730 59735",
|
|
"SPELL_AURA_REMOVED 42730 59735",
|
|
"UNIT_DIED",
|
|
"UNIT_SPELLCAST_SUCCEEDED"
|
|
)
|
|
else
|
|
mod.statTypes = "normal,heroic,timewalker"
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_START 42723 42669 59706 59709 42708 42729 59708 59734",
|
|
"SPELL_AURA_APPLIED 42730 59735",
|
|
"SPELL_AURA_REMOVED 42730 59735",
|
|
"UNIT_DIED",
|
|
"UNIT_SPELLCAST_SUCCEEDED boss1"
|
|
)
|
|
end
|
|
|
|
local warningWoeStrike = mod:NewTargetNoFilterAnnounce(42730, 2, nil, "RemoveCurse", 2)
|
|
|
|
local specWarnSpelllock = mod:NewSpecialWarningCast(42729, "SpellCaster", nil, 2, 1, 2)
|
|
local specWarnSmash = mod:NewSpecialWarningDodge(42723, "Tank", nil, nil, 1, 2)
|
|
|
|
local timerSmash = mod:NewCastTimer(3, 42723, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)
|
|
local timerWoeStrike = mod:NewTargetTimer(10, 42723, nil, "RemoveCurse", nil, 5, nil, DBM_COMMON_L.CURSE_ICON)
|
|
|
|
function mod:OnCombatStart(delay)
|
|
self:SetStage(1)
|
|
end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
if args:IsSpellID(42723, 42669, 59706, 59709) then
|
|
specWarnSmash:Show()
|
|
specWarnSmash:Play("shockwave")
|
|
timerSmash:Start()
|
|
elseif args:IsSpellID(42708, 42729, 59708, 59734) then
|
|
specWarnSpelllock:Show()
|
|
specWarnSpelllock:Play("stopcast")
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
if args:IsSpellID(42730, 59735) then
|
|
warningWoeStrike:Show(args.destName)
|
|
timerWoeStrike:Start(args.destName)
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_REMOVED(args)
|
|
if args:IsSpellID(42730, 59735) then
|
|
timerWoeStrike:Cancel()
|
|
end
|
|
end
|
|
|
|
function mod:UNIT_DIED(args)
|
|
local cid = self:GetCIDFromGUID(args.destGUID)
|
|
if cid == 23954 then--Only trigger kill for unit_died if he dies in phase 2 with at least one player alive, otherwise it's an auto wipe.
|
|
if DBM:NumRealAlivePlayers() > 0 and self:GetStage(2) then
|
|
DBM:EndCombat(self)
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
|
|
if spellId == 42863 then -- Scourge Resurrection
|
|
if self:IsClassic() then
|
|
self:SendSync("Stage2")
|
|
else
|
|
self:SetStage(2)
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:OnSync(event, arg)
|
|
if not self:IsInCombat() then return end
|
|
if event == "Stage2" then
|
|
self:SetStage(2)
|
|
end
|
|
end
|
|
|