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.

59 lines
1.6 KiB

local mod = DBM:NewMod(615, "DBM-Party-WotLK", 14, 280)
local L = mod:GetLocalizedStrings()
if not mod:IsClassic() then
mod.statTypes = "normal,heroic,timewalker"
end
mod:SetRevision("20230311193122")
mod:SetCreatureID(36497)
mod:SetEncounterID(2006)
mod:SetModelID(30226)
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_CAST_START 68872",
"SPELL_AURA_APPLIED 68839",
"UNIT_HEALTH boss1"
)
local warnSoulstormSoon = mod:NewSoonAnnounce(68872, 2)
local warnCorruptSoul = mod:NewTargetNoFilterAnnounce(68839, 4)
local specwarnSoulstorm = mod:NewSpecialWarningSpell(68872, nil, nil, nil, 2, 2)
local specwarnCorruptedSoul = mod:NewSpecialWarningMoveTo(68839, nil, nil, nil, 1, 7)
local timerSoulstormCast = mod:NewCastTimer(4, 68872, nil, nil, nil, 2)
mod.vb.warned_preStorm = false
function mod:OnCombatStart(delay)
self.vb.warned_preStorm = false
end
function mod:SPELL_CAST_START(args)
if args.spellId == 68872 then -- Soulstorm
specwarnSoulstorm:Show()
specwarnSoulstorm:Play("aesoon")
timerSoulstormCast:Start()
end
end
function mod:SPELL_AURA_APPLIED(args)
if args.spellId == 68839 then -- Corrupt Soul
if args:IsPlayer() then
specwarnCorruptedSoul:Show(DBM_COMMON_L.EDGE)
specwarnCorruptedSoul:Play("runtoedge")
else
warnCorruptSoul:Show(args.destName)
end
end
end
function mod:UNIT_HEALTH(uId)
if not self.vb.warned_preStorm and self:GetUnitCreatureId(uId) == 36497 and UnitHealth(uId) / UnitHealthMax(uId) <= 0.40 then
self.vb.warned_preStorm = true
warnSoulstormSoon:Show()
end
end