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.

524 lines
20 KiB

local mod = DBM:NewMod(1986, "DBM-Raids-Legion", 1, 946)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20240422191412")
mod:SetCreatureID(122468, 122467, 122469)--122468 Noura, 122467 Asara, 122469 Diima, 125436 Thu'raya (mythic only)
mod:SetEncounterID(2073)
mod:SetBossHPInfoToHighest()
mod:SetUsedIcons(1, 2, 5, 6, 7, 8)
mod:SetHotfixNoticeRev(16963)
mod.respawnTime = 25
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_CAST_START 245627 252861 253650 250648 250095",
"SPELL_CAST_SUCCESS 244899 253520 245532 250335 250333 250334 249793 245518 246329",
"SPELL_AURA_APPLIED 244899 253520 245518 245586 250757 249863",
"SPELL_AURA_APPLIED_DOSE 244899 245518",
"SPELL_AURA_REMOVED 253520 245586 249863 250757",
"SPELL_PERIODIC_DAMAGE 245634 253020",
"SPELL_PERIODIC_MISSED 245634 253020",
"UNIT_DIED",
"UNIT_TARGETABLE_CHANGED",
"UNIT_SPELLCAST_SUCCEEDED boss1 boss2 boss3 boss4 boss5"
)
local Noura = DBM:EJ_GetSectionInfo(15967)
local Asara = DBM:EJ_GetSectionInfo(15968)
local Diima = DBM:EJ_GetSectionInfo(15969)
local Thuraya = DBM:EJ_GetSectionInfo(16398)
local torment = DBM:EJ_GetSectionInfo(16138)
--TODO, verify timerBossIncoming on all difficulties
--TODO, transcribe/video and tweak some timers for activation especially timerStormofDarknessCD which had some timer refreshed debug
--[[
(ability.id = 245627 or ability.id = 252861 or ability.id = 253650 or ability.id = 250095 or ability.id = 250648) and type = "begincast"
or (ability.id = 244899 or ability.id = 245518 or ability.id = 253520 or ability.id = 245532 or ability.id = 250335 or ability.id = 250333 or ability.id = 250334 or ability.id = 249793 or ability.id = 250757 or ability.id = 246329) and type = "cast"
or ability.id = 250757 and type = "applydebuff"
--]]
--All
local warnActivated = mod:NewTargetAnnounce(118212, 3, 78740, nil, nil, nil, nil, nil, true)
local specWarnGTFO = mod:NewSpecialWarningGTFO(245634, nil, nil, nil, 1, 2)
local specWarnActivated = mod:NewSpecialWarningSwitchCount(118212, "Tank", nil, 2, 3, 2)
local timerBossIncoming = mod:NewTimer(61, "timerBossIncoming", nil, nil, nil, 1)
--local berserkTimer = mod:NewBerserkTimer(600)
--Noura, Mother of Flames
mod:AddTimerLine(Noura)
local warnFieryStrike = mod:NewStackAnnounce(244899, 2, nil, "Tank")
local warnWhirlingSaber = mod:NewSpellAnnounce(245627, 2)
local warnFulminatingPulse = mod:NewTargetAnnounce(253520, 3)
local specWarnFieryStrike = mod:NewSpecialWarningStack(244899, nil, 2, nil, nil, 1, 6)
local specWarnFieryStrikeOther = mod:NewSpecialWarningTaunt(244899, nil, nil, nil, 1, 2)
local specWarnFulminatingPulse = mod:NewSpecialWarningMoveAway(253520, nil, nil, nil, 1, 2)
local yellFulminatingPulse = mod:NewFadesYell(253520)
local timerFieryStrikeCD = mod:NewCDTimer(10.5, 244899, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerWhirlingSaberCD = mod:NewNextTimer(35.1, 245627, nil, nil, nil, 3)--35-45
local timerFulminatingPulseCD = mod:NewNextTimer(40.1, 253520, nil, nil, nil, 3, nil, nil, nil, mod:IsHealer() and 2 or nil, 4)
mod:AddSetIconOption("SetIconOnFulminatingPulse2", 253520, false)
--Asara, Mother of Night
mod:AddTimerLine(Asara)
local specWarnShadowBlades = mod:NewSpecialWarningDodge(246329, nil, nil, nil, 2, 2)
local specWarnStormofDarkness = mod:NewSpecialWarningCount(252861, nil, nil, nil, 2, 2)
local timerShadowBladesCD = mod:NewCDTimer(27.6, 246329, nil, nil, nil, 3)
local timerStormofDarknessCD = mod:NewNextCountTimer(56.8, 252861, nil, nil, nil, 2, nil, DBM_COMMON_L.HEALER_ICON, nil, 3, 4)--57+
--Diima, Mother of Gloom
mod:AddTimerLine(Diima)
local warnChilledBlood = mod:NewTargetAnnounce(245586, 2)
local warnFlashFreeze = mod:NewStackAnnounce(245518, 2, nil, "Tank")
local specWarnFlashfreeze = mod:NewSpecialWarningStack(245518, nil, 2, nil, nil, 1, 6)
local specWarnFlashfreezeOther = mod:NewSpecialWarningTaunt(245518, nil, nil, nil, 1, 2)
local yellFlashfreeze = mod:NewYell(245518, nil, false)
local specWarnChilledBlood = mod:NewSpecialWarningTarget(245586, "Healer", nil, nil, 1, 2)
local specWarnOrbofFrost = mod:NewSpecialWarningDodge(253650, nil, nil, nil, 1, 12)
local timerFlashFreezeCD = mod:NewCDTimer(10.1, 245518, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerChilledBloodCD = mod:NewNextTimer(25.4, 245586, nil, nil, nil, 5, nil, DBM_COMMON_L.HEALER_ICON)
local timerOrbofFrostCD = mod:NewNextTimer(30, 253650, nil, nil, nil, 3)
mod:AddSetIconOption("SetIconOnChilledBlood2", 245586, false)
mod:AddInfoFrameOption(245586, true)
--Thu'raya, Mother of the Cosmos (Mythic)
mod:AddTimerLine(Thuraya)
local warnCosmicGlare = mod:NewTargetAnnounce(250757, 3)
local specWarnTouchoftheCosmos = mod:NewSpecialWarningInterruptCount(250648, "HasInterrupt", nil, nil, 1, 2)
local specWarnCosmicGlare = mod:NewSpecialWarningYou(250757, nil, nil, nil, 1, 2)
local yellCosmicGlare = mod:NewYell(250757)
local yellCosmicGlareFades = mod:NewShortFadesYell(250757)
local timerCosmicGlareCD = mod:NewCDTimer(15.8, 250757, nil, nil, nil, 3, nil, DBM_COMMON_L.HEROIC_ICON)
mod:AddSetIconOption("SetIconOnCosmicGlare", 250757, true)
mod:AddBoolOption("IgnoreFirstKick", false)
--Torment of the Titans
mod:AddTimerLine(torment)
local specWarnTormentofTitans = mod:NewSpecialWarningSpell("ej16138", nil, nil, nil, 1, 7)
----Activations timers
local timerMachinationsofAmanThulCD = mod:NewCastTimer(85, 250335, nil, nil, nil, 6, nil, nil, nil, 1, 5)
local timerFlamesofKhazgorothCD = mod:NewCastTimer(85, 250333, nil, nil, nil, 6, nil, nil, nil, 1, 5)
local timerSpectralArmyofNorgannonCD = mod:NewCastTimer(85, 250334, nil, nil, nil, 6, nil, nil, nil, 1, 5)
local timerFuryofGolgannethCD = mod:NewCastTimer(85, 249793, nil, nil, nil, 6, nil, nil, nil, 1, 5)
----Actual phase stuff
local timerMachinationsofAman = mod:NewCastTimer(20, 250095, nil, nil, nil, 5, nil, DBM_COMMON_L.DAMAGE_ICON)
mod:AddNamePlateOption("NPAuraOnVisageofTitan", 249863)
--MISC option separated on purpose
mod:AddDropdownOption("InterruptBehavior", {"Three", "Four", "Five"}, "Three", "misc", nil, 250648)
mod:AddDropdownOption("TauntBehavior", {"TwoMythicThreeNon", "TwoAlways", "ThreeAlways"}, "TwoMythicThreeNon", "misc", nil, 244899)
local titanCount = {}
mod.vb.stormCount = 0
mod.vb.chilledCount = 0
mod.vb.MachinationsLeft = 0
mod.vb.fpIcon = 6
mod.vb.chilledIcon = 1
mod.vb.glareIcon = 4
mod.vb.touchCosmosCast = 0
mod.vb.interruptBehavior = "Three"
mod.vb.ignoreFirstInterrupt = false
mod.vb.firstCastHappend = false
local CVAR1, CVAR2 = nil, nil
function mod:OnCombatStart(delay)
self.vb.stormCount = 0
self.vb.chilledCount = 0
self.vb.MachinationsLeft = 0
self.vb.fpIcon = 4
self.vb.chilledIcon = 1
self.vb.glareIcon = 4
self.vb.touchCosmosCast = 0
self.vb.interruptBehavior = self.Options.InterruptBehavior--Default should be users setting
self.vb.ignoreFirstInterrupt = false
self.vb.firstCastHappend = false
if self:IsMythic() then
self:SetCreatureID(122468, 122467, 122469, 125436)
else
self:SetCreatureID(122468, 122467, 122469)
end
--Diima, Mother of Gloom is first one to go inactive
timerWhirlingSaberCD:Start(8-delay)
timerFieryStrikeCD:Start(11-delay)
timerShadowBladesCD:Start(10.9-delay)
if not self:IsEasy() then
timerFulminatingPulseCD:Start(20.3-delay)
timerStormofDarknessCD:Start(26-delay, 1)
end
if self.Options.NPAuraOnVisageofTitan then
DBM:FireEvent("BossMod_EnableHostileNameplates")
end
if UnitIsGroupLeader("player") and not self:IsLFR() then
if self.Options.InterruptBehavior == "Three" then
self:SendSync("Three", self.Options.IgnoreFirstKick)
elseif self.Options.InterruptBehavior == "Four" then
self:SendSync("Four", self.Options.IgnoreFirstKick)
elseif self.Options.InterruptBehavior == "Five" then
self:SendSync("Five", self.Options.IgnoreFirstKick)
end
end
end
function mod:OnCombatEnd()
table.wipe(titanCount)
if self.Options.InfoFrame then
DBM.InfoFrame:Hide()
end
if self.Options.NPAuraOnVisageofTitan then
DBM.Nameplate:Hide(true, nil, nil, nil, true, true)
end
end
function mod:OnTimerRecovery()
if self:IsMythic() then
self:SetCreatureID(122468, 122467, 122469, 125436)
else
self:SetCreatureID(122468, 122467, 122469)
end
end
function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 245627 then
warnWhirlingSaber:Show()
timerWhirlingSaberCD:Start()
elseif spellId == 252861 then
self.vb.stormCount = self.vb.stormCount + 1
specWarnStormofDarkness:Show(self.vb.stormCount)
specWarnStormofDarkness:Play("findshelter")
timerStormofDarknessCD:Start(56.8, self.vb.stormCount+1)
elseif spellId == 253650 then
specWarnOrbofFrost:Show()
specWarnOrbofFrost:Play("iceorbmove")
timerOrbofFrostCD:Start()
elseif spellId == 250095 and self:AntiSpam(3, 1) then
timerMachinationsofAman:Start()
elseif spellId == 250648 then
if (self.vb.interruptBehavior == "Three" and self.vb.touchCosmosCast == 4) or (self.vb.interruptBehavior == "Four" and self.vb.touchCosmosCast == 5) or (self.vb.interruptBehavior == "Five" and self.vb.touchCosmosCast == 6) then
self.vb.touchCosmosCast = 0
end
if self.vb.firstCastHappend or not self.vb.ignoreFirstInterrupt then
self.vb.touchCosmosCast = self.vb.touchCosmosCast + 1
end
local kickCount = self.vb.touchCosmosCast
specWarnTouchoftheCosmos:Show(args.sourceName, kickCount)
if kickCount == 0 then
specWarnTouchoftheCosmos:Play("kickcast")
else
specWarnTouchoftheCosmos:Play("kick"..kickCount.."r")
end
if not self.vb.firstCastHappend then self.vb.firstCastHappend = true end
end
end
function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 244899 then
timerFieryStrikeCD:Start()
elseif spellId == 245518 then
timerFlashFreezeCD:Start()
elseif spellId == 253520 and self:AntiSpam(3, 3) then
timerFulminatingPulseCD:Start()
elseif spellId == 245532 and self:AntiSpam(3, 2) then
timerChilledBloodCD:Start()
specWarnChilledBlood:Play("healall")
elseif (spellId == 250335 or spellId == 250333 or spellId == 250334 or spellId == 249793) and self:IsInCombat() then--Torment selections
if spellId == 250335 then--Machinations of Aman'Thul
timerMachinationsofAmanThulCD:Start()
elseif spellId == 250333 then--Flames of Khaz'goroth
timerFlamesofKhazgorothCD:Start()
elseif spellId == 250334 then--Spectral Army of Norgannon
timerSpectralArmyofNorgannonCD:Start()
elseif spellId == 249793 then--Fury of Golganneth
timerFuryofGolgannethCD:Start()
end
elseif spellId == 246329 then--Shadow Blades
specWarnShadowBlades:Show()
specWarnShadowBlades:Play("watchwave")
timerShadowBladesCD:Start()
end
end
function mod:SPELL_AURA_APPLIED(args)
local spellId = args.spellId
if spellId == 244899 then
local uId = DBM:GetRaidUnitId(args.destName)
if self:IsTanking(uId) then
local amount = args.amount or 1
local tauntStack = 3
if self:IsMythic() and self.Options.TauntBehavior == "TwoMythicThreeNon" or self.Options.TauntBehavior == "TwoAlways" then
tauntStack = 2
end
if amount >= tauntStack then
if args:IsPlayer() then--At this point the other tank SHOULD be clear.
specWarnFieryStrike:Show(amount)
specWarnFieryStrike:Play("stackhigh")
else
local _, _, _, _, _, expireTime = DBM:UnitDebuff("player", spellId)
local remaining
if expireTime then
remaining = expireTime-GetTime()
end
if not UnitIsDeadOrGhost("player") and (not remaining or remaining and remaining < 10) then
specWarnFieryStrikeOther:Show(args.destName)
specWarnFieryStrikeOther:Play("tauntboss")
else
warnFieryStrike:Show(args.destName, amount)
end
end
else
warnFieryStrike:Show(args.destName, amount)
end
end
elseif spellId == 253520 then
warnFulminatingPulse:CombinedShow(0.3, args.destName)
if args:IsPlayer() then
specWarnFulminatingPulse:Show()
specWarnFulminatingPulse:Play("runout")
yellFulminatingPulse:Countdown(10)
end
if self.Options.SetIconOnFulminatingPulse2 then
self:SetIcon(args.destName, self.vb.fpIcon)
end
self.vb.fpIcon = self.vb.fpIcon + 1
if self.vb.fpIcon == 9 then
self.vb.fpIcon = 6
end
elseif spellId == 245518 then
local uId = DBM:GetRaidUnitId(args.destName)
if self:IsTanking(uId) then
local amount = args.amount or 1
local tauntStack = 3
if self:IsMythic() and self.Options.TauntBehavior == "TwoMythicThreeNon" or self.Options.TauntBehavior == "TwoAlways" then
tauntStack = 2
end
if amount >= tauntStack then--Lasts 30 seconds, unknown reapplication rate, fine tune!
if args:IsPlayer() then--At this point the other tank SHOULD be clear.
specWarnFlashfreeze:Show(amount)
specWarnFlashfreeze:Play("stackhigh")
else--Taunt as soon as stacks are clear, regardless of stack count.
local _, _, _, _, _, expireTime = DBM:UnitDebuff("player", spellId)
local remaining
if expireTime then
remaining = expireTime-GetTime()
end
if not UnitIsDeadOrGhost("player") and (not remaining or remaining and remaining < 9.6) then
specWarnFlashfreezeOther:Show(args.destName)
specWarnFlashfreezeOther:Play("tauntboss")
else
warnFlashFreeze:Show(args.destName, amount)
end
end
else
warnFlashFreeze:Show(args.destName, amount)
end
end
elseif spellId == 245586 then
self.vb.chilledCount = self.vb.chilledCount + 1
if self.Options.specwarn245586target then
specWarnChilledBlood:CombinedShow(0.3, args.destName)
else
warnChilledBlood:CombinedShow(0.3, args.destName)
end
if self.Options.InfoFrame and not DBM.InfoFrame:IsShown() then
DBM.InfoFrame:SetHeader(args.spellName)
DBM.InfoFrame:Show(6, "playerabsorb", args.spellName, select(16, DBM:UnitDebuff(args.destName, args.spellName)))
end
if self.Options.SetIconOnChilledBlood2 then
self:SetIcon(args.destName, self.vb.chilledIcon)
end
self.vb.chilledIcon = self.vb.chilledIcon + 1
if self.vb.chilledIcon == 3 then
self.vb.chilledIcon = 5
elseif self.vb.chilledIcon == 6 then
self.vb.chilledIcon = 1
end
elseif spellId == 250757 then
warnCosmicGlare:CombinedShow(0.3, args.destName)
if args:IsPlayer() then
specWarnCosmicGlare:Show()
specWarnCosmicGlare:Play("targetyou")
yellCosmicGlare:Yell()
yellCosmicGlareFades:Countdown(4)
end
if self.Options.SetIconOnCosmicGlare then
self:SetIcon(args.destName, self.vb.glareIcon)
end
self.vb.glareIcon = self.vb.glareIcon + 1
if self.vb.glareIcon == 6 then
self.vb.glareIcon = 4
end
elseif spellId == 249863 then
if self.Options.NPAuraOnVisageofTitan then
DBM.Nameplate:Show(true, args.destGUID, spellId, nil, 30)
end
end
end
mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
function mod:SPELL_AURA_REMOVED(args)
local spellId = args.spellId
if spellId == 253520 then
if args:IsPlayer() then
yellFulminatingPulse:Cancel()
end
if self.Options.SetIconOnFulminatingPulse2 then
self:SetIcon(args.destName, 0)
end
elseif spellId == 245586 then
self.vb.chilledCount = self.vb.chilledCount - 1
if self.Options.InfoFrame and self.vb.chilledCount == 0 then
DBM.InfoFrame:Hide()
end
if self.Options.SetIconOnChilledBlood2 then
self:SetIcon(args.destName, 0)
end
elseif spellId == 249863 then--Bonecage Armor
if self.Options.NPAuraOnVisageofTitan then
DBM.Nameplate:Hide(true, args.destGUID, spellId)
end
elseif spellId == 250757 then
if args:IsPlayer() then
yellCosmicGlareFades:Cancel()
end
if self.Options.SetIconOnCosmicGlare then
self:SetIcon(args.destName, 0)
end
end
end
function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName)
if (spellId == 245634 or spellId == 253020) and destGUID == UnitGUID("player") and self:AntiSpam(2, 4) then
specWarnGTFO:Show(spellName)
specWarnGTFO:Play("runaway")
end
end
mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE
function mod:UNIT_DIED(args)
local cid = self:GetCIDFromGUID(args.destGUID)
if cid == 125837 then--Torment of Amanthul
self.vb.MachinationsLeft = self.vb.MachinationsLeft - 1
if self.vb.MachinationsLeft == 0 then
timerMachinationsofAman:Stop()
end
end
end
--"<94.13 21:56:15> [UNIT_SPELLCAST_SUCCEEDED] Diima, Mother of Gloom(??) [[boss3:Torment of Khaz'goroth::3-3779-1712-25990-259066-00119F734F:259066]]", -- [1126]
--"<94.33 21:56:15> [CHAT_MSG_RAID_BOSS_EMOTE] |TInterface\\Icons\\ABILITY_MONK_BREATHOFFIRE:20|tThe Coven prepares to unleash the |cFFFF0000|Hspell:245671|h[Flames of Khaz'goroth]|h|r!#Diima, Mother of Gloom###
function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
if spellId == 259068 or spellId == 259066 or spellId == 259069 or spellId == 259070 then
local name = UnitName(uId)
name = string.split(",", name)--Strip title
specWarnTormentofTitans:Show()
if spellId == 259068 then--Torment of Aman'Thul
self.vb.MachinationsLeft = 4
specWarnTormentofTitans:Play("killmob")
elseif spellId == 259066 then--Torment of Khaz'goroth
specWarnTormentofTitans:Play("runtoedge")
specWarnTormentofTitans:ScheduleVoice(1, "killmob")
elseif spellId == 259069 then--Torment of Norgannon
specWarnTormentofTitans:Play("watchstep")
elseif spellId == 259070 then--Torment of Golganneth
specWarnTormentofTitans:Play("scatter")
specWarnTormentofTitans:ScheduleVoice(1, "killmob")
end
if not titanCount[name] then
titanCount[name] = 1
elseif titanCount[name] then
titanCount[name] = titanCount[name] + 1
end
if titanCount[name] == 2 then
titanCount[name] = 0
timerBossIncoming:Start(8.7, name)
end
DBM:Debug("UNIT_SPELLCAST_SUCCEEDED fired with: "..name, 2)
elseif spellId == 250752 then--Cosmic Glare
timerCosmicGlareCD:Start()
end
end
--"<196.23 00:02:34> [UNIT_TARGETABLE_CHANGED] boss3#true#true#true#Diima, Mother of Gloom#Creature-0-2083-1712-12288-122469-0000111E27#elite#2150947263", -- [1436]
--"<196.23 00:02:34> [UNIT_TARGETABLE_CHANGED] nameplate2#false#false#true#Noura, Mother of Flames#Creature-0-2083-1712-12288-122468-0000111E27#elite#2150947229", -- [1437]
--"<196.23 00:02:34> [UNIT_TARGETABLE_CHANGED] boss2#false#false#true#Noura, Mother of Flames#Creature-0-2083-1712-12288-122468-0000111E27#elite#2150947229", -- [1438]
--"<198.19 00:02:36> [UNIT_SPELLCAST_SUCCEEDED] Noura, Mother of Flames(??) [[boss2:Spectral Army of Norgannon::3-2083-1712-12288-250334-000B1120DC:250334]]", -- [1456]
function mod:UNIT_TARGETABLE_CHANGED(uId)
local cid = self:GetUnitCreatureId(uId)
local targetWeWarn = false
if UnitExists(uId) then
targetWeWarn = true
DBM:Debug("UNIT_TARGETABLE_CHANGED, Boss Engaging", 2)
else
DBM:Debug("UNIT_TARGETABLE_CHANGED, Boss Leaving", 2)
end
if targetWeWarn then
if self.Options.SpecWarn118212switchcount then
specWarnActivated:Show(UnitName(uId))
specWarnActivated:Play("changetarget")
else
warnActivated:Show(UnitName(uId))
end
end
if cid == 122468 then--Noura
if targetWeWarn then
timerWhirlingSaberCD:Start(9)
timerFieryStrikeCD:Start(11.8)
if not self:IsEasy() then
timerFulminatingPulseCD:Start(20.6)
end
else
timerFieryStrikeCD:Stop()
timerWhirlingSaberCD:Stop()
timerFulminatingPulseCD:Stop()
end
elseif cid == 122467 then--Asara
if targetWeWarn then
--TODO, timers, never saw her leave so never saw her return
else
timerShadowBladesCD:Stop()
timerStormofDarknessCD:Stop()
end
elseif cid == 122469 then--Diima
if targetWeWarn then
timerChilledBloodCD:Start(6.5)
timerFlashFreezeCD:Start(10.1)
if not self:IsEasy() then
timerOrbofFrostCD:Start(30)
end
else
timerFlashFreezeCD:Stop()
timerChilledBloodCD:Stop()
timerOrbofFrostCD:Stop()
end
elseif cid == 125436 then--Thu'raya (mythic only)
if targetWeWarn then
self.vb.touchCosmosCast = 0
timerCosmicGlareCD:Start(5)
else
timerCosmicGlareCD:Stop()
end
end
end
function mod:OnSync(msg, firstInterrupt)
if self:IsLFR() then return end
if msg == "Three" then
self.vb.interruptBehavior = "Three"
elseif msg == "Four" then
self.vb.interruptBehavior = "Four"
elseif msg == "Five" then
self.vb.interruptBehavior = "Five"
end
if firstInterrupt then
self.vb.ignoreFirstInterrupt = firstInterrupt == "true" and true or false
end
end