Skip to content

Commit

Permalink
Pass on SoB bosses to update timers and alerts to modern M+ data
Browse files Browse the repository at this point in the history
pass on ALL trash mods for entirety of game to allow warnings during combat as standard in dungeons in TWW since profile has deemed it a not a worthwhile performance saving and in most cases only acted as detrimate to players if they pulled trash with boss. (translation, trash warnings are now always permited during boss fights in dungeons)
  • Loading branch information
MysticalOS committed Aug 8, 2024
1 parent d23ac6a commit 33ed6f8
Show file tree
Hide file tree
Showing 78 changed files with 255 additions and 204 deletions.
1 change: 1 addition & 0 deletions DBM-Party-BC/Auct_Tombs/AuctTombsTrash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ local mod = DBM:NewMod("AuctTombsTrash", "DBM-Party-BC", 8, 250)
mod:SetRevision("@file-date-integer@")

mod.isTrashMod = true
mod.isTrashModBossFightAllowed = true

mod:RegisterEvents(
"SPELL_AURA_APPLIED 34925",
Expand Down
1 change: 1 addition & 0 deletions DBM-Party-BfA/AtalDazar/AtalDazarTrash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ mod:SetRevision("@file-date-integer@")
mod:SetZone(1763)

mod.isTrashMod = true
mod.isTrashModBossFightAllowed = true

mod:RegisterEvents(
"SPELL_CAST_START 255824 253562 255041 253544 253517 256849 252781 256138 253239 254959 252923 256882 255567 256846 252687",
Expand Down
1 change: 1 addition & 0 deletions DBM-Party-BfA/Freehold/FreeholdTrash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ mod:SetRevision("@file-date-integer@")
--mod:SetModelID(47785)

mod.isTrashMod = true
mod.isTrashModBossFightAllowed = true

mod:RegisterEvents(
"SPELL_CAST_START 257732 257397 257899 257736 258777 257784 257756 274860 257426 274383 258199 272402 257870 274400 257436 258672 258181 274507 257908",
Expand Down
1 change: 1 addition & 0 deletions DBM-Party-BfA/KingsRest/KingsRestTrash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ mod:SetRevision("@file-date-integer@")
--mod:SetModelID(47785)

mod.isTrashMod = true
mod.isTrashModBossFightAllowed = true

mod:RegisterEvents(
"SPELL_CAST_START 270003 269973 270923 270889 270901 270084 270872 270293 270284 270492 270482 270514 270507",
Expand Down
1 change: 1 addition & 0 deletions DBM-Party-BfA/Mechagon/MechagonTrash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ mod:SetRevision("@file-date-integer@")
--mod:SetModelID(47785)

mod.isTrashMod = true
mod.isTrashModBossFightAllowed = true

mod:RegisterEvents(
"SPELL_CAST_START 300687 300764 300777 300650 300159 300177 300171 299588 300087 300188 300207 299475 300414 300514 300436 300424 301681 301667 301629 284219 301088 294064 294290 294324 294349 293854 293986 293729",
Expand Down
1 change: 1 addition & 0 deletions DBM-Party-BfA/ShrineoftheStorm/SotSTrash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ mod:SetRevision("@file-date-integer@")
--mod:SetModelID(47785)

mod.isTrashMod = true
mod.isTrashModBossFightAllowed = true

mod:RegisterEvents(
"SPELL_CAST_START 268030 267973 268391 268239 268309 276268 267977 268050 268027 274437 268184 276292 268211 268273 268322 268317 268375 276767",
Expand Down
15 changes: 12 additions & 3 deletions DBM-Party-BfA/SiegeofBoralus/BoralusTrash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,10 @@ mod:SetRevision("@file-date-integer@")
--mod:SetModelID(47785)

mod.isTrashMod = true
mod.isTrashModBossFightAllowed = true

mod:RegisterEvents(
"SPELL_CAST_START 275826 256627 256957 256709 257170 272546 257169 272713 274569 272571 272888 272711 268260 257288 454440",
"SPELL_CAST_START 275826 256627 256957 256709 257170 272546 257169 272713 274569 272571 272888 272711 268260 257288 454440 272662",
"SPELL_CAST_SUCCESS 256627 256640 257170 256709 257288 272422 454437 275826 275835 272888 272546 454440 272711 257169 272571",
"SPELL_INTERRUPT",
"SPELL_AURA_APPLIED 256957 257168 272421 272571 272888 454437",
Expand All @@ -33,6 +34,7 @@ local warnStinkyVomit = mod:NewCastAnnounce(454440, 4)--High Prio Interrupt
local warnFerocity = mod:NewCastAnnounce(272888, 3)
local warnAzeriteCharge = mod:NewTargetAnnounce(454437, 2)
local warnBurningTar = mod:NewSpellAnnounce(256640, 2)
local warnIronHook = mod:NewSpellAnnounce(272662, 4, nil, nil, nil, nil, nil, 12)

local specWarnSlobberKnocker = mod:NewSpecialWarningDodge(256627, "Tank", nil, nil, 1, 2)
local specWarnSingingSteel = mod:NewSpecialWarningDodge(256709, "Tank", nil, nil, 1, 2)
Expand Down Expand Up @@ -73,6 +75,7 @@ local timerStinkyVomitCD = mod:NewCDNPTimer(16.1, 454440, nil, nil, nil, 4, ni
local timerCrushingSlamCD = mod:NewCDNPTimer(20.6, 272711, nil, nil, nil, 3)
local timerTerrifyingRoarCD = mod:NewCDNPTimer(31.6, 257169, nil, nil, nil, 2)
local timerChoakingWatersCD = mod:NewCDNPTimer(29.1, 272571, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--29.1-31.6
local timerIronHookCD = mod:NewCDNPTimer(19.4, 272662, nil, nil, nil, 3)

--Antispam IDs for this mod: 1 run away, 2 dodge, 3 dispel, 4 incoming damage, 5 you/role, 6 misc, 7 off interrupt

Expand Down Expand Up @@ -138,6 +141,10 @@ function mod:SPELL_CAST_START(args)
elseif self:AntiSpam(4, 7) then
warnStinkyVomit:Show()
end
elseif spellId == 272662 then
warnIronHook:Show()
warnIronHook:Play("pullin")
timerIronHookCD:Start(19.4, args.sourceGUID)
end
end

Expand All @@ -155,7 +162,7 @@ function mod:SPELL_CAST_SUCCESS(args)
timerSingSteelCD:Start(15, args.sourceGUID)--17 - 2
elseif spellId == 257288 and args:GetSrcCreatureID() == 129879 then
timerHeavySlashCD:Start(17.8, args.sourceGUID)--20.6 - 2.8
elseif spellId == 272422 then
elseif spellId == 272422 then--No filter needed, boss version doesn't fire this spellID
timerSightedArtCD:Start(12.1, args.sourceGUID)
elseif spellId == 454437 then
timerAzeriteChargeCD:Start(15.7, args.sourceGUID)
Expand Down Expand Up @@ -198,7 +205,7 @@ function mod:SPELL_AURA_APPLIED(args)
elseif spellId == 257168 and self:IsValidWarning(args.sourceGUID) and self:CheckDispelFilter("curse") then
specWarnCursedSlash:Show(args.destName)
specWarnCursedSlash:Play("helpdispel")
elseif spellId == 272421 and args:IsPlayer() then
elseif spellId == 272421 and args:IsPlayer() and args:GetSrcCreatureID() ~= 129208 then--Want to filter it from firing on boss fight
specWarnSightedArt:Show()
specWarnSightedArt:Play("targetyou")
yellSightedArt:Yell()
Expand Down Expand Up @@ -249,6 +256,8 @@ function mod:UNIT_DIED(args)
timerTerrifyingRoarCD:Stop(args.destGUID)
elseif cid == 129367 then--Bilge Rat Tempest
timerChoakingWatersCD:Stop(args.destGUID)
elseif cid == 129369 then--Iron Raider
timerIronHookCD:Stop(args.destGUID)
end
end

Expand Down
12 changes: 9 additions & 3 deletions DBM-Party-BfA/SiegeofBoralus/Darkfathom.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ local L = mod:GetLocalizedStrings()
mod:SetRevision("@file-date-integer@")
mod:SetCreatureID(128651)
mod:SetEncounterID(2099)
--mod:SetHotfixNoticeRev(20230516000000)
--mod:SetMinSyncRevision(20211203000000)

mod:RegisterCombat("combat")

Expand All @@ -12,13 +14,17 @@ mod:RegisterEventsInCombat(
"UNIT_SPELLCAST_SUCCEEDED boss1"
)

--[[
(ability.id = 257882 or ability.id = 276068 or ability.id = 257862) and type = "begincast"
or type = "dungeonencounterstart" or type = "dungeonencounterend"
--]]
local specWarnCrashingTide = mod:NewSpecialWarningDodgeCount(261563, nil, nil, 2, 1, 2)
local specWarnBreakWater = mod:NewSpecialWarningDodgeCount(257882, nil, nil, nil, 2, 2)
local specWarnTidalSurge = mod:NewSpecialWarningMoveTo(276068, nil, nil, nil, 3, 2)

local timerCrashingTideCD = mod:NewCDCountTimer(21.8, 261563, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)--15.8 before
local timerCrashingTideCD = mod:NewCDCountTimer(21.3, 261563, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)--15.8 before
local timerBreakWaterCD = mod:NewCDCountTimer(25.9, 257882, nil, nil, nil, 3)--30 before
local timerTidalSurgeCD = mod:NewCDCountTimer(49.8, 276068, nil, nil, nil, 2, nil, DBM_COMMON_L.DEADLY_ICON)--Still the same
local timerTidalSurgeCD = mod:NewCDCountTimer(49.7, 276068, nil, nil, nil, 2, nil, DBM_COMMON_L.DEADLY_ICON)--Still the same

mod.vb.crashingTideCount = 0
mod.vb.breakwaterCount = 0
Expand All @@ -30,7 +36,7 @@ function mod:OnCombatStart(delay)
self.vb.tidalSurgeCount = 0
timerBreakWaterCD:Start(7.1-delay, 1)
timerCrashingTideCD:Start(12.1-delay, 1)
timerTidalSurgeCD:Start(24.1-delay, 1)
timerTidalSurgeCD:Start(23.1-delay, 1)
end

function mod:SPELL_CAST_START(args)
Expand Down
100 changes: 73 additions & 27 deletions DBM-Party-BfA/SiegeofBoralus/Lockwood.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,44 +4,63 @@ local L = mod:GetLocalizedStrings()
mod:SetRevision("@file-date-integer@")
mod:SetCreatureID(129208)
mod:SetEncounterID(2109)
mod:SetHotfixNoticeRev(20240807000000)
--mod:SetMinSyncRevision(20211203000000)

mod:RegisterCombat("combat")

mod:RegisterEventsInCombat(
"SPELL_CAST_START 269029 268230 268260 257288",
"SPELL_CAST_SUCCESS 257288",
"UNIT_DIED",
"SPELL_CAST_START 269029 268230 268260 463182",
"SPELL_CAST_SUCCESS 268963 268752 181089",
"SPELL_AURA_APPLIED 272421",
"UNIT_DIED"
-- "UNIT_SPELLCAST_START boss1 boss2 boss3 boss4 boss5",--boss and Adds
"UNIT_SPELLCAST_SUCCEEDED boss1 boss2 boss3 boss4 boss5"--boss and Adds
-- "UNIT_SPELLCAST_SUCCEEDED boss1 boss2 boss3 boss4 boss5"--boss and Adds
)

--TODO, cannons remaining, who's carrying ordinance, etc
--[[
(ability.id = 269029 or ability.id = 268230 or ability.id = 268260 or ability.id = 273470 or ability.id = 463182) and type = "begincast"
or (ability.id = 268963 or ability.id = 181089 or ability.id = 268752) and type = "cast"
or ability.id = 272421 and type = "applydebuff"
or type = "dungeonencounterstart" or type = "dungeonencounterend"
--]]
local warnWithdraw = mod:NewCountAnnounce(268752, 2)
local warnCrimsonSwipe = mod:NewSpellAnnounce(268230, 2, nil, false, 2)--Can't be avoided by tanks, so opt in, not opt out
local warnUnstableOrdnance = mod:NewSpellAnnounce(268995, 1)
local warnFieryRicochet = mod:NewCountAnnounce(463182, 3)

local specWarnMassBombardment = mod:NewSpecialWarningDodgeCount(463185, nil, nil, nil, 2, 2)
local specWarnCleartheDeck = mod:NewSpecialWarningDodgeCount(269029, "Tank", nil, nil, 3, 2)
local specWarnHeavySlash = mod:NewSpecialWarningDodge(257288, "Tank", nil, nil, 1, 2)
local specWarnBroadside = mod:NewSpecialWarningDodgeCount(268260, "Tank", nil, nil, 1, 2)

local timerWithdrawCD = mod:NewCDCountTimer(40, 268752, nil, nil, nil, 6)
local timerMassBombardmentCD = mod:NewCDCountTimer(25, 463185, nil, nil, nil, 3)
local timerRicochetCD = mod:NewCDCountTimer(18.2, 463182, nil, nil, nil, 3)
--local timerWithdrawCD = mod:NewCDCountTimer(40, 268752, nil, nil, nil, 6)--Health based now
local timerCleartheDeckCD = mod:NewCDCountTimer(18.2, 269029, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerCrimsonSwipeCD = mod:NewCDNPTimer(9, 268230, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)--12.2 now?
local timerHeavySlashCD = mod:NewCDNPTimer(17.7, 257288, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerBroadsideCD = mod:NewCDCountTimer(9, 268260, nil, nil, nil, 3)--Need more data
local timerCrimsonSwipeCD = mod:NewCDNPTimer(11.8, 268230, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)--11.8-12.2 now
local timerBroadsideCD = mod:NewCDCountTimer(11, 268260, nil, nil, nil, 3)--11-14.2

mod.vb.bossGone = false
mod.vb.massBombCount = 0
mod.vb.ricochetCount = 0
mod.vb.withdrawCount = 0
mod.vb.clearDeckCount = 0
mod.vb.broadCount = 0

function mod:OnCombatStart(delay)
self.vb.bossGone = false
self:SetStage(1)
-- self.vb.bossGone = false
self.vb.massBombCount = 0
self.vb.ricochetCount = 0
self.vb.withdrawCount = 0
self.vb.clearDeckCount = 0
self.vb.broadCount = 0
timerCleartheDeckCD:Start(3.6-delay, 1)
timerWithdrawCD:Start(13.1-delay, 1)
timerCleartheDeckCD:Start(3.5-delay, 1)
timerRicochetCD:Start(9.7-delay, 1)--Could be shorter, but most people trigger gutshot on pull
if self:IsMythic() then
timerMassBombardmentCD:Start(10.1-delay, 1)
end
-- timerWithdrawCD:Start(13.1-delay, 1)
end

function mod:SPELL_CAST_START(args)
Expand All @@ -61,44 +80,71 @@ function mod:SPELL_CAST_START(args)
specWarnBroadside:Show(self.vb.broadCount)
specWarnBroadside:Play("watchstep")
timerBroadsideCD:Start(12.1, self.vb.broadCount+1)--12.1-14.6 in TWW (formerly 10.9)
elseif spellId == 257288 and args:GetSrcCreatureID() == 129996 then
if self:AntiSpam(3, 1) then
specWarnHeavySlash:Show()
specWarnHeavySlash:Play("shockwave")
end
elseif spellId == 463182 then
self.vb.ricochetCount = self.vb.ricochetCount + 1
warnFieryRicochet:Show(self.vb.ricochetCount)
timerRicochetCD:Start(18.2, self.vb.ricochetCount+1)
end
end

function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 257288 then
timerHeavySlashCD:Start(nil, args.sourceGUID)
if spellId == 268963 then--Unstable Ordnance
warnUnstableOrdnance:Show()
timerBroadsideCD:Stop()
elseif spellId == 268752 then--Withdraw (boss Leaving)
self:SetStage(2)
self.vb.withdrawCount = self.vb.withdrawCount + 1
warnWithdraw:Show(self.vb.withdrawCount)
timerCleartheDeckCD:Stop()
timerRicochetCD:Stop()
timerMassBombardmentCD:Stop()
timerBroadsideCD:Start(13.3, self.vb.broadCount+1)--13-15 in TWW
elseif spellId == 181089 then--Encounter Event (boss returning)
self:SetStage(1)
timerBroadsideCD:Stop()
timerCleartheDeckCD:Start(3.7, self.vb.clearDeckCount+1)
timerRicochetCD:Start(8.4, self.vb.ricochetCount+1)
if self:IsMythic() then
timerMassBombardmentCD:Start(25, self.vb.massBombCount+1)
end
-- timerWithdrawCD:Start(36, self.vb.withdrawCount+1)--Health based in TWW
end
end

function mod:SPELL_AURA_APPLIED(args)
if args.spellId == 272421 and self:AntiSpam(5, 2) then
self.vb.massBombCount = self.vb.massBombCount + 1
specWarnMassBombardment:Show(self.vb.massBombCount)
specWarnMassBombardment:Play("watchstep")
timerMassBombardmentCD:Start(25, self.vb.massBombCount+1)
end
end

function mod:UNIT_DIED(args)
local cid = self:GetCIDFromGUID(args.destGUID)
if cid == 141532 then--Ashvane Deckhand
timerCrimsonSwipeCD:Stop(args.destGUID)
elseif cid == 129996 then--Irontide Cleaver (Boss version)
timerHeavySlashCD:Stop(args.destGUID)
end
end

--[[
--Legacy code, in case they do bfa classic for some odd reason
function mod:UNIT_SPELLCAST_SUCCEEDED(_, _, spellId)
if spellId == 268752 then--Withdraw (boss Leaving)
self.vb.bossGone = true
self:SetStage(2)
-- self.vb.bossGone = true
self.vb.withdrawCount = self.vb.withdrawCount + 1
warnWithdraw:Show(self.vb.withdrawCount)
timerCleartheDeckCD:Stop()
timerBroadsideCD:Start(11.3, self.vb.broadCount+1)
elseif spellId == 268745 and self.vb.bossGone then--Energy Tracker (boss returning)
self.vb.bossGone = false
self:SetStage(1)
-- self.vb.bossGone = false
timerBroadsideCD:Stop()
timerCleartheDeckCD:Start(4.3, self.vb.clearDeckCount+1)--Confirmed in TWW
timerMassBombardmentCD:Start(nil, self.vb.massBombCount+1)
timerWithdrawCD:Start(36, self.vb.withdrawCount+1)--NOT yet confirmed in TWW
elseif spellId == 268963 then--Unstable Ordnance
warnUnstableOrdnance:Show()
timerBroadsideCD:Stop()
end
end
--]]
Loading

0 comments on commit 33ed6f8

Please sign in to comment.