Code:
ProbablyEngine.library.register('dispell', {
Cleanse = function(spell)
local prefix = (IsInRaid() and 'raid') or 'party'
for i = -1, GetNumGroupMembers() - 1 do
local unit = (i == -1 and 'target') or (i == 0 and 'player') or prefix .. i
if IsSpellInRange('cleanse', unit) then
for j = 1, 40 do
local debuffName, _, _, _, dispelType, duration, expires, _, _, _, spellID, _, isBossDebuff, _, _, _ = UnitDebuff(unit, j)
if dispelType and dispelType == 'Magic' or dispelType == 'Poison' or dispelType == 'Disease' then
local ignore = false
for k = 1, #ignoreDebuffs do
if debuffName == ignoreDebuffs[k] then
ignore = true
break
end
end
if not ignore then
ProbablyEngine.dsl.parsedTarget = unit
return true
end
end
if not debuffName then
break
end
end
end
end
return false
end})
ProbablyEngine.rotation.register_custom(65, "test", {
{ "pause", "modifier.lshift"},
{ "114157", { -- Execution Sentence
"player.spell(114157).exists",
"lowest.health < 85",
}, "lowest" },
{"1044", "focus.state.root","focus"},
{"1044", "focus.state.snare","focus"},
--Hand of freedom mouse over
{ "1044", {
"modifier.lalt",
"mouseover.spell(1044).range"
}, "mouseover" },
{ "54428", "player.mana < 85", nil }, -- Divine Plea
--Word of Glory--
{"Word of Glory",{
"player.buff(Divine Purpose)",
"lowest.health <= 97",
}, "lowest" },
{"Word of Glory",{ -- Moving
"player.buff(Divine Purpose)",
"lowest.health <= 97",
"player.moving"
}, "lowest" },
{ "85673", {
"player.holypower >= 3",
"lowest.health <= 90",
}, "lowest" },
{ "85673", { -- Moving
"player.holypower >= 3",
"lowest.health <= 90",
"player.moving"
}, "lowest" },
-- Flash of Light --
{"Flash of light", {
"player.buff(selfless healer).count = 3",
"lowest.health <= 80",
},"lowest"},
{"Flash of light", {
"player.buff(selfless healer).count = 3",
"lowest.health <= 80",
"player.moving"
},"lowest"},
-- Holy Shock
{ "20473", "lowest.health < 100", "lowest" },
-- Holy Shock moving
{ "20473", {
"lowest.health < 100",
"player.moving"
},"lowest" },
-- Interrupts
{ "96231", {
"target.range < 5",
"modifier.interrupts",
}},
-- Hand of freedom self --
{ "1044", {
"player.state.root",
"toggle.free"
}},
{ "1044", {
"player.state.snare",
"toggle.free"
}},
{ "20271", "target.spell(20271).range", "target" }, -- Judgment
-- Holy Prism
{ "114165",{
"lowest.health < 85",
}, "lowest"},
-- Auto Seal
{"Seal of Insight",{
"player.seal != 3",
}},
--
{ "Hand of Sacrifice", {
"player.health > 50",
"lowest.health < 30"
}, "lowest" },
-- Core Heals --
{ "Divine Light", {
"lowest.health < 75",
"!player.holypower > 3",
"lowest.range <= 40",
"!player.buff(Divine Purpose)",
}, "lowest" },
{ "Flash of light", {
"lowest.health < 30",
}, "lowest" }, -- Flash of light
{ "Holy Light", {
"lowest.health < 97",
"!player.holypower > 3",
"!player.buff(Divine Purpose)",
}, "lowest" }, -- Holy Light
--testing new ideas Beacon of Light --- MUST BE GLYPHS ---
{"Beacon of Light",{
"lowest.health < 100",
"!lowest.buff(53563)",
}, "lowest"},
{{-- Cooldowns
{ "31821", "@coreHealing.needsHealing(40, 5)", nil }, -- Devotion Aura
{ "31884", "@coreHealing.needsHealing(95, 4)", nil }, -- Avenging Wrath
{ "86669", "@coreHealing.needsHealing(85, 4)", nil }, -- Guardian of Ancient Kings
{ "31842", "@coreHealing.needsHealing(90, 4)", nil }, -- Divine Favor
{ "105809", "talent(13)", nil }, -- Holy Avenger
}, "modifier.cooldowns" },
-- Dispel
{ "4987", { "toggle.dispel", "@dispell.Cleanse()" }, nil },
{ "82326", { "lowest.health < 75", "[email protected](90, 4)", "!player.moving", "player.buff(54149)" }, "lowest" }, -- Divine Light
{{
{ "85222", { "@coreHealing.needsHealing(90, 3)", "player.holypower >= 3", "modifier.party" }, "lowest" }, -- Light of Dawn meh
{ "82327", { "@coreHealing.needsHealing(80, 3)", "!modifier.last", "!player.moving", "modifier.party" }, "lowest" }, -- Holy Radiance meh
{ "85222", { "@coreHealing.needsHealing(90, 5)", "player.holypower >= 3", "modifier.raid", "!modifier.members > 10" }, "lowest" }, -- Light of Dawn party
{ "82327", { "@coreHealing.needsHealing(90, 5)", "!modifier.last", "!player.moving", "modifier.raid", "!modifier.members > 10" }, "lowest" }, -- Holy Radiance party
{ "85222", { "@coreHealing.needsHealing(90, 8)", "player.holypower >= 3", "modifier.members > 10" }, "lowest" }, -- Light of Dawn raid
{ "82327", { "@coreHealing.needsHealing(90, 8)", "!modifier.last", "!player.moving", "modifier.members > 10" }, "lowest" }, -- Holy Radiance raid
},"modifier.multitarget"},
{ "633", "lowest.health < 15", "lowest" }, -- Lay on Hands
{ "20925", { "spell.charges(20925) >= 2", "lowest.health < 90", "!lowest.buff(148039)", "lowest.spell(20925).range", "!modifier.last" }, "lowest" }, -- Sacred Shield
-- Dps
},
---END IN-COMBAT----
--- OFC ---
{
{ "pause", "modifier.lshift"}, --- PAUSE
{ "4987", "modifier.lcontrol", "mouseover" }, --- Dispell mouseover
{"Beacon of Light",{
"!lowest.buff(53563)",
"lowest.health < 100"
}, "lowest"},
{ "1044", { --- Hand of Freedom mouseover
"modifier.lalt",
"mouseover.spell(1044).range"
}, "mouseover" },
--- Dps
{ "85673", { -- Word of Glory
"player.buff(Divine Purpose)",
"lowest.health <= 90",
}, "lowest" },
{ "85673", { -- Word of Glory
"player.holypower >= 3",
"lowest.health <= 80",
}, "lowest" },
{"Seal of Insight",{
"player.seal != 3",
}},
--- Holy shock
{ "20473", "lowest.health < 100", "lowest" },
{ "20473", { --- Holy Shock moving
"lowest.health < 100",
"player.moving"
},"lowest" },
-- Hand of freedom self --
{ "1044", {
"player.state.root",
"toggle.free"
}},
{ "1044", {
"player.state.snare",
"toggle.free"
}},
}, ---END OUT-OF-COMBAT---
function()
ProbablyEngine.toggle.create('free', 'Interface\\Icons\\spell_holy_sealofvalor', 'Hand of Freedom')
ProbablyEngine.toggle.create('dispel', 'Interface\\Icons\\Ability_paladin_sacredcleansing.png', 'Dispel Everything')
end)