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.
101 lines
2.9 KiB
101 lines
2.9 KiB
local mod = DBM:NewMod(1694, "DBM-Party-Legion", 9, 777)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod.statTypes = "normal,heroic,mythic"
|
|
|
|
mod:SetRevision("20220116042005")
|
|
mod:SetCreatureID(101951)
|
|
mod:SetEncounterID(1845)
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_AURA_APPLIED 202062",
|
|
"SPELL_AURA_REMOVED 202062",
|
|
"SPELL_CAST_START 201672 201960",
|
|
"SPELL_CAST_SUCCESS 202062 201379"
|
|
)
|
|
|
|
local warnBreath = mod:NewSpellAnnounce(201379, 2, nil, "Tank")
|
|
|
|
local specWarnRelentlessStorm = mod:NewSpecialWarningDodge(201672, nil, nil, nil, 2, 2)
|
|
local specWarnFrigidWinds = mod:NewSpecialWarningMoveAway(201672, nil, nil, nil, 1, 2)
|
|
local specWarnIceBomb = mod:NewSpecialWarningDodge(201960, nil, nil, nil, 3, 2)
|
|
|
|
local timerRelentlessStormCD = mod:NewNextTimer(14, 201672, nil, nil, nil, 3)--14, 47 alternating
|
|
local timerFrigidWindsCD = mod:NewNextTimer(61, 202062, nil, nil, nil, 3, nil, DBM_COMMON_L.HEROIC_ICON)
|
|
local timerIceBombCD = mod:NewNextTimer(61, 201960, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON)
|
|
local timerFrostBreathCD = mod:NewNextTimer(61, 201379, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
|
|
|
|
mod:AddRangeFrameOption(8, 202062)
|
|
|
|
mod.vb.stormCount = 0
|
|
mod.vb.breathCount = 0
|
|
|
|
function mod:OnCombatStart(delay)
|
|
self.vb.stormCount = 0
|
|
self.vb.breathCount = 0
|
|
timerFrostBreathCD:Start(5-delay)
|
|
timerRelentlessStormCD:Start(11-delay)
|
|
if not self:IsNormal() then
|
|
timerFrigidWindsCD:Start(36.5-delay)
|
|
end
|
|
timerIceBombCD:Start(45-delay)
|
|
end
|
|
|
|
function mod:OnCombatEnd()
|
|
if self.Options.RangeFrame then
|
|
DBM.RangeCheck:Hide()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
local spellId = args.spellId
|
|
if spellId == 202062 then
|
|
timerFrigidWindsCD:Start()
|
|
elseif spellId == 201379 then
|
|
self.vb.breathCount = self.vb.breathCount + 1
|
|
warnBreath:Show()
|
|
if self.vb.breathCount % 2 == 0 then
|
|
timerFrostBreathCD:Start(35)
|
|
else
|
|
timerFrostBreathCD:Start(26)
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 202062 and args:IsPlayer() then
|
|
specWarnFrigidWinds:Show()
|
|
specWarnFrigidWinds:Play("scatter")
|
|
if self.Options.RangeFrame then
|
|
DBM.RangeCheck:Show(8)
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_REMOVED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 202062 and args:IsPlayer() and self.Options.RangeFrame then
|
|
DBM.RangeCheck:Hide()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 201672 then
|
|
self.vb.stormCount = self.vb.stormCount + 1
|
|
specWarnRelentlessStorm:Show()
|
|
specWarnRelentlessStorm:Play("watchstep")
|
|
if self.vb.stormCount % 2 == 0 then
|
|
timerRelentlessStormCD:Start(47)
|
|
else
|
|
timerRelentlessStormCD:Start(14)
|
|
end
|
|
elseif spellId == 201960 then
|
|
specWarnIceBomb:Show()
|
|
specWarnIceBomb:Play("findshelter")
|
|
timerIceBombCD:Start()
|
|
end
|
|
end
|
|
|