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.
91 lines
2.7 KiB
91 lines
2.7 KiB
local mod = DBM:NewMod(1789, "DBM-BrokenIsles", 1, 822)
|
|
local L = mod:GetLocalizedStrings()
|
|
|
|
mod:SetRevision("20201111164513")
|
|
mod:SetCreatureID(110378)
|
|
mod:SetEncounterID(1949)
|
|
mod:SetReCombatTime(20)
|
|
|
|
mod:RegisterCombat("combat")
|
|
|
|
mod:RegisterEventsInCombat(
|
|
"SPELL_CAST_START 219542 219493",
|
|
"SPELL_CAST_SUCCESS 219601",
|
|
"SPELL_AURA_APPLIED 219602",
|
|
"SPELL_AURA_REMOVED 219602"
|
|
)
|
|
|
|
--TODO, verify target scanning on avalanche
|
|
--TODO, ice hurl? it has no role assignment in journal so it may just be what he spams on tank
|
|
local warnAvalanche = mod:NewTargetAnnounce(219542, 3)
|
|
local warnSnowPlow = mod:NewTargetAnnounce(219602, 4)
|
|
|
|
local specWarnAvalanche = mod:NewSpecialWarningYou(219542, nil, nil, nil, 1, 2)
|
|
local specWarnSnowCrash = mod:NewSpecialWarningDodge(219493, "Melee", nil, nil, 4, 2)
|
|
local specWarnSnowPlow = mod:NewSpecialWarningRun(219602, nil, nil, nil, 4, 2)
|
|
local specWarnSnowPlowOver = mod:NewSpecialWarningFades(219602, nil, nil, nil, 1, 2)
|
|
|
|
local timerAvalancheCD = mod:NewCDTimer(42.6, 219542, nil, nil, nil, 3)--May need larger sample, was quite variable
|
|
local timerSnowCrashCD = mod:NewCDTimer(19.4, 219493, nil, "Melee", nil, 2)--Seems to alternate 19.4 and 23.2 but world bosses can't be this complicated since they are often engaged in progress
|
|
local timerSnowPlowCD = mod:NewCDTimer(47.4, 219602, nil, nil, nil, 3)
|
|
|
|
mod:AddReadyCheckOption(43448, false)
|
|
|
|
function mod:AvaTarget(targetname, uId)
|
|
if not targetname then
|
|
warnAvalanche:Show(DBM_CORE_L.UNKNOWN)
|
|
return
|
|
end
|
|
if targetname == UnitName("player") then
|
|
specWarnAvalanche:Show()
|
|
specWarnAvalanche:Play("runaway")
|
|
else
|
|
warnAvalanche:Show(targetname)
|
|
end
|
|
end
|
|
|
|
function mod:OnCombatStart(delay, yellTriggered)
|
|
if yellTriggered then
|
|
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_START(args)
|
|
local spellId = args.spellId
|
|
if spellId == 219542 then
|
|
timerAvalancheCD:Start()
|
|
self:BossTargetScanner(args.sourceGUID, "AvaTarget", 0.2, 9)
|
|
elseif spellId == 219493 then
|
|
specWarnSnowCrash:Show()
|
|
specWarnSnowCrash:Play("shockwave")
|
|
timerSnowCrashCD:Start()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_CAST_SUCCESS(args)
|
|
local spellId = args.spellId
|
|
if spellId == 219601 then
|
|
timerSnowPlowCD:Start()
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_APPLIED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 219602 and args:IsDestTypePlayer() then
|
|
if args:IsPlayer() then
|
|
specWarnSnowPlow:Show()
|
|
specWarnSnowPlow:Play("runaway")
|
|
specWarnSnowPlow:ScheduleVoice(1, "keepmove")
|
|
else
|
|
warnSnowPlow:Show(args.destName)
|
|
end
|
|
end
|
|
end
|
|
|
|
function mod:SPELL_AURA_REMOVED(args)
|
|
local spellId = args.spellId
|
|
if spellId == 219602 and args:IsPlayer() then
|
|
specWarnSnowPlowOver:Show()
|
|
specWarnSnowPlowOver:Play("safenow")
|
|
end
|
|
end
|
|
|