Starting the bot!
Currently Using BotBase : Simcraft Impl
Current zone is Lunarfall Inn (http://wowhead.com/zone=7078)
<9:01 PM>:Loading configuration
<9:01 PM>:Configuration successfully loaded.
Changing current profile to Empty Profile
<21:01>:Compiling Action Lists
<21:01>:New Apl: Tyrlisele_Active
<21:01>:New Apl: Warrior_Arms_T17H
<21:01>:New Apl: Warrior_Fury_1h_T17H
<21:01>:New Apl: Warrior_Fury_2h_T17H
<21:01>:New Apl: Warrior_Gladiator_T17H
using Styx;
using Styx.Common;
namespace Simcraft
{
public class SimcraftRota
{
private static SimcraftImpl simc{get { return SimcraftImpl.inst; }}
#region Warrior_Fury_2h_T17H
[Behavior(WoWClass.Warrior, WoWSpec.None, WoWContext.PvE)]
public static void GenerateWarriorFuryPvEBehavior()
{
simc.actions["precombat"] += simc.UsePotion("draenic_strength","");
//# Executed every time the actor is available.
simc.actions += simc.Cast("charge", _if => (simc.debuff.charge.down),"simc.debuff.charge.down");
simc.actions += simc.Cast("auto_attack", _if => (true),"");
//# This is mostly to prevent cooldowns from being accidentally used during movement.
simc.actions += simc.CallActionList("movement", _if => (simc.movement.distance>5),"simc.movement.distance>5");
simc.actions += simc.Cast("berserker_rage", _if => (simc.buff.enrage.down||(simc.talent.unquenchable_thirst.enabled&&simc.buff.raging_blow.down)),"simc.buff.enrage.down||(simc.talent.unquenchable_thirst.enabled&&simc.buff.raging_blow.down)");
simc.actions += simc.Cast("heroic_leap", _if => ((simc.raid_event.movement.distance>25&&simc.raid_event.movement._in>45)||!simc.raid_event.movement.exists),"(simc.raid_event.movement.distance>25&&simc.raid_event.movement._in>45)||!simc.raid_event.movement.exists");
simc.actions += simc.UseItem(113969, _if => ((simc.talent.bladestorm.enabled&&simc.cooldown.bladestorm.remains==0)||simc.buff.bloodbath.up||simc.talent.avatar.enabled),"(simc.talent.bladestorm.enabled&&simc.cooldown.bladestorm.remains==0)||simc.buff.bloodbath.up||simc.talent.avatar.enabled");
simc.actions += simc.UsePotion("draenic_strength", _if => ((simc.target.health.pct<20&&simc.buff.recklessness.up)||simc.target.time_to_die<=25),"(simc.target.health.pct<20&&simc.buff.recklessness.up)||simc.target.time_to_die<=25");
//# Skip cooldown usage if we can line them up with bladestorm on a large set of adds, or if movement is coming soon.
simc.actions += simc.CallActionList("single_target", _if => ((simc.raid_event.adds.cooldown<60&&simc.raid_event.adds.count>2&&simc.active_enemies==1)||simc.raid_event.movement.cooldown<5),"(simc.raid_event.adds.cooldown<60&&simc.raid_event.adds.count>2&&simc.active_enemies==1)||simc.raid_event.movement.cooldown<5");
//# This incredibly long line (Due to differing talent choices) says 'Use recklessness on cooldown, unless the boss will die before the ability is usable again, and then use it with execute.'
simc.actions += simc.Cast("recklessness", _if => (((simc.target.time_to_die>190||simc.target.health.pct<20)&&(simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled))||simc.target.time_to_die<=12||simc.talent.anger_management.enabled),"((simc.target.time_to_die>190||simc.target.health.pct<20)&&(simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled))||simc.target.time_to_die<=12||simc.talent.anger_management.enabled");
simc.actions += simc.Cast("avatar", _if => ((simc.buff.recklessness.up||simc.target.time_to_die<=30)),"(simc.buff.recklessness.up||simc.target.time_to_die<=30)");
simc.actions += simc.Cast("blood_fury", _if => (simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled||simc.buff.recklessness.up),"simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled||simc.buff.recklessness.up");
simc.actions += simc.Cast("berserking", _if => (simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled||simc.buff.recklessness.up),"simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled||simc.buff.recklessness.up");
simc.actions += simc.Cast("arcane_torrent", _if => (simc.rage<simc.rage.max-40),"simc.rage<simc.rage.max-40");
simc.actions += simc.CallActionList("single_target", _if => (simc.active_enemies==1),"simc.active_enemies==1");
simc.actions += simc.CallActionList("two_targets", _if => (simc.active_enemies==2),"simc.active_enemies==2");
simc.actions += simc.CallActionList("three_targets", _if => (simc.active_enemies==3),"simc.active_enemies==3");
simc.actions += simc.CallActionList("aoe", _if => (simc.active_enemies>3),"simc.active_enemies>3");
simc.actions["movement"] += simc.Cast("heroic_leap", _if => (true),"");
simc.actions["movement"] += simc.CycleTargets("charge", _if => (simc.debuff.charge.down),"simc.debuff.charge.down");
//# If possible, charge a target that will give rage. Otherwise, just charge to get back in range.
simc.actions["movement"] += simc.Cast("charge", _if => (true),"");
//# May as well throw storm bolt if we can.
simc.actions["movement"] += simc.Cast("storm_bolt", _if => (true),"");
simc.actions["movement"] += simc.Cast("heroic_throw", _if => (true),"");
simc.actions["single_target"] += simc.Cast("bloodbath", _if => (true),"");
simc.actions["single_target"] += simc.Cast("recklessness", _if => (simc.target.health.pct<20&&simc.raid_event.adds.exists),"simc.target.health.pct<20&&simc.raid_event.adds.exists");
simc.actions["single_target"] += simc.Cast("wild_strike", _if => (simc.rage>110&&simc.target.health.pct>20),"simc.rage>110&&simc.target.health.pct>20");
simc.actions["single_target"] += simc.Cast("bloodthirst", _if => ((!simc.talent.unquenchable_thirst.enabled&&simc.rage<80)||simc.buff.enrage.down),"(!simc.talent.unquenchable_thirst.enabled&&simc.rage<80)||simc.buff.enrage.down");
simc.actions["single_target"] += simc.Cast("ravager", _if => (simc.buff.bloodbath.up||(!simc.talent.bloodbath.enabled&&(!simc.raid_event.adds.exists||simc.raid_event.adds.cooldown>60||simc.target.time_to_die<40))),"simc.buff.bloodbath.up||(!simc.talent.bloodbath.enabled&&(!simc.raid_event.adds.exists||simc.raid_event.adds.cooldown>60||simc.target.time_to_die<40))");
simc.actions["single_target"] += simc.Cast("execute", _if => (simc.buff.sudden_death.react),"simc.buff.sudden_death.react");
simc.actions["single_target"] += simc.Cast("siegebreaker", _if => (true),"");
simc.actions["single_target"] += simc.Cast("storm_bolt", _if => (true),"");
simc.actions["single_target"] += simc.Cast("wild_strike", _if => (simc.buff.bloodsurge.up),"simc.buff.bloodsurge.up");
simc.actions["single_target"] += simc.Cast("execute", _if => (simc.buff.enrage.up||simc.target.time_to_die<12),"simc.buff.enrage.up||simc.target.time_to_die<12");
simc.actions["single_target"] += simc.Cast("dragon_roar", _if => (simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled),"simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled");
simc.actions["single_target"] += simc.Cast("raging_blow", _if => (true),"");
simc.actions["single_target"] += simc.Cast("wild_strike", _if => (simc.buff.enrage.up&&simc.target.health.pct>20),"simc.buff.enrage.up&&simc.target.health.pct>20");
simc.actions["single_target"] += simc.Cast("bladestorm", _if => (!simc.raid_event.adds.exists),"!simc.raid_event.adds.exists");
simc.actions["single_target"] += simc.Cast("shockwave", _if => (!simc.talent.unquenchable_thirst.enabled),"!simc.talent.unquenchable_thirst.enabled");
simc.actions["single_target"] += simc.Cast("impending_victory", _if => (!simc.talent.unquenchable_thirst.enabled&&simc.target.health.pct>20),"!simc.talent.unquenchable_thirst.enabled&&simc.target.health.pct>20");
simc.actions["single_target"] += simc.Cast("bloodthirst", _if => (true),"");
simc.actions["two_targets"] += simc.Cast("bloodbath", _if => (true),"");
simc.actions["two_targets"] += simc.Cast("ravager", _if => (simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled),"simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled");
simc.actions["two_targets"] += simc.Cast("dragon_roar", _if => (simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled),"simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled");
simc.actions["two_targets"] += simc.Cast("bladestorm", _if => (simc.buff.enrage.up),"simc.buff.enrage.up");
simc.actions["two_targets"] += simc.Cast("bloodthirst", _if => (simc.buff.enrage.down||simc.rage<50||simc.buff.raging_blow.down),"simc.buff.enrage.down||simc.rage<50||simc.buff.raging_blow.down");
simc.actions["two_targets"] += simc.Cast("execute", _if => (true && simc.Target2 != null),simc.Target2,"");
simc.actions["two_targets"] += simc.Cast("execute", _if => (simc.target.health.pct<20||simc.buff.sudden_death.react),"simc.target.health.pct<20||simc.buff.sudden_death.react");
//Dont use swing timers man ...
//simc.actions["two_targets"] += simc.CycleTargets("heroic_charge", _if => (simc.target.health.pct<20&&simc.rage<70&&simc.swing.mh.remains>2&&simc.debuff.charge.down),"simc.target.health.pct<20&&simc.rage<70&&simc.swing.mh.remains>2&&simc.debuff.charge.down");
simc.actions["two_targets"] += simc.Cast("raging_blow", _if => (simc.buff.meat_cleaver.up),"simc.buff.meat_cleaver.up");
simc.actions["two_targets"] += simc.Cast("whirlwind", _if => (!simc.buff.meat_cleaver.up),"!simc.buff.meat_cleaver.up");
simc.actions["two_targets"] += simc.Cast("wild_strike", _if => (simc.buff.bloodsurge.up&&simc.rage>75),"simc.buff.bloodsurge.up&&simc.rage>75");
simc.actions["two_targets"] += simc.Cast("bloodthirst", _if => (true),"");
simc.actions["two_targets"] += simc.Cast("whirlwind", _if => (simc.rage>simc.rage.max-20),"simc.rage>simc.rage.max-20");
simc.actions["two_targets"] += simc.Cast("wild_strike", _if => (simc.buff.bloodsurge.up),"simc.buff.bloodsurge.up");
simc.actions["three_targets"] += simc.Cast("bloodbath", _if => (true),"");
simc.actions["three_targets"] += simc.Cast("ravager", _if => (simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled),"simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled");
simc.actions["three_targets"] += simc.Cast("bladestorm", _if => (simc.buff.enrage.up),"simc.buff.enrage.up");
simc.actions["three_targets"] += simc.Cast("bloodthirst", _if => (simc.buff.enrage.down||simc.rage<50||simc.buff.raging_blow.down),"simc.buff.enrage.down||simc.rage<50||simc.buff.raging_blow.down");
simc.actions["three_targets"] += simc.Cast("raging_blow", _if => (simc.buff.meat_cleaver.stack>=2),"simc.buff.meat_cleaver.stack>=2");
simc.actions["three_targets"] += simc.Cast("execute", _if => (simc.buff.sudden_death.react),"simc.buff.sudden_death.react");
simc.actions["three_targets"] += simc.Cast("execute", _if => (true && simc.Target2 != null),simc.Target2,"");
simc.actions["three_targets"] += simc.Cast("execute", _if => (true && simc.Target3 != null),simc.Target3,"");
simc.actions["three_targets"] += simc.Cast("dragon_roar", _if => (simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled),"simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled");
simc.actions["three_targets"] += simc.Cast("whirlwind", _if => (true),"");
simc.actions["three_targets"] += simc.Cast("bloodthirst", _if => (true),"");
simc.actions["three_targets"] += simc.Cast("wild_strike", _if => (simc.buff.bloodsurge.up),"simc.buff.bloodsurge.up");
simc.actions["aoe"] += simc.Cast("bloodbath", _if => (true),"");
simc.actions["aoe"] += simc.Cast("ravager", _if => (simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled),"simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled");
simc.actions["aoe"] += simc.Cast("raging_blow", _if => (simc.buff.meat_cleaver.stack>=3&&simc.buff.enrage.up),"simc.buff.meat_cleaver.stack>=3&&simc.buff.enrage.up");
simc.actions["aoe"] += simc.Cast("bloodthirst", _if => (simc.buff.enrage.down||simc.rage<50||simc.buff.raging_blow.down),"simc.buff.enrage.down||simc.rage<50||simc.buff.raging_blow.down");
simc.actions["aoe"] += simc.Cast("raging_blow", _if => (simc.buff.meat_cleaver.stack>=3),"simc.buff.meat_cleaver.stack>=3");
simc.actions["aoe"] += simc.Cast("recklessness", _if => (true && simc.sync("bladestorm")),"");
simc.actions["aoe"] += simc.Cast("bladestorm", _if => (simc.buff.enrage.remains>6),"simc.buff.enrage.remains>6");
simc.actions["aoe"] += simc.Cast("whirlwind", _if => (true),"");
simc.actions["aoe"] += simc.Cast("execute", _if => (simc.buff.sudden_death.react),"simc.buff.sudden_death.react");
simc.actions["aoe"] += simc.Cast("dragon_roar", _if => (simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled),"simc.buff.bloodbath.up||!simc.talent.bloodbath.enabled");
simc.actions["aoe"] += simc.Cast("bloodthirst", _if => (true),"");
simc.actions["aoe"] += simc.Cast("wild_strike", _if => (simc.buff.bloodsurge.up),"simc.buff.bloodsurge.up");
SimcraftImpl.Write("Behaviors created !");
}
#endregion
}
}
<21:01>:-------------------------------------------------------------------------
<21:01>:Buff: enrage id: 12880
<21:01>:Buff: raging_blow id: 131116
<21:01>:Buff: bloodbath id: 12292
<21:01>:Buff: recklessness id: 1719
<21:01>:Buff: sudden_death id: 52437
<21:01>:Buff: bloodsurge id: 46916
<21:01>:Buff: meat_cleaver id: 85739
<21:01>:-------------------------------------------------------------------------
<21:01>:Debuff: charge id: 105771
<21:01>:-------------------------------------------------------------------------
<21:01>:Talent: unquenchable_thirst - Disabled id: 169683
<21:01>:Talent: bladestorm - Disabled id: 46924
<21:01>:Talent: avatar - Disabled id: 107574
<21:01>:Talent: bloodbath - Enabled id: 12292
<21:01>:Talent: anger_management - Enabled id: 152278
<21:01>:-------------------------------------------------------------------------
<21:01>:Created Spell: bladestorm ex:1.4861524255864026064442874533 r:0 c:0 clt:0 dur:6 ct:1.4861524255864026064442874533 id: 46924
<21:01>:Created Spell: charge ex:1 r:25 c:2 clt:0 dur:0 ct:1 id: 100
<21:01>:Created Spell: auto_attack ex:1 r:400 c:0 clt:0 dur:15 ct:1 id: 117050
<21:01>:Created Spell: berserker_rage ex:1 r:6.5 c:0 clt:0 dur:6 ct:1 id: 18499
<21:01>:Created Spell: heroic_leap ex:1 r:40 c:0 clt:0 dur:0 ct:1 id: 6544
<21:01>:Created Spell: recklessness ex:1 r:6.5 c:0 clt:0 dur:10 ct:1 id: 1719
<21:01>:Created Spell: avatar ex:1 r:0 c:0 clt:0 dur:20 ct:1 id: 107574
<21:01>:Created Spell: blood_fury ex:1 r:0 c:0 clt:0 dur:15 ct:1 id: 20572
<21:01>:Created Spell: berserking ex:1 r:0 c:0 clt:0 dur:10 ct:1 id: 26297
<21:01>:Created Spell: arcane_torrent ex:2 r:0 c:0 clt:2 dur:2 ct:2 id: 25046
<21:01>:Created Spell: storm_bolt ex:1.4861524255864026064442874533 r:300 c:0 clt:0 dur:0 ct:1.4861524255864026064442874533 id: 107570
<21:01>:Created Spell: heroic_throw ex:1.4861524255864026064442874533 r:30 c:0 clt:0 dur:0 ct:1.4861524255864026064442874533 id: 57755
<21:01>:Created Spell: bloodbath ex:1 r:6.5 c:0 clt:0 dur:12 ct:1 id: 12292
<21:01>:Created Spell: wild_strike ex:1 r:6.5 c:0 clt:0 dur:0 ct:1 id: 100130
<21:01>:Created Spell: bloodthirst ex:1.4861524255864026064442874533 r:6.5 c:0 clt:0 dur:0 ct:1.4861524255864026064442874533 id: 23881
<21:01>:Created Spell: ravager ex:1.4861524255864026064442874533 r:400 c:0 clt:0 dur:11 ct:1.4861524255864026064442874533 id: 152277
<21:01>:Created Spell: execute ex:1.4861524255864026064442874533 r:6.5 c:0 clt:0 dur:0 ct:1.4861524255864026064442874533 id: 5308
<21:01>:Created Spell: siegebreaker ex:1.4861524255864026064442874533 r:50 c:0 clt:0 dur:1 ct:1.4861524255864026064442874533 id: 176289
<21:01>:Created Spell: dragon_roar ex:1.4861524255864026064442874533 r:6.5 c:0 clt:0 dur:0 ct:1.4861524255864026064442874533 id: 118000
<21:01>:Created Spell: raging_blow ex:1.4861524255864026064442874533 r:6.5 c:0 clt:0 dur:0 ct:1.4861524255864026064442874533 id: 85288
<21:01>:Created Spell: shockwave ex:1.4861524255864026064442874533 r:0 c:0 clt:0 dur:0 ct:1.4861524255864026064442874533 id: 46968
<21:01>:Created Spell: impending_victory ex:1.4861524255864026064442874533 r:50 c:0 clt:0 dur:0 ct:1.4861524255864026064442874533 id: 103840
<21:01>:Created Spell: whirlwind ex:1.4861524255864026064442874533 r:6.5 c:0 clt:0 dur:0 ct:1.4861524255864026064442874533 id: 1680
<21:01>:-------------------------------------------------------------------------
<21:01>:Behaviors created !
<21:01>:luaavg:9.2879695772185