Skip to content

Commit

Permalink
Operation Floodgate update:
Browse files Browse the repository at this point in the history
 - Complete big momma timers
 - Fixed/added a few trash timers
  • Loading branch information
MysticalOS committed Feb 16, 2025
1 parent a1084bd commit bbc7626
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 37 deletions.
36 changes: 17 additions & 19 deletions DBM-Party-WarWithin/OperationFloodgate/BigMomma.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ mod:SetRevision("@file-date-integer@")
mod:SetCreatureID(226398)
mod:SetEncounterID(3020)
mod:SetUsedIcons(8, 7, 6, 5)
--mod:SetHotfixNoticeRev(20240817000000)
mod:SetHotfixNoticeRev(20250215000000)
--mod:SetMinSyncRevision(20240817000000)
mod:SetZone(2773)
--mod.respawnTime = 29
Expand All @@ -31,6 +31,11 @@ mod:RegisterEventsInCombat(
--TODO, add interrupt nameplate timer if it actually has a cooldown (and not spam cast)
--TODO, add custom audio for sonic boom that says "get behind objectname"
--TODO, see if timers reset on jump start or if they just continue
--[[
(ability.id = 460156 or ability.id = 471585 or ability.id = 460075 or ability.id = 473351 or ability.id = 473220 or ability.id = 469981) and type = "begincast"
or ability.id = 460156 and type = "removebuff"
or type = "dungeonencounterstart" or type = "dungeonencounterend"
--]]
local warnJumpStart = mod:NewCountAnnounce(460156, 1)
local warnJumpStartOver = mod:NewEndAnnounce(460156, 2)
local warnDoomStorm = mod:NewTargetNoFilterAnnounce(472452, 2)
Expand All @@ -46,12 +51,11 @@ local yellSonicBoom = mod:NewShortYell(473220)
local specWarnbarrier = mod:NewSpecialWarningCount(469981, nil, nil, nil, 1, 2)
--local specWarnGTFO = mod:NewSpecialWarningGTFO(372820, nil, nil, nil, 1, 8)

local timerJumpStartCD = mod:NewAITimer(33.9, 460156, nil, nil, nil, 6)
local timerMobilizeMechadronesCD = mod:NewAITimer(33.9, 471585, nil, nil, nil, 1, nil, DBM_COMMON_L.DAMAGE_ICON)
local timerMobilizeMechadronesCD = mod:NewNextCountTimer(33.9, 471585, nil, nil, nil, 1, nil, DBM_COMMON_L.DAMAGE_ICON)
--local timerDoomStormCD = mod:NewCDNPTimer(33.9, 472452, nil, nil, nil, 3)
local timerElectrocrushCD = mod:NewAITimer(33.9, 473351, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerSonicBoomCD = mod:NewAITimer(33.9, 473220, nil, nil, nil, 3)
local timerBarrierCD = mod:NewAITimer(33.9, 469981, nil, nil, nil, 5, nil, DBM_COMMON_L.DAMAGE_ICON)
local timerElectrocrushCD = mod:NewVarCountTimer("v20.6-21.8", 473351, nil, "Tank", nil, 5, nil, DBM_COMMON_L.TANK_ICON)
local timerSonicBoomCD = mod:NewNextCountTimer(21.8, 473220, nil, nil, nil, 3)
local timerBarrierCD = mod:NewNextCountTimer(33.9, 469981, nil, nil, nil, 5, nil, DBM_COMMON_L.DAMAGE_ICON)

mod:AddInfoFrameOption(469981, true)
mod:AddSetIconOption("SetIconOnMechs", 471585, true, 5, {8, 7, 6, 5})
Expand Down Expand Up @@ -92,11 +96,9 @@ function mod:OnCombatStart(delay)
self.vb.electroCount = 0
self.vb.sonicCount = 0
self.vb.barrierCount = 0
timerElectrocrushCD:Start(1-delay)--6.1, 43.7
timerSonicBoomCD:Start(1-delay)--15.8
timerJumpStartCD:Start(1-delay)--26.5
timerMobilizeMechadronesCD:Start(1-delay)--40.5
timerBarrierCD:Start(1-delay)
timerElectrocrushCD:Start(6-delay, 1)
timerSonicBoomCD:Start(15.7-delay, 1)
timerBarrierCD:Start(51-delay, 1)
end

function mod:OnCombatEnd()
Expand All @@ -111,7 +113,7 @@ function mod:SPELL_CAST_START(args)
self.vb.jumpStartCount = self.vb.jumpStartCount + 1
warnJumpStart:Show(self.vb.jumpStartCount)
--Stop Timers
timerMobilizeMechadronesCD:Stop()
timerMobilizeMechadronesCD:Start(15.1, self.vb.mechCount+1)
timerElectrocrushCD:Stop()
timerSonicBoomCD:Stop()
timerBarrierCD:Stop()
Expand All @@ -120,7 +122,6 @@ function mod:SPELL_CAST_START(args)
self.vb.addIcon = 8
specWarnMobilizeMechadrones:Show(self.vb.mechCount)
specWarnMobilizeMechadrones:Play("killbigmob")
timerMobilizeMechadronesCD:Start()
elseif spellId == 472452 or spellId == 460075 then--472452 confirmed on follower, 460075 unknown
self:ScheduleMethod(0.1, "BossTargetScanner", args.sourceGUID, "DoomStormTarget", 0.1, 8, true)
elseif spellId == 1214780 then
Expand Down Expand Up @@ -160,7 +161,6 @@ function mod:SPELL_CAST_START(args)
self.vb.barrierCount = self.vb.barrierCount + 1
specWarnbarrier:Show(self.vb.barrierCount)
specWarnbarrier:Play("attackshield")
timerBarrierCD:Start()
end
end

Expand Down Expand Up @@ -201,11 +201,9 @@ function mod:SPELL_AURA_REMOVED(args)
if spellId == 460156 then
warnJumpStartOver:Show()
--restart Timers
timerJumpStartCD:Start(2)
timerMobilizeMechadronesCD:Start(2)
timerElectrocrushCD:Start(2)
timerSonicBoomCD:Start(2)
timerBarrierCD:Start(2)
timerElectrocrushCD:Start(9.2, self.vb.electroCount+1)
timerSonicBoomCD:Start(18.9, self.vb.sonicCount+1)
timerBarrierCD:Start(54.2, self.vb.barrierCount+1)
elseif spellId == 469981 then
if self.Options.InfoFrame then
DBM.InfoFrame:Hide()
Expand Down
40 changes: 22 additions & 18 deletions DBM-Party-WarWithin/OperationFloodgate/OperationFloodgateTrash.lua
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,10 @@ mod:RegisterEvents(
--TODO, Darkfuse Soldier Black Blood Wound stack counter?
--TODO, EZ-Thro Dynamite III general announce? (Venture Co Surveyor)
--[[
ability.id = 469818 and (type = "begincast" or type = "cast")
or stoppedAbility.id = 469818
or type = "dungeonencounterstart" or type = "dungeonencounterend"
or (source.type = "NPC" and source.firstSeen = timestamp and source.id = 217531) or (target.type = "NPC" and target.firstSeen = timestamp and target.id = 217531)
or (source.type = "NPC" and source.firstSeen = timestamp and source.id = 231197) or (target.type = "NPC" and target.firstSeen = timestamp and target.id = 231197)
--]]
--local warnHorrifyingshrill = mod:NewCastAnnounce(434802, 4)--High Prio Off interrupt
local warnWarpBlood = mod:NewSpellAnnounce(465827, 3)
Expand Down Expand Up @@ -57,18 +58,20 @@ local timerFlamethrowerCD = mod:NewCDNPTimer(25.5, 465754, nil, nil, nil, 3)
local timerShreddationCD = mod:NewCDNPTimer(9.7, 474337, nil, nil, nil, 3)--9.7-15 (delayed by flamethrower most likely
local timerRPGGCD = mod:NewCDNPTimer(14.5, 1216039, nil, nil, nil, 3)
local timerSurpriseInspectionCD = mod:NewCDNPTimer(9.7, 465682, nil, nil, nil, 3)
local timerBubbleBurpCD = mod:NewCDNPTimer(100, 469818, nil, nil, nil, 3)--TODO, add recast
local timerSplishSplashCD = mod:NewCDNPTimer(100, 1217496, nil, nil, nil, 3)--TODO, add recast
local timerBackwashCD = mod:NewCDNPTimer(100, 469721, nil, nil, nil, 2)--TODO, add recast
local timerBubbleBurpCD = mod:NewCDNPTimer(21.5, 469818, nil, nil, nil, 3)
local timerSplishSplashCD = mod:NewCDNPTimer(21.8, 1217496, nil, nil, nil, 3)
local timerBackwashCD = mod:NewCDNPTimer(21.8, 469721, nil, nil, nil, 2)
local timerWarpBloodCD = mod:NewCDNPTimer(20.6, 465827, nil, nil, nil, 2)
local timerSparkslamCD = mod:NewCDNPTimer(10.9, 465666, nil, nil, nil, 3)
local timerJettisonkelpCD = mod:NewCDNPTimer(15.8, 471736, nil, nil, nil, 5)
local timerOverchargeCD = mod:NewCDNPTimer(10.7, 469799, nil, nil, nil, 5, nil, DBM_COMMON_L.MAGIC_ICON)--10-15
local timerSurveyingBeamCD = mod:NewCDNPTimer(20.6, 462771, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)
local timerBloodthirstyCackleCD = mod:NewCDNPTimer(100, 463058, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--TODO, add recast
local timerTrickShotCD = mod:NewCDNPTimer(10.9, 1214468, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--10.9-14 (seems stops still put it on CD)
local timerBloodthirstyCackleCD = mod:NewCDNPTimer(18.9, 463058, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--18.9-22
local timerTrickShotCD = mod:NewCDNPTimer(10.9, 1214468, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--10.9-14 (seems to be buggy/random in some cases, inconsistent behaviors)
local timerRestorativeAlgaeCD = mod:NewCDNPTimer(18.1, 471733, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)

local allowInterruptOnBeam = false

--local playerName = UnitName("player")

--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 @@ -114,6 +117,7 @@ function mod:SPELL_CAST_START(args)
specWarnSurpriseInspection:Play("frontal")
end
elseif spellId == 462771 then
allowInterruptOnBeam = true
if self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnSurveyingBeam:Show(args.sourceName)
specWarnSurveyingBeam:Play("kickcast")
Expand All @@ -124,7 +128,6 @@ function mod:SPELL_CAST_START(args)
specWarnBloodthirstyCackleKick:Play("kickcast")
end
elseif spellId == 1214468 then
timerTrickShotCD:Start(nil, args.sourceGUID)
if self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnTrickShot:Show(args.sourceName)
specWarnTrickShot:Play("kickcast")
Expand All @@ -135,19 +138,19 @@ function mod:SPELL_CAST_START(args)
specWarnRestorativeAlgae:Play("kickcast")
end
elseif spellId == 469818 then
--timerBubbleBurpCD:Start(nil, args.sourceGUID)
timerBubbleBurpCD:Start(nil, args.sourceGUID)
if self:AntiSpam(3, 2) then
specWarnBubbleBurp:Show()
specWarnBubbleBurp:Play("watchstep")
end
elseif spellId == 1217496 then
--timerSplishSplashCD:Start(nil, args.sourceGUID)
timerSplishSplashCD:Start(nil, args.sourceGUID)
if self:AntiSpam(3, 2) then
specWarnSplishSplash:Show()
specWarnSplishSplash:Play("frontal")
end
elseif spellId == 469721 then
--timerBackwashCD:Start(nil, args.sourceGUID)
timerBackwashCD:Start(nil, args.sourceGUID)
if self:AntiSpam(3, 4) then
specWarnBackwash:Show()
specWarnBackwash:Play("aesoon")
Expand Down Expand Up @@ -177,11 +180,12 @@ function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if not self:IsValidWarning(args.sourceGUID) then return end
if spellId == 462771 then
allowInterruptOnBeam = false
timerSurveyingBeamCD:Start(19.1, args.sourceGUID)--20.6-1.5
elseif spellId == 463058 then
-- timerBloodthirstyCackleCD:Start(19.1, args.sourceGUID)
-- elseif spellId == 1214468 then
-- timerTrickShotCD:Start(8.6, args.sourceGUID)--12.1-3.5
timerBloodthirstyCackleCD:Start(18.9, args.sourceGUID)
elseif spellId == 1214468 then
timerTrickShotCD:Start(7.4, args.sourceGUID)--10.9-3.5
elseif spellId == 469799 then
timerOverchargeCD:Start(nil, args.sourceGUID)
elseif spellId == 471733 then
Expand All @@ -196,12 +200,12 @@ end

function mod:SPELL_INTERRUPT(args)
if not self.Options.Enabled then return end
if args.extraSpellId == 462771 then
if args.extraSpellId == 462771 and allowInterruptOnBeam then
timerSurveyingBeamCD:Start(19.1, args.destGUID)--20.6-1.5
elseif args.extraSpellId == 463058 then
-- timerBloodthirstyCackleCD:Start(19.1, args.destGUID)
-- elseif args.extraSpellId == 1214468 then
-- timerTrickShotCD:Start(8.6, args.destGUID)--12.1-3.5
timerBloodthirstyCackleCD:Start(18.9, args.destGUID)
elseif args.extraSpellId == 1214468 then
timerTrickShotCD:Start(7.4, args.destGUID)--10.9-3.5
elseif args.extraSpellId == 471733 then
timerRestorativeAlgaeCD:Start(16.1, args.destGUID)--18.1-2
end
Expand Down

0 comments on commit bbc7626

Please sign in to comment.