You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
98 lines
3.3 KiB
98 lines
3.3 KiB
local mod = DBM:NewMod(2109, "DBM-Party-BfA", 7, 1012)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod:SetRevision("20240417180519")
|
|
mod:SetCreatureID(129214)
|
|
mod:SetEncounterID(2105)
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_AURA_APPLIED 256493",
|
|
"SPELL_AURA_APPLIED_DOSE 256493",
|
|
"SPELL_AURA_REFRESH 256493",
|
|
"SPELL_CAST_START 262347 257337 271903",
|
|
"SPELL_CAST_SUCCESS 269493 262347",
|
|
"UNIT_SPELLCAST_SUCCEEDED boss1"
|
|
)
|
|
|
|
--Change Static Pulse to dodge warning if it's dodgable by all parties
|
|
--New voice, "Gather Item"?
|
|
--[[
|
|
(ability.id = 262347 or ability.id = 257337 or ability.id = 271903) and type = "begincast"
|
|
or ability.id = 269493 and type = "cast"
|
|
or ability.id = 256493 and not type = "damage"
|
|
--]]
|
|
local warnFootbombLauncher = mod:NewSpellAnnounce(269493, 2)
|
|
local warnCoinMagnet = mod:NewSpellAnnounce(271903, 2)
|
|
|
|
local specWarnStaticPulse = mod:NewSpecialWarningSpell(262347, nil, nil, nil, 2, 2)
|
|
local specWarnShockingClaw = mod:NewSpecialWarningDodge(257337, nil, nil, nil, 2, 2)
|
|
local specWarnThrowCoins = mod:NewSpecialWarningMove(271784, "Tank", nil, nil, 1, 2)
|
|
--local specWarnGTFO = mod:NewSpecialWarningGTFO(238028, nil, nil, nil, 1, 8)
|
|
|
|
local timerStaticPulseCD = mod:NewCDTimer(23.1, 262347, nil, nil, nil, 2)
|
|
local timerFootbombLauncherCD = mod:NewCDTimer(32.8, 269493, nil, nil, nil, 5)
|
|
local timerBlazingAzeriteCD = mod:NewBuffFadesTimer(15, 256493, nil, nil, nil, 5)
|
|
local timerShockingClawCD = mod:NewCDTimer(21.8, 257337, nil, nil, nil, 3)--14.3, 41.3 (not sure if still true, not going to leave it ai though, 23 it is til i see lower)
|
|
local timerThrowCoinsCD = mod:NewCDTimer(17.4, 271784, nil, nil, nil, 3, nil, DBM_COMMON_L.HEROIC_ICON..DBM_COMMON_L.TANK_ICON)--18.8, 17.4, 25.5, 25.5
|
|
|
|
|
|
mod.vb.coinCast = 0
|
|
|
|
function mod:OnCombatStart(delay)
|
|
self.vb.coinCast = 0
|
|
timerStaticPulseCD:Start(5.7-delay)
|
|
timerFootbombLauncherCD:Start(9-delay)
|
|
timerShockingClawCD:Start(14.3-delay)
|
|
if not self:IsNormal() then
|
|
timerThrowCoinsCD:Start(18-delay)
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 256493 then--270882 for players?
|
|
timerBlazingAzeriteCD:Stop()
|
|
timerBlazingAzeriteCD:Start()
|
|
end
|
|
end
|
|
mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
|
|
mod.SPELL_AURA_REFRESH = mod.SPELL_AURA_APPLIED
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 262347 then
|
|
specWarnStaticPulse:Show()
|
|
specWarnStaticPulse:Play("carefly")
|
|
elseif spellId == 257337 then
|
|
specWarnShockingClaw:Show()
|
|
specWarnShockingClaw:Play("shockwave")
|
|
timerShockingClawCD:Start()
|
|
elseif spellId == 271903 then
|
|
warnCoinMagnet:Show()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
local spellId = args.spellId
|
|
if spellId == 269493 then
|
|
warnFootbombLauncher:Show()
|
|
timerFootbombLauncherCD:Start()
|
|
elseif spellId == 262347 then
|
|
timerStaticPulseCD:Start(20.6)--23.1-2.5
|
|
end
|
|
end
|
|
|
|
function mod:UNIT_SPELLCAST_SUCCEEDED(uId, _, spellId)
|
|
if spellId == 271859 then--Pay to Win
|
|
self.vb.coinCast = self.vb.coinCast + 1
|
|
specWarnThrowCoins:Show()
|
|
specWarnThrowCoins:Play("moveboss")
|
|
if self.vb.coinCast == 1 then
|
|
timerThrowCoinsCD:Start(17)
|
|
else
|
|
timerThrowCoinsCD:Start(25)
|
|
end
|
|
end
|
|
end
|
|
|