Code:
local fetch = ProbablyEngine.interface.fetchKey
local lib = function()
mts.Splash("|cff9482C9[MTS]|r-[|cff9482C9MTS|r]-|cff9482C9Loaded", 5.0)
ProbablyEngine.toggle.create(
'dotEverything',
'Interface\\Icons\\Ability_creature_cursed_05.png',
'Dot All The Things! (SOLO)',
'Click here to dot all the things while in Solo mode!\nSome Spells require Multitarget enabled also.\nOnly Works if using FireHack.')
end
local inCombat = {
-- Cooldowns
{ "10060", "modifier.cooldowns" }, -- Power Infusion
{ "34433", "modifier.cooldowns" }, -- Shadowfiend
--buffs
{ "21562", {-- Fortitude
"!player.buff(21562).any",
"!player.buff(588)"
}},
{ "15473", "!player.buff(15473)" }, -- Shadowform
-- Keybinds
-- LoOk aT It GOoZ!!! // Needs to add tank...
{ "121536", {
(function() return fetch('mtsconfPriestShadow','feather') end),
"player.movingfor > 2",
"!player.buff(121557)",
"player.spell(121536).charges >= 1"
}, "player.ground" },
{ "17", {
"talent(2, 1)",
"player.movingfor > 2",
"!player.buff(6788)",
(function() return fetch('mtsconfPriestShadow', 'feather') end)
}, "player" },
-- items
-- Gift of the Naaru
{"59544", "player.health <= 40"},
{ "#109223", (function() return mts.dynamicEval("player.health <= " .. fetch('mtsconfPriestShadow', 'hstone')) end)}, -- Healthstone
--Defensive/Heal
-- Emergency Dispersion
{"!47585", {"player.spell(47585).cooldown = 0","player.health <=20"}},
{ "586", (function() return mts.dynamicEval("player.aggro >= " .. fetch('mtsconfPriestShadow', 'fade')) end) }, -- FADE
{ "!19236", (function() return mts.dynamicEval("player.health <= " .. fetch('mtsconfPriestShadow', 'instaprayer')) end) },
{ "17", { -- PW:S on HP
"!player.debuff(6788)",
(function() return mts.dynamicEval("player.health <= " .. fetch('mtsconfPriestShadow', 'shield')) end)
}, "player" },
--{ "47585", (function() return mts.dynamicEval("player.health <= " .. fetch('mtsconfPriestShadow', '*****')) end) }, -- Dispersion
--{ "112833", { -- *****
-- "talent(1, 2)",
-- (function() return mts.dynamicEval("player.health <= " .. fetch('mtsconfPriestShadow', '*****')) end),
--}},
-- AOE
-- [[ Mouseover Dots ]]
-- Cascade
{"127632", {"talent(6, 1)", "player.spell(127632).cooldown = 0", "toggle.multitarget"}},
{{
-- Devouring Plague
{"2944", "mouseover.debuff(589).duration < 5", "mouseover"},
-- Shadow Word: Pain
{"589", "mouseover.debuff(589).duration < 6", "mouseover"},
-- Vampiric Touch
{"34914", "mouseover.debuff(34914).duration < 6", "mouseover"}
}, {"toggle.multitarget", "!player.target(mouseover)", "mouseover.enemy(player)"
}},
-- Rotation
{ "!2944", "player.shadoworbs = 5"},--167254
{ "!2944", {"player.shadoworbs >= 3", "player.buff(167254).duration <= 1"}},
{ "!2944", {"player.shadoworbs >= 3", "!target.debuff(2944)" }}, -- Devouring Plague // 3 Orbs
{"!32379", {"!player.glyph(120583)", "target.health < 20", "player.shadoworbs < 5", "player.spell(32379).cooldown = 0"}}, -- SW:Death
-- Mind Flay: Insanity (4P)
{"!129197", {
"player.tier17 >= 4",
"player.shadoworbs < 2",
"player.spell(8092).cooldown > 0.5",
"player.buff(132573).duration >= 0.2",
"player.spell(129197).cooldown <= 0.2",
}},
-- Mind Flay: Insanity (Extend)
{"!129197", {"player.spell(129197).cooldown = 0", "player.buff(132573).duration >= 0.5", "player.shadoworbs >= 2"}},
-- Mind Flay: Insanity (Start)
{"129197", {
"!target.debuff(129197)",
"player.spell(8092).cooldown > 0.3",
"player.spell(129197).cooldown = 0",
"player.buff(132573).duration > 0.1"
}},
-- Mind Flay
{"15407", {
"lastcast(15407)",
"!player.buff(132573)",
"target.debuff(589).duration > 5",
"target.debuff(34914).duration > 5",
"player.spell(8092).cooldown >= 0.4"
}},
{ "!8092", {"player.shadoworbs <= 5", "player.spell(8092).cooldown = 0" }}, --Mind Blast less then 5 orbs
{ "589", "target.debuff(589).duration <= 5.4"}, --Shadow Word: Pain refresh
{ "589", "!target.debuff(589)"},
{ "34914", "target.debuff(34914).duration <= 5"}, -- Vampiric Touch
{ "34914", "!target.debuff(34914)"},
{"120644", {"talent(6,3)", "target.range >= 20"}},
{ "15407"},
}
local outCombat = {
-- LoOk aT It GOoZ!!! // Needs to add tank...
{ "121536", {
(function() return fetch('mtsconfPriestShadow','feather') end),
"player.movingfor > 2",
"!player.buff(121557)",
"player.spell(121536).charges >= 1"
}, "player.ground" },
{ "17", {
"talent(2, 1)",
"player.movingfor > 2",
"!player.buff(6788)",
(function() return fetch('mtsconfPriestShadow', 'feather') end)
}, "player" },
-- buffs
{ "21562", {-- Fortitude
"!player.buff(21562).any",
"!player.buff(588)"
}},
{ "15473", "!player.buff(15473)" }, -- Shadow Form
}
ProbablyEngine.rotation.register_custom(258, mts.Icon.."|r[|cff9482C9MTS|r][Priest-Shadow|r]", inCombat, outCombat, lib)