Skip to content

Commit

Permalink
Massively improve Baron and Ghamoora mods
Browse files Browse the repository at this point in the history
Improved Kelris mod with a personal dream timer and better P2 detection and shadowcrawsh announces
  • Loading branch information
MysticalOS committed Dec 9, 2023
1 parent c45bcc8 commit da2ddbc
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 38 deletions.
22 changes: 11 additions & 11 deletions DBM-Raids-Vanilla/VanillaSoD_BFD/BaronAuanis.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,36 @@ local L = mod:GetLocalizedStrings()
mod:SetRevision("@file-date-integer@")
mod:SetCreatureID(202699)
mod:SetEncounterID(2694)--2765 is likely 5 man version in instance type 201 (which has Old Serra'kis instead of Baron)
mod:SetHotfixNoticeRev(20231201000000)
mod:SetHotfixNoticeRev(20231208000000)
--mod:SetMinSyncRevision(20231115000000)

mod:RegisterCombat("combat")

mod:RegisterEventsInCombat(
-- "SPELL_CAST_START",
"SPELL_CAST_SUCCESS 404806",
"SPELL_AURA_APPLIED 404806",
"SPELL_AURA_REMOVED 404806"
)

--NOTE: depth charge might reset to 14.4 on boss gaining bubble beam
--ability.id = 404806 and type = "cast" or ability.id = 413664 and (type = "applybuff" or type = "removebuff")
local warningDepthCharge = mod:NewTargetNoFilterAnnounce(404806, 4)

local specWarnDepthCharge = mod:NewSpecialWarningMoveTo(404806, nil, nil, nil, 3, 2)
local yellDepthCharge = mod:NewYell(404806)
local yellDepthChargeFades = mod:NewShortFadesYell(404806)

--local timerSleepCD = mod:NewAITimer(180, 8399, nil, nil, nil, 3, nil, DBM_COMMON_L.MAGIC_ICON)
local timerDepthChargeCD = mod:NewCDTimer(16.1, 404806, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON)--Can be massively dealyed by Bubble Beam

--function mod:OnCombatStart(delay)

--end

--[[
function mod:SPELL_CAST_START(args)
if args:IsSpell(8399) and args:IsSrcTypeHostile() then
function mod:OnCombatStart(delay)
timerDepthChargeCD:Start(17.8-delay)
end

function mod:SPELL_CAST_SUCCESS(args)
if args:IsSpell(404806) then
timerDepthChargeCD:Start()
end
end
--]]

function mod:SPELL_AURA_APPLIED(args)
if args:IsSpell(404806) and args:IsDestTypePlayer() then
Expand Down
70 changes: 56 additions & 14 deletions DBM-Raids-Vanilla/VanillaSoD_BFD/Ghamoora.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,78 @@ local L = mod:GetLocalizedStrings()
mod:SetRevision("@file-date-integer@")
mod:SetCreatureID(201722)
mod:SetEncounterID(2697)--2761 is likely 5 man version in instance type 201
mod:SetHotfixNoticeRev(20231201000000)
mod:SetHotfixNoticeRev(20231208000000)
--mod:SetMinSyncRevision(20231115000000)

mod:RegisterCombat("combat")

mod:RegisterEventsInCombat(
"SPELL_CAST_START 414370",
"SPELL_AURA_APPLIED"
"SPELL_CAST_SUCCESS 407077",
"SPELL_AURA_APPLIED 406970 407025 407095",
"SPELL_AURA_APPLIED_DOSE 407095",
"SPELL_AURA_REMOVED 406970 407025",
"SPELL_AURA_REMOVED_DOSE 406970"
)

--Change aqua shell to carefly knockback warning after confirming mechanic/spellId
local warningAquaShell = mod:NewCastAnnounce(414370, 3)--Aqua Shell cracking/exploding
local warnCrunchArmor = mod:NewStackAnnounce(407095, 2, nil, "Tank|Healer")
local warningTripleChomp = mod:NewSpellAnnounce(407077, 2, nil, "Tank|Healer")
local warningAquaShell = mod:NewCountAnnounce(414370, 2)--Aqua Shell cracking/exploding
local warningExposed = mod:NewTargetNoFilterAnnounce(407025, 2)

--local timerSleepCD = mod:NewAITimer(180, 8399, nil, nil, nil, 3, nil, DBM_COMMON_L.MAGIC_ICON)
local timerCrunchArmorCD = mod:NewCDTimer(7, 407095, nil, "Tank|Healer", nil, 5)
local timerTripleChompCD = mod:NewCDTimer(11, 407077, nil, "Tank|Healer", nil, 5)
local timerExposed = mod:NewBuffActiveTimer(60, 407025, nil, nil, nil, 6)

--function mod:OnCombatStart(delay)

--end
mod.vb.exposedActive = false

function mod:OnCombatStart(delay)
self.vb.exposedActive = false
timerTripleChompCD:Start(15.8-delay)
end

function mod:SPELL_CAST_START(args)
if args:IsSpell(414370) then
warningAquaShell:Show()
function mod:SPELL_CAST_SUCCESS(args)
if args:IsSpell(407077) then
warningTripleChomp:Show()
if self.vb.exposedActive then
timerTripleChompCD:Start(10.7)
else
timerTripleChompCD:Start(16)
end
elseif args:IsSpell(407095) then
if self.vb.exposedActive then
timerCrunchArmorCD:Start(7)
else
timerCrunchArmorCD:Start(12.9)
end
end
end

--[[
function mod:SPELL_AURA_APPLIED(args)
if args:IsSpell(8399) and args:IsDestTypePlayer() then
if args:IsSpell(406970) then
warningAquaShell:Show(100)
elseif args:IsSpell(407025) then
self.vb.exposedActive = true
warningExposed:Show(args.destName)
timerExposed:Start()
elseif args:IsSpell(407095) then
local amount = args.amount or 1
if amount >= 3 then
warnCrunchArmor:Show(args.destName, amount)
end
end
end
mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED

function mod:SPELL_AURA_REMOVED(args)
if args:IsSpell(406970) then
local amount = args.amount or 0
if amount == 0 or (amount % 25 == 0) then--75, 50, 25, 0
warningAquaShell:Show(amount)
end
elseif args:IsSpell(407025) then
self.vb.exposedActive = false
timerExposed:Stop()
end
end
--]]
mod.SPELL_AURA_REMOVED_DOSE = mod.SPELL_AURA_REMOVED
51 changes: 38 additions & 13 deletions DBM-Raids-Vanilla/VanillaSoD_BFD/TwilightLordKelris.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,53 +10,78 @@ mod:SetHotfixNoticeRev(20231201000000)
mod:RegisterCombat("combat")

mod:RegisterEventsInCombat(
"SPELL_CAST_START 425265",
"SPELL_CAST_SUCCESS 425460",
"SPELL_AURA_APPLIED 426495 423135 426199 425460"
"SPELL_CAST_START 425265 426494 426493",
"SPELL_CAST_SUCCESS 426223",
"SPELL_AURA_APPLIED 426495 423135 425460 425239",
"SPELL_AURA_REMOVED 425460"
)

--https://www.wowhead.com/classic/spell=425234/orbs-of-shadow
--TODO, https://www.wowhead.com/classic/npc=209773/dream-copy , spawned from https://www.wowhead.com/classic/spell=423135/sleep
--TODO, invading Nightmares cast Shadow form 426223 on spawn, useful info?
--NOTE, Sleep seems either health based or just a massively random timer.
local warnShadowyChains = mod:NewTargetNoFilterAnnounce(426495, 2, nil, "RemoveMagic|Healer")--Failed Interrupt
local warnSleep = mod:NewTargetNoFilterAnnounce(423135, 2)--No consistent timing found so no timer
local warnShadowCrash = mod:NewTargetNoFilterAnnounce(426199, 2, nil, false)--Kinda spammy, off by default
local warnShadowCrash = mod:NewSpellAnnounce(426069, 3)
local warnDreamEater = mod:NewTargetNoFilterAnnounce(425460, 2)--Not sure what it does, so don't know what else to do with it yet

local specWarnShadowyChains = mod:NewSpecialWarningInterrupt(425265, "HasInterrupt", nil, nil, 1, 2)

local timerShadowyChainsCD = mod:NewCDTimer(11.3, 425265, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)
local timerDreamEaterCD = mod:NewCDTimer(47.4, 425460, nil, nil, nil, 3)--47.4-57.9, more data needed
local timerShadowyChainsCD = mod:NewCDTimer(11.3, 425265, nil, nil, nil, 4)--Remove interrupt icon since timer is used for stage 2 as well, CD affected by spell lockouts, so if shadow school locked out from pain kick, delayed
--local timerSleepCD = mod:NewCDTimer(40, 423135, nil, nil, nil, 3)
local timerDreamEater = mod:NewFadesTimer(15, 425460, nil, nil, nil, 5, nil, DBM_COMMON_L.DEADLY_ICON)

function mod:OnCombatStart(delay)
self:SetStage(1)
-- timerSleepCD:Start(8-delay)
timerShadowyChainsCD:Start(12.5-delay)
timerDreamEaterCD:Start(40-delay)
-- timerDreamEaterCD:Start(40-delay)
end

function mod:SPELL_CAST_START(args)
if args:IsSpell(425265) then--426494 is non interruptable version in stage 2
timerShadowyChainsCD:Start()
timerShadowyChainsCD:Start()--11.3
if self:CheckInterruptFilter(args.sourceGUID, false, true) then
specWarnShadowyChains:Show(args.sourceName)
specWarnShadowyChains:Play("kickcast")
end
elseif args:IsSpell(426494) then
timerShadowyChainsCD:Start(9.7)
elseif args:IsSpell(426493) then--Stage 2 mind blast
if self:GetStage(1) then
self:SetStage(2)
end
end
end

function mod:SPELL_CAST_SUCCESS(args)
if args:IsSpell(425460) then
timerDreamEaterCD:Start()
if args:IsSpell(426223) then--Stage 2 shadow form
if self:GetStage(1) then
self:SetStage(2)
end
elseif args:IsSpell(426069) then
warnShadowCrash:Show()
end
end

function mod:SPELL_AURA_APPLIED(args)
if args:IsSpell(426495) and args:IsDestTypePlayer() then
if args:IsSpell(426495, 425239) and args:IsDestTypePlayer() then
warnShadowyChains:CombinedShow(0.5, args.destName)
elseif args:IsSpell(423135) and args:IsDestTypePlayer() then
--if self:AntiSpam(5, 1) then
-- timerSleepCD:Start()
--end
warnSleep:CombinedShow(0.5, args.destName)
elseif args:IsSpell(426199) then
warnShadowCrash:Show(args.destName)--Can also be done in success, but they can break that at any time
elseif args:IsSpell(425460) then
warnDreamEater:CombinedShow(0.5, args.destName)
if args:IsPlayer() then
timerDreamEater:Start()
end
end
end

function mod:SPELL_AURA_REMOVED(args)
if args:IsSpell(425460) and args:IsPlayer() then
timerDreamEater:Stop()
end
end

0 comments on commit da2ddbc

Please sign in to comment.