From edd0cf62002f8de33e44f84b21f56eaffe5e4f80 Mon Sep 17 00:00:00 2001
From: ForestJ316 <91183260+ForestJ316@users.noreply.github.com>
Date: Wed, 15 Jan 2025 14:26:46 +0200
Subject: [PATCH 1/7] Hydross: Add Water Tomb timer

---
 DBM-Serpentshrine/Hydross.lua | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/DBM-Serpentshrine/Hydross.lua b/DBM-Serpentshrine/Hydross.lua
index ef4af677..cb3ecdde 100644
--- a/DBM-Serpentshrine/Hydross.lua
+++ b/DBM-Serpentshrine/Hydross.lua
@@ -11,7 +11,7 @@ mod:RegisterCombat("combat_yell", L.YellPull)
 mod:RegisterEventsInCombat(
 	"SPELL_AURA_APPLIED 38235 38246 37935",
 	"SPELL_AURA_REMOVED 38246 37935",
-	"SPELL_CAST_SUCCESS 38215 38216 38217 38219 38220 38221 38218 38231 40584 38222 38230 40583 25035"
+	"SPELL_CAST_SUCCESS 38215 38216 38217 38219 38220 38221 38218 38231 40584 38222 38230 40583 25035 38235"
 )
 
 --[[
@@ -28,6 +28,7 @@ local specWarnMark	= mod:NewSpecialWarning("SpecWarnMark")
 
 local timerMark		= mod:NewTimer(15, "TimerMark", 38215, nil, nil, 2)
 local timerSludge	= mod:NewTargetTimer(24, 38246, nil, nil, nil, 3)
+local timerTomb		= mod:NewVarTimer("v7-8", 38235, nil, nil, nil, 3)
 
 local berserkTimer	= mod:NewBerserkTimer(600)
 
@@ -46,6 +47,7 @@ local damageNext = {
 
 function mod:OnCombatStart(delay)
 	timerMark:Start(14.5-delay, markOfH, "10%")
+	timerTomb:Start()
 	berserkTimer:Start(-delay)
 	if self.Options.RangeFrame then
 		DBM.RangeCheck:Show()
@@ -76,6 +78,7 @@ function mod:SPELL_AURA_REMOVED(args)
 		timerSludge:Stop(args.destName)
 	elseif spellId == 37935 and args:GetDestCreatureID() == 21216 then -- Cleansing Field - Poison form -
 		warnPhase:Show(L.Nature)
+		timerTomb:Cancel()
 	end
 end
 
@@ -99,5 +102,7 @@ function mod:SPELL_CAST_SUCCESS(args)
 			warnPhase:Show(L.Nature)
 			timerMark:Start(15.4, markOfC, "10%")
 		end
+	elseif args.spellId == 38235 then
+		timerTomb:Start()
 	end
 end

From b0465636070b0987e6dcb5881ad930cbc0b16ba3 Mon Sep 17 00:00:00 2001
From: ForestJ316 <91183260+ForestJ316@users.noreply.github.com>
Date: Wed, 15 Jan 2025 16:53:24 +0200
Subject: [PATCH 2/7] Morogrim Tidewalker: Fix timers

---
 DBM-Serpentshrine/Tidewalker.lua | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/DBM-Serpentshrine/Tidewalker.lua b/DBM-Serpentshrine/Tidewalker.lua
index 0bbebd89..ed5e644a 100644
--- a/DBM-Serpentshrine/Tidewalker.lua
+++ b/DBM-Serpentshrine/Tidewalker.lua
@@ -24,7 +24,7 @@ local warnBubble		= mod:NewSpellAnnounce(37854, 4)
 local specWarnMurlocs	= mod:NewSpecialWarning("SpecWarnMurlocs", nil, nil, nil, nil, nil, nil, 24984, 37764)
 
 local timerGraveCD		= mod:NewCDTimer(30, 38049, nil, nil, nil, 3) -- REVIEW! variance? (25 man FM log 2022/07/27 || 25 man FM log 2022/08/11) - 30.1, 30.0, 30.0, 30.0, 30.0 || 32.0, 30.1, 30.1
-local timerMurlocs		= mod:NewTimer(51, "TimerMurlocs", 39088, nil, nil, 1, nil, nil, nil, nil, nil, nil, nil, 37764)
+local timerMurlocs		= mod:NewTimer(45, "TimerMurlocs", 39088, nil, nil, 1, nil, nil, nil, nil, nil, nil, nil, 37764)
 local timerBubble		= mod:NewBuffActiveTimer(35, 37854, nil, nil, nil, 1)
 
 mod:AddSetIconOption("GraveIcon", 38049, true, false, {5, 6, 7, 8})
@@ -40,8 +40,8 @@ end
 function mod:OnCombatStart(delay)
 	self.vb.graveIcon = 8
 	table.wipe(warnGraveTargets)
-	timerGraveCD:Start(19.4-delay) -- REVIEW! variance? (25 man FM log 2022/07/27 || 25 man FM log 2022/08/11) - 19.4 || 19.5
-	timerMurlocs:Start(40.4-delay) -- REVIEW! variance? (25 man FM log 2022/07/27 || 25 man FM log 2022/08/11) - 40.5 || 40.4
+	timerGraveCD:Start(20-delay)
+	timerMurlocs:Start(-delay)
 end
 
 function mod:SPELL_CAST_START(args)

From 81e77c1520242d698bccfc649e2ad0c2122b39f1 Mon Sep 17 00:00:00 2001
From: ForestJ316 <91183260+ForestJ316@users.noreply.github.com>
Date: Wed, 15 Jan 2025 16:54:20 +0200
Subject: [PATCH 3/7] The Lurker Below: Update timers

---
 DBM-Serpentshrine/TheLurkerBelow.lua | 30 ++++++++++++++++------------
 1 file changed, 17 insertions(+), 13 deletions(-)

diff --git a/DBM-Serpentshrine/TheLurkerBelow.lua b/DBM-Serpentshrine/TheLurkerBelow.lua
index ea9e38c7..cbf9618e 100644
--- a/DBM-Serpentshrine/TheLurkerBelow.lua
+++ b/DBM-Serpentshrine/TheLurkerBelow.lua
@@ -11,7 +11,7 @@ mod:RegisterCombat("combat")
 mod:RegisterEventsInCombat(
 	"SPELL_CAST_START 20568",
 	"CHAT_MSG_RAID_BOSS_EMOTE",
-	"UNIT_DIED",
+	--"UNIT_DIED",
 	"UNIT_SPELLCAST_SUCCEEDED"
 )
 
@@ -21,16 +21,16 @@ local warnWhirl			= mod:NewSpellAnnounce(37363, 2)
 
 local specWarnSpout		= mod:NewSpecialWarningSpell(37433, nil, nil, nil, 2, 2)
 
-local timerSubmerge		= mod:NewTimer(105, "TimerSubmerge", "Interface\\AddOns\\DBM-Core\\textures\\CryptFiendBurrow.blp", nil, nil, 6) -- REVIEW! no data to validate, but doesn't match wiki
+local timerSubmerge		= mod:NewTimer(120, "TimerSubmerge", "Interface\\AddOns\\DBM-Core\\textures\\CryptFiendBurrow.blp", nil, nil, 6)
 local timerEmerge		= mod:NewTimer(60, "TimerEmerge", "Interface\\AddOns\\DBM-Core\\textures\\CryptFiendUnBurrow.blp", nil, nil, 6)
-local timerSpoutCD		= mod:NewCDTimer(118.5, 37433, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON) -- REVIEW! variance? (25 man FM log 2022/08/11) - 118.5 (happened right after emerge)
+local timerSpoutCD		= mod:NewCDTimer(71, 37433, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON) -- REVIEW! variance? (25 man FM log 2022/08/11) - 118.5 (happened right after emerge)
 local timerSpoutCast	= mod:NewCastTimer(3, 37433, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON)
 local timerSpout		= mod:NewBuffActiveTimer(22, 37433, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON)
-local timerWhirlCD		= mod:NewCDTimer(18, 37363, nil, nil, nil, 2) -- REVIEW! variance? (25 man FM log 2022/08/11) - 18.0, (after emerge) 100.5
+local timerWhirlCD		= mod:NewCDTimer(18, 37363, nil, nil, nil, 2, nil, nil, true) -- REVIEW! variance? (25 man FM log 2022/08/11) - 18.0, (after emerge) 100.5
 
 mod.vb.submerged = false
-mod.vb.guardianKill = 0
-mod.vb.ambusherKill = 0
+--mod.vb.guardianKill = 0
+--mod.vb.ambusherKill = 0
 
 local function emerged(self)
 	self.vb.submerged = false
@@ -45,7 +45,7 @@ local function submerged(self)
 	self.vb.guardianKill = 0
 	self.vb.ambusherKill = 0
 	timerSubmerge:Cancel()
---	timerSpoutCD:Cancel()
+	timerSpoutCD:Cancel()
 	timerWhirlCD:Cancel()
 	warnSubmerge:Show()
 	timerEmerge:Start()
@@ -54,9 +54,10 @@ end
 function mod:OnCombatStart(delay)
 	self:SetStage(1)
 	self.vb.submerged = false
-	timerWhirlCD:Start(62.5-delay) -- REVIEW! variance? (25 man FM log 2022/08/11) - 62.5
-	timerSpoutCD:Start(35.5-delay) -- REVIEW! variance? (25 man FM log 2022/08/11) - 35.5
+	timerWhirlCD:Start(-delay)
+	timerSpoutCD:Start(36-delay)
 	timerSubmerge:Start(90-delay)
+	self:Schedule(90-delay, submerged, self)
 end
 
 function mod:SPELL_CAST_START(args)
@@ -65,7 +66,7 @@ function mod:SPELL_CAST_START(args)
 		timerEmerge:Cancel()
 		warnEmerge:Show()
 		timerSubmerge:Start()
-		self:Schedule(60, submerged, self)
+		self:Schedule(120, submerged, self)
 	end
 end
 
@@ -79,6 +80,8 @@ function mod:CHAT_MSG_RAID_BOSS_EMOTE(_, source)
 	end
 end
 
+-- Onyxia PTR as of 15.01.2025 it emerges after static 60s
+--[[
 function mod:UNIT_DIED(args)
 	local cId = self:GetCIDFromGUID(args.destGUID)
 	if cId == 21865 then
@@ -95,12 +98,13 @@ function mod:UNIT_DIED(args)
 		end
 	end
 end
+]]
 
 function mod:UNIT_SPELLCAST_SUCCEEDED(_, spellName)
-	if spellName == GetSpellInfo(28819) and self:AntiSpam(2, 1) then--Submerge Visual
+	--[[if spellName == GetSpellInfo(28819) and self:AntiSpam(2, 1) then--Submerge Visual
 		DBM:AddMsg("Submerge Visual unhidden from event log. Notify Zidras on Discord or GitHub")
-		self:SendSync("Submerge")
-	elseif spellName == GetSpellInfo(37660) and self:AntiSpam(2, 2) then
+		self:SendSync("Submerge")]]
+	if spellName == GetSpellInfo(37660) and self:AntiSpam(2, 2) then
 		self:SendSync("Whirl")
 	end
 end

From be64d9102a0463a675895b805003d0f7817b3e32 Mon Sep 17 00:00:00 2001
From: ForestJ316 <91183260+ForestJ316@users.noreply.github.com>
Date: Wed, 15 Jan 2025 19:23:14 +0200
Subject: [PATCH 4/7] Lady Vashj: Update timers

---
 DBM-Serpentshrine/Vashj.lua | 81 ++++++++++++++++++++-----------------
 1 file changed, 44 insertions(+), 37 deletions(-)

diff --git a/DBM-Serpentshrine/Vashj.lua b/DBM-Serpentshrine/Vashj.lua
index a84e9d9a..134a4eb2 100644
--- a/DBM-Serpentshrine/Vashj.lua
+++ b/DBM-Serpentshrine/Vashj.lua
@@ -33,15 +33,15 @@ local warnPhase3		= mod:NewPhaseAnnounce(3)
 --local specWarnCore		= mod:NewSpecialWarning("SpecWarnCore", nil, nil, nil, 1, 8)
 local specWarnCharge	= mod:NewSpecialWarningMoveAway(38280, nil, nil, nil, 1, 2)
 local yellCharge		= mod:NewYell(38280)
-local specWarnElemental	= mod:NewSpecialWarning("SpecWarnElemental")--Changed from soon to a now warning. the soon warning not accurate because of 11 second variation so not useful special warning.
+local specWarnElemental	= mod:NewSpecialWarning("SpecWarnElemental")
 local specWarnToxic		= mod:NewSpecialWarningMove(38575, nil, nil, nil, 1, 2)
 
-local timerEntangleCD	= mod:NewCDTimer(20.9, 38316, nil, nil, nil, 3, nil, nil, true) -- Added "keep" arg. 10s variance (25 man FM log 2022/07/27 || 25 man FM log 2022/08/11) - Stage 1/25.9, Stage 3/30.0, 22.9, 24.2, 27.8 || Stage 1/24.8, Stage 3/30.0, 21.4, 20.9, 29.0, 28.6
+local timerEntangleCD	= mod:NewVarTimer("v20-30", 38316, nil, nil, nil, 3) -- Appears to have 10s variance still as of 15.01.2025 on Onyxia PTR -- pull:29.99/[Stage 1/0.00] 29.99, Stage 2/22.77, Stage 3/270.67, 30.01/300.67/323.44, 25.93, 20.98, 20.12, 24.52"
 local timerCharge		= mod:NewTargetTimer(20, 38280, nil, nil, nil, 3)
-local timerChargeCD		= mod:NewCDTimer(10.2, 38280, nil, nil, nil, 3, nil, nil, true) -- Added "keep" arg. 10s variance (25 man FM log 2022/07/27 || 25 man FM log 2022/08/11) - Stage 1/20.0, 19.0, 17.8, Stage 3/15.5, 14.2, 18.7, 18.8, 19.1, 10.5, 17.5 || Stage 1/10.2, 15.9, 11.3, Stage 3/17.5, 12.7, 19.2, 19.9, 15.8, 12.0, 19.9
-local timerShockBlastCD	= mod:NewCDTimer(10.1, 38509, nil, nil, nil, 3, nil, nil, true) -- Added "keep" arg. 10s variance (25 man FM log 2022/07/27 || 25 man FM log 2022/08/11) - Stage 1/16.3, 17.8, 11.7, Stage 3/27.8, 11.0, 19.0, 11.3, 17.7, 17.2, 17.4 || Stage 1/16.2, 10.1, Stage 3/24.3, 19.8, 14.1, 10.7, 10.6, 19.3, 12.0, 14.7
-local timerElemental	= mod:NewTimer(22, "TimerElementalActive", 39088, nil, nil, 1)--Blizz says they are active 20 seconds per patch notes, but my logs don't match those results. 22 second up time.
-local timerElementalCD	= mod:NewTimer(45, "TimerElemental", 39088, nil, nil, 1)--46-57 variation. because of high variation the pre warning special warning not useful, fortunately we can detect spawns with precise timing.
+local timerChargeCD		= mod:NewVarTimer("v10-20", 38280, nil, nil, nil, 3) -- At least 10s variance as of 15.01.2025 on Onyxia PTR -- pull:15.65/[Stage 1/0.00] 15.65, 16.30, 16.68, Stage 2/4.14, Stage 3/270.67, 11.79/282.45/286.59, 11.26, 15.86, 12.87, 12.57, 14.43, 16.71, 11.34, 11.73"
+local timerShockBlastCD	= mod:NewVarTimer("v10-20", 38509, nil, nil, nil, 3) -- At least 10s variance as of 15.01.2025 on Onyxia PTR -- pull:18.32/[Stage 1/0.00] 18.32, 11.71, 12.37, Stage 2/10.37, Stage 3/270.67, 19.40/290.07/300.44, 14.63, 10.72, 13.05, 16.88, 10.91, 13.39
+local timerElemental	= mod:NewTimer(15, "TimerElementalActive", 39088, nil, nil, 1)
+local timerElementalCD	= mod:NewTimer(50, "TimerElemental", 39088, nil, nil, 1) -- Seems to be 50s flat as of 15.01.2025 on Onyxia PTR
 local timerStrider		= mod:NewTimer(63, "TimerStrider", 475, nil, nil, 1)
 local timerNaga			= mod:NewTimer(47.5, "TimerNaga", 2120, nil, nil, 1)
 --local timerMC			= mod:NewCDTimer(21, 38511, nil, nil, nil, 3) -- removed in patch 2.1.
@@ -51,23 +51,23 @@ mod:AddSetIconOption("ChargeIcon", 38280, false, false, {1})
 --mod:AddBoolOption("AutoChangeLootToFFA", true)
 
 mod.vb.shieldLeft = 4
-mod.vb.nagaCount = 1
-mod.vb.striderCount = 1
-mod.vb.elementalCount = 1
+mod.vb.nagaCount = 0
+mod.vb.striderCount = 0
+mod.vb.elementalCount = 0
 --local lootmethod, masterlooterRaidID
 local elementals = {}
 
 local function StriderSpawn(self)
 	self.vb.striderCount = self.vb.striderCount + 1
-	warnStrider:Schedule(57, tostring(self.vb.striderCount))
-	timerStrider:Start(nil, tostring(self.vb.striderCount))
+	warnStrider:Schedule(57, tostring(self.vb.striderCount + 1))
+	timerStrider:Start(nil, tostring(self.vb.striderCount + 1))
 	self:Schedule(63, StriderSpawn, self)
 end
 
 local function NagaSpawn(self)
-	warnNaga:Schedule(42.5, tostring(self.vb.nagaCount))
 	self.vb.nagaCount = self.vb.nagaCount + 1
-	timerNaga:Start(nil, tostring(self.vb.nagaCount))
+	warnNaga:Schedule(42.5, tostring(self.vb.nagaCount + 1))
+	timerNaga:Start(nil, tostring(self.vb.nagaCount + 1))
 	self:Schedule(47.5, NagaSpawn, self)
 end
 
@@ -75,12 +75,12 @@ function mod:OnCombatStart(delay)
 	table.wipe(elementals)
 	self:SetStage(1)
 	self.vb.shieldLeft = 4
-	self.vb.nagaCount = 1
-	self.vb.striderCount = 1
-	self.vb.elementalCount = 1
-	timerEntangleCD:Start(29.5-delay) -- REVIEW! variance? (25 man FM log 2022/07/27 || 25 man FM log 2022/08/11) - 29.5 || 29.5
-	timerChargeCD:Start(11.6-delay) -- REVIEW! 10s variance? (25 man FM log 2022/07/27 || 25 man FM log 2022/08/11) - 11.6 || 16.3
-	timerShockBlastCD:Start(15.2-delay) -- REVIEW! 10s variance? (25 man FM log 2022/07/27 || 25 man FM log 2022/08/11) - 25.2 || 15.2
+	self.vb.nagaCount = 0
+	self.vb.striderCount = 0
+	self.vb.elementalCount = 0
+	timerEntangleCD:Start(30-delay) -- Appears to be static 30s upon starting combat (As of 15.01.2025 on Onyxia PTR)
+	timerChargeCD:Start()
+	timerShockBlastCD:Start()
 --	if DBM:IsInGroup() and DBM:GetRaidRank() == 2 then
 --		lootmethod, _, masterlooterRaidID = GetLootMethod()
 --	end
@@ -149,9 +149,12 @@ end
 
 function mod:SPELL_CAST_START(args)
 	if args.spellId == 38253 and not elementals[args.sourceGUID] then
+		elementals[args.sourceGUID] = true
+		self.vb.elementalCount = self.vb.elementalCount + 1
 		specWarnElemental:Show()
 		timerElemental:Start()
-		elementals[args.sourceGUID] = true
+		warnElemental:Schedule(45, tostring(self.vb.elementalCount + 1))
+		timerElementalCD:Start(nil, tostring(self.vb.elementalCount + 1))
 	end
 end
 
@@ -168,9 +171,7 @@ end
 function mod:UNIT_DIED(args)
 	local cid = self:GetCIDFromGUID(args.destGUID)
 	if cid == 22009 then
-		self.vb.elementalCount = self.vb.elementalCount + 1
-		timerElementalCD:Start(nil, tostring(self.vb.elementalCount))
-		warnElemental:Schedule(45, tostring(self.vb.elementalCount))
+		timerElemental:Cancel()
 	end
 end
 
@@ -185,20 +186,24 @@ end
 function mod:CHAT_MSG_MONSTER_YELL(msg)
 	if msg == L.DBM_VASHJ_YELL_PHASE2 or msg:find(L.DBM_VASHJ_YELL_PHASE2) then
 		self:SetStage(2)
-		self.vb.nagaCount = 1
-		self.vb.striderCount = 1
-		self.vb.elementalCount = 1
+		self.vb.nagaCount = 0
+		self.vb.striderCount = 0
+		self.vb.elementalCount = 0
 		self.vb.shieldLeft = 4
 		warnPhase2:Show()
+		-- Cancel P1 timers
+		timerEntangleCD:Cancel()
 		timerChargeCD:Cancel()
-		timerNaga:Start(nil, tostring(self.vb.nagaCount))
-		warnNaga:Schedule(42.5, tostring(self.vb.elementalCount))
+		timerShockBlastCD:Cancel()
+		-- Start P2 timers
+		warnNaga:Schedule(42.5, tostring(self.vb.nagaCount + 1))
+		timerNaga:Start(nil, tostring(self.vb.nagaCount + 1))
 		self:Schedule(47.5, NagaSpawn, self)
-		timerElementalCD:Start(nil, tostring(self.vb.elementalCount))
-		warnElemental:Schedule(45, tostring(self.vb.elementalCount))
-		timerStrider:Start(nil, tostring(self.vb.striderCount))
-		warnStrider:Schedule(57, tostring(self.vb.striderCount))
+		warnStrider:Schedule(57, tostring(self.vb.striderCount + 1))
+		timerStrider:Start(nil, tostring(self.vb.striderCount + 1))
 		self:Schedule(63, StriderSpawn, self)
+		warnElemental:Schedule(45, tostring(self.vb.elementalCount + 1))
+		timerElementalCD:Start(nil, tostring(self.vb.elementalCount + 1))
 --		if DBM:IsInGroup() and self.Options.AutoChangeLootToFFA and DBM:GetRaidRank() == 2 then
 --			SetLootMethod("freeforall")
 --		end
@@ -208,16 +213,18 @@ function mod:CHAT_MSG_MONSTER_YELL(msg)
 	elseif msg == L.DBM_VASHJ_YELL_PHASE3 or msg:find(L.DBM_VASHJ_YELL_PHASE3) then
 		self:SetStage(3)
 		warnPhase3:Show()
-		timerNaga:Cancel()
 		warnNaga:Cancel()
-		timerElementalCD:Cancel()
-		warnElemental:Cancel()
-		timerStrider:Cancel()
-		warnStrider:Cancel()
+		timerNaga:Cancel()
 		self:Unschedule(NagaSpawn)
+		warnStrider:Cancel()
+		timerStrider:Cancel()
 		self:Unschedule(StriderSpawn)
+		warnElemental:Cancel()
+		timerElementalCD:Cancel()		
 		self:UnregisterShortTermEvents()
+		timerEntangleCD:Start(30) -- Appears to be static 30s upon entering P3 (As of 15.01.2025 on Onyxia PTR)
 		timerChargeCD:Start()
+		timerShockBlastCD:Start()
 --		if DBM:IsInGroup() and self.Options.AutoChangeLootToFFA and DBM:GetRaidRank() == 2 then
 --			if masterlooterRaidID then
 --				SetLootMethod(lootmethod, "raid"..masterlooterRaidID)

From f7473ba952eb52acd5c5461f60e1223dfa5d495e Mon Sep 17 00:00:00 2001
From: ForestJ316 <91183260+ForestJ316@users.noreply.github.com>
Date: Wed, 15 Jan 2025 20:24:41 +0200
Subject: [PATCH 5/7] Fix Luacheck

---
 DBM-Serpentshrine/TheLurkerBelow.lua | 2 ++
 DBM-Serpentshrine/Vashj.lua          | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/DBM-Serpentshrine/TheLurkerBelow.lua b/DBM-Serpentshrine/TheLurkerBelow.lua
index cbf9618e..d7026616 100644
--- a/DBM-Serpentshrine/TheLurkerBelow.lua
+++ b/DBM-Serpentshrine/TheLurkerBelow.lua
@@ -32,12 +32,14 @@ mod.vb.submerged = false
 --mod.vb.guardianKill = 0
 --mod.vb.ambusherKill = 0
 
+--[[
 local function emerged(self)
 	self.vb.submerged = false
 	timerEmerge:Cancel()
 	warnEmerge:Show()
 	timerSubmerge:Start()
 end
+]]
 
 local function submerged(self)
 	self:SetStage(2)
diff --git a/DBM-Serpentshrine/Vashj.lua b/DBM-Serpentshrine/Vashj.lua
index 134a4eb2..51f70779 100644
--- a/DBM-Serpentshrine/Vashj.lua
+++ b/DBM-Serpentshrine/Vashj.lua
@@ -220,7 +220,7 @@ function mod:CHAT_MSG_MONSTER_YELL(msg)
 		timerStrider:Cancel()
 		self:Unschedule(StriderSpawn)
 		warnElemental:Cancel()
-		timerElementalCD:Cancel()		
+		timerElementalCD:Cancel()
 		self:UnregisterShortTermEvents()
 		timerEntangleCD:Start(30) -- Appears to be static 30s upon entering P3 (As of 15.01.2025 on Onyxia PTR)
 		timerChargeCD:Start()

From e412586fff5036143e02b2b6dfa83cc80939ffe1 Mon Sep 17 00:00:00 2001
From: ForestJ316 <91183260+ForestJ316@users.noreply.github.com>
Date: Wed, 15 Jan 2025 21:47:33 +0200
Subject: [PATCH 6/7] SSC: Update revisions

---
 DBM-Serpentshrine/Hydross.lua        | 2 +-
 DBM-Serpentshrine/TheLurkerBelow.lua | 2 +-
 DBM-Serpentshrine/Tidewalker.lua     | 2 +-
 DBM-Serpentshrine/Vashj.lua          | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/DBM-Serpentshrine/Hydross.lua b/DBM-Serpentshrine/Hydross.lua
index cb3ecdde..6095d745 100644
--- a/DBM-Serpentshrine/Hydross.lua
+++ b/DBM-Serpentshrine/Hydross.lua
@@ -1,7 +1,7 @@
 local mod	= DBM:NewMod("Hydross", "DBM-Serpentshrine")
 local L		= mod:GetLocalizedStrings()
 
-mod:SetRevision("20220811225006")
+mod:SetRevision("20250115214650")
 mod:SetCreatureID(21216)
 
 --mod:SetModelID(20162)
diff --git a/DBM-Serpentshrine/TheLurkerBelow.lua b/DBM-Serpentshrine/TheLurkerBelow.lua
index d7026616..0d1b8dd8 100644
--- a/DBM-Serpentshrine/TheLurkerBelow.lua
+++ b/DBM-Serpentshrine/TheLurkerBelow.lua
@@ -1,7 +1,7 @@
 local mod	= DBM:NewMod("LurkerBelow", "DBM-Serpentshrine")
 local L		= mod:GetLocalizedStrings()
 
-mod:SetRevision("20220813110833")
+mod:SetRevision("20250115214650")
 mod:SetCreatureID(21217)
 
 --mod:SetModelID(20216)
diff --git a/DBM-Serpentshrine/Tidewalker.lua b/DBM-Serpentshrine/Tidewalker.lua
index ed5e644a..dad357fd 100644
--- a/DBM-Serpentshrine/Tidewalker.lua
+++ b/DBM-Serpentshrine/Tidewalker.lua
@@ -1,7 +1,7 @@
 local mod	= DBM:NewMod("Tidewalker", "DBM-Serpentshrine")
 local L		= mod:GetLocalizedStrings()
 
-mod:SetRevision("20220812215520")
+mod:SetRevision("20250115214650")
 mod:SetCreatureID(21213)
 
 --mod:SetModelID(20739)
diff --git a/DBM-Serpentshrine/Vashj.lua b/DBM-Serpentshrine/Vashj.lua
index 51f70779..cc48b9cc 100644
--- a/DBM-Serpentshrine/Vashj.lua
+++ b/DBM-Serpentshrine/Vashj.lua
@@ -1,7 +1,7 @@
 local mod	= DBM:NewMod("Vashj", "DBM-Serpentshrine")
 local L		= mod:GetLocalizedStrings()
 
-mod:SetRevision("20220813164045")
+mod:SetRevision("20250115214650")
 mod:SetCreatureID(21212)
 --mod:SetModelID(20748)
 mod:SetUsedIcons(1)

From b6159c79f53c0709d2a1554fecdb9f7c2a3f2df9 Mon Sep 17 00:00:00 2001
From: ForestJ316 <91183260+ForestJ316@users.noreply.github.com>
Date: Thu, 16 Jan 2025 00:22:08 +0200
Subject: [PATCH 7/7] Update TheLurkerBelow.lua

---
 DBM-Serpentshrine/TheLurkerBelow.lua | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/DBM-Serpentshrine/TheLurkerBelow.lua b/DBM-Serpentshrine/TheLurkerBelow.lua
index 0d1b8dd8..25402f04 100644
--- a/DBM-Serpentshrine/TheLurkerBelow.lua
+++ b/DBM-Serpentshrine/TheLurkerBelow.lua
@@ -32,6 +32,8 @@ mod.vb.submerged = false
 --mod.vb.guardianKill = 0
 --mod.vb.ambusherKill = 0
 
+local whirlName = GetSpellInfo(37660)
+
 --[[
 local function emerged(self)
 	self.vb.submerged = false
@@ -106,7 +108,7 @@ function mod:UNIT_SPELLCAST_SUCCEEDED(_, spellName)
 	--[[if spellName == GetSpellInfo(28819) and self:AntiSpam(2, 1) then--Submerge Visual
 		DBM:AddMsg("Submerge Visual unhidden from event log. Notify Zidras on Discord or GitHub")
 		self:SendSync("Submerge")]]
-	if spellName == GetSpellInfo(37660) and self:AntiSpam(2, 2) then
+	if spellName == whirlName and self:AntiSpam(2, 2) then
 		self:SendSync("Whirl")
 	end
 end