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.

63 lines
2.1 KiB

local mod = DBM:NewMod(2097, "DBM-Party-BfA", 9, 1002)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20240417180519")
mod:SetCreatureID(127479)
mod:SetEncounterID(2101)
mod:RegisterCombat("combat")
mod:RegisterEventsInCombat(
"SPELL_CAST_START 257092 257608 257495",
"CHAT_MSG_RAID_BOSS_EMOTE"
)
--TODO, figure out why cast time for upheavel isn't honoring 5 second pre coded
local warnUpheavel = mod:NewTargetNoFilterAnnounce(257617, 2)
local warnUpheavelCast = mod:NewCastAnnounce(257617, 2, 5)--Cast time until we have a target
local specWarnSandTrap = mod:NewSpecialWarningDodge(257092, nil, nil, nil, 2, 2)
local specWarnUpheavel = mod:NewSpecialWarningYou(257617, nil, nil, nil, 2, 2)
local yellUpheavel = mod:NewYell(257617)
local specWarnSandstorm = mod:NewSpecialWarningSpell(257495, nil, nil, nil, 2, 2)
--local timerReapSoulCD = mod:NewNextTimer(13, 194956, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON..DBM_COMMON_L.DEADLY_ICON)
local timerSandTrapCD = mod:NewCDTimer(13.2, 257092, nil, nil, nil, 3)--14.2-18.6
local timerUpheavelCD = mod:NewCDTimer(38.5, 257617, nil, nil, nil, 3)
local timerSandstormCD = mod:NewCDTimer(34, 257495, nil, nil, nil, 2)--Health based?
function mod:OnCombatStart(delay)
timerSandTrapCD:Start(8.1-delay)
timerUpheavelCD:Start(20.2-delay)
timerSandstormCD:Start(30.3-delay)
end
function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 257092 then
specWarnSandTrap:Show()
specWarnSandTrap:Play("watchstep")
timerSandTrapCD:Start()
elseif spellId == 257608 then
warnUpheavelCast:Show()
timerUpheavelCD:Start()
elseif spellId == 257495 then
specWarnSandstorm:Show()
specWarnSandstorm:Play("aesoon")
timerSandstormCD:Start()
end
end
function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg, _, _, _, targetname)
if msg:find("spell:257617") then
if targetname then--Normal, only one person affected, name in emote
if targetname == UnitName("player") then
specWarnUpheavel:Show()
specWarnUpheavel:Play("targetyou")
yellUpheavel:Yell()
else
warnUpheavel:Show(targetname)
end
end
end
end