diff --git a/DBM-Party-Dragonflight/TheAzurevault/Umbrelskul.lua b/DBM-Party-Dragonflight/TheAzurevault/Umbrelskul.lua index 93b2777b..516e155a 100644 --- a/DBM-Party-Dragonflight/TheAzurevault/Umbrelskul.lua +++ b/DBM-Party-Dragonflight/TheAzurevault/Umbrelskul.lua @@ -48,16 +48,6 @@ function mod:OnCombatStart(delay) timerCrystallineRoarCD:Start(12.3-delay) timerArcaneEruptionCD:Start(28.9-delay)--28.9-37, Highly variable if it gets spell queued behind more tank casts timerUnleashedDestructionCD:Start(48.2-delay) - if self.Options.InfoFrame then - DBM.InfoFrame:SetHeader(DBM:GetSpellInfo(388777)) - DBM.InfoFrame:Show(5, "playerdebuffremaining", 388777) - end -end - -function mod:OnCombatEnd() - if self.Options.InfoFrame then - DBM.InfoFrame:Hide() - end end function mod:SPELL_CAST_START(args) diff --git a/DBM-Party-WarWithin/CinderbrewMeadery/BenkBuzzbee.lua b/DBM-Party-WarWithin/CinderbrewMeadery/BenkBuzzbee.lua index 72289e0c..f2494ae7 100644 --- a/DBM-Party-WarWithin/CinderbrewMeadery/BenkBuzzbee.lua +++ b/DBM-Party-WarWithin/CinderbrewMeadery/BenkBuzzbee.lua @@ -2,7 +2,7 @@ local mod = DBM:NewMod(2588, "DBM-Party-WarWithin", 7, 1272) local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") ---mod:SetCreatureID(189232) +mod:SetCreatureID(218000) mod:SetEncounterID(2931) --mod:SetHotfixNoticeRev(20220322000000) --mod:SetMinSyncRevision(20211203000000) diff --git a/DBM-Party-WarWithin/CinderbrewMeadery/BrewMasterAldryr.lua b/DBM-Party-WarWithin/CinderbrewMeadery/BrewMasterAldryr.lua index 3d13ab2d..047ef4a5 100644 --- a/DBM-Party-WarWithin/CinderbrewMeadery/BrewMasterAldryr.lua +++ b/DBM-Party-WarWithin/CinderbrewMeadery/BrewMasterAldryr.lua @@ -2,7 +2,7 @@ local mod = DBM:NewMod(2586, "DBM-Party-WarWithin", 7, 1272) local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") ---mod:SetCreatureID(189232) +mod:SetCreatureID(210271) mod:SetEncounterID(2900) --mod:SetHotfixNoticeRev(20220322000000) --mod:SetMinSyncRevision(20211203000000) @@ -12,41 +12,87 @@ mod.sendMainBossGUID = true mod:RegisterCombat("combat") mod:RegisterEventsInCombat( --- "SPELL_CAST_START", + "SPELL_CAST_START 442525 432198 432179 432229", -- "SPELL_CAST_SUCCESS", --- "SPELL_AURA_APPLIED", --- "SPELL_AURA_REMOVED" --- "SPELL_PERIODIC_DAMAGE", --- "SPELL_PERIODIC_MISSED" --- "UNIT_SPELLCAST_SUCCEEDED boss1" + "SPELL_AURA_APPLIED 431896", + "SPELL_AURA_REMOVED 442525 431896", + "SPELL_PERIODIC_DAMAGE 432182", + "SPELL_PERIODIC_MISSED 432182" +-- "UNIT_SPELLCAST_SUCCEEDED"--All units since we need to find adds casting it (unless boss does) ) ---local warnSomeAbility = mod:NewSpellAnnounce(373087, 3) +--TODO, or use 442611 removed (Disregard) if happy hour removed doesn't work +--TODO, upgrade brawl to higher prio warning?, assuming detection even valid +--TODO, verify nameplate aura for thirsty/Rowdy patrons, cause if they aren't hostile it won't work (in which case switch to auto marking probably) +--TODO, reset counts on happy hour? +local warnHappyHour = mod:NewSpellAnnounce(442525, 3) +local warnHappyHourOver = mod:NewEndAnnounce(442525, 2) +local warnThrowCinderbrew = mod:NewSpellAnnounce(432179, 2) ---local specWarnSomeAbility = mod:NewSpecialWarningDefensive(372858, nil, nil, nil, 1, 2) +local specWarnBlazingBelch = mod:NewSpecialWarningDodgeCount(432198, nil, nil, nil, 2, 2) +local specWarnKegSmash = mod:NewSpecialWarningCount(432229, nil, nil, nil, 1, 2) --local yellSomeAbility = mod:NewYell(372107) ---local specWarnGTFO = mod:NewSpecialWarningGTFO(372820, nil, nil, nil, 1, 8) - ---local timerSomeAbilityCD = mod:NewAITimer(33.9, 372863, nil, nil, nil, 3) - ---local castsPerGUID = {} - - ---function mod:OnCombatStart(delay) - ---end - ---function mod:OnCombatEnd() +local specWarnBrawl = mod:NewSpecialWarningDodge(445180, nil, nil, nil, 2, 2) +local specWarnGTFO = mod:NewSpecialWarningGTFO(432182, nil, nil, nil, 1, 8) + +local timerHappyHourCD = mod:NewAITimer(33.9, 442525, nil, nil, nil, 6) +local timerBlazingBelchCD = mod:NewAITimer(33.9, 432198, nil, nil, nil, 3) +local timerThrowCinderbrewCD = mod:NewAITimer(33.9, 432179, nil, nil, nil, 3) +local timerKegSmashCD = mod:NewAITimer(33.9, 432229, nil, "Tank|Healer", nil, 5, nil, DBM_COMMON_L.TANK_ICON) + +mod:AddNamePlateOption("NPAuraOnThirsty", 431896) + +mod.vb.happyHourCount = 0 +mod.vb.belchCount = 0 +mod.vb.cinderbrewCount = 0 +mod.vb.kegCount = 0 + +function mod:OnCombatStart(delay) + self.vb.happyHourCount = 0 + self.vb.belchCount = 0 + self.vb.cinderbrewCount = 0 + self.vb.kegCount = 0 + timerBlazingBelchCD:Start(1) + timerHappyHourCD:Start(1) + timerThrowCinderbrewCD:Start(1) + timerKegSmashCD:Start(1) + if self.Options.NPAuraOnThirsty then + DBM:FireEvent("BossMod_EnableHostileNameplates") + end +end ---end +function mod:OnCombatEnd() + if self.Options.NPAuraOnThirsty then + DBM.Nameplate:Hide(true, nil, nil, nil, true, true) + end +end ---[[ function mod:SPELL_CAST_START(args) local spellId = args.spellId - if spellId == 372107 then + if spellId == 442525 then + self.vb.happyHourCount = self.vb.happyHourCount + 1 + warnHappyHour:Show() + timerBlazingBelchCD:Stop() + timerThrowCinderbrewCD:Stop() + timerKegSmashCD:Stop() + elseif spellId == 432198 then + self.vb.belchCount = self.vb.belchCount + 1 + specWarnBlazingBelch:Show(self.vb.belchCount) + specWarnBlazingBelch:Play("breathsoon") + timerBlazingBelchCD:Start() + elseif spellId == 432179 then + self.vb.cinderbrewCount = self.vb.cinderbrewCount + 1 + warnThrowCinderbrew:Show(self.vb.cinderbrewCount) + timerThrowCinderbrewCD:Start() + elseif spellId == 432229 then + self.vb.kegCount = self.vb.kegCount + 1 + if self:IsTanking("player", "boss1", nil, true) then + specWarnKegSmash:Show(self.vb.kegCount) + specWarnKegSmash:Play("carefly") + end + timerKegSmashCD:Start() end end ---]] --[[ function mod:SPELL_CAST_SUCCESS(args) @@ -57,25 +103,42 @@ function mod:SPELL_CAST_SUCCESS(args) end --]] ---[[ function mod:SPELL_AURA_APPLIED(args) local spellId = args.spellId - if spellId == 372858 then - + if spellId == 431896 then + if self.Options.NPAuraOnThirsty then + DBM.Nameplate:Show(true, args.destGUID, spellId) + end end end --mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED ---]] ---[[ +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 442525 then + warnHappyHourOver:Show() + if self:IsMythic() then + specWarnBrawl:Show() + specWarnBrawl:Play("watcstep") + end + timerHappyHourCD:Start(2) + timerBlazingBelchCD:Start(2) + timerThrowCinderbrewCD:Start(2) + timerKegSmashCD:Start(2) + elseif spellId == 431896 then + if self.Options.NPAuraOnThirsty then + DBM.Nameplate:Hide(true, args.destGUID, spellId) + end + end +end + function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName) - if spellId == 372820 and destGUID == UnitGUID("player") and self:AntiSpam(3, 2) then + if spellId == 432182 and destGUID == UnitGUID("player") and self:AntiSpam(3, 2) then specWarnGTFO:Show(spellName) specWarnGTFO:Play("watchfeet") end end mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE ---]] --[[ function mod:UNIT_DIED(args) @@ -88,8 +151,8 @@ end --[[ function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId) - if spellId == 74859 then - + if spellId == 445150 and self:AntiSpam(3, 1) then + specWarnBrawl:Show() end end --]] diff --git a/DBM-Party-WarWithin/CinderbrewMeadery/GoldieBaronbottom.lua b/DBM-Party-WarWithin/CinderbrewMeadery/GoldieBaronbottom.lua index 9dabaf57..f23b42ba 100644 --- a/DBM-Party-WarWithin/CinderbrewMeadery/GoldieBaronbottom.lua +++ b/DBM-Party-WarWithin/CinderbrewMeadery/GoldieBaronbottom.lua @@ -2,8 +2,9 @@ local mod = DBM:NewMod(2589, "DBM-Party-WarWithin", 7, 1272) local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") ---mod:SetCreatureID(189232) +mod:SetCreatureID(218523) mod:SetEncounterID(2930) +mod:SetUsedIcons(1, 2) --mod:SetHotfixNoticeRev(20220322000000) --mod:SetMinSyncRevision(20211203000000) --mod.respawnTime = 29 @@ -12,60 +13,131 @@ mod.sendMainBossGUID = true mod:RegisterCombat("combat") mod:RegisterEventsInCombat( --- "SPELL_CAST_START", --- "SPELL_CAST_SUCCESS", --- "SPELL_AURA_APPLIED", --- "SPELL_AURA_REMOVED" + "SPELL_CAST_START 435622 435560 436592", + "SPELL_CAST_SUCCESS 436644", + "SPELL_AURA_APPLIED 435789 436644", +-- "SPELL_AURA_APPLIED_DOSE 435789", + "SPELL_AURA_REMOVED 435789 436644" -- "SPELL_PERIODIC_DAMAGE", -- "SPELL_PERIODIC_MISSED" -- "UNIT_SPELLCAST_SUCCEEDED boss1" ) ---local warnSomeAbility = mod:NewSpellAnnounce(373087, 3) - ---local specWarnSomeAbility = mod:NewSpecialWarningDefensive(372858, nil, nil, nil, 1, 2) ---local yellSomeAbility = mod:NewYell(372107) +--TODO, track number of remaining bombs and cahnge emphasis of Hail if more than a couple? +--TODO, warn cinderboom going off, but which ID, there are 4 of them, and it might not even be CLEU +--TODO, right event for spread the love timer/announce +--TODO, can bombs be auto marked with https://www.wowhead.com/beta/spell=435567/spread-the-love and https://www.wowhead.com/beta/spell=439517/spread-the-love +--TODO, do timers reset on Hail? +--TODO, can tank sidestep frontal? +local warnSpreadtheLove = mod:NewCountAnnounce(435560, 3)--Maybe change to bomb count not spread count, or show both +local warnBurningRicochet = mod:NewTargetNoFilterAnnounce(436644, 4) + +local specWarnLetItHail = mod:NewSpecialWarningCount(435622, nil, nil, nil, 2, 2) +local specWarnBurningRicochet = mod:NewSpecialWarningYouPos(436644, nil, nil, nil, 1, 2) +local yellBurningRicochet = mod:NewShortPosYell(436644) +local yellBurningRicochetFades = mod:NewIconFadesYell(436644) +local specWarnCashCannon = mod:NewSpecialWarningCount(436592, nil, nil, nil, 2, 2) --local specWarnGTFO = mod:NewSpecialWarningGTFO(372820, nil, nil, nil, 1, 8) ---local timerSomeAbilityCD = mod:NewAITimer(33.9, 372863, nil, nil, nil, 3) - ---local castsPerGUID = {} - - ---function mod:OnCombatStart(delay) - ---end +local timerLetItHailCD = mod:NewAITimer(33.9, 435622, nil, nil, nil, 2) +local timerCinderWounds = mod:NewBuffFadesTimer(33.9, 435789, nil, nil, nil, 5, nil, DBM_COMMON_L.MAGIC_ICON) +local timerSpreadtheLoveCD = mod:NewAITimer(33.9, 435560, nil, nil, nil, 5) +local timerBurningRicochetCD = mod:NewAITimer(33.9, 436644, nil, nil, nil, 3) +local timerCashCannonCD = mod:NewAITimer(33.9, 436592, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON) + +mod:AddSetIconOption("SetIconOnRico", 436644, true, false, {1, 2}) + +mod.vb.hailCount = 0 +mod.vb.debuffsTracked = 0 +mod.vb.spreadCount = 0 +mod.vb.ricochetCount = 0 +mod.vb.DebuffIcon = 1 +mod.vb.cannonCount = 0 + +function mod:OnCombatStart(delay) + self.vb.hailCount = 0 + self.vb.debuffsTracked = 0 + self.vb.spreadCount = 0 + self.vb.ricochetCount = 0 + self.vb.DebuffIcon = 1 + self.vb.cannonCount = 0 + timerLetItHailCD:Start(1) + timerSpreadtheLoveCD:Start(1) + timerBurningRicochetCD:Start(1) + timerCashCannonCD:Start(1) +end --function mod:OnCombatEnd() --end ---[[ function mod:SPELL_CAST_START(args) local spellId = args.spellId - if spellId == 372107 then + if spellId == 435622 then + self.vb.hailCount = self.vb.hailCount + 1 + specWarnLetItHail:Show(self.vb.hailCount) + specWarnLetItHail:Play("specialsoon") + timerLetItHailCD:Start() + elseif spellId == 435560 then + self.vb.spreadCount = self.vb.spreadCount + 1 + warnSpreadtheLove:Show(self.vb.spreadCount) + timerSpreadtheLoveCD:Start() + elseif spellId == 436592 then + self.vb.cannonCount = self.vb.cannonCount + 1 + if self:IsTanking("player", "boss1", nil, true) then + specWarnCashCannon:Show() + specWarnCashCannon:Play("carefly") + end + timerCashCannonCD:Start() end end ---]] ---[[ function mod:SPELL_CAST_SUCCESS(args) local spellId = args.spellId - if spellId == 372858 then - + if spellId == 436644 and self:AntiSpam(3, 1) then + self.vb.DebuffIcon = 1 + self.vb.ricochetCount = self.vb.ricochetCount + 1 + timerBurningRicochetCD:Start() end end ---]] ---[[ + function mod:SPELL_AURA_APPLIED(args) local spellId = args.spellId - if spellId == 372858 then - + if spellId == 435789 then + self.vb.debuffsTracked = self.vb.debuffsTracked + 1 + if self.vb.debuffsTracked == 1 then + timerCinderWounds:Start() + end + elseif spellId == 436644 then + local icon = self.vb.DebuffIcon + if self.Options.SetIconOnExplosiveEruption then + self:SetIcon(args.destName, icon) + end + if args:IsPlayer() then + specWarnBurningRicochet:Show(self:IconNumToTexture(icon)) + specWarnBurningRicochet:Play("targetyou")--"mm"..icon + yellBurningRicochet:Yell(icon, icon) + yellBurningRicochetFades:Countdown(spellId, nil, icon) + else + warnBurningRicochet:CombinedShow(0.5, args.destName) + end + self.vb.DebuffIcon = self.vb.DebuffIcon + 1 end end --mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED ---]] + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 435789 then + self.vb.debuffsTracked = self.vb.debuffsTracked - 1 + if self.vb.debuffsTracked == 0 then + timerCinderWounds:Stop() + end + elseif spellId == 436644 then + + end +end --[[ function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName) diff --git a/DBM-Party-WarWithin/CinderbrewMeadery/Ipa.lua b/DBM-Party-WarWithin/CinderbrewMeadery/Ipa.lua index d28bfc9e..04a0af9b 100644 --- a/DBM-Party-WarWithin/CinderbrewMeadery/Ipa.lua +++ b/DBM-Party-WarWithin/CinderbrewMeadery/Ipa.lua @@ -2,7 +2,7 @@ local mod = DBM:NewMod(2587, "DBM-Party-WarWithin", 7, 1272) local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") ---mod:SetCreatureID(189232) +mod:SetCreatureID(210267) mod:SetEncounterID(2929) --mod:SetHotfixNoticeRev(20220322000000) --mod:SetMinSyncRevision(20211203000000) diff --git a/DBM-Party-WarWithin/TheRookery/Kyrioss.lua b/DBM-Party-WarWithin/TheRookery/Kyrioss.lua index f895a55d..3c9fc5ae 100644 --- a/DBM-Party-WarWithin/TheRookery/Kyrioss.lua +++ b/DBM-Party-WarWithin/TheRookery/Kyrioss.lua @@ -2,7 +2,7 @@ local mod = DBM:NewMod(2566, "DBM-Party-WarWithin", 3, 1268) local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") ---mod:SetCreatureID(189232) +mod:SetCreatureID(209230) mod:SetEncounterID(2816) --mod:SetHotfixNoticeRev(20220322000000) --mod:SetMinSyncRevision(20211203000000) @@ -12,41 +12,95 @@ mod.sendMainBossGUID = true mod:RegisterCombat("combat") mod:RegisterEventsInCombat( --- "SPELL_CAST_START", + "SPELL_CAST_START 424148 420739 444123 419870 444324", -- "SPELL_CAST_SUCCESS", --- "SPELL_AURA_APPLIED", --- "SPELL_AURA_REMOVED" + "SPELL_AURA_APPLIED 420739", + "SPELL_AURA_REMOVED 420739" -- "SPELL_PERIODIC_DAMAGE", -- "SPELL_PERIODIC_MISSED" -- "UNIT_SPELLCAST_SUCCEEDED boss1" ) ---local warnSomeAbility = mod:NewSpellAnnounce(373087, 3) - ---local specWarnSomeAbility = mod:NewSpecialWarningDefensive(372858, nil, nil, nil, 1, 2) ---local yellSomeAbility = mod:NewYell(372107) +--NOTE, Lightning torrent shows dispel icon, but isnt dispelable +--TODO, verify Dash target scanning +--TODO, what to do with stormheart +local warnChainLightning = mod:NewCountAnnounce(424148, 3)--Might be spammy, uncertain cast frequency +local warnLightningDash = mod:NewTargetNoFilterAnnounce(419870, 3) +local warnStormheart = mod:NewCountAnnounce(444324, 3) + +local specWarnUnstableCharge = mod:NewSpecialWarningYou(420739, nil, nil, nil, 1, 2) +local yellSUnstableCharge = mod:NewYell(420739) +local yellSUnstableChargeFades = mod:NewShortFadesYell(420739) +local specWarnLightningTorrent = mod:NewSpecialWarningDodgeCount(444123, nil, nil, nil, 1, 2) +local specWarnLightningDash = mod:NewSpecialWarningYou(419870, nil, nil, nil, 1, 2) +local yellSLightningDash = mod:NewYell(419870) --local specWarnGTFO = mod:NewSpecialWarningGTFO(372820, nil, nil, nil, 1, 8) ---local timerSomeAbilityCD = mod:NewAITimer(33.9, 372863, nil, nil, nil, 3) +local timerChainLightningCD = mod:NewAITimer(33.9, 424148, nil, nil, nil, 3) +local timerUnstableChargeCD = mod:NewAITimer(33.9, 424148, nil, nil, nil, 3) +local timerLightningTorrentCD = mod:NewAITimer(33.9, 444123, nil, nil, nil, 2, nil, DBM_COMMON_L.DEADLY_ICON) +local timerLightningDashCD = mod:NewAITimer(33.9, 419870, nil, nil, nil, 3) +local timerStormheartCD = mod:NewAITimer(33.9, 444324, nil, nil, nil, 3, nil, DBM_COMMON_L.MYTHIC_ICON) --local castsPerGUID = {} +mod.vb.chainCount = 0 +mod.vb.chargeCount = 0 +mod.vb.torrentCount = 0 +mod.vb.stormheartCount = 0 + +function mod:DashTarget(targetname) + if not targetname then return end + if targetname == UnitName("player") then + specWarnLightningDash:Show() + specWarnLightningDash:Play("targetyou") + yellSLightningDash:Yell() + else + warnLightningDash:Show(targetname) + end +end ---function mod:OnCombatStart(delay) - ---end +function mod:OnCombatStart(delay) + self.vb.chainCount = 0 + self.vb.chargeCount = 0 + self.vb.torrentCount = 0 + self.vb.stormheartCount = 0 + timerChainLightningCD:Start(1) + timerUnstableChargeCD:Start(1) + timerLightningTorrentCD:Start(1) + timerLightningDashCD:Start(1) + if self:IsMythic() then + timerStormheartCD:Start(1) + end +end --function mod:OnCombatEnd() --end ---[[ function mod:SPELL_CAST_START(args) local spellId = args.spellId - if spellId == 372107 then + if spellId == 424148 then + self.vb.chainCount = self.vb.chainCount + 1 + warnChainLightning:Show() + timerChainLightningCD:Start() + elseif spellId == 420739 then + self.vb.chargeCount = self.vb.chargeCount + 1 + timerUnstableChargeCD:Start() + elseif spellId == 444123 then + self.vb.torrentCount = self.vb.torrentCount + 1 + specWarnLightningTorrent:Show(self.vb.torrentCount) + specWarnLightningTorrent:Play("watchstep") + timerLightningTorrentCD:Start() + elseif spellId == 419870 then + timerLightningDashCD:Start() + self:ScheduleMethod(0.1, "BossTargetScanner", args.sourceGUID, "DashTarget", 0.1, 7, true) + elseif spellId == 444324 then + self.vb.stormheartCount = self.vb.stormheartCount + 1 + warnStormheart:Show(self.vb.stormheartCount) + timerStormheartCD:Start() end end ---]] --[[ function mod:SPELL_CAST_SUCCESS(args) @@ -57,15 +111,27 @@ function mod:SPELL_CAST_SUCCESS(args) end --]] ---[[ function mod:SPELL_AURA_APPLIED(args) local spellId = args.spellId - if spellId == 372858 then - + if spellId == 420739 then + if args:IsPlayer() then + specWarnUnstableCharge:Show() + specWarnUnstableCharge:Play("bombyou")--Change to jumpinpit? + yellSUnstableCharge:Yell() + yellSUnstableChargeFades:Countdown(spellId) + end end end --mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED ---]] + +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 420739 then + if args:IsPlayer() then + yellSUnstableChargeFades:Cancel() + end + end +end --[[ function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName) diff --git a/DBM-Party-WarWithin/TheRookery/StormguardGorren.lua b/DBM-Party-WarWithin/TheRookery/StormguardGorren.lua index 9d7d1921..8d46757a 100644 --- a/DBM-Party-WarWithin/TheRookery/StormguardGorren.lua +++ b/DBM-Party-WarWithin/TheRookery/StormguardGorren.lua @@ -2,7 +2,7 @@ local mod = DBM:NewMod(2567, "DBM-Party-WarWithin", 3, 1268) local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") ---mod:SetCreatureID(189232) +mod:SetCreatureID(207205) mod:SetEncounterID(2861) --mod:SetHotfixNoticeRev(20220322000000) --mod:SetMinSyncRevision(20211203000000) @@ -12,41 +12,73 @@ mod.sendMainBossGUID = true mod:RegisterCombat("combat") mod:RegisterEventsInCombat( --- "SPELL_CAST_START", + "SPELL_CAST_START 424737 425048 424958", -- "SPELL_CAST_SUCCESS", --- "SPELL_AURA_APPLIED", --- "SPELL_AURA_REMOVED" --- "SPELL_PERIODIC_DAMAGE", --- "SPELL_PERIODIC_MISSED" + "SPELL_AURA_APPLIED 424739", + "SPELL_AURA_REMOVED 424739", + "SPELL_PERIODIC_DAMAGE 424966", + "SPELL_PERIODIC_MISSED 424966" -- "UNIT_SPELLCAST_SUCCEEDED boss1" ) ---local warnSomeAbility = mod:NewSpellAnnounce(373087, 3) +local warnSomeChaoticCorruption = mod:NewTargetNoFilterAnnounce(424737, 3) ---local specWarnSomeAbility = mod:NewSpecialWarningDefensive(372858, nil, nil, nil, 1, 2) ---local yellSomeAbility = mod:NewYell(372107) ---local specWarnGTFO = mod:NewSpecialWarningGTFO(372820, nil, nil, nil, 1, 8) +local specWarnChaoticCorruption = mod:NewSpecialWarningYou(424737, nil, nil, nil, 1, 2) +local yellChaoticCorruption = mod:NewYell(424737) +local yellChaoticCorruptionFades = mod:NewShortFadesYell(424737, nil, false) +local specWarnDarkGravity = mod:NewSpecialWarningRunCount(425048, nil, nil, nil, 4, 13) +local specWarnCrushReality = mod:NewSpecialWarningDodgeCount(424958, nil, nil, nil, 2, 2) +local specWarnGTFO = mod:NewSpecialWarningGTFO(424966, nil, nil, nil, 1, 8) ---local timerSomeAbilityCD = mod:NewAITimer(33.9, 372863, nil, nil, nil, 3) - ---local castsPerGUID = {} +local timerChaoticCorruptionCD = mod:NewAITimer(33.9, 424737, nil, nil, nil, 3) +local timerDarkGravityCD = mod:NewAITimer(33.9, 425048, nil, nil, nil, 2) +local timerCrushRealityCD = mod:NewAITimer(33.9, 424958, nil, nil, nil, 3) +mod:AddInfoFrameOption(424797) ---function mod:OnCombatStart(delay) +mod.vb.chaoticCount = 0 +mod.vb.gravityCount = 0 +mod.vb.crushCount = 0 ---end +--local castsPerGUID = {} ---function mod:OnCombatEnd() +function mod:OnCombatStart(delay) + self.vb.chaoticCount = 0 + self.vb.gravityCount = 0 + self.vb.crushCount = 0 + timerChaoticCorruptionCD:Start(1) + timerDarkGravityCD:Start(1) + timerCrushRealityCD:Start(1) + if self.Options.InfoFrame and self:IsMythic() then + DBM.InfoFrame:SetHeader(DBM:GetSpellInfo(424797)) + DBM.InfoFrame:Show(5, "playerdebuffremaining", 424797) + end +end ---end +function mod:OnCombatEnd() + if self.Options.InfoFrame then + DBM.InfoFrame:Hide() + end +end ---[[ function mod:SPELL_CAST_START(args) local spellId = args.spellId - if spellId == 372107 then + if spellId == 424737 then + self.vb.chaoticCount = self.vb.chaoticCount + 1 + timerChaoticCorruptionCD:Start() + elseif spellId == 425048 then + self.vb.gravityCount = self.vb.gravityCount + 1 + specWarnDarkGravity:Show(self.vb.gravityCount) + specWarnDarkGravity:Play("pullin") + specWarnDarkGravity:ScheduleVoice(1.5, "justrun") + timerDarkGravityCD:Start() + elseif spellId == 424958 then + self.vb.crushCount = self.vb.crushCount + 1 + specWarnCrushReality:Show(self.vb.crushCount) + specWarnCrushReality:Play("watchwave") + timerCrushRealityCD:Start() end end ---]] --[[ function mod:SPELL_CAST_SUCCESS(args) @@ -57,25 +89,35 @@ function mod:SPELL_CAST_SUCCESS(args) end --]] ---[[ function mod:SPELL_AURA_APPLIED(args) local spellId = args.spellId - if spellId == 372858 then - + if spellId == 424739 then + if args:IsPlayer() then + specWarnChaoticCorruption:Show() + specWarnChaoticCorruption:Play("targetyou") + yellChaoticCorruption:Yell() + yellChaoticCorruptionFades:Countdown(spellId) + end end end --mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED ---]] ---[[ +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 424739 then + if args:IsPlayer() then + yellChaoticCorruptionFades:Cancel() + end + end +end + function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName) - if spellId == 372820 and destGUID == UnitGUID("player") and self:AntiSpam(3, 2) then + if spellId == 424966 and destGUID == UnitGUID("player") and self:AntiSpam(3, 1) then specWarnGTFO:Show(spellName) specWarnGTFO:Play("watchfeet") end end mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE ---]] --[[ function mod:UNIT_DIED(args) diff --git a/DBM-Party-WarWithin/TheRookery/VoidstoneMonstrosity.lua b/DBM-Party-WarWithin/TheRookery/VoidstoneMonstrosity.lua index 8c68f631..4080fb3a 100644 --- a/DBM-Party-WarWithin/TheRookery/VoidstoneMonstrosity.lua +++ b/DBM-Party-WarWithin/TheRookery/VoidstoneMonstrosity.lua @@ -2,7 +2,7 @@ local mod = DBM:NewMod(2568, "DBM-Party-WarWithin", 3, 1268) local L = mod:GetLocalizedStrings() mod:SetRevision("@file-date-integer@") ---mod:SetCreatureID(189232) +mod:SetCreatureID(207207) mod:SetEncounterID(2836) --mod:SetHotfixNoticeRev(20220322000000) --mod:SetMinSyncRevision(20211203000000) @@ -12,41 +12,94 @@ mod.sendMainBossGUID = true mod:RegisterCombat("combat") mod:RegisterEventsInCombat( --- "SPELL_CAST_START", + "SPELL_CAST_START 423305 429487 445457 424371", -- "SPELL_CAST_SUCCESS", --- "SPELL_AURA_APPLIED", --- "SPELL_AURA_REMOVED" --- "SPELL_PERIODIC_DAMAGE", --- "SPELL_PERIODIC_MISSED" + "SPELL_AURA_APPLIED 445262 428269 429028 423839", + "SPELL_AURA_REMOVED 445262 428269 423839", + "SPELL_PERIODIC_DAMAGE 433067", + "SPELL_PERIODIC_MISSED 433067" -- "UNIT_SPELLCAST_SUCCEEDED boss1" ) ---local warnSomeAbility = mod:NewSpellAnnounce(373087, 3) - ---local specWarnSomeAbility = mod:NewSpecialWarningDefensive(372858, nil, nil, nil, 1, 2) +--TODO, is infoframe on absorb overkill? +--TODO, reshape still need announcing with nameplat auras? don't want to introduce spam +--TODO, can the tank sidestep Oblivion Wave? +--TODO, update timers for 10 second stun on boss? +local warnVoidShell = mod:NewTargetNoFilterAnnounce(445262, 3) +local warnVoidShellFaded = mod:NewFadesAnnounce(445262, 1) +local warnCorruptionPulse = mod:NewTargetNoFilterAnnounce(429028, 4) +local warnUnleashedCorruption = mod:NewCountAnnounce(429487, 3) +local warnStormsVengeance = mod:NewCountAnnounce(424371, 1) + +local specWarnLatentVoid = mod:NewSpecialWarningDodgeCount(423305, nil, nil, nil, 1, 2) --local yellSomeAbility = mod:NewYell(372107) ---local specWarnGTFO = mod:NewSpecialWarningGTFO(372820, nil, nil, nil, 1, 8) +local specWarnOblivionWave = mod:NewSpecialWarningDefensive(423305, nil, nil, nil, 1, 2) +local specWarnGTFO = mod:NewSpecialWarningGTFO(433067, nil, nil, nil, 1, 8) ---local timerSomeAbilityCD = mod:NewAITimer(33.9, 372863, nil, nil, nil, 3) +local timerLatentVoidCD = mod:NewAITimer(33.9, 423305, nil, nil, nil, 3) +local timerUnleashedCorruptionCD = mod:NewAITimer(33.9, 429487, nil, nil, nil, 3) +local timerOblivionWaveCD = mod:NewAITimer(33.9, 445457, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON) +local timerElectrocuted = mod:NewBuffActiveTimer(33.9, 423839, nil, nil, nil, 5) ---local castsPerGUID = {} +mod:AddInfoFrameOption(445262) +mod:AddNamePlateOption("NameplateOnReshape", 428269) +--local castsPerGUID = {} ---function mod:OnCombatStart(delay) +mod.vb.latentVoidCount = 0 +mod.vb.unleashedCount = 0 +mod.vb.oblivionCount = 0 +mod.vb.vengeanceCount = 0 + +function mod:OnCombatStart(delay) + self.vb.latentVoidCount = 0 + self.vb.unleashedCount = 0 + self.vb.oblivionCount = 0 + self.vb.vengeanceCount = 0 + timerLatentVoidCD:Start(1) + timerUnleashedCorruptionCD:Start(1) + timerOblivionWaveCD:Start(1) + if self.Options.NameplateOnReshape then + DBM:FireEvent("BossMod_EnableHostileNameplates") + end +end ---end +function mod:OnCombatEnd() + if self.Options.InfoFrame then + DBM.InfoFrame:Hide() + end + if self.Options.NameplateOnReshape then + DBM.Nameplate:Hide(true, nil, nil, nil, true, true) + end +end --function mod:OnCombatEnd() --end ---[[ function mod:SPELL_CAST_START(args) local spellId = args.spellId - if spellId == 372107 then + if spellId == 423305 then + self.vb.latentVoidCount = self.vb.latentVoidCount + 1 + specWarnLatentVoid:Show(self.vb.latentVoidCount) + specWarnLatentVoid:Play("watchstep") + timerLatentVoidCD:Start() + elseif spellId == 429487 then + self.vb.unleashedCount = self.vb.unleashedCount + 1 + warnUnleashedCorruption:Show(self.vb.unleashedCount) + timerUnleashedCorruptionCD:Start() + elseif spellId == 445457 then + self.vb.oblivionCount = self.vb.oblivionCount + 1 + if self:IsTanking("player", "boss1", nil, true) then + specWarnOblivionWave:Show() + specWarnOblivionWave:Play("defensive") + end + timerOblivionWaveCD:Start() + elseif spellId == 424371 then + self.vb.vengeanceCount = self.vb.vengeanceCount + 1 + warnStormsVengeance:Show(self.vb.vengeanceCount) end end ---]] --[[ function mod:SPELL_CAST_SUCCESS(args) @@ -57,25 +110,49 @@ function mod:SPELL_CAST_SUCCESS(args) end --]] ---[[ function mod:SPELL_AURA_APPLIED(args) local spellId = args.spellId - if spellId == 372858 then - + if spellId == 445262 then + warnVoidShell:Show(args.destName) + if self.Options.InfoFrame then + DBM.InfoFrame:SetHeader(args.spellName) + DBM.InfoFrame:Show(2, "enemyabsorb", nil, args.amount, "boss1") + end + elseif spellId == 428269 then + if self.Options.NameplateOnReshape then + DBM.Nameplate:Show(true, args.destGUID, spellId, nil, 15) + end + elseif spellId == 429028 and self:AntiSpam(3, 1) then + warnCorruptionPulse:Show(args.destName) + elseif spellId == 423839 then + timerElectrocuted:Start() end end --mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED ---]] ---[[ +function mod:SPELL_AURA_REMOVED(args) + local spellId = args.spellId + if spellId == 445262 then + warnVoidShellFaded:Show() + if self.Options.InfoFrame then + DBM.InfoFrame:Hide() + end + elseif spellId == 428269 then + if self.Options.NameplateOnReshape then + DBM.Nameplate:Hide(true, args.destGUID, spellId) + end + elseif spellId == 423839 then + timerElectrocuted:Stop() + end +end + function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName) - if spellId == 372820 and destGUID == UnitGUID("player") and self:AntiSpam(3, 2) then + if spellId == 433067 and destGUID == UnitGUID("player") and self:AntiSpam(3, 2) then specWarnGTFO:Show(spellName) specWarnGTFO:Play("watchfeet") end end mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE ---]] --[[ function mod:UNIT_DIED(args)