Code:
-- ProbablyEngine Rotation Packager
-- NO CARRIER's Beastmaster Hunter Rotation
local function dynamicEval(condition, spell)
if not condition then return false end
return ProbablyEngine.dsl.parse(condition, spell or '')
end
local onLoad = function()
ProbablyEngine.toggle.create('tier7', 'Interface\\Icons\\ability_hunter_rapidregeneration', 'Tier 7', 'Activate or desactivate tier7 talent in rotation')
NOC.BaseStatsTableInit()
C_Timer.NewTicker(0.25, (
function()
if ProbablyEngine.config.read('button_states', 'MasterToggle', false) then
NOC.BaseStatsTableUpdate()
end
end),
nil)
end
local ooc = {
-- Out of combat
{ "pause","player.buff(5384)" }, -- Pause for Feign Death
{ "982", "pet.dead" }, -- Revive Pet
{ "136", { "pet.health <= 50", "pet.exists", "!pet.dead", "!pet.buff(136)" }}, -- Mend Pet
-- Keep trap launcher set
{ "77769", "!player.buff(77769)" },
}
local aoe = {
{ "Multi-Shot", "!pet.buff(Beast Cleave)" },
{ "Multi-Shot", "pet.buff(Beast Cleave).duration <= 1" },
{ "Barrage" },
{ "Cobra Shot", {"lastcast(Cobra Shot)", "player.buff(Steady Focus).duration < 7", "player.focus < 60"}},
--{ "Cobra Shot", { "lastcast(Cobra Shot)", "player.buff(Steady Focus).duration < 5", function() return ((14 + dynamicEval("player.spell(77767).regen")) <= dynamicEval("player.focus.deficit")) end, }},
--{ "Cobra Shot" },
}
local combat = {
-- Combat
{ "pause", "modifier.lshift" },
{ "pause","player.buff(5384)" }, -- Pause for Feign Death
{ "/cancelaura Aspect of the Cheetah", { "!player.glyph(Aspect of the Cheetah)", "player.buff(Aspect of the Cheetah)" }},
-- Pet
{ "883", { "!pet.dead", "!pet.exists" }}, -- Call Pet 2
{ "55709", "pet.dead" }, -- Heart of the Phoenix (55709)
{ "982", "pet.dead" }, -- Revive Pet
-- Interrupt(s)
{ "147362", "target.interruptAt(50)" }, -- Counter Shot at 50% cast time left
{ "19577", "target.interruptAt(30)" }, -- Intimidation at 30% cast time left
{ "19386", "target.interruptAt(30)" }, -- Wyrven Sting at 30% cast time left
-- Survival
{ "109304", "player.health < 15" }, -- Exhiliration
{ "#109223", "player.health < 10" }, -- Healing Tonic
{ "#5512", "player.health < 10" }, -- Healthstone
{ "136", { "pet.health <= 75", "pet.exists", "!pet.dead", "!pet.buff(136)" }}, -- Mend Pet
-- Master's Call when stuck
{{
{ "53271", "player.state.stun" },
{ "53271", "player.state.root" },
{ "53271", { "player.state.snare", "!player.debuff(Dazed)" }},
{ "53271", "player.state.disorient" },
}, { "pet.exists" }},
-- Wrap the entire block in an 'immuneEvents' check
{{
-- Cooldowns
{{
{ "Stampede", "player.proc.any" },
{ "Stampede", "player.hashero" },
{ "Blood Fury" },
{ "#trinket1" },
{ "#trinket2" },
}, "modifier.cooldowns" },
{ "Tranquilizing Shot", { "target.dispellable(Tranquilizing Shot)", "!target.cc" }, "target" },
-- Shared
{ "Dire Beast" },
{{
{ "Focus Fire", "player.spell(Bestial Wrath).cooldown < 1" },
{ "Focus Fire", "player.buff(Stampede)" },
}, "!player.buff(Focus Fire)" },
{ "Bestial Wrath", { "player.focus > 30", "!player.buff(Bestial Wrath)" }},
-- AoE
{ aoe, { "toggle.multitarget", "modifier.enemies >= 3" }},
{ "Focus Fire", "player.buff(Frenzy).count = 5" },
{ "Kill Command" },
{ "Kill Shot" },
{ "Focusing Shot", { "player.focus < 50", "!player.moving" }},
{ "Cobra Shot", {"lastcast(Cobra Shot)", "player.buff(Steady Focus).duration < 7", "player.focus < 60"}},
--{ "Cobra Shot", { "lastcast(Cobra Shot)", "player.buff(Steady Focus).duration < 5", function() return ((14 + dynamicEval("player.spell(77767).regen")) <= dynamicEval("player.focus.deficit")) end, }},
{ "Barrage", "toggle.tier7" },
{ "Glaive Toss", "toggle.tier7" },
{ "Powershot", "player.timetomax > 2.5" },
{ "Dire Beast" },
{ "Arcane Shot", { "player.buff(34720)", "player.focus > 30" }},
{ "Arcane Shot", "player.focus > 60" },
{ "Cobra Shot" },
}, "@NOC.isValidTarget('target')" },
}
ProbablyEngine.rotation.register_custom(253, "NOC Beastmaster Hunter", combat, ooc, onLoad)
Once again thx for your help and sorry for my bad bad english :/