Skip to content

Commit

Permalink
Galakras fixes:
Browse files Browse the repository at this point in the history
Fixed second tower grunt timer no longer starting on mythic
Fixed adds timers not aligning with current add waves (protodrakes moved from 4th wave to 3rd for some reason)

Other minor timer fixes to other bosses
  • Loading branch information
MysticalOS committed May 30, 2024
1 parent 490db02 commit 1344ea4
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 19 deletions.
25 changes: 14 additions & 11 deletions DBM-Raids-MoP/SiegeOfOrgrimmar/Galakras.lua
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ mod:RegisterEventsInCombat(
"CHAT_MSG_MONSTER_YELL"
)

--THIS module probably needs signficant rewriting if a mop classic happens. it's janky and prone to breaking on smallest of mis translations.
--Stage 1: Bring Her Down!
mod:AddTimerLine(DBM:EJ_GetSectionInfo(8417))
local warnFracture = mod:NewTargetNoFilterAnnounce(146899, 3)
Expand Down Expand Up @@ -80,7 +81,7 @@ local yellFlamesofGalakrond = mod:NewYell(147068)
local specWarnFlamesofGalakrondStack= mod:NewSpecialWarningStack(147029, nil, 6, nil, nil, 1, 6)
local specWarnFlamesofGalakrondOther= mod:NewSpecialWarningTarget(147029, "Tank", nil, nil, 1, 2)

local timerFlamesofGalakrondCD = mod:NewCDTimer(6, 147068, nil, nil, nil, 3)
local timerFlamesofGalakrondCD = mod:NewCDTimer(5.7, 147068, nil, nil, nil, 3)
local timerFlamesofGalakrond = mod:NewTargetTimer(15, 147029, nil, "Tank", nil, 5)
local timerPulsingFlamesCD = mod:NewNextCountTimer(25, 147042, nil, nil, nil, 2, nil, DBM_COMMON_L.HEALER_ICON)
local timerPulsingFlames = mod:NewBuffActiveTimer(7, 147042)
Expand Down Expand Up @@ -245,7 +246,7 @@ function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
timerProtoCD:Cancel()
warnPhase2:Show()
warnPhase2:Play("ptwo")
timerFlamesofGalakrondCD:Start(13.5)
timerFlamesofGalakrondCD:Start(12)
timerPulsingFlamesCD:Start(26.2, 1)--(used to be 39?)
self:Unschedule(protos)
end
Expand All @@ -267,7 +268,7 @@ function mod:CHAT_MSG_MONSTER_SAY(msg)
end
end

function mod:CHAT_MSG_MONSTER_YELL(msg)
function mod:CHAT_MSG_MONSTER_YELL(msg)--Can also scan for NPC name and player targets, but npc name also requires translations since not in journal, and these already translated
if msg == L.newForces1 or msg == L.newForces1H or msg == L.newForces2 or msg == L.newForces3 or msg == L.newForces4 then
self:SendSync("Adds")
end
Expand All @@ -280,20 +281,22 @@ function mod:UPDATE_UI_WIDGET(table)
if widgetInfo and widgetInfo.text then
local text = widgetInfo.text
local percent = tonumber(string.match(text or "", "%d+"))
if percent == 1 and not self:IsMythic() then
if percent == 1 then
if (self.vb.firstTower == 0) then
self.vb.firstTower = 1
end
timerTowerCD:Restart()--Corrected timer using widget api
if not self:IsMythic() then
timerTowerCD:Restart()--Corrected timer using widget api
end
end
end
end

--"<167.7 21:23:40> [CHAT_MSG_RAID_BOSS_EMOTE] CHAT_MSG_RAID_BOSS_EMOTE#Warlord Zaela orders a |cFFFF0404|hKor'kron Demolisher|h|r to assault the tower!
function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg)
if msg:find("cFFFF0404") then--They fixed epiccenter bug (figured they would). Color code should be usuable though. It's only emote on encounter that uses it.
if msg:find("cFFFF0404") then
warnDemolisher:Show()
if self:IsMythic() and self.vb.firstTower == 0 then
if self:IsMythic() and self.vb.firstTower == 1 then
timerTowerGruntCD:Start(15)
self:Schedule(15, TowerGrunt, self)
self.vb.firstTower = 2
Expand All @@ -311,13 +314,13 @@ end
function mod:OnSync(msg)
if msg == "Adds" and self:AntiSpam(20, 4) and self:IsInCombat() then
self.vb.addsCount = self.vb.addsCount + 1
if self.vb.addsCount % 5 == 3 then
if self.vb.addsCount % 5 == 2 then--Drakes now spawn in 3rd wave instead of 4th
warnAdd:Show(self.vb.addsCount)
timerProtoCD:Start(nil, self.vb.addsCount + 1)
self:Schedule(55, protos, self)
timerProtoCD:Start(54.5, self.vb.addsCount + 1)
self:Schedule(54.5, protos, self)
elseif self.vb.addsCount == 1 then
warnAdd:Show(self.vb.addsCount)
timerAddsCD:Start(48, 2)
timerAddsCD:Start(55, 2)--Now 55 instead of 48
else
warnAdd:Show(self.vb.addsCount)
timerAddsCD:Start(nil, self.vb.addsCount + 1)
Expand Down
4 changes: 2 additions & 2 deletions DBM-Raids-MoP/SiegeOfOrgrimmar/ParagonsOfTheKlaxxi.lua
Original file line number Diff line number Diff line change
Expand Up @@ -259,13 +259,13 @@ local function CheckBosses(self)
timerMutateCD:Start(23, 1)
if DBM:UnitDebuff("player", vulnerable2) then vulnerable = true end
elseif cid == 71153 then--Hisek the Swarmkeeper
timerAimCD:Start(28.2, 1)--Might be 35-37 with unitdebuff filter (former 32)
timerAimCD:Start(21.2, 1)--Might be 35-37 with unitdebuff filter (former 32)
if self:IsMythic() then
timerRapidFireCD:Start(47.5)--47-50 with unitdebuff filter
end
elseif cid == 71161 then--Kil'ruk the Wind-Reaver
if self:IsMythic() then
timerReaveCD:Start(38.5)
timerReaveCD:Start(32.2)
end
self:StopRepeatedScan("DFAScan")
self:ScheduleMethod(23, "StartRepeatedScan", unitGUID, "DFAScan", 0.25, true)--Not a large sample size, data shows it happen 29-30 seconds after IEEU fires on two different pulls. Although 2 is a poor sample
Expand Down
10 changes: 5 additions & 5 deletions DBM-Raids-MoP/ThroneofThunder/IronQon.lua
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ local yellLightningStorm = mod:NewYell(136192)
local specWarnFrozenBlood = mod:NewSpecialWarningMove(136520)
local specWarnFistSmash = mod:NewSpecialWarningCount(136146, nil, nil, nil, 2)

local timerImpaleCD = mod:NewCDTimer(20, 134691, nil, "Tank|Healer", nil, 5)
local timerImpaleCD = mod:NewCDTimer(17.7, 134691, nil, "Tank|Healer", nil, 5)
local timerThrowSpearCD = mod:NewCDTimer(30, 134926, nil, nil, nil, 3)--30-42 second variation observed
local timerUnleashedFlameCD = mod:NewCDTimer(6, 134611, nil, false, nil, 5)--CD for the periodic trigger, not when he'll actually be at 30 energy and use it.
local timerScorched = mod:NewBuffFadesTimer(30, 134647)
Expand Down Expand Up @@ -325,7 +325,7 @@ function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
elseif spellId == 50630 then--Eject All Passengers (heroic phase change trigger)
local cid = self:GetCIDFromGUID(UnitGUID(uId))
self:Unschedule(checkSpear)
timerThrowSpearCD:Restart()
timerThrowSpearCD:Restart(9.5)
if cid == 68079 then--Ro'shak
if self.Options.RangeFrame then
DBM.RangeCheck:Show(10, nil, nil, 1)--Switch range frame back to 1. Range is assumed 10, no spell info
Expand All @@ -342,7 +342,7 @@ function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
timerFreezeCD:Start(13)
timerFrostSpikeCD:Start(15)
end
timerLightningStormCD:Start()
timerLightningStormCD:Start(18.4)
specWarnWindStorm:Schedule(52)
timerWindStorm:Schedule(52)
timerWindStormCD:Start(52)
Expand All @@ -356,7 +356,7 @@ function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
timerImpaleCD:Cancel()
warnPhase3:Show()
self:Schedule(25, checkSpear)
timerDeadZoneCD:Start(8.5)
timerDeadZoneCD:Start(7.5)
checkArcing()
elseif cid == 68081 then--Dam'ren
--confirmed, dam'ren's abilities do NOT reset in phase 4, cds from phase 3 carry over.
Expand Down Expand Up @@ -423,7 +423,7 @@ function mod:UNIT_DIED(args)
timerLightningStormCD:Start(17)
self:Unschedule(checkSpear)
self:Schedule(25, checkSpear)
timerThrowSpearCD:Restart()
timerThrowSpearCD:Restart()--30
warnPhase2:Show()
specWarnWindStorm:Schedule(14.5)--Old, 49.5
timerWindStorm:Schedule(14.5)
Expand Down
2 changes: 1 addition & 1 deletion DBM-Raids-MoP/ThroneofThunder/TwinEmpyreans.lua
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,7 @@ function mod:OnSync(msg)
infernoCount = infernoCount + 1
specWarnNuclearInferno:Show(infernoCount)
timerNuclearInferno:Start()
if phase3Started then
if phase3Started and self.vb.bossLeft == 2 then--Only uses longer Cd if both actually alive
timerNuclearInfernoCD:Start(73, infernoCount+1)
else
timerNuclearInfernoCD:Start(nil, infernoCount+1)
Expand Down

0 comments on commit 1344ea4

Please sign in to comment.