Register

Windwalker Ovale Script

Want to see my Rushing Jade Wind?
Site Admin
User avatar
Posts: 272
Joined: Tue Mar 16, 2010 3:05 pm

Windwalker Ovale Script

Postby Alaron » Tue Oct 09, 2012 5:27 pm

If you use Ovale, the default rotation for monks currently doesn't have brewmaster support and is a little basic for windwalkers While I don't have the time to write one myself at the moment, happily Nerien (aka jlam) has compiled an excellent BM/WW combined script. You can get it here for tweaking purposes, or it'll always be included in his Ovale addon. Click below to show.

Spoiler: show
# Nerien's monk script.
#
# Windwalker
# talents=http://us.battle.net/wow/en/tool/talent-calculator#fb!022221

Define(ascension_talent 8)
Define(blackout_kick 100784)
SpellInfo(blackout_kick chi=2)
SpellAddBuff(blackout_kick combo_breaker_bok=0 shuffle=1)
Define(breath_of_fire 115181)
SpellInfo(breath_of_fire chi=2)
Define(chi_brew 115399)
SpellInfo(chi_brew cd=90 chi=-4)
SpellInfo(chi_brew chi=-5 talent=ascension_talent)
Define(chi_brew_talent 9)
Define(chi_burst 123986)
SpellInfo(chi_burst chi=2)
Define(chi_burst_talent 6)
Define(chi_sphere 121286)
SpellInfo(chi_sphere duration=120)
Define(chi_torpedo 115008)
Define(chi_torpedo_talent 18)
Define(chi_wave 115098)
SpellInfo(chi_wave cd=8 chi=2)
Define(chi_wave_talent 4)
Define(combo_breaker_bok 116768)
SpellInfo(combo_breaker_bok duration=15)
Define(combo_breaker_tp 118864)
SpellInfo(combo_breaker_tp duration=15)
Define(dampen_harm 122278)
SpellInfo(dampen_harm cd=90 duration=45)
SpellAddBuff(dampen_harm dampen_harm=1)
Define(dampen_harm_talent 14)
Define(death_note 121125)
Define(diffuse_magic 122783)
SpellInfo(diffuse_magic cd=90 duration=6)
SpellAddBuff(diffuse_magic diffuse_magic=1)
Define(diffuse_magic_talent 15)
Define(disable 116095)
SpellInfo(disable duration=15 energy=15)
SpellAddTargetDebuff(disable disable=1)
Define(dizzying_haze 115180)
SpellInfo(dizzying_haze energy=20)
Define(dizzying_haze_aura 116330)
SpellInfo(dizzying_haze_aura duration=15)
Define(elusive_brew 128939)
SpellInfo(elusive_brew duration=30)
Define(elusive_brew_use 115308)
SpellInfo(elusive_brew_use cd=9 duration=1)
SpellAddBuff(elusive_brew_use elusive_brew=0 elusive_brew_use=1)
Define(energizing_brew 115288)
SpellInfo(energizing_brew cd=60 duration=6 tick=1)
SpellAddBuff(energizing_brew energizing_brew=1)
Define(expel_harm 115072)
SpellInfo(expel_harm cd=15 chi=-1 energy=40)
Define(fists_of_fury 113656)
SpellInfo(fists_of_fury cd=25 chi=3 duration=4 tick=1)
SpellAddBuff(fists_of_fury fists_of_fury=1)
Define(flying_serpent_kick 101545)
SpellInfo(flying_serpent_kick cd=25)
Define(fortifying_brew 115203)
SpellInfo(fortifying_brew cd=180)
Define(guard 115295)
SpellInfo(guard cd=30 chi=2 duration=30)
SpellAddBuff(guard guard=1)
Define(heavy_stagger 124273)
SpellInfo(heavy_stagger duration=10 tick=1)
Define(invoke_xuen 123904)
SpellInfo(invoke_xuen cd=180 duration=45)
Define(invoke_xuen_the_white_tiger_talent 17)
Define(jab 100780)
SpellInfo(jab chi=-1 energy=40)
Define(keg_smash 121253)
SpellInfo(keg_smash cd=8 chi=-2 energy=40)
SpellAddTargetDebuff(keg_smash dizzying_haze_aura=1 weakened_blows=1)
Define(legacy_of_the_emperor 115921)
SpellInfo(legacy_of_the_emperor energy=50)
SpellAddBuff(legacy_of_the_emperor legacy_of_the_emperor_aura=1)
Define(legacy_of_the_emperor_aura 117666)
SpellInfo(legacy_of_the_emperor_aura duration=3600)
Define(legacy_of_the_white_tiger 116781)
SpellInfo(legacy_of_the_white_tiger duration=3600)
SpellAddBuff(legacy_of_the_white_tiger legacy_of_the_white_tiger=1)
Define(light_stagger 124275)
SpellInfo(light_stagger duration=10 tick=1)
Define(moderate_stagger 124274)
SpellInfo(moderate_stagger duration=10 tick=1)
Define(paralysis 115078)
SpellInfo(paralysis cd=15 duration=30 energy=20)
SpellAddTargetDebuff(paralysis paraylsis=1)
Define(power_guard 118636)
SpellInfo(power_guard duration=30)
Define(power_strikes 121817)
Define(power_strikes_talent 7)
Define(purifying_brew 119582)
SpellInfo(purifying_brew cd=1 chi=1)
SpellAddDebuff(purifying_brew heavy_stagger=0 light_stagger=0 moderate_stagger=0)
Define(rising_sun_kick 107428)
SpellInfo(rising_sun_kick cd=8 chi=2)
SpellAddTargetDebuff(rising_sun_kick rising_sun_kick_aura=1)
Define(rising_sun_kick_aura 130320)
SpellInfo(rising_sun_kick_aura duration=15)
Define(rushing_jade_wind 116847)
SpellInfo(rushing_jade_wind cd=30 chi=2 duration=8)
SpellAddBuff(rushing_jade_wind shuffle=1)
SpellAddTargetDebuff(rushing_jade_wind rushing_jade_wind=1)
Define(rushing_jade_wind_talent 16)
Define(shuffle 115307)
SpellInfo(shuffle duration=6)
Define(spear_hand_strike 116705)
SpellInfo(spear_hand_strike cd=15 energy=30)
SpellInfo(spear_hand_strike energy=0 mastery=1)
Define(spinning_crane_kick 101546)
SpellInfo(spinning_crane_kick duration=2.25 energy=40 tick=0.75)
SpellAddBuff(spinning_crane_kick spinning_crane_kick=1)
Define(spinning_fire_blossom 115073)
SpellInfo(spinning_fire_blossom chi=1)
Define(stance_of_the_fierce_tiger 103985)
Define(stance_of_the_sturdy_ox 115069)
Define(summon_black_ox_statue 115315)
SpellInfo(summon_black_ox_statue cd=30)
Define(symbiosis_bear_hug 127361)
SpellInfo(symbiosis_bear_hug cd=60 duration=3)
SpellAddTargetDebuff(symbiosis_bear_hug symbiosis_bear_hug=1)
Define(symbiosis_survival_instincts 113306)
SpellInfo(symbiosis_survival_instincts cd=180 duration=6)
SpellAddBuff(symbiosis_survival_instincts symbiosis_survival_instincts=1)
Define(tiger_palm 100787)
SpellInfo(tiger_palm chi=1)
SpellInfo(tiger_palm chi=0 mastery=1) # with Brewmaster Training at level 34
SpellAddBuff(tiger_palm combo_break_tp=0 power_guard=1 tiger_power=1)
Define(tiger_power 125359)
SpellInfo(tiger_power duration=20)
Define(tigereye_brew 125195)
SpellInfo(tigereye_brew duration=120)
Define(tigereye_brew_use 116740)
SpellInfo(tigereye_brew_use cd=1 duration=15)
SpellAddBuff(tigereye_brew_use tigereye_brew=0 tigereye_brew_use=1)
Define(touch_of_death 115080)
SpellInfo(touch_of_death cd=90 chi=3)
Define(touch_of_karma 122470)
SpellInfo(touch_of_karma cd=90 chi=2 duration=10)
SpellAddTargetDebuff(touch_of_karma touch_of_karma=1)
Define(weakened_blows 115798)
SpellInfo(weakened_blows duration=30)
Define(zen_sphere 124081)
SpellInfo(zen_sphere chi=2 duration=16 tick=2)
Define(zen_sphere_talent 5)

# Items
Define(virmens_bite_potion 76089)
Define(virmens_bite_potion_buff 105697)
SpellInfo(virmens_bite_potion_buff duration=25)
Define(jade_serpent_potion 76093)
Define(jade_serpent_potion_buff 105702)
SpellInfo(jade_serpent_potion_buff duration=25)

# Racials
Define(arcane_torrent_chi 129597)
SpellInfo(arcane_torrent_chi cd=120 chi=1)
Define(berserking 26297)
SpellInfo(berserking cd=180 duration=10)
SpellAddBuff(berserking berserking=1)
Define(blood_fury 20572)
SpellInfo(blood_fury cd=120 duration=15)
SpellAddBuff(blood_fury blood_fury=1)
Define(quaking_palm 107079)
SpellInfo(quaking_palm cd=120 duration=4)
SpellAddTargetDebuff(quaking_palm quaking_palm=1)
Define(stoneform 20594)
SpellInfo(stoneform cd=120 duration=8)
SpellAddBuff(stoneform stoneform=1)

AddFunction UseRacialActions
{
Spell(berserking)
Spell(blood_fury)
}

AddFunction UseRacialInterruptActions
{
if TargetClassification(worldboss no)
{
Spell(arcane_torrent_chi)
if TargetInRange(quaking_palm) Spell(quaking_palm)
}
}

AddFunction UseRacialSurvivalActions
{
Spell(stoneform)
}

AddCheckBox(aoe L(AOE))
AddCheckBox(potions "Use potions" default)

# Trinket CDs
AddListItem(trinketcd0 000s "Trinket 0 CD - none" default)
AddListItem(trinketcd0 060s "Trinket 0 CD - 1 min")
AddListItem(trinketcd0 090s "Trinket 0 CD - 1 min 30s")
AddListItem(trinketcd0 120s "Trinket 0 CD - 2 min")
AddListItem(trinketcd1 000s "Trinket 1 CD - none" default)
AddListItem(trinketcd1 060s "Trinket 1 CD - 1 min")
AddListItem(trinketcd1 090s "Trinket 1 CD - 1 min 30s")
AddListItem(trinketcd1 120s "Trinket 1 CD - 2 min")

AddFunction UseItemActions
{
Item(HandsSlot usable=1)
unless List(trinketcd0 000s) Item(Trinket0Slot usable=1)
unless List(trinketcd1 000s) Item(Trinket1Slot usable=1)
}

AddCheckBox(targetdummy "Target Dummy")
AddFunction TimeUntilTargetIsDead
{
if CheckBoxOn(targetdummy) 3600
if CheckBoxOff(targetdummy) target.TimeToDie()
}

###
### Monk (all specializations)
###

AddFunction EnergyRegen
{
Energy() / TimeToMaxEnergy()
}

AddFunction Interrupt
{
if TargetInRange(spear_hand_strike) Spell(spear_hand_strike)
if TargetClassification(worldboss no) and TargetInRange(paralysis) Spell(paralysis)
UseRacialInterruptActions()
}

AddFunction NumberToMaxChi
{
if TalentPoints(ascension_talent) {5 - Chi()}
unless TalentPoints(ascension_talent) {4 - Chi()}
}

AddFunction Tier2TalentActions
{
if TalentPoints(chi_burst_talent) Spell(chi_burst)
if TalentPoints(chi_wave_talent) Spell(chi_wave)
if TalentPoints(zen_sphere_talent) and BuffExpires(zen_sphere) Spell(zen_sphere)
}

AddFunction Tier5TalentActions
{
if TalentPoints(dampen_harm_talent) Spell(dampen_harm)
if TalentPoints(diffuse_magic_talent) Spell(diffuse_magic)
}

###
### Brewmaster
###
# Single-target and AoE rotations from Alaron's 5.0 Brewmaster PvE Guide:
# http://worldofmonkcraft.com/brewmaster- ... ria-guide/

AddFunction BrewmasterOOCActions
{
if InCombat(no)
{
unless BuffPresent(str_agi_int 400 any=1) Spell(legacy_of_the_emperor)
}
}

AddFunction BrewmasterBuffActions
{
unless Stance(1) Spell(stance_of_the_sturdy_ox)
unless BuffPresent(str_agi_int any=1) Spell(legacy_of_the_emperor)
}

AddFunction BrewmasterGenerateChiActions
{
if NumberToMaxChi() >=1 and HealthPercent(less 35) Spell(expel_harm)
if NumberToMaxChi() >=2 Spell(keg_smash)
if NumberToMaxChi() >=1 and HealthPercent(less 90) Spell(expel_harm)
}

AddFunction BrewmasterMaintenanceActions
{
if Level(more 33)
{
# Brewmaster Training is automatically learned at level 34 and makes Tiger Palm cost no chi.
if BuffStacks(power_guard) <3 and BuffExpires(guard 6) Spell(tiger_palm)
if BuffPresent(power_guard) and BuffExpires(power_guard 3) Spell(tiger_palm)
if BuffPresent(tiger_power) and BuffExpires(tiger_power 3) Spell(tiger_palm)
}
}

AddFunction BrewmasterFillerActions
{
# Don't Tiger Palm before getting Brewmaster Training at level 34 since it costs Chi.
if Level(more 33) Spell(tiger_palm)
unless Level(more 33) Spell(jab)
}

# Tier 5 damage reduction cooldown
AddIcon mastery=1 help=cd size=small
{
Tier5TalentActions()
}

# Damage reduction cooldowns
AddIcon mastery=1 help=cd size=small
{
Spell(fortifying_brew)
Spell(symbiosis_survival_instincts)
UseRacialSurvivalActions()
}

# Defensive abilities
AddIcon mastery=1 help=cd
{
if DebuffPresent(moderate_stagger) or DebuffPresent(heavy_stagger) Spell(purifying_brew)
if BuffStacks(elusive_brew) >10 Spell(elusive_brew_use)
Spell(guard)
}

AddIcon mastery=1 help=main
{
BrewmasterOOCActions()
BrewmasterBuffActions()
if BuffExpires(shuffle)
{
# Try to keep Shuffle uptime at 80-90%.
Spell(blackout_kick)
}
if NumberToMaxChi() ==0 or {NumberToMaxChi() <2 and SpellCooldown(keg_smash) <1.5}
{
# Chi is capped or will cap with Keg Smash and KS coming off CD.
Tier2TalentActions()
}
BrewmasterGenerateChiActions()
if TimeToMaxEnergy() <1.2 Spell(jab)
BrewmasterMaintenanceActions()
BrewmasterFillerActions()
}

AddIcon mastery=1 help=aoe checkboxon=aoe
{
BrewmasterOOCActions()
BrewmasterBuffActions()
if BuffExpires(shuffle)
{
# Try to keep Shuffle uptime at 80-90%.
if TalentPoints(rushing_jade_wind_talent) Spell(rushing_jade_wind)
Spell(blackout_kick)
}
if NumberToMaxChi() ==0 or {NumberToMaxChi() <2 and SpellCooldown(keg_smash) <1.5}
{
# Chi is capped or will cap with Keg Smash and KS coming off CD.
Spell(breath_of_fire)
}
BrewmasterGenerateChiActions()
if TimeToMaxEnergy() <1.2 Spell(spinning_crane_kick)
BrewmasterMaintenanceActions()
BrewmasterFillerActions()
}

AddIcon mastery=1 help=cd
{
if TargetIsInterruptible() Interrupt()
if BuffPresent(death_note) Spell(touch_of_death)
if TalentPoints(invoke_xuen_the_white_tiger_talent) Spell(invoke_xuen)
}

AddIcon mastery=1 help=cd size=small
{
unless List(trinketcd0 000s) Item(Trinket0Slot usable=1)
unless List(trinketcd1 000s) Item(Trinket1Slot usable=1)
}

###
### Windwalker
###

AddFunction WindwalkerFullRotation
{
if InCombat(no)
{
#flask,type=spring_blossoms
#food,type=sea_mist_rice_noodles
#stance
#snapshot_stats
#virmens_bite_potion
if CheckBoxOn(potions) and TargetClassification(worldboss) Item(virmens_bite_potion usable=1)
}

#auto_attack
if TargetIsInterruptible() Interrupt()
#chi_sphere,if=talent.power_strikes.enabled&buff.chi_sphere.react&chi<4
#virmens_bite_potion,if=buff.bloodlust.react|target.time_to_die<=60
if CheckBoxOn(potions) and TargetClassification(worldboss) and {BuffPresent(burst_haste any=1) or TimeUntilTargetIsDead() <=60}
{
Item(virmens_bite_potion usable=1)
}
#use_item,name=red_crane_grips
UseItemActions()
#berserking
UseRacialActions()
#chi_brew,if=talent.chi_brew.enabled&chi=0
if TalentPoints(chi_brew_talent) and Chi(equal 0) Spell(chi_brew)
#rising_sun_kick,if=!target.debuff.rising_sun_kick.remains|target.debuff.rising_sun_kick.remains<=3
if TargetDebuffExpires(rising_sun_kick_aura 3) Spell(rising_sun_kick)
#tiger_palm,if=buff.tiger_power.stack<3|buff.tiger_power.remains<=3
if BuffExpires(tiger_power 3 stacks=3) Spell(tiger_palm)
#tigereye_brew_use,if=!buff.tigereye_brew_use.up&buff.tigereye_brew.react=10
if BuffExpires(tigereye_brew_use) and BuffStacks(tigereye_brew) >=10 Spell(tigereye_brew_use)
#energizing_brew,if=energy.time_to_max>5
if TimeToMaxEnergy() >5 Spell(energizing_brew)
#invoke_xuen,if=talent.invoke_xuen.enabled
if TalentPoints(invoke_xuen_the_white_tiger_talent) Spell(invoke_xuen)
#rushing_jade_wind,if=talent.rushing_jade_wind.enabled
if TalentPoints(rushing_jade_wind_talent) Spell(rushing_jade_wind)
#run_action_list,name=aoe,if=active_enemies>=5
#run_action_list,name=st,if=active_enemies<5

if CheckBoxOn(aoe)
{
#rising_sun_kick,if=chi=4
if NumberToMaxChi() ==0 Spell(rising_sun_kick)
#spinning_crane_kick
Spell(spinning_crane_kick)
}

#rising_sun_kick
Spell(rising_sun_kick)
#fists_of_fury,if=!buff.energizing_brew.up&energy.time_to_max>5&buff.tiger_power.remains>4&buff.tiger_power.stack=3
if BuffExpires(energizing_brew) and TimeToMaxEnergy() >5 and BuffPresent(tiger_power 4 stacks=3) Spell(fists_of_fury)
#blackout_kick,if=buff.combo_breaker_bok.react
if BuffPresent(combo_breaker_bok) Spell(blackout_kick)
#blackout_kick,if=chi>=3&energy.time_to_max<=2
if NumberToMaxChi() <2 and TimeToMaxEnergy() <=2 Spell(blackout_kick)
#tiger_palm,if=(buff.combo_breaker_tp.react&energy.time_to_max>=2)|(buff.combo_breaker_tp.remains<=2&buff.combo_breaker_tp.up)
if BuffPresent(combo_breaker_tp) and {TimeToMaxEnergy() >=2 or BuffExpires(combo_breaker_tp 2)} Spell(tiger_palm)
#jab,if=talent.ascension.enabled&chi<=3
if TalentPoints(ascension_talent) and NumberToMaxChi() >2 Spell(jab)
#jab,if=talent.chi_brew.enabled&chi<=2
if TalentPoints(chi_brew_talent) and Chi() <=2 Spell(jab)
#jab,if=talent.power_strikes.enabled&((chi<=2&cooldown.power_strikes.remains)|(chi<=1&!cooldown.power_strikes.remains))
if TalentPoints(power_strikes_talent) and Chi() <=2 Spell(jab)
#blackout_kick,if=((energy+(energy.regen*(cooldown.rising_sun_kick.remains)))>=40)|(chi=4&!talent.ascension.enabled)|(chi=5&talent.ascension.enabled)
if {{Energy() + EnergyRegen() * SpellCooldown(rising_sun_kick)} >=40} or NumberToMaxChi() ==0 Spell(blackout_kick)

Posts: 2
Joined: Tue Oct 09, 2012 9:36 pm

Re: Windwalker Ovale Script

Postby lanq » Tue Oct 09, 2012 9:37 pm

script and addon dont seem to be working for me while im in my WW talents...but when i switch to BM the script works? Anyone else have this problem?

Honored
Posts: 180
Joined: Tue Dec 14, 2010 5:34 pm

Re: Windwalker Ovale Script

Postby Jeshu » Wed Oct 10, 2012 2:29 pm

Ah, I hadn't finished the WW code yet. What's currently in the script is a work-in-progress, though I'll try to finish it tonight since I'm finally going to dual-spec WW on my monk. Stay tuned :-)

Posts: 1
Joined: Wed Oct 10, 2012 5:01 pm

Re: Windwalker Ovale Script

Postby liljoe » Wed Oct 10, 2012 5:06 pm

Hi,

Thanks very much for your hard work on this script. I've got a small problem with it however: often times, after a while, it'll tell me to use SCK repeatedly on only 2 mobs (for example, on the Stone Guardians). I'm probably not understanding something and would like some light shed on this issue :)

Thanks in advance!

EDIT: To be more precise, it'll tell me to use RSK on cd, and then only SCK in between.

Posts: 2
Joined: Tue Oct 09, 2012 9:36 pm

Re: Windwalker Ovale Script

Postby lanq » Wed Oct 10, 2012 9:01 pm

Jeshu wrote:Ah, I hadn't finished the WW code yet. What's currently in the script is a work-in-progress, though I'll try to finish it tonight since I'm finally going to dual-spec WW on my monk. Stay tuned :-)



cant wait!! thanks for the update wasnt sure if i was doing something wrong =P

Honored
Posts: 180
Joined: Tue Dec 14, 2010 5:34 pm

Re: Windwalker Ovale Script

Postby Jeshu » Wed Oct 10, 2012 10:22 pm

Nerien's Ovale Scripts version 2.0.7 has a usable WW monk script. It's only lightly tested, so I'll make a few adjustments over time as I get used to knowing what information I need to see as I'm DPSing. Any feedback is appreciated. I'll monitor this forum about once a day.

Posts: 2
Joined: Thu Oct 11, 2012 8:36 am

Re: Windwalker Ovale Script

Postby dgkiller » Thu Oct 11, 2012 8:48 am

Got the script, reading it looks good, gonna get to try it out tonight. Few notes :

I changed the Spell(Jab) for Texture(ability_monk_jab) so that the icon always stays the same and not getting used to the new icon for changing weapon types. Also, I think it would be better to use a >= 7 or so stack of tigereye brew if it lines up with trinket procs/racials. Dunno if there is a way of predicting the time a trinket will proc and predicting the amount of time tigereye brew takes to fully stack up to try and line them up maybe (ie. use a low stack of tigereye brew early to make sure to hit 7-10stack on the next trinket proc).

Posts: 2
Joined: Thu Oct 11, 2012 8:36 am

Re: Windwalker Ovale Script

Postby dgkiller » Thu Oct 11, 2012 8:48 pm

Also, adding a way to pool some energy/chi before poping tigereye would help (unless boss is about to die of course)(and unless proc trinkets get popped)
a checkmark option for fists of fury is nice too, since its not always optimal using it (moving) I prefer having that on some other icon personnaly

Honored
Posts: 180
Joined: Tue Dec 14, 2010 5:34 pm

Re: Windwalker Ovale Script

Postby Jeshu » Fri Oct 12, 2012 10:32 am

My scripts generally stick with the SimulationCraft profiles with just a few tweaks here and there to make them a bit more usable in actual play. If you have improvements to the action priority list, could you test them or propose them to the SimC folks?

I will incorporate the suggest for using the same texture for Jab regardless of weapon. I hadn't swapped my weapon for some time, but now that I switch back and forth between brewmaster and windwalker, it's a bit jarring to re-adapt to the Jab texture.

Honored
Posts: 180
Joined: Tue Dec 14, 2010 5:34 pm

Re: Windwalker Ovale Script

Postby Jeshu » Fri Oct 12, 2012 11:51 am

dgkiller wrote:Also, I think it would be better to use a >= 7 or so stack of tigereye brew if it lines up with trinket procs/racials. Dunno if there is a way of predicting the time a trinket will proc and predicting the amount of time tigereye brew takes to fully stack up to try and line them up maybe (ie. use a low stack of tigereye brew early to make sure to hit 7-10stack on the next trinket proc).

I did some research into this issue of optimizing TeB usage. EJ and Icy Veins both say that trying to line up TeB with trinkets or other cooldowns was DPS-neutral or a DPS-loss. The SimC monk module author is on the EJ forums, so the SimC profile mirrors the EJ discussion. I'm going to just leave things as-is with recommending TeB at 10 stacks unless testing shows otherwise.

Honored
Posts: 180
Joined: Tue Dec 14, 2010 5:34 pm

Re: Windwalker Ovale Script

Postby Jeshu » Fri Oct 12, 2012 11:55 am

dgkiller wrote:a checkmark option for fists of fury is nice too, since its not always optimal using it (moving) I prefer having that on some other icon personnaly

Right now, FoF is suggested on the short-cooldown button to the left of the main action icon. It is the lowest priority action for that icon, below both TeB and EB. The suggestions in the short-CD icon are up to you to decide whether that button is worth pressing at the time that action is suggested. The suggestions appear only when the SimC profile says that the conditions are optimal in a stand-still fight. It doesn't seem worthwhile to me to have a checkbox or to move it to another icon.

Revered
Posts: 457
Joined: Sat Jan 29, 2011 7:17 am

Re: Windwalker Ovale Script

Postby shinryu » Fri Nov 16, 2012 10:50 pm

Played with it some, seems like a nice script. Personally I'm more neurotic about having FoF pop up on the main attack button as that is the one I'm focusing on the most, otherwise I find I miss using it >.>

Maybe something to toggle off stuff like the Diffuse Magic and such, I find them distracting too floating there.

Posts: 1
Joined: Fri Nov 30, 2012 9:14 am

Re: Windwalker Ovale Script

Postby Tangculiji » Fri Nov 30, 2012 9:19 am

Thank you all for the great work! There's not a lot I can help, but I think that there is a small thing I can do for the community...
Because Tiger Palm has been changed a lot in patch 5.1, the script wasn't very useful. I came up with the incredibly dirty solution of just commenting out everything that is related to Tiger Palm, which I'd like to share with you here - hoping that someone can improve this. Using this script, Tiger Palm will not be recommended at all. Yes, that's not right, but it's just a little bit better.

Spoiler: show
Code: Select all
# Nerien's monk script based on SimulationCraft
#
# Windwalker
#    talents=http://us.battle.net/wow/en/tool/talent-calculator#fb!022221
# Tiger Palm deactivated

Define(ascension_talent 8)
Define(blackout_kick 100784)
    SpellInfo(blackout_kick chi=2)
    SpellAddBuff(blackout_kick combo_breaker_bok=0 shuffle=1)
Define(breath_of_fire 115181)
    SpellInfo(breath_of_fire chi=2)
Define(chi_brew 115399)
    SpellInfo(chi_brew cd=90 chi=-4)
    SpellInfo(chi_brew chi=-5 talent=ascension_talent)
Define(chi_brew_talent 9)
Define(chi_burst 123986)
    SpellInfo(chi_burst chi=2)
Define(chi_burst_talent 6)
Define(chi_sphere 121286)
    SpellInfo(chi_sphere duration=120)
Define(chi_torpedo 115008)
Define(chi_torpedo_talent 18)
Define(chi_wave 115098)
    SpellInfo(chi_wave cd=8 chi=2)
Define(chi_wave_talent 4)
Define(combo_breaker_bok 116768)
    SpellInfo(combo_breaker_bok duration=15)
Define(combo_breaker_tp 118864)
    SpellInfo(combo_breaker_tp duration=15)
#Define(crackling_jade_lightning 117952)
#    SpellAddBuff(crackling_jade_lightning power_strikes=0)
Define(dampen_harm 122278)
    SpellInfo(dampen_harm cd=90 duration=45)
    SpellAddBuff(dampen_harm dampen_harm=1)
Define(dampen_harm_talent 14)
Define(death_note 121125)
Define(diffuse_magic 122783)
    SpellInfo(diffuse_magic cd=90 duration=6)
    SpellAddBuff(diffuse_magic diffuse_magic=1)
Define(diffuse_magic_talent 15)
Define(disable 116095)
    SpellInfo(disable duration=15 energy=15)
    SpellAddTargetDebuff(disable disable=1)
Define(dizzying_haze 115180)
    SpellInfo(dizzying_haze energy=20)
Define(dizzying_haze_aura 116330)
    SpellInfo(dizzying_haze_aura duration=15)
Define(elusive_brew 128939)
    SpellInfo(elusive_brew duration=30)
Define(elusive_brew_use 115308)
    SpellInfo(elusive_brew_use cd=9 duration=1)
    SpellAddBuff(elusive_brew_use elusive_brew=0 elusive_brew_use=1)
Define(energizing_brew 115288)
    SpellInfo(energizing_brew cd=60 duration=6 tick=1)
    SpellAddBuff(energizing_brew energizing_brew=1)
Define(expel_harm 115072)
    SpellInfo(expel_harm cd=15 chi=-1 energy=40)
    SpellInfo(expel_harm chi=-2 if_stance=1 mastery=3)
    SpellInfo(expel_harm chi=-2 if_stance=2)
Define(fists_of_fury 113656)
    SpellInfo(fists_of_fury canStopChannelling=4 cd=25 chi=3 tick=1)
    SpellAddBuff(fists_of_fury fists_of_fury=1)
Define(flying_serpent_kick 101545)
    SpellInfo(flying_serpent_kick cd=25)
Define(fortifying_brew 115203)
    SpellInfo(fortifying_brew cd=180)
Define(glyph_of_guard 123401)
Define(glyph_of_retreat 124969)
Define(guard 115295)
    SpellInfo(guard cd=30 chi=2 duration=30)
    SpellAddBuff(guard guard=1 power_guard=0)
Define(guard_glyphed 123402)
    SpellInfo(guard_glyphed cd=30 chi=2 duration=30)
    SpellAddBuff(guard_glyphed guard_glyphed=1 power_guard=0)
Define(heavy_stagger 124273)
    SpellInfo(heavy_stagger duration=10 tick=1)
Define(invoke_xuen 123904)
    SpellInfo(invoke_xuen cd=180 duration=45)
Define(invoke_xuen_the_white_tiger_talent 17)
Define(jab 100780)
    SpellInfo(jab chi=-1 energy=40)
    SpellInfo(jab chi=-2 if_stance=1 mastery=3)
    SpellInfo(jab chi=-2 if_stance=2)
    SpellAddBuff(jab power_strikes=0)
Define(keg_smash 121253)
    SpellInfo(keg_smash cd=8 chi=-2 energy=40)
    SpellAddTargetDebuff(keg_smash dizzying_haze_aura=1 weakened_blows=1)
Define(legacy_of_the_emperor 115921)
    SpellInfo(legacy_of_the_emperor energy=20)
    SpellAddBuff(legacy_of_the_emperor legacy_of_the_emperor_aura=1)
Define(legacy_of_the_emperor_aura 117666)
    SpellInfo(legacy_of_the_emperor_aura duration=3600)
Define(legacy_of_the_white_tiger 116781)
    SpellInfo(legacy_of_the_white_tiger duration=3600 energy=20)
    SpellAddBuff(legacy_of_the_white_tiger legacy_of_the_white_tiger=1)
Define(light_stagger 124275)
    SpellInfo(light_stagger duration=10 tick=1)
Define(moderate_stagger 124274)
    SpellInfo(moderate_stagger duration=10 tick=1)
Define(paralysis 115078)
    SpellInfo(paralysis cd=15 duration=30 energy=20)
    SpellAddTargetDebuff(paralysis paraylsis=1)
Define(power_guard 118636)
    SpellInfo(power_guard duration=30)
Define(power_strikes 129914)
    SpellInfo(power_strikes duration=3600)
Define(power_strikes_talent 7)
Define(purifying_brew 119582)
    SpellInfo(purifying_brew cd=1 chi=1)
    SpellAddDebuff(purifying_brew heavy_stagger=0 light_stagger=0 moderate_stagger=0)
Define(retreat 124968)
    SpellInfo(retreat duration=10)
Define(rising_sun_kick 107428)
    SpellInfo(rising_sun_kick cd=8 chi=2)
    SpellAddTargetDebuff(rising_sun_kick rising_sun_kick_aura=1)
Define(rising_sun_kick_aura 130320)
    SpellInfo(rising_sun_kick_aura duration=15)
Define(rushing_jade_wind 116847)
    SpellInfo(rushing_jade_wind cd=30 chi=2 duration=8)
    SpellAddBuff(rushing_jade_wind shuffle=1)
    SpellAddTargetDebuff(rushing_jade_wind rushing_jade_wind=1)
Define(rushing_jade_wind_talent 16)
Define(sanctuary_of_the_ox 126119)
Define(shuffle 115307)
    SpellInfo(shuffle duration=6)
Define(spear_hand_strike 116705)
    SpellInfo(spear_hand_strike cd=15 energy=10)
    SpellInfo(spear_hand_strike energy=0 mastery=1)
Define(spinning_crane_kick 101546)
    SpellInfo(spinning_crane_kick duration=2.25 energy=40 tick=0.75)
    SpellAddBuff(spinning_crane_kick spinning_crane_kick=1)
Define(spinning_fire_blossom 115073)
    SpellInfo(spinning_fire_blossom chi=1)
Define(stance_of_the_fierce_tiger 103985)
Define(stance_of_the_sturdy_ox 115069)
Define(summon_black_ox_statue 115315)
    SpellInfo(summon_black_ox_statue cd=30)
Define(symbiosis_bear_hug 127361)
    SpellInfo(symbiosis_bear_hug cd=60 duration=3)
    SpellAddTargetDebuff(symbiosis_bear_hug symbiosis_bear_hug=1)
Define(symbiosis_survival_instincts 113306)
    SpellInfo(symbiosis_survival_instincts cd=180 duration=6)
    SpellAddBuff(symbiosis_survival_instincts symbiosis_survival_instincts=1)
Define(tiger_palm 100787)
    SpellInfo(tiger_palm chi=1)
    SpellInfo(tiger_palm chi=0 mastery=1) # with Brewmaster Training at level 34
    SpellAddBuff(tiger_palm combo_break_tp=0 power_guard=1 tiger_power=1)
Define(tiger_power 125359)
    SpellInfo(tiger_power duration=20)
Define(tigereye_brew 125195)
    SpellInfo(tigereye_brew duration=120)
Define(tigereye_brew_use 116740)
    SpellInfo(tigereye_brew_use cd=1 duration=15)
    SpellAddBuff(tigereye_brew_use tigereye_brew=0 tigereye_brew_use=1)
Define(touch_of_death 115080)
    SpellInfo(touch_of_death cd=90 chi=3)
Define(touch_of_karma 122470)
    SpellInfo(touch_of_karma cd=90 chi=2 duration=10)
    SpellAddTargetDebuff(touch_of_karma touch_of_karma=1)
Define(weakened_blows 115798)
    SpellInfo(weakened_blows duration=30)
Define(zen_sphere 124081)
    SpellInfo(zen_sphere chi=2 duration=16 tick=2)
Define(zen_sphere_talent 5)

# Items
Define(virmens_bite_potion 76089)
Define(virmens_bite_potion_buff 105697)
    SpellInfo(virmens_bite_potion_buff duration=25)
Define(jade_serpent_potion 76093)
Define(jade_serpent_potion_buff 105702)
    SpellInfo(jade_serpent_potion_buff duration=25)

# Racials
Define(arcane_torrent_chi 129597)
    SpellInfo(arcane_torrent_chi cd=120 chi=1)
Define(berserking 26297)
    SpellInfo(berserking cd=180 duration=10)
    SpellAddBuff(berserking berserking=1)
Define(blood_fury 20572)
    SpellInfo(blood_fury cd=120 duration=15)
    SpellAddBuff(blood_fury blood_fury=1)
Define(quaking_palm 107079)
    SpellInfo(quaking_palm cd=120 duration=4)
    SpellAddTargetDebuff(quaking_palm quaking_palm=1)
Define(stoneform 20594)
    SpellInfo(stoneform cd=120 duration=8)
    SpellAddBuff(stoneform stoneform=1)

AddFunction UseRacialActions
{
    Spell(berserking)
    Spell(blood_fury)
}

AddFunction UseRacialInterruptActions
{
    if TargetClassification(worldboss no)
    {
        Spell(arcane_torrent_chi)
        if TargetInRange(quaking_palm) Spell(quaking_palm)
    }
}

AddFunction UseRacialSurvivalActions
{
    Spell(stoneform)
}

AddCheckBox(aoe L(AOE))
AddCheckBox(potions "Use potions" default)

# Trinket CDs
AddListItem(trinketcd0 000s "Trinket 0 CD - none" default)
AddListItem(trinketcd0 060s "Trinket 0 CD - 1 min")
AddListItem(trinketcd0 090s "Trinket 0 CD - 1 min 30s")
AddListItem(trinketcd0 120s "Trinket 0 CD - 2 min")
AddListItem(trinketcd1 000s "Trinket 1 CD - none" default)
AddListItem(trinketcd1 060s "Trinket 1 CD - 1 min")
AddListItem(trinketcd1 090s "Trinket 1 CD - 1 min 30s")
AddListItem(trinketcd1 120s "Trinket 1 CD - 2 min")

AddFunction UseItemActions
{
    Item(HandsSlot usable=1)
    unless List(trinketcd0 000s) Item(Trinket0Slot usable=1)
    unless List(trinketcd1 000s) Item(Trinket1Slot usable=1)
}

###
### Monk (all specializations)
###

AddFunction Interrupt
{
    if TargetInRange(spear_hand_strike) Spell(spear_hand_strike)
    if TargetClassification(worldboss no) and TargetInRange(paralysis) Spell(paralysis)
    UseRacialInterruptActions()
}

AddFunction Jab
{
    # Always display the "fist" jab texture when suggesting Jab.
    if Spell(jab) Texture(ability_monk_jab)
}

AddFunction NumberToMaxChi
{
    if TalentPoints(ascension_talent) {5 - Chi()}
    unless TalentPoints(ascension_talent) {4 - Chi()}
}

AddFunction Tier2TalentActions
{
    if TalentPoints(chi_burst_talent) Spell(chi_burst)
    if TalentPoints(chi_wave_talent) Spell(chi_wave)
    if TalentPoints(zen_sphere_talent) and BuffExpires(zen_sphere) Spell(zen_sphere)
}

AddFunction Tier5TalentActions
{
    if TalentPoints(dampen_harm_talent) Spell(dampen_harm)
    if TalentPoints(diffuse_magic_talent) Spell(diffuse_magic)
}

###
### Brewmaster
###
# Single-target and AoE rotations from Alaron's 5.0 Brewmaster PvE Guide:
#    http://worldofmonkcraft.com/brewmaster-mists-of-pandaria-guide/

AddFunction BrewmasterOOCActions
{
    if InCombat(no)
    {
        # Clear Stagger debuff if there is enough Chi to do so.
        if DebuffPresent(light_stagger) or DebuffPresent(moderate_stagger) or DebuffPresent(heavy_stagger) Spell(purifying_brew)
        unless BuffPresent(str_agi_int 400 any=1) Spell(legacy_of_the_emperor)
    }
}

AddFunction BrewmasterBuffActions
{
    unless Stance(1) Spell(stance_of_the_sturdy_ox)
    unless BuffPresent(str_agi_int any=1) Spell(legacy_of_the_emperor)
}

AddFunction BrewmasterGenerateChiActions
{
    if NumberToMaxChi() >=1 and HealthPercent(less 35) Spell(expel_harm)
    if NumberToMaxChi() >=2 Spell(keg_smash)
    if NumberToMaxChi() >=1 and HealthPercent(less 90) Spell(expel_harm)
}

AddFunction BrewmasterMaintenanceActions
{
    if Level(more 33)
    {
        # Brewmaster Training is automatically learned at level 34 and makes Tiger Palm cost no chi.
        if BuffExpires(power_guard 3)
        {
           # if Glyph(glyph_of_guard) and BuffExpires(guard_glyphed 3) and SpellCooldown(guard_glyphed) <3 Spell(tiger_palm)
            # if Glyph(glyph_of_guard no) and BuffExpires(guard 3) and SpellCooldown(guard) <3 Spell(tiger_palm)
        }
       # if BuffExpires(tiger_power 3) Spell(tiger_palm)
    }
}

AddFunction BrewmasterFillerActions
{
    # Don't Tiger Palm before getting Brewmaster Training at level 34 since it costs Chi.
    #if Level(more 33) Spell(tiger_palm)
    # unless Level(more 33) Jab()
}

AddFunction StaggerDamageRemaining
{
    if DebuffPresent(light_stagger)        { TicksRemain(light_stagger)    * TickValue(light_stagger) }
    if DebuffPresent(moderate_stagger)    { TicksRemain(moderate_stagger) * TickValue(moderate_stagger) }
    if DebuffPresent(heavy_stagger)        { TicksRemain(heavy_stagger)    * TickValue(heavy_stagger) }
}

AddFunction StaggerTickDamage
{
    if DebuffPresent(light_stagger)        TickValue(light_stagger)
    if DebuffPresent(moderate_stagger)    TickValue(moderate_stagger)
    if DebuffPresent(heavy_stagger)        TickValue(heavy_stagger)
}

# Tier 5 damage reduction cooldown
AddIcon mastery=1 help=cd size=small
{
    Tier5TalentActions()
}

# Damage reduction cooldowns
AddIcon mastery=1 help=cd size=small
{
    Spell(fortifying_brew)
    Spell(symbiosis_survival_instincts)
    UseRacialSurvivalActions()
}

# Defensive abilities
AddIcon mastery=1 help=cd
{
    if BuffStacks(elusive_brew) >10 Spell(elusive_brew_use)
    if {StaggerDamageRemaining() / MaxHealth() >0.30} or {StaggerTickDamage() / Health() >0.5} Spell(purifying_brew)
    if Level(more 33) and BuffPresent(power_guard)
    {
        if Glyph(glyph_of_guard) and BuffExpires(guard_glyphed) Spell(guard_glyphed)
        if Glyph(glyph_of_guard no) and BuffExpires(guard) Spell(guard)
    }
}

AddIcon mastery=1 help=main
{
    BrewmasterOOCActions()
    BrewmasterBuffActions()
    if BuffExpires(shuffle)
    {
        # Try to keep Shuffle uptime at 80-90%.
        Spell(blackout_kick)
    }
    if NumberToMaxChi() ==0 or {NumberToMaxChi() <2    and SpellCooldown(keg_smash) <1.5}
    {
        # Chi is capped or will cap with Keg Smash and KS coming off CD.
        Tier2TalentActions()
    }
    BrewmasterGenerateChiActions()
    if TimeToMaxEnergy() <1.2 Jab()
    BrewmasterMaintenanceActions()
    BrewmasterFillerActions()
}

AddIcon mastery=1 help=aoe checkboxon=aoe
{
    BrewmasterOOCActions()
    BrewmasterBuffActions()
    if BuffExpires(shuffle)
    {
        # Try to keep Shuffle uptime at 80-90%.
        if TalentPoints(rushing_jade_wind_talent) Spell(rushing_jade_wind)
        Spell(blackout_kick)
    }
    if NumberToMaxChi() ==0 or {NumberToMaxChi() <2 and SpellCooldown(keg_smash) <1.5}
    {
        # Chi is capped or will cap with Keg Smash and KS coming off CD.
        Spell(breath_of_fire)
    }
    BrewmasterGenerateChiActions()
    if TimeToMaxEnergy() <1.2 Spell(spinning_crane_kick)
    BrewmasterMaintenanceActions()
    BrewmasterFillerActions()
}

AddIcon mastery=1 help=cd
{
    if TargetIsInterruptible() Interrupt()
    if TargetHealth(more 0) and BuffPresent(death_note) Spell(touch_of_death)
    if TalentPoints(invoke_xuen_the_white_tiger_talent) Spell(invoke_xuen)
}

AddIcon mastery=1 help=cd size=small
{
    if BuffExpires(sanctuary_of_the_ox) Spell(summon_black_ox_statue)
}

AddIcon mastery=1 help=cd size=small
{
    unless List(trinketcd0 000s) Item(Trinket0Slot usable=1)
    unless List(trinketcd1 000s) Item(Trinket1Slot usable=1)
}

###
### Windwalker
###

AddFunction WindwalkerFullRotation
{
    if InCombat(no)
    {
        #flask,type=spring_blossoms
        #food,type=sea_mist_rice_noodles
        if BuffExpires(str_agi_int 400 any=1) Spell(legacy_of_the_emperor)
        if BuffExpires(critical_strike 400 any=1) Spell(legacy_of_the_white_tiger)
        #stance
        #snapshot_stats
        #virmens_bite_potion
        if CheckBoxOn(potions) and TargetClassification(worldboss) Item(virmens_bite_potion usable=1)
    }

    #auto_attack
    if TargetHealth(more 0) and BuffPresent(death_note) Spell(touch_of_death)
    if TargetIsInterruptible() Interrupt()
    if BuffExpires(str_agi_int any=1) Spell(legacy_of_the_emperor)
    if BuffExpires(critical_strike any=1) Spell(legacy_of_the_white_tiger)
    #chi_sphere,if=talent.power_strikes.enabled&buff.chi_sphere.react&chi<4
    #virmens_bite_potion,if=buff.bloodlust.reactarget.time_to_die<=60
    if CheckBoxOn(potions) and TargetClassification(worldboss) and {BuffPresent(burst_haste any=1) or TargetTimeToDie() <=60}
    {
        Item(virmens_bite_potion usable=1)
    }
    #use_item,name=red_crane_grips
    UseItemActions()
    #berserking
    UseRacialActions()
    #chi_brew,if=talent.chi_brew.enabled&chi=0
    if TalentPoints(chi_brew_talent) and Chi() ==0 Spell(chi_brew)
    #rising_sun_kick,if=!target.debuff.rising_sun_kick.remainsarget.debuff.rising_sun_kick.remains<=3
    if TargetDebuffExpires(rising_sun_kick_aura 3) Spell(rising_sun_kick)
    #tiger_palm,if=(buff.tiger_power.stack<1&energy.time_to_max>2)|buff.tiger_power.remains<=3
    #if {BuffExpires(tiger_power) and TimeToMaxEnergy() >2} or BuffExpires(tiger_power 3) Spell(tiger_palm)
    #tigereye_brew_use,if=!buff.tigereye_brew_use.up&buff.tigereye_brew.react=10
    if BuffExpires(tigereye_brew_use) and BuffStacks(tigereye_brew) >=10 Spell(tigereye_brew_use)
    #energizing_brew,if=energy.time_to_max>5
    if InCombat() and TimeToMaxEnergy() >5 Spell(energizing_brew)
    #invoke_xuen,if=talent.invoke_xuen.enabled
    if TalentPoints(invoke_xuen_the_white_tiger_talent) Spell(invoke_xuen)
    #run_action_list,name=aoe,if=active_enemies>=5
    #run_action_list,name=st,if=active_enemies<5

    if CheckBoxOn(aoe)
    {
        #rushing_jade_wind,if=talent.rushing_jade_wind.enabled
        if TalentPoints(rushing_jade_wind_talent) Spell(rushing_jade_wind)
        #rising_sun_kick,if=chi=4
        if NumberToMaxChi() ==0 Spell(rising_sun_kick)
        #spinning_crane_kick
        Spell(spinning_crane_kick)
    }

    #rising_sun_kick
    Spell(rising_sun_kick)
    #fists_of_fury,if=!buff.energizing_brew.up&energy.time_to_max>(cast_time)&buff.tiger_power.remains>(cast_time)&buff.tiger_power.stack=1
    if BuffExpires(energizing_brew) and TimeToMaxEnergy() >timeWithHaste(4) and BuffRemains(tiger_power) >timeWithHaste(4) Spell(fists_of_fury)
    #blackout_kick,if=buff.combo_breaker_bok.react
    if BuffPresent(combo_breaker_bok) Spell(blackout_kick)
    #blackout_kick,if=(chi>=3&energy.time_to_max<=2&!talent.ascension.enabled)|(chi>=4&energy.time_to_max<=2&talent.ascension.enabled)
    if NumberToMaxChi() <=1 and TimeToMaxEnergy() <=2 Spell(blackout_kick)
    #tiger_palm,if=(buff.combo_breaker_tp.react&energy.time_to_max>=2)|(buff.combo_breaker_tp.remains=0&buff.combo_breaker_tp.react)
    #if BuffPresent(combo_breaker_tp) and {TimeToMaxEnergy() >=2 or BuffExpires(combo_breaker_tp 1)} Spell(tiger_palm)
    if NumberToMaxChi() >=1 and HealthPercent(less 90) Spell(expel_harm)
    #jab,if=talent.ascension.enabled&chi<=3
    #jab,if=!talent.ascension.enabled&chi<=2
    if NumberToMaxChi() >=2 Jab()
    #blackout_kick,if=((energy+(energy.regen*(cooldown.rising_sun_kick.remains)))>=40)|\
    #    (chi=4&!talent.ascension.enabled)|(chi=5&talent.ascension.enabled)
    if {{Energy() + EnergyRegen() * SpellCooldown(rising_sun_kick)} >=40} or NumberToMaxChi() ==0 Spell(blackout_kick)
}

AddFunction WindwalkerMaintenanceActions
{
    if InCombat(no)
    {
        #flask,type=spring_blossoms
        #food,type=sea_mist_rice_noodles
        if BuffExpires(str_agi_int 400 any=1) Spell(legacy_of_the_emperor)
        if BuffExpires(critical_strike 400 any=1) Spell(legacy_of_the_white_tiger)
        #stance
        #snapshot_stats
    }

    #auto_attack
    if BuffExpires(str_agi_int any=1) Spell(legacy_of_the_emperor)
    if BuffExpires(critical_strike any=1) Spell(legacy_of_the_white_tiger)
    #chi_sphere,if=talent.power_strikes.enabled&buff.chi_sphere.react&chi<4
    #rising_sun_kick,if=!target.debuff.rising_sun_kick.remainsarget.debuff.rising_sun_kick.remains<=3
    if TargetDebuffExpires(rising_sun_kick_aura 3) Spell(rising_sun_kick)
    #tiger_palm,if=(buff.tiger_power.stack<1&energy.time_to_max>2)|buff.tiger_power.remains<=3
    #if {BuffExpires(tiger_power) and TimeToMaxEnergy() >2} or BuffExpires(tiger_power 3) Spell(tiger_palm)
}

AddFunction WindwalkerMainActions
{
    #rising_sun_kick
    Spell(rising_sun_kick)
    #blackout_kick,if=buff.combo_breaker_bok.react
    if BuffPresent(combo_breaker_bok) Spell(blackout_kick)
    #blackout_kick,if=(chi>=3&energy.time_to_max<=2&!talent.ascension.enabled)|(chi>=4&energy.time_to_max<=2&talent.ascension.enabled)
    if NumberToMaxChi() <=1 and TimeToMaxEnergy() <=2 Spell(blackout_kick)
    #tiger_palm,if=(buff.combo_breaker_tp.react&energy.time_to_max>=2)|(buff.combo_breaker_tp.remains=0&buff.combo_breaker_tp.react)
#    if BuffPresent(combo_breaker_tp) and {TimeToMaxEnergy() >=2 or
#BuffExpires(combo_breaker_tp 1)} Spell(tiger_palm)
    if NumberToMaxChi() >=1 and HealthPercent(less 90) Spell(expel_harm)
    #jab,if=talent.ascension.enabled&chi<=3
    #jab,if=!talent.ascension.enabled&chi<=2
    if NumberToMaxChi() >=2 Jab()
    #blackout_kick,if=((energy+(energy.regen*(cooldown.rising_sun_kick.remains)))>=40)|\
    #    (chi=4&!talent.ascension.enabled)|(chi=5&talent.ascension.enabled)
    if {{Energy() + EnergyRegen() * SpellCooldown(rising_sun_kick)} >=40} or NumberToMaxChi() ==0 Spell(blackout_kick)
}

AddFunction WindwalkerAoEActions
{
    #rising_sun_kick,if=chi=4
    if NumberToMaxChi() ==0 Spell(rising_sun_kick)
    #rushing_jade_wind,if=talent.rushing_jade_wind.enabled
    if TalentPoints(rushing_jade_wind_talent) Spell(rushing_jade_wind)
    #spinning_crane_kick
    Spell(spinning_crane_kick)
}

AddFunction WindwalkerShortCooldownActions
{
    unless {BuffExpires(str_agi_int any=1) or BuffExpires(critical_strike any=1)}
    {
        #tigereye_brew_use,if=!buff.tigereye_brew_use.up&buff.tigereye_brew.react=10
        if BuffExpires(tigereye_brew_use) and BuffStacks(tigereye_brew) >=10 Spell(tigereye_brew_use)
        #energizing_brew,if=energy.time_to_max>5
        if InCombat() and TimeToMaxEnergy() >5 Spell(energizing_brew)

        unless {TargetDebuffExpires(rising_sun_kick_aura 3) and Spell(rising_sun_kick)}
         #   or {BuffExpires(tiger_power 3) and Spell(tiger_palm)}
            or Spell(rising_sun_kick)
        {
            #fists_of_fury,if=!buff.energizing_brew.up&energy.time_to_max>(cast_time)&buff.tiger_power.remains>(cast_time)&buff.tiger_power.stack=1
            if BuffExpires(energizing_brew) and TimeToMaxEnergy() >timeWithHaste(4) and BuffRemains(tiger_power) >timeWithHaste(4) Spell(fists_of_fury)
        }
    }
}

AddFunction WindwalkerCooldownActions
{
    if InCombat(no)
    {
        #flask,type=spring_blossoms
        #food,type=sea_mist_rice_noodles
        unless {BuffExpires(str_agi_int 400 any=1) or BuffExpires(critical_strike 400 any=1)}
        {
            #virmens_bite_potion
            if CheckBoxOn(potions) and TargetClassification(worldboss) Item(virmens_bite_potion usable=1)
        }
    }

    if TargetHealth(more 0) and BuffPresent(death_note) Spell(touch_of_death)
    if TargetIsInterruptible() Interrupt()
    unless {BuffExpires(str_agi_int any=1) or BuffExpires(critical_strike any=1)}
    {
        #virmens_bite_potion,if=buff.bloodlust.reactarget.time_to_die<=60
        if CheckBoxOn(potions) and TargetClassification(worldboss) and {BuffPresent(burst_haste any=1) or TargetTimeToDie() <=60}
        {
            Item(virmens_bite_potion usable=1)
        }
        #use_item,name=red_crane_grips
        UseItemActions()
        #berserking
        UseRacialActions()
        #chi_brew,if=talent.chi_brew.enabled&chi=0
        if TalentPoints(chi_brew_talent) and Chi() ==0 Spell(chi_brew)

        unless {TargetDebuffExpires(rising_sun_kick_aura 3) and Spell(rising_sun_kick)}
           # or {BuffExpires(tiger_power 3) and Spell(tiger_palm)}
            or {BuffExpires(tigereye_brew_use) and BuffStacks(tigereye_brew) >=10 and Spell(tigereye_brew_use)}
        {
            #invoke_xuen,if=talent.invoke_xuen.enabled
            if TalentPoints(invoke_xuen_the_white_tiger_talent) Spell(invoke_xuen)
        }
    }
}

# Tier 5 damage reduction cooldown
AddIcon mastery=3 help=cd size=small
{
    Tier5TalentActions()
}

# Tier 2 healing cooldown
AddIcon mastery=3 help=cd size=small
{
    Tier2TalentActions()
}

AddIcon mastery=3 help=cd
{
    WindwalkerShortCooldownActions()
}

AddIcon mastery=3 help=main
{
    WindwalkerMaintenanceActions()
    WindwalkerMainActions()
}

AddIcon mastery=3 help=aoe checkboxon=aoe
{
    WindwalkerMaintenanceActions()
    WindwalkerAoEActions()
}

AddIcon mastery=3 help=cd
{
    WindwalkerCooldownActions()
}

AddIcon mastery=3 help=cd size=small
{
    unless List(trinketcd0 000s) Item(Trinket0Slot usable=1)
    unless List(trinketcd1 000s) Item(Trinket1Slot usable=1)
}

Revered
Posts: 457
Joined: Sat Jan 29, 2011 7:17 am

Re: Windwalker Ovale Script

Postby shinryu » Sat Dec 01, 2012 4:02 am

Edit: Looks like the script's been updated for 5.1 as of a few hours ago, gave it a whirl on a dummy and it seems to be working fine now, no freaky Tiger Palm and it seems to more accurately want to use procs as they come up.

Honored
Posts: 180
Joined: Tue Dec 14, 2010 5:34 pm

Re: Windwalker Ovale Script

Postby Jeshu » Sat Dec 01, 2012 12:51 pm

It should also be a bit more aggressive with suggesting Fists of Fury now that it's been fixed on live to actually tick 5 times if fully channeled. I used this script in a MSV raid last night and it seemed to work fine.

I've found in actual use that the rotation is sensitive to not capping energy. It'll never suggest FoF if you'll cap energy while doing it, so if you're a bit slow in executing the main rotation, you'll probably never see FoF suggested at all.

Honored
Posts: 180
Joined: Tue Dec 14, 2010 5:34 pm

Re: Windwalker Ovale Script

Postby Jeshu » Sat Dec 01, 2012 1:02 pm

The WW script currently doesn't do the best DPS possible. I'm just tracking the SimC T14H profile action list, which there has been noise about updating on the EJ WW monk thread. Once the changes make it into SimC, I'll update the WW script in Nerien's Ovale Scripts.

Revered
Posts: 457
Joined: Sat Jan 29, 2011 7:17 am

Re: Windwalker Ovale Script

Postby shinryu » Mon Dec 31, 2012 3:44 am

So...any hope of an update yet?

Honored
Posts: 180
Joined: Tue Dec 14, 2010 5:34 pm

Re: Windwalker Ovale Script

Postby Jeshu » Tue Jan 08, 2013 1:01 pm

Nerien's Ovale Script 2.1.12 has an updated WW monk script from the latest SimC profile. The primary changes are being less aggressive in suggesting Expel Harm and being more precise on when to use Jab based on which Tier 3 talent is taken.

Revered
Posts: 457
Joined: Sat Jan 29, 2011 7:17 am

Re: Windwalker Ovale Script

Postby shinryu » Tue Jan 29, 2013 10:02 pm

Gave it a whirl, but now it seems to never want to use Expel Harm. Also has a few clunks, like wanting to cast Tiger Palm right from the getgo when you have no Chi and sporadically later on.

Return to Windwalker

Who is online

Users browsing this forum: No registered users and 1 guest