Update to 5.21 Sunwell (#6)

* 5.20

* Update to 5.21

---------

Co-authored-by: Szyler <Szyler@Szyler.com>
This commit is contained in:
Szyler
2024-10-01 05:09:41 +02:00
committed by GitHub
parent 5b5fee4a2d
commit 82a9ac0937
36 changed files with 3003 additions and 833 deletions
+106
View File
@@ -0,0 +1,106 @@
local mod = DBM:NewMod("Mythic Champion", "DBM-Party-Vanilla")
local L = mod:GetLocalizedStrings()
mod:SetRevision(("$Revision: 5019 $"):sub(12, -3))
mod:SetCreatureID(80227)
mod:RegisterCombat("combat", 80227)
mod:SetUsedIcons(8)
mod:RegisterEvents(
"SPELL_CAST_START"
)
-- FO = Frozen orb 2 sec cast
-- AZ = Absolute Zero 4 sec cast 4 sec channel
-- IB = Ice Barrage 2 second cast 4 sec channel
-- IBDB = Ice barrage Debuff
-- Timers starts at first SPELL_CAST_START of Frozen Orb (5 sec into the fight)
-- Icon for ice barrage + living bomb
-- Spell IDs:
-- Frozen Orb - 2129159
-- Absolute Zero - 2129169, 2129170 TBC, 2129171 WOTLK
-- Ice Barrage - 2129163, 2129164 TBC, 2129165 WOTLK
-- Ice Barrage player debuff - 2129160 TBC, 2129161, 2129162 WOTLK
-- Frostbite - 2129154 (maybe Or 2129176)
--Timers:
--0:05 - Frozen Orb #1
--*
--0:20 - Absolute Zero #1
--0:33 - Ice Barrage #1
--0:43 - Frozen Orb #2
--1:03 - Ice Barrage #2
--1:13 - Frozen Orb #3
--*
--1:28 - Absolute Zero #2
--1:41 - Ice Barrage #3
--1:51 - Frozen Orb #4
--2:11 - Ice Barrage #4
--2:21 - Frozen Orb #5
--*
--Repeats
local firstFrozenOrbTriggered = false
local firstAbsoluteZeroTriggered = false
local firstIceBarrageTriggered = false
local firstFrozenOrb = false -- flag for the first Frozen Orb cast
local absoluteZeroCast = false -- flag for the first Absolute Zero cast
local frozenOrbCounter = 0
local iceBarrageCounter = 0
--local warningAbsoluteZero = mod:NewSpellAnnounce(2129169, 3)
local timerNextAbsoluteZero = mod:NewNextTimer(68, 2129169)
--local AbsoluteZeroCast = mod:NewCastTimer(2, 2129169)
--local warningFrozenOrb = mod:NewSpellAnnounce(2129159, 3)
local timerNextFrozenOrb = mod:NewNextTimer(30, 2129159)
--local FrozenOrbCast = mod:NewCastTimer(2, 2129159)
--local warningIceBarrage = mod:NewSpellAnnounce(2129161, 3)
local timerNextIceBarrage = mod:NewNextTimer(30, 2129161)
--local IceBarrageCast = mod:NewCastTimer(2, 2129161)
mod:AddBoolOption("SetIconOnBombTarget", true)
function mod:handleFirstFrozenOrb(args)
if not firstFrozenOrbTriggered then
firstFrozenOrb = not firstFrozenOrb
timerNextFrozenOrb:Start(38)
firstFrozenOrb = true
firstFrozenOrbTriggered = true
-- Trigger firstAbsoluteZero and firstIceBarrage only once
if not firstAbsoluteZeroTriggered then
timerNextAbsoluteZero:Start(15)
firstAbsoluteZeroTriggered = true
elseif not firstIceBarrageTriggered then
timerNextIceBarrage:Start(28)
firstIceBarrageTriggered = true
end
end
end
function mod:SPELL_CAST_START(args)
if args.spellId == 2129159 then
self:handleFirstFrozenOrb(args)
elseif args.spellId == 2129169 and firstFrozenOrbTriggered == true then
timerNextAbsoluteZero:Start(68)
frozenOrbCounter = 0
iceBarrageCounter = 0
elseif args.spellId == 2129161 then
iceBarrageCounter = iceBarrageCounter + 1
local delayIceBarrage = (absoluteZeroCast and iceBarrageCounter == 1) and 38 or 30
timerNextIceBarrage:Start(delayIceBarrage)
elseif args.spellId == 2129159 then
frozenOrbCounter = frozenOrbCounter + 1
local delayFrozenOrb = (absoluteZeroCast and frozenOrbCounter == 1) and 38 or 30
timerNextFrozenOrb:Start(delayFrozenOrb)
end
end