Skip to content

Commit

Permalink
improve warlock greenfire mod for MoP Classic
Browse files Browse the repository at this point in the history
  • Loading branch information
MysticalOS committed Nov 18, 2024
1 parent b7e91c8 commit 0cd0e6f
Showing 1 changed file with 20 additions and 16 deletions.
36 changes: 20 additions & 16 deletions DBM-Scenario-MoP/GreenFire.lua
Original file line number Diff line number Diff line change
Expand Up @@ -19,51 +19,51 @@ mod:RegisterEventsInCombat(
)

--Essence of Order
local warnSpellFlame = mod:NewSpellAnnounce(134234, 3)
local warnHellfire = mod:NewSpellAnnounce(134225, 3)

--Kanrethad Ebonlocke
local warnSummonPitLord = mod:NewCastAnnounce(138789, 4, 10)
local warnSummonImpSwarm = mod:NewCastAnnounce(138685, 3, 10)
local warnSummonDoomlord = mod:NewCastAnnounce(138755, 3, 10)
local warnSummonFelhunter = mod:NewCastAnnounce(138751, 3, 10)

--Essence of Order
local specWarnSpellFlame = mod:NewSpecialWarningMove(134234)
local specWarnHellfire = mod:NewSpecialWarningInterrupt(134225)
local specWarnLostSouls = mod:NewSpecialWarning("specWarnLostSouls", nil, nil, nil, 2)
local specWarnSpellFlame = mod:NewSpecialWarningDodge(134234, nil, nil, nil, 2, 2)
local specWarnHellfire = mod:NewSpecialWarningInterrupt(134225, nil, nil, nil, 1, 2)
local specWarnLostSouls = mod:NewSpecialWarning("specWarnLostSouls", nil, nil, nil, 1, 2)
--Kanrethad Ebonlocke
local specWarnEnslavePitLord = mod:NewSpecialWarning("specWarnEnslavePitLord")
local specWarnCataclysm = mod:NewSpecialWarningInterrupt(138564)
local specWarnRainOfFire = mod:NewSpecialWarningMove(138561)
local specWarnChaosBolt = mod:NewSpecialWarningInterrupt(138559, nil, nil, nil, 3)
local specWarnEnslavePitLord = mod:NewSpecialWarning("specWarnEnslavePitLord", nil, nil, nil, 1, 2)
local specWarnCataclysm = mod:NewSpecialWarningInterrupt(138564, nil, nil, nil, 1, 2)
local specWarnRainOfFire = mod:NewSpecialWarningGTFO(138561, nil, nil, nil, 1, 8)
local specWarnChaosBolt = mod:NewSpecialWarningInterrupt(138559, nil, nil, nil, 3, 2)

--Essence of Order
--Todo, maybe register COMBAT_REGEN_DISABLED and check warlocks target (basically what dbm core normally does) for combat start timers?
local timerSpellFlameCD = mod:NewNextTimer(11, 134234)--(6 seconds after engage)
local timerHellfireCD = mod:NewNextTimer(33, 134225)--(15 after engage)
local timerLostSoulsCD = mod:NewTimer(43, "timerLostSoulsCD", 51788)--43-50 second variation. (engage is same as cd, 43)
--Todo, maybe register zone combat scanner and cids for initial combat start timers
local timerSpellFlameCD = mod:NewNextTimer(11, 134234, nil, nil, nil, 3)--(6 seconds after engage)
local timerHellfireCD = mod:NewNextTimer(33, 134225, nil, nil, nil, 4, nil, DBM_COMMON_L.INTERRUPT_ICON)--(15 after engage)
local timerLostSoulsCD = mod:NewTimer(43, "timerLostSoulsCD", 51788, nil, nil, 1)--43-50 second variation. (engage is same as cd, 43)
--Kanrethad Ebonlocke
local timerCombatStarts = mod:NewCombatTimer(33)
local timerPitLordCast = mod:NewCastTimer(10, 138789, nil, nil, nil, 1)
local timerSummonImpSwarmCast = mod:NewCastTimer(10, 138685, nil, nil, nil, 1)
local timerSummonFelhunterCast = mod:NewCastTimer(9, 138751, nil, nil, nil, 1)
local timerSummonDoomlordCast = mod:NewCastTimer(10, 138755, nil, nil, nil, 1)
local timerEnslaveDemon = mod:NewTargetTimer(300, 1098)
local timerEnslaveDemon = mod:NewTargetTimer(300, 1098, nil, nil, nil, 5)
local timerDoom = mod:NewBuffFadesTimer(419, 138558, nil, nil, nil, 5, nil, nil, nil, 1, 10)

local kanrathadAlive = true--So we don't warn to enslave pit lord when he dies and enslave fades.

function mod:SPELL_CAST_START(args)
if args.spellId == 134234 then
warnSpellFlame:Show()
specWarnSpellFlame:Show()
specWarnSpellFlame:Play("watchstep")
timerSpellFlameCD:Start()
elseif args.spellId == 134225 then
warnHellfire:Show()
specWarnHellfire:Show(args.sourceName)
specWarnHellfire:Play("kickcast")
timerHellfireCD:Start()
elseif args.spellId == 138559 then
specWarnChaosBolt:Show(args.sourceName)
specWarnChaosBolt:Play("kickcast")
end
end

Expand All @@ -75,6 +75,7 @@ function mod:SPELL_CAST_SUCCESS(args)
warnSummonPitLord:Show()
timerPitLordCast:Start()
specWarnEnslavePitLord:Schedule(10)
specWarnEnslavePitLord:ScheduleVoice(10, "bigmob")
elseif args.spellId == 138685 then
warnSummonImpSwarm:Show()
timerSummonImpSwarmCast:Start()
Expand All @@ -86,6 +87,7 @@ function mod:SPELL_CAST_SUCCESS(args)
timerSummonFelhunterCast:Start()
elseif args.spellId == 138564 then
specWarnCataclysm:Show(args.sourceName)
specWarnCataclysm:Play("kickcast")
end
end

Expand All @@ -109,12 +111,14 @@ end
function mod:SPELL_PERIODIC_DAMAGE(_, _, _, _, destGUID, _, _, _, spellId)
if spellId == 138561 and destGUID == UnitGUID("player") and self:AntiSpam() then
specWarnRainOfFire:Show()
specWarnRainOfFire:Play("watchfeet")
end
end

function mod:CHAT_MSG_MONSTER_YELL(msg)
if msg == L.LostSouls then
specWarnLostSouls:Show()
specWarnLostSouls:Play("killmob")
timerLostSoulsCD:Start()
end
end
Expand Down

0 comments on commit 0cd0e6f

Please sign in to comment.