@@ -13,24 +13,24 @@ mod:RegisterEvents(
|
||||
"SPELL_SUMMON"
|
||||
)
|
||||
|
||||
local warnCariPower = mod:NewSpellAnnounce(38451, 3)
|
||||
local warnTidalPower = mod:NewSpellAnnounce(38452, 3)
|
||||
local warnSharPower = mod:NewSpellAnnounce(38455, 3)
|
||||
local warnBeastWithin = mod:NewTargetAnnounce(351373, 3)
|
||||
local warnHurricane = mod:NewSpellAnnounce(83541, 3)
|
||||
local warnHurricaneYou = mod:NewSpecialWarningYou(83541, 3)
|
||||
local warnBlessingTides = mod:NewAnnounce(L.BlessingTides, 2, 351302)
|
||||
local warnCariPower = mod:NewSpellAnnounce(2137927, 3)
|
||||
local warnTidalPower = mod:NewSpellAnnounce(2137928, 3)
|
||||
local warnSharPower = mod:NewSpellAnnounce(2137929, 3)
|
||||
local warnBeastWithin = mod:NewTargetAnnounce(2137939, 3)
|
||||
local warnHurricane = mod:NewSpellAnnounce(2137918, 3)
|
||||
local warnHurricaneYou = mod:NewSpecialWarningYou(2137918, 3)
|
||||
local warnBlessingTides = mod:NewAnnounce(L.BlessingTides, 2, 2137931)
|
||||
|
||||
local specWarnHeal = mod:NewSpellAnnounce(83535, 3)
|
||||
local specWarnHeal = mod:NewSpellAnnounce(2137916, 3)
|
||||
local specWarnTotem = mod:NewSpecialWarning("Move from Totem!")
|
||||
|
||||
local timerBlessingTides = mod:NewNextTimer(30, 351302)
|
||||
local timerBlessingTides = mod:NewNextTimer(30, 2137931)
|
||||
local timerTornado = mod:NewNextTimer(30, 38517)
|
||||
local timerHeal = mod:NewNextTimer(30, 83535)
|
||||
local timerFreeze = mod:NewCDTimer(20, 38357)
|
||||
local timerHurricane = mod:NewNextTimer(30, 83541) --351370, 351371
|
||||
local timerCataclysmic = mod:NewCDTimer(9, 38441)
|
||||
local timerBeastWithin = mod:NewNextTimer(30, 351373)
|
||||
local timerHeal = mod:NewNextTimer(30, 2137916)
|
||||
local timerFreeze = mod:NewCDTimer(20, 2137909)
|
||||
local timerHurricane = mod:NewNextTimer(30, 2137918) --351370, 351371
|
||||
local timerCataclysmic = mod:NewCDTimer(9, 2137912)
|
||||
local timerBeastWithin = mod:NewNextTimer(30, 2137939)
|
||||
|
||||
local berserkTimer = mod:NewBerserkTimer(720)
|
||||
|
||||
@@ -58,52 +58,52 @@ function mod:Tornado()
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(38451, 85367) then -- 85367
|
||||
if args:IsSpellID(2137927, 85367) then -- 85367
|
||||
warnCariPower:Show()
|
||||
CariPowerActive = true
|
||||
elseif args:IsSpellID(38452, 85368) then -- 85368
|
||||
elseif args:IsSpellID(2137928, 85368) then -- 85368
|
||||
warnTidalPower:Show()
|
||||
TidalPowerActive = true
|
||||
elseif args:IsSpellID(38455, 85369) then -- 85369
|
||||
elseif args:IsSpellID(2137929, 85369) then -- 85369
|
||||
warnSharPower:Show()
|
||||
SharPowerActive = true
|
||||
elseif args.spellId == 38357 then -- Deep Freeze
|
||||
elseif args.spellId == 2137909 then -- Deep Freeze
|
||||
if args.sourceName == L.name then --Fathom-Lord Karathress
|
||||
timerFreeze:Start(30) -- Deep Freeze Fathom-Lord
|
||||
else
|
||||
timerFreeze:Start() -- Fathom-Guard Caribdis
|
||||
end
|
||||
elseif args:IsSpellID(351373) then -- Beast Within
|
||||
elseif args:IsSpellID(2137939) then -- Beast Within
|
||||
warnBeastWithin:Show(args.destName)
|
||||
timerBeastWithin:Start()
|
||||
elseif args:IsSpellID(83541, 351370, 351371) then -- Hurricane
|
||||
elseif args:IsSpellID(2137918, 2137919, 2137920, 2137921) then -- Hurricane
|
||||
warnHurricane:Show(args.destName)
|
||||
timerHurricane:Start()
|
||||
if args:IsPlayer() then
|
||||
warnHurricaneYou:Show()
|
||||
end
|
||||
elseif args:IsSpellID(351302) then -- Blessing of the Tides
|
||||
elseif args:IsSpellID(2137931) then -- Blessing of the Tides
|
||||
warnBlessingTides:Show(args.destName)
|
||||
timerBlessingTides:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED_DOSE(args)
|
||||
if args:IsSpellID(351302) then -- Blessing of the Tides
|
||||
if args:IsSpellID(2137931) then -- Blessing of the Tides
|
||||
warnBlessingTides:Show(args.destName)
|
||||
timerBlessingTides:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_START(args)
|
||||
if args:IsSpellID(38330, 83535) then -- 83535
|
||||
if args:IsSpellID(2137916, 83535) then -- 83535
|
||||
specWarnHeal:Show()
|
||||
timerHeal:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_SUCCESS(args)
|
||||
if args:IsSpellID(38441, 351365, 351366) and CariPowerActive == true and TidalPowerActive == true and SharPowerActive == true then
|
||||
if args:IsSpellID(2137912, 2137913, 2137914, 2137915) and CariPowerActive == true and TidalPowerActive == true and SharPowerActive == true then
|
||||
timerCataclysmic:Start()
|
||||
end
|
||||
end
|
||||
|
||||
@@ -15,20 +15,20 @@ mod:RegisterEvents(
|
||||
local warnMarkF = mod:NewAnnounce(L.WarnMark, 3, 351203)
|
||||
local warnMarkN = mod:NewAnnounce(L.WarnMark, 3, 351204)
|
||||
local warnPhase = mod:NewAnnounce("WarnPhase", 4)
|
||||
local warnTomb = mod:NewTargetAnnounce(38235, 3)
|
||||
local warnTomb = mod:NewTargetAnnounce(2137505, 3)
|
||||
local specWarnTidal = mod:NewSpecialWarning("Tidalwave, stack!")
|
||||
local warnSludge = mod:NewTargetAnnounce(38246, 2)--Maybe filter it some if spammy?
|
||||
local warnSludge = mod:NewTargetAnnounce(2137509, 2)--Maybe filter it some if spammy?
|
||||
local warnTidalPower = mod:NewAnnounce(L.WarnMark, 3, 351204)
|
||||
|
||||
-- local specWarnMark = mod:NewSpecialWarning("SpecWarnMark")
|
||||
|
||||
local timerNextTomb = mod:NewNextTimer(45, 38235)
|
||||
local timerNextSludge = mod:NewNextTimer(45, 38246)
|
||||
local timerNextTidal = mod:NewNextTimer(45, 85416)
|
||||
local timerTidal1 = mod:NewTimer(6, "Tidal Wave (1)", 85416)
|
||||
local timerTidal2 = mod:NewTimer(6, "Tidal Wave (2)", 85416)
|
||||
local timerTidal3 = mod:NewTimer(6, "Tidal Wave (3)", 85416)
|
||||
local timerSludge = mod:NewTargetTimer(12, 38246)
|
||||
local timerNextTomb = mod:NewNextTimer(45, 2137505)
|
||||
local timerNextSludge = mod:NewNextTimer(45, 2137509)
|
||||
local timerNextTidal = mod:NewNextTimer(45, 2137514)
|
||||
local timerTidal1 = mod:NewTimer(6, "Tidal Wave (1)", 2137514)
|
||||
local timerTidal2 = mod:NewTimer(6, "Tidal Wave (2)", 2137514)
|
||||
local timerTidal3 = mod:NewTimer(6, "Tidal Wave (3)", 2137514)
|
||||
local timerSludge = mod:NewTargetTimer(12, 2137509)
|
||||
-- local timerMark = mod:NewTimer(15, "TimerMark", 351203)
|
||||
|
||||
local berserkTimer = mod:NewTimer(600, "Berserk", 26662)
|
||||
@@ -58,7 +58,7 @@ end
|
||||
function mod:PhaseChangeAddTime()
|
||||
local elapsed, total = timerNextTidal:GetTime();
|
||||
local currentRemainingTidalTimer = total - elapsed
|
||||
timerNextTidal:AddTime(2)
|
||||
timerNextTidal:AddTime(2.5)
|
||||
self:UnscheduleMethod("tidalWave")
|
||||
self:ScheduleMethod(currentRemainingTidalTimer+2, "tidalWave")
|
||||
berserkTimer:AddTime(2)
|
||||
@@ -85,7 +85,7 @@ function mod:SPELL_AURA_APPLIED(args)
|
||||
-- elseif args.spellId == 351203 then
|
||||
-- timerMark:Cancel()
|
||||
-- timerMark:Start()
|
||||
if args:IsSpellID(37961) then -- Corruption transform on boss
|
||||
if args:IsSpellID(2137504) then -- Corruption transform on boss
|
||||
warnPhase:Show(L.Nature)
|
||||
timerNextTomb:Stop()
|
||||
if GetTime() - LastTombSludge <= 32 then
|
||||
@@ -99,7 +99,7 @@ function mod:SPELL_AURA_APPLIED(args)
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_REMOVED(args)
|
||||
if args:IsSpellID(37961) then -- Losing Corruption transform on boss
|
||||
if args:IsSpellID(2137504) then -- Losing Corruption transform on boss
|
||||
warnPhase:Show(L.Frost)
|
||||
timerNextSludge:Stop()
|
||||
if GetTime() - LastTombSludge <= 32 then
|
||||
@@ -113,17 +113,17 @@ function mod:SPELL_AURA_REMOVED(args)
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED_DOSE(args)
|
||||
if args:IsSpellID(351203, 351286, 351287) then -- Heroic: 351286, Mythic: 351287 --Hydros
|
||||
if args:IsSpellID(2137523, 2137524, 2137525, 2137526) then -- Mark of Hydross
|
||||
if args.amount and (GetTime() - lastMarkF) > 2 and args.amount >= 10 and args.amount % 5 == 0 then
|
||||
lastMarkF = GetTime()
|
||||
warnMarkF:Show(args.amount, args.spellName)
|
||||
end
|
||||
elseif args:IsSpellID(351204, 351288, 351289) then -- Heroic: 351288, Mythic: 351289 --Corruption
|
||||
elseif args:IsSpellID(2137527, 2137528, 2137529, 2137530) then -- Mark of Corruption
|
||||
if args.amount and (GetTime() - lastMarkN) > 2 and args.amount >= 10 and args.amount % 5 == 0 then
|
||||
lastMarkN = GetTime()
|
||||
warnMarkN:Show(args.amount, args.spellName)
|
||||
end
|
||||
elseif args:IsSpellID(85413) then -- Heroic: 351288, Mythic: 351289 --Corruption
|
||||
elseif args:IsSpellID(2137514) then -- Tidal Power
|
||||
if args.amount and (GetTime() - lastTidalPower) > 2 and args.amount >= 75 and args.amount % 5 == 0 then
|
||||
lastTidalPower = GetTime()
|
||||
warnTidalPower:Show(args.amount, args.spellName)
|
||||
@@ -132,17 +132,14 @@ function mod:SPELL_AURA_APPLIED_DOSE(args)
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_SUCCESS(args)
|
||||
if args:IsSpellID(38235, 351290, 351291) then
|
||||
if args:IsSpellID(2137505, 2137506, 2137507, 2137508) then
|
||||
warnTomb:Show(args.destName)
|
||||
timerNextTomb:Start()
|
||||
LastTombSludge = GetTime()
|
||||
elseif args:IsSpellID(38246, 351292, 351293) then
|
||||
elseif args:IsSpellID(2137509, 2137510, 2137511, 2137512) then
|
||||
warnSludge:Show(args.destName)
|
||||
timerSludge:Start(args.destName)
|
||||
timerNextSludge:Start()
|
||||
LastTombSludge = GetTime()
|
||||
end
|
||||
end
|
||||
|
||||
-- 351203 - Mark of Hydross
|
||||
-- 351204 - Mark of Corruption
|
||||
end
|
||||
@@ -15,25 +15,25 @@ mod:RegisterEvents(
|
||||
)
|
||||
|
||||
local warnPhase = mod:NewAnnounce("WarnPhase", 2)
|
||||
local warnDemon = mod:NewTargetAnnounce(37676, 4)
|
||||
local warnMC = mod:NewTargetAnnounce(37749, 4)
|
||||
local warnDemon = mod:NewTargetAnnounce(2137830, 4)
|
||||
local warnMC = mod:NewTargetAnnounce(2137835, 4)
|
||||
local warnPhase2 = mod:NewPhaseAnnounce(2, 2)
|
||||
|
||||
local specWarnWhirl = mod:NewSpecialWarningRun(37640)
|
||||
local specWarnDemon = mod:NewSpecialWarningYou(37676)
|
||||
local specWarnWhirl = mod:NewSpecialWarningRun(2137805)
|
||||
local specWarnDemon = mod:NewSpecialWarningYou(2137830)
|
||||
|
||||
local warnEven = mod:NewTargetAnnounce(351201, 3)
|
||||
-- local specWarnEvenYou = mod:NewSpecialWarningYou(351201)
|
||||
local warnChaos = mod:NewTargetAnnounce(85365, 3)
|
||||
local specWarnChaosYou = mod:NewSpecialWarningYou(85365)
|
||||
local warnEven = mod:NewTargetAnnounce(2137839, 3)
|
||||
-- local specWarnEvenYou = mod:NewSpecialWarningYou(2137839)
|
||||
local warnChaos = mod:NewTargetAnnounce(2137831, 3)
|
||||
local specWarnChaosYou = mod:NewSpecialWarningYou(2137831)
|
||||
|
||||
local timerNextWhirl = mod:NewNextTimer(45, 37640)
|
||||
local timerWhirl = mod:NewBuffActiveTimer(12, 37640)
|
||||
local timerNextWhirl = mod:NewNextTimer(45, 2137805)
|
||||
local timerWhirl = mod:NewBuffActiveTimer(12, 2137805)
|
||||
local timerPhase = mod:NewTimer(62, "TimerPhase", 39088)
|
||||
local timerNextDemon = mod:NewNextTimer(23, 37676)
|
||||
local timerDemon = mod:NewBuffActiveTimer(30, 37676)
|
||||
local timerChaos = mod:NewTargetTimer(4, 85365) --351271, 351272, 351273
|
||||
local timerNextEven = mod:NewNextTimer(32, 351201)
|
||||
local timerNextDemon = mod:NewNextTimer(23, 2137830)
|
||||
local timerDemon = mod:NewBuffActiveTimer(30, 2137830)
|
||||
local timerChaos = mod:NewTargetTimer(4, 2137831) --351271, 351272, 351273
|
||||
local timerNextEven = mod:NewNextTimer(32, 2137839)
|
||||
|
||||
local berserkTimer = mod:NewBerserkTimer(720)
|
||||
|
||||
@@ -105,13 +105,13 @@ function mod:OnCombatEnd(delay)
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args.spellId == 37640 then
|
||||
if args.spellId == 2137805 then
|
||||
specWarnWhirl:Show()
|
||||
timerWhirl:Start()
|
||||
if self.vb.phase == 2 then
|
||||
timerNextWhirl:Start()
|
||||
end
|
||||
-- elseif args:IsSpellID(37676, 85361) then -- 85361
|
||||
-- elseif args:IsSpellID(2137830, 85361) then -- 85361
|
||||
-- warnDemonTargets[#warnDemonTargets + 1] = args.destName
|
||||
-- self:Unschedule(showDemonTargets)
|
||||
-- if self.Options.DemonIcon then
|
||||
@@ -126,7 +126,7 @@ function mod:SPELL_AURA_APPLIED(args)
|
||||
-- else
|
||||
-- self:Schedule(0.7, showDemonTargets, self)
|
||||
-- end
|
||||
-- elseif args:IsSpellID(37749, 85361) then -- 85361
|
||||
-- elseif args:IsSpellID(2137835, 85361) then -- 85361
|
||||
-- warnMCTargets[#warnMCTargets + 1] = args.destName
|
||||
-- self:Unschedule(showMCTargets)
|
||||
-- self:Schedule(0.3, showMCTargets)
|
||||
@@ -136,13 +136,13 @@ function mod:SPELL_AURA_APPLIED(args)
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_START(args)
|
||||
if args:IsSpellID(85365, 351271, 351272, 351273) then
|
||||
if args:IsSpellID(2137831, 2137832, 2137833, 2137834) then
|
||||
self:ScheduleMethod(0.3, "Chaos")
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_SUCCESS(args)
|
||||
if args:IsSpellID(351200, 351201, 351202) then -- Tank swap (Even out the Odds)
|
||||
if args:IsSpellID(2137838, 2137839, 2137840) then -- Tank swap (Even out the Odds)
|
||||
warnEven:Show(args.destName)
|
||||
timerNextEven:Start()
|
||||
end
|
||||
|
||||
@@ -15,22 +15,22 @@ mod:RegisterEvents(
|
||||
|
||||
local warnSubmerge = mod:NewAnnounce("WarnSubmerge", 2, "Interface\\AddOns\\DBM-Core\\textures\\CryptFiendBurrow.blp")
|
||||
local warnEmerge = mod:NewAnnounce("WarnEmerge", 1, "Interface\\AddOns\\DBM-Core\\textures\\CryptFiendUnBurrow.blp")
|
||||
local warnWhirl = mod:NewSpellAnnounce(37363, 2)
|
||||
local warnFocusedFire = mod:NewTargetAnnounce(351300, 2)
|
||||
local warnWhirl = mod:NewSpellAnnounce(2137605, 2)
|
||||
local warnFocusedFire = mod:NewTargetAnnounce(2137622, 2)
|
||||
|
||||
local warnFocusedYou = mod:NewSpecialWarningYou(351300)
|
||||
local specWarnSpout = mod:NewSpecialWarningSpell(37433)
|
||||
local warnFocusedYou = mod:NewSpecialWarningYou(2137622)
|
||||
local specWarnSpout = mod:NewSpecialWarningSpell(2137607)
|
||||
|
||||
local timerSubmerge = mod:NewTimer(135, "TimerSubmerge", "Interface\\AddOns\\DBM-Core\\textures\\CryptFiendBurrow.blp")
|
||||
local timerEmerge = mod:NewTimer(60, "TimerEmerge", "Interface\\AddOns\\DBM-Core\\textures\\CryptFiendUnBurrow.blp")
|
||||
local timerNextSpout = mod:NewNextTimer(70, 37433) --heroic: 351337, Mythic:351338
|
||||
local timerSpout = mod:NewBuffActiveTimer(22, 37433)
|
||||
local timerNextWhirl = mod:NewNextTimer(20, 37363) --Whirl has 20s next timer, but pushed back by other casts. Need "GetTimer" to push it back (see maiden/mag)
|
||||
local timerGeyser = mod:NewNextTimer(20, 37478) --heroic: 351335, Mythic:351336
|
||||
local timerNextSpout = mod:NewNextTimer(70, 2137607)
|
||||
local timerSpout = mod:NewBuffActiveTimer(22, 2137607)
|
||||
local timerNextWhirl = mod:NewNextTimer(20, 2137605) --Whirl has 20s next timer, but pushed back by other casts. Need "GetTimer" to push it back (see maiden/mag)
|
||||
local timerGeyser = mod:NewNextTimer(20, 2137611)
|
||||
|
||||
--Ascended mechanics:
|
||||
local timerTentacle = mod:NewNextTimer(10, 26391)
|
||||
local warnSmash = mod:NewSpecialWarningSpell(351322)
|
||||
local warnSmash = mod:NewSpecialWarningSpell(2137626)
|
||||
|
||||
function mod:OnCombatStart(delay)
|
||||
submerged = false
|
||||
@@ -44,7 +44,7 @@ function mod:SPELL_AURA_APPLIED(args)
|
||||
-- if args:IsSpellID(7731) then
|
||||
-- DBM:AddMsg("Fishing applied - Pull inc")
|
||||
-- else
|
||||
if args:IsSpellID(351300) then
|
||||
if args:IsSpellID(2137622) then
|
||||
if args.destName == UnitName("player") then
|
||||
warnFocusedYou:Show()
|
||||
else
|
||||
@@ -81,23 +81,23 @@ function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg, src)
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_START(args)
|
||||
if args:IsSpellID(351322) then
|
||||
if args:IsSpellID(2137626) then
|
||||
warnSmash:Show()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_DAMAGE(args)
|
||||
if args:IsSpellID(37478, 351335, 351336) then
|
||||
if args:IsSpellID(2137611, 2137612, 2137613, 2137614) then
|
||||
timerGeyser:Start()
|
||||
elseif args:IsSpellID(37363) then
|
||||
elseif args:IsSpellID(2137605) then
|
||||
timerNextWhirl:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_MISSED(args)
|
||||
if args:IsSpellID(37478, 351335, 351336) then
|
||||
if args:IsSpellID(2137611, 2137612, 2137613, 2137614) then
|
||||
timerGeyser:Start()
|
||||
elseif args:IsSpellID(37363) then
|
||||
elseif args:IsSpellID(2137605) then
|
||||
timerNextWhirl:Start()
|
||||
end
|
||||
end
|
||||
|
||||
@@ -17,23 +17,23 @@ mod:RegisterEvents(
|
||||
|
||||
-- local warnTidal = mod:NewSpellAnnounce(37730, 3) -- useless, nobody cares about the tank debuff, might as well remove to reduce bloat
|
||||
local warnBubble = mod:NewSpellAnnounce(37854, 4)
|
||||
local warnEarthquakeSoon = mod:NewSoonAnnounce(37764, 3)
|
||||
local warnShield = mod:NewSpellAnnounce(83548, 4)
|
||||
local warnEarthquakeSoon = mod:NewSoonAnnounce(2137704, 3)
|
||||
local warnShield = mod:NewSpellAnnounce(2137716, 4)
|
||||
local WarnWatery = mod:NewAnnounce("WarnWateryGlobule", 4)
|
||||
|
||||
local warnBubble = mod:NewSpecialWarning("WarnRisingBubble",3)
|
||||
local specWarnMurlocs = mod:NewAnnounce("SpecWarnMurlocs", 4)
|
||||
|
||||
local timerShield = mod:NewNextTimer(10, 83548)
|
||||
local timerShield = mod:NewNextTimer(10, 2137716)
|
||||
-- local timerTidal = mod:NewNextTimer(20, 37730)
|
||||
local timerMurlocs = mod:NewTimer(60, "TimerMurlocs", 39088)
|
||||
local timerMurlocs = mod:NewTimer(60, "TimerMurlocs", 2137719)
|
||||
local timerWatery = mod:NewTimer(30, "TimerWateryGlobule", "Interface\\Icons\\Spell_Frost_FrozenCore")
|
||||
local timerBubble = mod:NewTimer(30, "TimerBubble", "Interface\\Icons\\INV_Elemental_Primal_Water")
|
||||
local timerBurst = mod:NewTimer(25, "TimerBurst", 83560)
|
||||
local timerBurst = mod:NewTimer(25, "TimerBurst", 2137730)
|
||||
|
||||
local warnHealer = mod:NewSpecialWarning(L.WarnHealer)--83544
|
||||
local warnHealer = mod:NewSpecialWarning(L.WarnHealer)--2137713
|
||||
local warnWarrior = mod:NewSpecialWarning(L.WarnWarrior)--83551
|
||||
local warnMage = mod:NewSpecialWarning(L.WarnMage)--83554
|
||||
local warnMage = mod:NewSpecialWarning(L.WarnMage)--2137720
|
||||
local warnHealthLost = mod:NewAnnounce("HPLoss", 3)
|
||||
|
||||
local berserkTimer = mod:NewBerserkTimer(600)
|
||||
@@ -64,18 +64,18 @@ function mod:OnCombatStart(delay)
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args.spellId == 83544 then
|
||||
if args.spellId == 2137713 then
|
||||
warnHealer:Show()
|
||||
if self.Options.HealerIcon then
|
||||
self:SetIcon(args.sourceName, 1)
|
||||
end
|
||||
elseif args.spellId == 83554 and MageAntiSpam > 120 then
|
||||
elseif args.spellId == 2137720 and MageAntiSpam > 120 then
|
||||
MageAntiSpam = GetTime()
|
||||
warnMage:Show()
|
||||
if self.Options.MageIcon then
|
||||
self:SetIcon(args.sourceName, 2)
|
||||
end
|
||||
elseif args.spellId == 83548 then
|
||||
elseif args.spellId == 2137716 then
|
||||
warnShield:Show()
|
||||
timerShield:Start()
|
||||
end
|
||||
@@ -85,12 +85,12 @@ end
|
||||
-- end
|
||||
|
||||
function mod:SPELL_CAST_SUCCESS(args)
|
||||
if args.spellId == 37764 then
|
||||
if args:IsSpellID(2137704, 2137705, 2137706, 2137707) then
|
||||
murlocCount = murlocCount + 1;
|
||||
warnEarthquakeSoon:Show()
|
||||
specWarnMurlocs:Show()
|
||||
timerMurlocs:Start(murlocType[(murlocCount % 3)])
|
||||
elseif args.spellId == 83551 and warriorAntiSpam > 120 then
|
||||
elseif args.spellId == 2137718 and warriorAntiSpam > 120 then
|
||||
warriorAntiSpam = GetTime()
|
||||
warnWarrior:Show()
|
||||
if self.Options.WarriorIcon then
|
||||
|
||||
+54
-49
@@ -22,11 +22,11 @@ mod:RegisterEvents(
|
||||
|
||||
local warnPhase2 = mod:NewPhaseAnnounce(2)
|
||||
local warnPhase3 = mod:NewPhaseAnnounce(3)
|
||||
local warnCharge = mod:NewTargetAnnounce(38280, 4)
|
||||
local warnEnvenom = mod:NewTargetAnnounce(351381, 3)
|
||||
local warnAimedShot = mod:NewTargetAnnounce(351310, 4)
|
||||
local warnMulti = mod:NewSpellAnnounce(38310, 3)
|
||||
local WarnHeal = mod:NewSpellAnnounce(83565, 3)
|
||||
local warnCharge = mod:NewTargetAnnounce(2138039, 4)
|
||||
local warnEnvenom = mod:NewTargetAnnounce(2138049, 3)
|
||||
local warnAimedShot = mod:NewTargetAnnounce(2138044, 4)
|
||||
local warnMulti = mod:NewSpellAnnounce(2138011, 3)
|
||||
local WarnHeal = mod:NewSpellAnnounce(2138024, 3)
|
||||
local warnSporebat = mod:NewAnnounce("WarnSporebat", 3, "Interface\\Icons\\Ability_Hunter_Pet_Sporebat")
|
||||
local warnElemental = mod:NewAnnounce("WarnElemental", 4, "Interface\\Icons\\Spell_Frost_SummonWaterElemental_2")
|
||||
local warnHydra = mod:NewAnnounce("WarnHydra", 3, "Interface\\Icons\\achievement_boss_bazil_akumai")
|
||||
@@ -35,16 +35,18 @@ local warnEnchantress = mod:NewAnnounce("WarnEnchantress", 3, "Interface\\Icons\
|
||||
local warnLoot = mod:NewAnnounce("WarnLoot", 3, "Interface\\Icons\\Spell_Nature_ElementalShields")
|
||||
local warnPhoenix = mod:NewAnnounce("WarnPhoenix", 3, "Interface\\Icons\\INV_Misc_PheonixPet_01")
|
||||
|
||||
local specWarnCharge = mod:NewSpecialWarningMove(38280)
|
||||
local specWarnDischarge = mod:NewSpecialWarningMove(351379)
|
||||
local specWarnToxic = mod:NewSpecialWarningMove(38575)
|
||||
local specWarnCharge = mod:NewSpecialWarningMove(2138039)
|
||||
local specWarnDischarge = mod:NewSpecialWarningMove(2138020)
|
||||
local specWarnToxic = mod:NewSpecialWarningMove(2138035)
|
||||
|
||||
local timerCharge = mod:NewNextTimer(30, 38280)
|
||||
local timerAimedShot = mod:NewNextTimer(30, 351388)
|
||||
local timerMulti = mod:NewNextTimer(15, 38310)
|
||||
local timerEnvenom = mod:NewNextTimer(30, 351381)
|
||||
local timerMark = mod:NewTargetTimer(6, 351310)
|
||||
local timerChargeDmg = mod:NewTimer(8, "ChargeExplosion", 351375)
|
||||
local timerCharge = mod:NewNextTimer(30, 2138039)
|
||||
local timerAimedShot = mod:NewNextTimer(30, 2138045)
|
||||
local timerMulti = mod:NewNextTimer(15, 2138011)
|
||||
local timerEnvenom = mod:NewNextTimer(30, 2138049)
|
||||
local timerMark = mod:NewTargetTimer(6, 2138044)
|
||||
local timerChargeDmg = mod:NewTimer(8, "ChargeExplosion", 2138040)
|
||||
|
||||
local timerBreath = mod:NewNextTimer(10, 2138076)
|
||||
local timerElementalCD = mod:NewTimer(65, "TimerElemental", "Interface\\Icons\\Spell_Frost_SummonWaterElemental_2")--75-82 variation. because of high variation the pre warning special warning not useful, fortunately we can detect spawns with precise timing.
|
||||
local timerHydra = mod:NewTimer(95, "TimerHydra", "INTERFACE\\ICONS\\Achievement_ZG_Gahz")
|
||||
local timerNaga = mod:NewTimer(49, "TimerNaga", "Interface\\Icons\\achievement_boss_warlord_kalithresh")
|
||||
@@ -55,12 +57,12 @@ local timerSporebat = mod:NewTimer(23, "NextSporebat", "Interface\\Icons\\Abili
|
||||
|
||||
-- Ascended Mechanics
|
||||
|
||||
local timerParasite = mod:NewNextTimer(45, 83568)
|
||||
local timerSiren = mod:NewNextTimer(17, 83566)
|
||||
local timerPhoenix = mod:NewNextTimer(16, 351414)
|
||||
local timerParasite = mod:NewNextTimer(45, 2138027)
|
||||
local timerSiren = mod:NewNextTimer(17, 2138025)
|
||||
local timerPhoenix = mod:NewNextTimer(16, 2138015)
|
||||
|
||||
local warnParasite = mod:NewTargetAnnounce(83568, 3)
|
||||
local warnSong = mod:NewTargetAnnounce(83567, 3)
|
||||
local warnParasite = mod:NewTargetAnnounce(2138027, 3)
|
||||
local warnSong = mod:NewTargetAnnounce(2138026, 3)
|
||||
|
||||
local specWarnSiren = mod:NewSpecialWarning("SpecWarnSiren")
|
||||
|
||||
@@ -92,9 +94,9 @@ end
|
||||
|
||||
function mod:NagaSpawn()
|
||||
timerNaga:Stop()
|
||||
warnNaga:Show(tostring(self.vb.nagaCount))
|
||||
timerNaga:Start(nil, tostring(self.vb.nagaCount))
|
||||
self.vb.nagaCount = self.vb.nagaCount + 1
|
||||
warnNaga:Show(tostring(mod.vb.nagaCount))
|
||||
timerNaga:Start(nil, tostring(mod.vb.nagaCount))
|
||||
mod.vb.nagaCount = mod.vb.nagaCount + 1
|
||||
end
|
||||
|
||||
function mod:EnchantressSpawn()
|
||||
@@ -106,8 +108,8 @@ end
|
||||
|
||||
function mod:TaintedSpawn()
|
||||
timerElementalCD:Stop()
|
||||
warnElemental:Show(tostring(self.vb.elementalCount))
|
||||
self.vb.elementalCount = self.vb.elementalCount + 1
|
||||
warnElemental:Show(tostring(mod.vb.elementalCount))
|
||||
mod.vb.elementalCount = mod.vb.elementalCount + 1
|
||||
end
|
||||
|
||||
local function warnChargeTargets()
|
||||
@@ -129,9 +131,9 @@ end
|
||||
|
||||
|
||||
function mod:OnCombatStart(delay)
|
||||
self.vb.phase = 1
|
||||
self.vb.nagaCount = 1
|
||||
self.vb.elementalCount = 1
|
||||
mod.vb.phase = 1
|
||||
mod.vb.nagaCount = 1
|
||||
mod.vb.elementalCount = 1
|
||||
if mod:IsDifficulty("heroic10", "heroic25") then
|
||||
timerMulti:Start(22-delay)
|
||||
timerEnvenom:Start(19-delay)
|
||||
@@ -163,7 +165,7 @@ function mod:OnCombatEnd()
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_APPLIED(args)
|
||||
if args:IsSpellID(38280, 351307) then
|
||||
if args:IsSpellID(2138039) then
|
||||
ChargeTargets[#ChargeTargets + 1] = args.destName
|
||||
self:Unschedule(warnChargeTargets)
|
||||
self:Schedule(0.3, warnChargeTargets)
|
||||
@@ -181,7 +183,7 @@ function mod:SPELL_AURA_APPLIED(args)
|
||||
else
|
||||
timerCharge:Start()
|
||||
end
|
||||
elseif args:IsSpellID(38509) then
|
||||
elseif args:IsSpellID(2138013) then
|
||||
warnAimedShot:Show(args.destName)
|
||||
timerMark:Start(args.destName)
|
||||
if mod:IsDifficulty("heroic10", "heroic25") then
|
||||
@@ -199,23 +201,23 @@ function mod:SPELL_AURA_APPLIED(args)
|
||||
if self.Options.LootIcon then
|
||||
self:SetIcon(args.destName, 6)
|
||||
end
|
||||
elseif args:IsSpellID(83565) and (GetTime() - lastTriggerTime) >= 35 then
|
||||
elseif args:IsSpellID(2138024) and (GetTime() - lastTriggerTime) >= 35 then
|
||||
lastTriggerTime = GetTime()
|
||||
self:UnscheduleMethod("EnchantressSpawn")
|
||||
self:EnchantressSpawn()
|
||||
elseif args.spellId == 83568 then
|
||||
elseif args:IsSpellID(2138027, 2138028, 2138029, 2138030) then
|
||||
warnParasite:Show(args.destName)
|
||||
timerParasite:Start()
|
||||
elseif args.spellId == 83567 then
|
||||
elseif args.spellId == 2138026 then
|
||||
warnSong:Show(args.destName)
|
||||
specWarnSiren:Show()
|
||||
elseif args.spellId == 85411 and args:IsPlayer() then
|
||||
elseif args:IsSpellID(2138035, 2138036, 2138037, 2138038) and args:IsPlayer() then
|
||||
specWarnToxic:Show()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_AURA_REMOVED(args)
|
||||
if args:IsSpellID(38280, 351307) then
|
||||
if args:IsSpellID(2138039, 351307) then
|
||||
timerChargeDmg:Stop(args.destName)
|
||||
if self.Options.ChargeIcon then
|
||||
self:SetIcon(args.destName, 0)
|
||||
@@ -233,14 +235,14 @@ function mod:SPELL_AURA_REMOVED(args)
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_START(args)
|
||||
if args.spellId == 38310 then
|
||||
if args.spellId == 2138011 then
|
||||
warnMulti:Show()
|
||||
timerMulti:Start()
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_PERIODIC_HEAL(args)
|
||||
if args.spellId == 83565 then
|
||||
if args.spellId == 2138024 then
|
||||
warnHeal:Show()
|
||||
end
|
||||
end
|
||||
@@ -249,9 +251,9 @@ function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg)
|
||||
if msg == L.DBM_VASHJ_DISCHARGE or msg:find(L.DBM_VASHJ_DISCHARGE) then
|
||||
timerDischarge:Start()
|
||||
specWarnDischarge:Show()
|
||||
if self.vb.phase == 2 and mod:IsDifficulty("heroic10", "heroic25") then
|
||||
if mod.vb.phase == 2 and mod:IsDifficulty("heroic10", "heroic25") then
|
||||
timerSiren:Start()
|
||||
elseif self.vb.phase == 3 then
|
||||
elseif mod.vb.phase == 3 then
|
||||
timerGenerator:Start()
|
||||
end
|
||||
elseif msg == L.DBM_VASHJ_ELITE or msg:find(L.DBM_VASHJ_ELITE) then
|
||||
@@ -261,42 +263,45 @@ function mod:CHAT_MSG_RAID_BOSS_EMOTE(msg)
|
||||
elseif msg == L.DBM_VASHJ_TAINTED or msg:find(L.DBM_VASHJ_TAINTED) then
|
||||
self:TaintedSpawn()
|
||||
elseif msg == L.DBM_VASHJ_TAINTED_DEAD or msg:find(L.DBM_VASHJ_TAINTED_DEAD) then
|
||||
timerElementalCD:Start(nil, tostring(self.vb.elementalCount))
|
||||
timerElementalCD:Start(nil, tostring(mod.vb.elementalCount))
|
||||
end
|
||||
end
|
||||
|
||||
function mod:SPELL_CAST_SUCCESS(args)
|
||||
if args.spellId == 351381 then
|
||||
if args:IsSpellID(2138049, 2138050, 2138051, 2138052) then
|
||||
warnEnvenom:Show(args.destName)
|
||||
timerEnvenom:Start()
|
||||
elseif args.spellID == 83566 then
|
||||
elseif args.spellID == 2138025 then
|
||||
specWarnSiren:Show()
|
||||
elseif args.spellID == 351393 then
|
||||
elseif args:IsSpellID(2138000, 2138001, 2138002, 2138003) then
|
||||
timerPhoenix:Start()
|
||||
warnPhoenix:Show()
|
||||
elseif args:IsSpellID(2138076) then
|
||||
if timerDischarge:GetTime() == 0 then
|
||||
timerBreath:Start()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
function mod:CHAT_MSG_MONSTER_YELL(msg)
|
||||
if msg == L.DBM_VASHJ_YELL_PHASE2 or msg:find(L.DBM_VASHJ_YELL_PHASE2) then
|
||||
timerMulti:Cancel()
|
||||
timerEnvenom:Cancel()
|
||||
timerAimedShot:Cancel()
|
||||
timerCharge:Cancel()
|
||||
self.vb.phase = 2
|
||||
self.vb.nagaCount = 1
|
||||
self.vb.elementalCount = 1
|
||||
mod.vb.phase = 2
|
||||
mod.vb.nagaCount = 1
|
||||
mod.vb.elementalCount = 1
|
||||
warnPhase2:Show()
|
||||
timerNaga:Start(13, tostring(self.vb.nagaCount))
|
||||
timerNaga:Start(13, tostring(mod.vb.nagaCount))
|
||||
timerEnchantress:Start(25)
|
||||
timerElementalCD:Start()
|
||||
timerHydra:Start(35)
|
||||
if self.Options.AutoChangeLootToFFA and DBM:GetRaidRank() == 2 then
|
||||
SetLootMethod("freeforall")
|
||||
end
|
||||
elseif (msg == L.DBM_VASHJ_YELL_PHASE3 or msg:find(L.DBM_VASHJ_YELL_PHASE3)) and self.vb.phase == 2 then
|
||||
self.vb.phase = 3
|
||||
elseif (msg == L.DBM_VASHJ_YELL_PHASE3 or msg:find(L.DBM_VASHJ_YELL_PHASE3)) and mod.vb.phase == 2 then
|
||||
mod.vb.phase = 3
|
||||
warnPhase3:Show()
|
||||
timerNaga:Cancel()
|
||||
warnNaga:Cancel()
|
||||
|
||||
Reference in New Issue
Block a user