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.

127 lines
3.8 KiB

3 years ago
local mod = DBM:NewMod(2517, "DBM-DragonIsles", nil, 1205)
local L = mod:GetLocalizedStrings()
mod:SetRevision("20230106004352")
3 years ago
mod:SetCreatureID(193532)
mod:SetEncounterID(2653)
mod:SetReCombatTime(20)
mod:EnableWBEngageSync()--Enable syncing engage in outdoors
--mod:SetMinSyncRevision(11969)
mod:RegisterCombat("combat")
--mod:RegisterCombat("combat_yell", L.Pull)
mod:RegisterEventsInCombat(
"SPELL_CAST_START 389431 389725 389514 391247",
"SPELL_CAST_SUCCESS 390635"
3 years ago
-- "SPELL_AURA_APPLIED",
-- "SPELL_AURA_APPLIED_DOSE",
-- "SPELL_AURA_REMOVED",
-- "SPELL_PERIODIC_DAMAGE",
-- "SPELL_PERIODIC_MISSED"
)
--TODO, magma eruption targets? could not find a debuff ID, it might use emote/whisper
--TODO, does he return to P1 after a while of infusion?
--TODO, likely fix rain event
--Phase One
mod:AddTimerLine(DBM:EJ_GetSectionInfo(25874))
local warnMagmaEruption = mod:NewSpellAnnounce(389725, 2)
3 years ago
--local warnDarkDeterrence = mod:NewStackAnnounce(361390, 2, nil, "Tank|Healer")
local specWarnDeterringFlame = mod:NewSpecialWarningSpell(389431, nil, nil, nil, 2, 2)
local specWarnLavaBreath = mod:NewSpecialWarningDodge(389514, nil, nil, nil, 2, 2)
3 years ago
local timerDeterringFlameCD = mod:NewAITimer(74.7, 389431, nil, nil, nil, 2)
local timerMagmaEruptionCD = mod:NewAITimer(53.4, 389725, nil, nil, nil, 3)
local timerLavaBreathCD = mod:NewAITimer(43.1, 389514, nil, nil, nil, 3, nil, DBM_COMMON_L.DEADLY_ICON)
3 years ago
--local timerDeterrentStrikeCD = mod:NewAITimer(9.7, 361387, nil, nil, nil, 5, nil, DBM_COMMON_L.TANK_ICON)
--Phase Two
mod:AddTimerLine(DBM:EJ_GetSectionInfo(25878))
local warnFlameInfusion = mod:NewCastAnnounce(391247, 2)
local specWarnRainofDestruction = mod:NewSpecialWarningSpell(390635, nil, nil, nil, 2, 2)
local timerRainofDestructionCD = mod:NewAITimer(74.7, 390635, nil, nil, nil, 2)
3 years ago
--mod:AddRangeFrameOption(5, 361632)
function mod:OnCombatStart(delay, yellTriggered)
self:SetStage(1)
3 years ago
-- if yellTriggered then
--timerDeterringFlameCD:Start(1)
--timerMagmaEruptionCD:Start(1)
--timerLavaBreathCD:Start(1)
3 years ago
-- end
-- if self.Options.RangeFrame then
-- DBM.RangeCheck:Hide()
-- end
end
--function mod:OnCombatEnd()
-- if self.Options.InfoFrame then
-- DBM.InfoFrame:Hide()
-- end
--end
3 years ago
function mod:SPELL_CAST_START(args)
local spellId = args.spellId
if spellId == 389431 then
specWarnDeterringFlame:Show()
specWarnDeterringFlame:Play("carefly")
timerDeterringFlameCD:Start()
elseif spellId == 389725 then
warnMagmaEruption:Show()
timerMagmaEruptionCD:Start()
elseif spellId == 389514 then
specWarnLavaBreath:Show()
specWarnLavaBreath:Play("breathsoon")
timerLavaBreathCD:Start()
elseif spellId == 391247 then
self:SetStage(2)
warnFlameInfusion:Show()
timerDeterringFlameCD:Stop()
timerMagmaEruptionCD:Stop()
timerLavaBreathCD:Stop()
--P2 timer start
timerMagmaEruptionCD:Start(2)
timerLavaBreathCD:Start(2)
timerRainofDestructionCD:Start(2)
3 years ago
end
end
function mod:SPELL_CAST_SUCCESS(args)
local spellId = args.spellId
if spellId == 390635 then
specWarnRainofDestruction:Show()
specWarnRainofDestruction:Play("specialsoon")
timerRainofDestructionCD:Start()
3 years ago
end
end
--[[
3 years ago
function mod:SPELL_AURA_APPLIED(args)
local spellId = args.spellId
if spellId == 361632 then
end
end
--mod.SPELL_AURA_APPLIED_DOSE = mod.SPELL_AURA_APPLIED
function mod:SPELL_AURA_REMOVED(args)
local spellId = args.spellId
if spellId == 361632 then
end
end
function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId, spellName)
if spellId == 361335 and destGUID == UnitGUID("player") and self:AntiSpam(2, 4) then
specWarnGTFO:Show(spellName)
specWarnGTFO:Play("watchfeet")
end
end
mod.SPELL_PERIODIC_MISSED = mod.SPELL_PERIODIC_DAMAGE
--]]