What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

Simcraft Implemented, a Raidbot Derivate with Integrated Combat

reinstalled

nothing new

\Honorbuddy\Bots\simpl-master\SimcParse\Parser.cs(28,41) : error CS0246: The type or namespace name 'ActionPrioriyList' could not be found (are you missing a using directive or an assembly reference?)


Its an error on my part, fixing it right now :)
 
reinstalled

nothing new

\Honorbuddy\Bots\simpl-master\SimcParse\Parser.cs(28,41) : error CS0246: The type or namespace name 'ActionPrioriyList' could not be found (are you missing a using directive or an assembly reference?)

Right Click SVN Checkout "Clean Up" Check every box. Or delete folder and recheckout
 
Last edited:
So just looked into the simc and looks untouched? Just straight from simc to botbase? You are the man, i get paid thursday and so will you :)
 
So just looked into the simc and looks untouched? Just straight from simc to botbase?

Hopefully, you will still need to modify the simc if you want to use the hotkeys for AOE and Cooldowns
Some things might need rethinking though, for example the Subtlety Rogue pool_resources mechanic from simc is nearly impossible to implement directly

Im kinda hoping people will pick this up, use the simc rotations as a base and share their modified ones.

One of my plans for the future is to enable Lua to be used in Simc files, so people can define a function inside the script (like for example to get the current dps from skada) and use that in the rotation
 
So a straight copy paste will work without hotkey functionality then? Looking at some of the profiles and there is no spacing between anything.

Just looking to use different talents than say the DK unholy version that uses plague leach and defile and would prefer unholy blight and necrotic plague.

So looks like edit talents to the numbers you want then copy paste everything after the pre combat portion of simcraft and before gear. Should allow this to work? Sorry to ask here not like I can just try it on a target dummy at the moment :P

edit to show my example. But from what I'm looking at this should work?

Code:
deathknight="UB-BT-NP"
level=100
race=gnome
role=attack
position=back
talents=3001001
spec=unholy

# Executed every time the actor is available.

actions=auto_attack
actions+=/deaths_advance,if=movement.remains>2
actions+=/antimagic_shell,damage=100000
actions+=/blood_fury
actions+=/berserking
actions+=/arcane_torrent
actions+=/use_item,slot=trinket1
actions+=/potion,name=draenic_strength,if=buff.dark_transformation.up&target.time_to_die<=60
actions+=/run_action_list,name=aoe,if=(!talent.necrotic_plague.enabled&active_enemies>=2)|active_enemies>=4
actions+=/run_action_list,name=single_target,if=(!talent.necrotic_plague.enabled&active_enemies<2)|active_enemies<4

actions.aoe=unholy_blight
actions.aoe+=/run_action_list,name=spread,if=!dot.blood_plague.ticking|!dot.frost_fever.ticking|(!dot.necrotic_plague.ticking&talent.necrotic_plague.enabled)
actions.aoe+=/defile
actions.aoe+=/breath_of_sindragosa,if=runic_power>75
actions.aoe+=/run_action_list,name=bos_aoe,if=dot.breath_of_sindragosa.ticking
actions.aoe+=/blood_boil,if=blood=2|(frost=2&death=2)
actions.aoe+=/summon_gargoyle
actions.aoe+=/dark_transformation
actions.aoe+=/blood_tap,if=level<=90&buff.shadow_infusion.stack=5
actions.aoe+=/defile
actions.aoe+=/death_and_decay,if=unholy=1
actions.aoe+=/soul_reaper,if=target.health.pct-3*(target.health.pct%target.time_to_die)<=45
actions.aoe+=/scourge_strike,if=unholy=2
actions.aoe+=/blood_tap,if=buff.blood_charge.stack>10
actions.aoe+=/death_coil,if=runic_power>90|buff.sudden_doom.react|(buff.dark_transformation.down&unholy<=1)
actions.aoe+=/blood_boil
actions.aoe+=/icy_touch
actions.aoe+=/scourge_strike,if=unholy=1
actions.aoe+=/death_coil
actions.aoe+=/blood_tap
actions.aoe+=/plague_leech
actions.aoe+=/empower_rune_weapon

actions.single_target=plague_leech,if=(cooldown.outbreak.remains<1)&((blood<1&frost<1)|(blood<1&unholy<1)|(frost<1&unholy<1))
actions.single_target+=/plague_leech,if=((blood<1&frost<1)|(blood<1&unholy<1)|(frost<1&unholy<1))&disease.min_remains<3
actions.single_target+=/plague_leech,if=disease.min_remains<1
actions.single_target+=/outbreak,if=!disease.min_ticking
actions.single_target+=/unholy_blight,if=!talent.necrotic_plague.enabled&disease.min_remains<3
actions.single_target+=/unholy_blight,if=talent.necrotic_plague.enabled&dot.necrotic_plague.remains<1
actions.single_target+=/death_coil,if=runic_power>90
actions.single_target+=/soul_reaper,if=(target.health.pct-3*(target.health.pct%target.time_to_die))<=45
actions.single_target+=/breath_of_sindragosa,if=runic_power>75
actions.single_target+=/run_action_list,name=bos_st,if=dot.breath_of_sindragosa.ticking
actions.single_target+=/death_and_decay,if=cooldown.breath_of_sindragosa.remains<7&runic_power<88&talent.breath_of_sindragosa.enabled
actions.single_target+=/scourge_strike,if=cooldown.breath_of_sindragosa.remains<7&runic_power<88&talent.breath_of_sindragosa.enabled
actions.single_target+=/festering_strike,if=cooldown.breath_of_sindragosa.remains<7&runic_power<76&talent.breath_of_sindragosa.enabled
actions.single_target+=/blood_tap,if=((target.health.pct-3*(target.health.pct%target.time_to_die))<=45)&cooldown.soul_reaper.remains=0
actions.single_target+=/death_and_decay,if=unholy=2
actions.single_target+=/defile,if=unholy=2
actions.single_target+=/plague_strike,if=!disease.min_ticking&unholy=2
actions.single_target+=/scourge_strike,if=unholy=2
actions.single_target+=/death_coil,if=runic_power>80
actions.single_target+=/festering_strike,if=talent.necrotic_plague.enabled&talent.unholy_blight.enabled&dot.necrotic_plague.remains<cooldown.unholy_blight.remains%2
actions.single_target+=/festering_strike,if=blood=2&frost=2&(((Frost-death)>0)|((Blood-death)>0))
actions.single_target+=/festering_strike,if=(blood=2|frost=2)&(((Frost-death)>0)&((Blood-death)>0))
actions.single_target+=/defile,if=blood=2|frost=2
actions.single_target+=/plague_strike,if=!disease.min_ticking&(blood=2|frost=2)
actions.single_target+=/scourge_strike,if=blood=2|frost=2
actions.single_target+=/festering_strike,if=((Blood-death)>1)
actions.single_target+=/blood_boil,if=((Blood-death)>1)
actions.single_target+=/festering_strike,if=((Frost-death)>1)
actions.single_target+=/blood_tap,if=((target.health.pct-3*(target.health.pct%target.time_to_die))<=45)&cooldown.soul_reaper.remains=0
actions.single_target+=/summon_gargoyle
actions.single_target+=/death_and_decay
actions.single_target+=/defile
actions.single_target+=/blood_tap,if=cooldown.defile.remains=0
actions.single_target+=/plague_strike,if=!disease.min_ticking
actions.single_target+=/dark_transformation
actions.single_target+=/blood_tap,if=buff.blood_charge.stack>10&(buff.sudden_doom.react|(buff.dark_transformation.down&unholy<=1))
actions.single_target+=/death_coil,if=buff.sudden_doom.react|(buff.dark_transformation.down&unholy<=1)
actions.single_target+=/scourge_strike,if=!((target.health.pct-3*(target.health.pct%target.time_to_die))<=45)|(Unholy>=2)
actions.single_target+=/blood_tap
actions.single_target+=/festering_strike,if=!((target.health.pct-3*(target.health.pct%target.time_to_die))<=45)|(((Frost-death)>0)&((Blood-death)>0))
actions.single_target+=/death_coil
actions.single_target+=/plague_leech
actions.single_target+=/scourge_strike,if=cooldown.empower_rune_weapon.remains=0
actions.single_target+=/festering_strike,if=cooldown.empower_rune_weapon.remains=0
actions.single_target+=/blood_boil,if=cooldown.empower_rune_weapon.remains=0
actions.single_target+=/icy_touch,if=cooldown.empower_rune_weapon.remains=0
actions.single_target+=/empower_rune_weapon,if=blood<1&unholy<1&frost<1

actions.bos_st=death_and_decay,if=runic_power<88
actions.bos_st+=/festering_strike,if=runic_power<77
actions.bos_st+=/scourge_strike,if=runic_power<88
actions.bos_st+=/blood_tap,if=buff.blood_charge.stack>=5
actions.bos_st+=/plague_leech
actions.bos_st+=/empower_rune_weapon
actions.bos_st+=/death_coil,if=buff.sudden_doom.react

actions.bos_aoe=death_and_decay,if=runic_power<88
actions.bos_aoe+=/blood_boil,if=runic_power<88
actions.bos_aoe+=/scourge_strike,if=runic_power<88&unholy=1
actions.bos_aoe+=/icy_touch,if=runic_power<88
actions.bos_aoe+=/blood_tap,if=buff.blood_charge.stack>=5
actions.bos_aoe+=/plague_leech
actions.bos_aoe+=/empower_rune_weapon
actions.bos_aoe+=/death_coil,if=buff.sudden_doom.react

actions.spread=blood_boil,cycle_targets=1,if=!disease.min_ticking
actions.spread+=/outbreak,if=!disease.min_ticking
actions.spread+=/plague_strike,if=!disease.min_ticking
 
Last edited:
So a straight copy paste will work without hotkey functionality then? Looking at some of the profiles and there is no spacing between anything.
Just looking to use different talents than say the DK unholy version that uses plague leach and defile and would prefer unholy blight and necrotic plague.
So looks like edit talents to the numbers you want then copy paste everything after the pre combat portion of simcraft and before gear. Should allow this to work? Sorry to ask here not like I can just try it on a target dummy at the moment :P

You can (semi) freely code in the simc expression language and stuff should work, the only thing that doesnt is i think an inversion followed by a comparision without brackets.
"!obliterate.ready_in <= 3" doesnt work, "!(obliterate.ready_in <= 3)" does though.

Most of the Profiles account for talents anyway, if theres a line that uses plague leech and you dont have the talent the line will simply not execute but the rest will still work.
For diseases you can use the disease expression, for example "disease.min_remains" returns the minimum remaining disease debuff available to your character,
automatically deciding if it should check FF/BP or just NP

One note, precombat actions will not execute during normal gameplay, i will maybe add a hotkey for that later.
 
Last edited:
Code:
deathknight="UB-BT-NP"
level=100
race=gnome
role=attack
position=back
talents=3001001
spec=unholy

# Executed every time the actor is available.

actions=auto_attack
actions+=/deaths_advance,if=movement.remains>2
actions+=/antimagic_shell,damage=100000
actions+=/blood_fury
actions+=/berserking
actions+=/arcane_torrent
actions+=/use_item,slot=trinket1
actions+=/potion,name=draenic_strength,if=buff.dark_transformation.up&target.time_to_die<=60
actions+=/run_action_list,name=aoe,if=(!talent.necrotic_plague.enabled&active_enemies>=2)|active_enemies>=4
actions+=/run_action_list,name=single_target,if=(!talent.necrotic_plague.enabled&active_enemies<2)|active_enemies<4

actions.aoe=unholy_blight
actions.aoe+=/run_action_list,name=spread,if=!dot.blood_plague.ticking|!dot.frost_fever.ticking|(!dot.necrotic_plague.ticking&talent.necrotic_plague.enabled)
actions.aoe+=/defile
actions.aoe+=/breath_of_sindragosa,if=runic_power>75
actions.aoe+=/run_action_list,name=bos_aoe,if=dot.breath_of_sindragosa.ticking
actions.aoe+=/blood_boil,if=blood=2|(frost=2&death=2)
actions.aoe+=/summon_gargoyle
actions.aoe+=/dark_transformation
actions.aoe+=/blood_tap,if=level<=90&buff.shadow_infusion.stack=5
actions.aoe+=/defile
actions.aoe+=/death_and_decay,if=unholy=1
actions.aoe+=/soul_reaper,if=target.health.pct-3*(target.health.pct%target.time_to_die)<=45
actions.aoe+=/scourge_strike,if=unholy=2
actions.aoe+=/blood_tap,if=buff.blood_charge.stack>10
actions.aoe+=/death_coil,if=runic_power>90|buff.sudden_doom.react|(buff.dark_transformation.down&unholy<=1)
actions.aoe+=/blood_boil
actions.aoe+=/icy_touch
actions.aoe+=/scourge_strike,if=unholy=1
actions.aoe+=/death_coil
actions.aoe+=/blood_tap
actions.aoe+=/plague_leech
actions.aoe+=/empower_rune_weapon

actions.single_target=plague_leech,if=(cooldown.outbreak.remains<1)&((blood<1&frost<1)|(blood<1&unholy<1)|(frost<1&unholy<1))
actions.single_target+=/plague_leech,if=((blood<1&frost<1)|(blood<1&unholy<1)|(frost<1&unholy<1))&disease.min_remains<3
actions.single_target+=/plague_leech,if=disease.min_remains<1
actions.single_target+=/outbreak,if=!disease.min_ticking
actions.single_target+=/unholy_blight,if=!talent.necrotic_plague.enabled&disease.min_remains<3
actions.single_target+=/unholy_blight,if=talent.necrotic_plague.enabled&dot.necrotic_plague.remains<1
actions.single_target+=/death_coil,if=runic_power>90
actions.single_target+=/soul_reaper,if=(target.health.pct-3*(target.health.pct%target.time_to_die))<=45
actions.single_target+=/breath_of_sindragosa,if=runic_power>75
actions.single_target+=/run_action_list,name=bos_st,if=dot.breath_of_sindragosa.ticking
actions.single_target+=/death_and_decay,if=cooldown.breath_of_sindragosa.remains<7&runic_power<88&talent.breath_of_sindragosa.enabled
actions.single_target+=/scourge_strike,if=cooldown.breath_of_sindragosa.remains<7&runic_power<88&talent.breath_of_sindragosa.enabled
actions.single_target+=/festering_strike,if=cooldown.breath_of_sindragosa.remains<7&runic_power<76&talent.breath_of_sindragosa.enabled
actions.single_target+=/blood_tap,if=((target.health.pct-3*(target.health.pct%target.time_to_die))<=45)&cooldown.soul_reaper.remains=0
actions.single_target+=/death_and_decay,if=unholy=2
actions.single_target+=/defile,if=unholy=2
actions.single_target+=/plague_strike,if=!disease.min_ticking&unholy=2
actions.single_target+=/scourge_strike,if=unholy=2
actions.single_target+=/death_coil,if=runic_power>80
actions.single_target+=/festering_strike,if=talent.necrotic_plague.enabled&talent.unholy_blight.enabled&dot.necrotic_plague.remains<cooldown.unholy_blight.remains%2
actions.single_target+=/festering_strike,if=blood=2&frost=2&(((Frost-death)>0)|((Blood-death)>0))
actions.single_target+=/festering_strike,if=(blood=2|frost=2)&(((Frost-death)>0)&((Blood-death)>0))
actions.single_target+=/defile,if=blood=2|frost=2
actions.single_target+=/plague_strike,if=!disease.min_ticking&(blood=2|frost=2)
actions.single_target+=/scourge_strike,if=blood=2|frost=2
actions.single_target+=/festering_strike,if=((Blood-death)>1)
actions.single_target+=/blood_boil,if=((Blood-death)>1)
actions.single_target+=/festering_strike,if=((Frost-death)>1)
actions.single_target+=/blood_tap,if=((target.health.pct-3*(target.health.pct%target.time_to_die))<=45)&cooldown.soul_reaper.remains=0
actions.single_target+=/summon_gargoyle
actions.single_target+=/death_and_decay
actions.single_target+=/defile
actions.single_target+=/blood_tap,if=cooldown.defile.remains=0
actions.single_target+=/plague_strike,if=!disease.min_ticking
actions.single_target+=/dark_transformation
actions.single_target+=/blood_tap,if=buff.blood_charge.stack>10&(buff.sudden_doom.react|(buff.dark_transformation.down&unholy<=1))
actions.single_target+=/death_coil,if=buff.sudden_doom.react|(buff.dark_transformation.down&unholy<=1)
actions.single_target+=/scourge_strike,if=!((target.health.pct-3*(target.health.pct%target.time_to_die))<=45)|(Unholy>=2)
actions.single_target+=/blood_tap
actions.single_target+=/festering_strike,if=!((target.health.pct-3*(target.health.pct%target.time_to_die))<=45)|(((Frost-death)>0)&((Blood-death)>0))
actions.single_target+=/death_coil
actions.single_target+=/plague_leech
actions.single_target+=/scourge_strike,if=cooldown.empower_rune_weapon.remains=0
actions.single_target+=/festering_strike,if=cooldown.empower_rune_weapon.remains=0
actions.single_target+=/blood_boil,if=cooldown.empower_rune_weapon.remains=0
actions.single_target+=/icy_touch,if=cooldown.empower_rune_weapon.remains=0
actions.single_target+=/empower_rune_weapon,if=blood<1&unholy<1&frost<1

actions.bos_st=death_and_decay,if=runic_power<88
actions.bos_st+=/festering_strike,if=runic_power<77
actions.bos_st+=/scourge_strike,if=runic_power<88
actions.bos_st+=/blood_tap,if=buff.blood_charge.stack>=5
actions.bos_st+=/plague_leech
actions.bos_st+=/empower_rune_weapon
actions.bos_st+=/death_coil,if=buff.sudden_doom.react

actions.bos_aoe=death_and_decay,if=runic_power<88
actions.bos_aoe+=/blood_boil,if=runic_power<88
actions.bos_aoe+=/scourge_strike,if=runic_power<88&unholy=1
actions.bos_aoe+=/icy_touch,if=runic_power<88
actions.bos_aoe+=/blood_tap,if=buff.blood_charge.stack>=5
actions.bos_aoe+=/plague_leech
actions.bos_aoe+=/empower_rune_weapon
actions.bos_aoe+=/death_coil,if=buff.sudden_doom.react

actions.spread=blood_boil,cycle_targets=1,if=!disease.min_ticking
actions.spread+=/outbreak,if=!disease.min_ticking
actions.spread+=/plague_strike,if=!disease.min_ticking

That looks fine, you should leave in at least the trinket equipment lines so it knows what to use though
Also, lines like "actions.single_target+=/festering_strike,if=!((target.health.pct-3*(target.health.pct%target.time_to_die))<=45)|(((Frost-death)>0)&((Blood-death)>0))"
are quite dangerous since target_time_to_die is not something i would rely on
 
when i click bot config and then profile it is blank and comes up with a error...
 
Code:
actions += UseItem(13, ret => cooldowns_enabled);
This should still pop my space 13 trinket correct?


How would we get items to work?
Code:
actions+=/use_item,name=lucky_doublesided_coin
 
1. This will never become a store routine
2. If it works like i want it to people can just write their own combat routines in the simcraft language and run it directly.
3. Its tough to get perfect since Simcrafts api is not static and some things are nigh impossible but i will try to get as close as i can

PS: The code needs some cleanup as well :p

I love you, projects like this deserve my donation $
 
Once you get this to work with a straight implementation from simcraft, I'd love to test out a bunch of other classes' rotations

But as of right now idk how to implement it lol
 
as a 655 smf warrior my single target dps is lower than tuanha. What build do you suggest as fury, I want to try out the recommended build... AOE dps as nuts though!
 
Back
Top