Code:
local ignoreDebuffs = {
'Vampiric Touch',
'Unstable Affliction'
}
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"},
--testing new ideas Beacon of Light --- MUST BE GLYPHS ---
{"Beacon of Light",{
"lowest.health < 100",
"!lowest.buff(53563)"
}, "lowest"},
--Dispel
{ "4987", "modifier.lcontrol", "mouseover" }, --- Dispell mouseover
{ "4987", { "player.buff(Gift of the Titans)", "@coreHealing.needsDispelled('Mark of Arrogance')" }, nil },
{ "4987", "@coreHealing.needsDispelled('Shadow Word: Bane')", nil },
{ "4987", "@coreHealing.needsDispelled('Corrosive Blood')", nil },
{ "4987", "@coreHealing.needsDispelled('Harden Flesh')", nil },
{ "4987", "@coreHealing.needsDispelled('Torment')", nil },
{ "4987", { "toggle.dispel", "@dispell.Cleanse()" }, nil },
-- Interrupts
{ "96231", {
"target.range < 5",
"modifier.interrupts",
}},
-- Execution Sentence --
{ "114157", {
"player.spell(114157).exists",
"lowest.health < 85",
}, "lowest" },
-- Focus Hand of Freedom --
{"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"}, -- Divine Plea --
{ "633", "lowest.health < 15", "lowest" }, -- Lay on Hands
{ "20925", {
"lowest.health < 90",
"!lowest.buff(20925)",
"lowest.spell(20925).range",
"player.spell(20925).exists"
}, "lowest" }, -- Sacred Shield
--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" },
--Infusion of Light--
{"Divine Light",{
"lowest.health < 90",
"player.buff(Infusion of Light)",
"!player.moving"
}},
-- Flash of Light --
{ "Flash of light", {
"lowest.health < 50",
"player.mana > 60"
}, "lowest" },
{ "Flash of light", {
"lowest.health < 30",
}, "lowest" },
{"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" },
-- Hand of freedom self --
{ "1044", {
"player.state.root",
"toggle.free"
}},
{ "1044", {
"player.state.snare",
"toggle.free"
}},
-- Judgment --
{ "20271", {
"!player.buff(selfless healer).count = 3",
"target.spell(20271).range",
},"target" },
{ "20271", {
"!player.buff(selfless healer).count = 3",
"target.spell(20271).range",
"player.moving"
},"target" },
-- Crasader Strike --
{"Crusader Strike",{
"target.range < 5",
"toggle.attack"
}},
-- Holy Prism --
{ "114165",{
"lowest.health < 85",
}, "target"},
-- Auto Seal --
{"Seal of Insight",{
"player.seal != 3",
}},
{{-- 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" },
-- AoE heals --
{{
{ "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"},
--- Dps
-- Hand of Purity --
--[[{"Hand of Purity",{
"lowest.health < 80",
"!lowest.buff(114039)",
"player.spell(114039).exists"
}, "lowest"},
]]
-- Core Heals --
{ "Divine Light", {
"lowest.health < 75",
}, "lowest" },
{ "Holy Light", {
"lowest.health < 90",
"!player.holypower > 3",
"!player.buff(selfless healer).count = 3",
"!player.buff(Divine Purpose)",
}, "lowest" },
-- Hand of Sacrifice --
{ "Hand of Sacrifice", {
"player.health > 50",
"lowest.health < 30"
}, "lowest" },
},
---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" },
-- OFC Heals --
{ "85673", { -- Word of Glory
"player.buff(Divine Purpose)",
"lowest.health <= 90",
}, "lowest" },
{ "85673", { -- Word of Glory
"player.holypower >= 3",
"lowest.health <= 80",
}, "lowest" },
--- Holy shock ---
{ "20473", "lowest.health < 100", "lowest" },
{ "20473", { --- Holy Shock moving
"lowest.health < 100",
"player.moving"
},"lowest" },
{ "Divine Light", {
"lowest.health < 75",
"!player.holypower > 3",
"lowest.range <= 40",
"!player.buff(Divine Purpose)",
"!player.buff(selfless healer).count = 3",
}, "lowest" },
{ "Flash of light", {
"lowest.health < 30",
}, "lowest" },
{ "Holy Light", {
"lowest.health < 90",
"!player.holypower > 3",
"!player.buff(selfless healer).count = 3",
"!player.buff(Divine Purpose)",
}, "lowest" },
-- End of OFC heals --
{"Seal of Insight",{
"player.seal != 3",
}},
-- Hand of freedom self --
{ "1044", {
"player.state.root",
"toggle.free"
}},
{ "1044", {
"player.state.snare",
"toggle.free"
}},
}, ---END OUT-OF-COMBAT---
function()
ProbablyEngine.toggle.create('attack', 'Interface\\Icons\\spell_holy_crusaderstrike', 'use Crusader Strike')
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)
updated - 6/03/2014 -- i have removed Hand of Purity, i found it to bugged during duels, its still there if you like to use it just remove the "--[[ " and "]]".