Ovale Spell Priority

Forum > General discussion

Brewmaster Monk Script

  • 5 posts
    #1 Sep 11, 2012 at 05:25 UTC - 0 likes

    So I started working on this brewmaster script in preparation for MoP's release and figured others may find it helpful. Currently it uses the default Windwalker script which may be functional or not. Brewmaster however was missing so I've started adding this. The BM script will feature 3 buttons.

    Button 1 = Single Target
    Button 2 = AOE Rotation
    Button 3 = Short Term Cooldowns

    I expect to change this quite a bit but in dungeon tests it's proven to be fairly solid. Any thoughts / comments / suggestions are welcome as always.

    #
    # Ovale Monk Optimized Script by Xillian (US-Sargeras) v5.0.5.1
    # Ovale source: http://wow.curse.com/downloads/wow-addons/details/ovale.aspx
    #
    # Currently focusing primarily on Brewmaster 
    #
    # Revision History
    # 5.0.5.1 08/30/2012 First version for patch 5.0.5b
    #
    Define(berserking 26297)
      SpellInfo(berserking duration=10 cd=180 )
      SpellAddBuff(berserking berserking=1)
    Define(blackout_kick 100784)
      SpellInfo(blackout_kick chi=2 )
    Define(chi_burst 123986)
      SpellInfo(chi_burst chi=2 )
    Define(chi_sphere 121286)
      SpellInfo(chi_sphere duration=120 )
    Define(combo_breaker_bok 116768)
      SpellInfo(combo_breaker_bok duration=15 )
      SpellAddBuff(combo_breaker_bok combo_breaker_bok=1)
    Define(combo_breaker_tp 118864)
      SpellInfo(combo_breaker_tp duration=15 )
      SpellAddBuff(combo_breaker_tp combo_breaker_tp=1)
    Define(energizing_brew 115288)
      SpellInfo(energizing_brew duration=6 cd=60 )
      SpellAddBuff(energizing_brew energizing_brew=1)
    Define(fists_of_fury 117418)
      SpellAddBuff(fists_of_fury fists_of_fury=1)
    Define(invoke_xuen 123904)
      SpellInfo(invoke_xuen duration=45 cd=180 )
    Define(jab 100780)
      SpellInfo(jab energy=40 chi=-1 )
    Define(power_strikes 121817)
    Define(rising_sun_kick 107428)
      SpellInfo(rising_sun_kick chi=2 cd=8 )
    Define(rushing_jade_wind 116847)
      SpellInfo(rushing_jade_wind duration=8 chi=2 cd=30 )
      SpellAddBuff(rushing_jade_wind rushing_jade_wind=1)
    Define(spinning_crane_kick 101546)
    Define(tiger_palm 100787)
      SpellInfo(tiger_palm chi=1 )
    Define(tiger_power 125359)
      SpellInfo(tiger_power duration=20 )
      SpellAddBuff(tiger_power tiger_power=1)
      SpellAddBuff(tiger_pam tiger_power=1)
    Define(tigereye_brew 125195)
      SpellInfo(tigereye_brew duration=120 )
      SpellAddBuff(tigereye_brew tigereye_brew=1)
    Define(tigereye_brew_use 116740)
      SpellInfo(tigereye_brew_use duration=15 cd=1 )
      SpellAddBuff(tigereye_brew_use tigereye_brew_use=1)
    Define(invoke_xuen_the_white_tiger_talent 17)
    Define(power_strikes_talent 7)
    Define(rushing_jade_wind_talent 16)
    
    # tank abilities
    Define(dizzying_haze 115180)
        SpellInfo(dizzying_haze energy=20)
    Define(dizzying_haze_debuff 116330)
    Define(weakened_blows 115798)
    Define(keg_smash 121253)
      SpellInfo(keg_smash energy=40 chi=-2)
    Define(expel_harm 115072)
      SpellInfo(expel_harm energy=40 chi=-1)
    Define(guard 115295)
    Define(elusive_brew 115308)
    Define(elusive_brew_buff 128939)
      SpellInfo(elusive_brew chi=2)
    Define(breath_of_fire 115181)
        SpellInfo(breath_of_fire chi=2)
    
    AddIcon mastery=1 help=main
    {
        if Chi() <= 2 and Energy(more 40) Spell(keg_smash)
        if Chi() <= 3 and Energy(more 40) Spell(expel_harm)
        if Chi() <= 3 and Energy(more 40) Spell(jab)
        if { Chi() >= 2 and Energy(less 40) or Chi() == 4 } Spell(blackout_kick)
        Spell(tiger_palm)
    }
    
    AddIcon mastery=1 help=aoe
    {
        if target.DebuffPresent(dizzying_haze_debuff) and Chi() >= 2
            Spell(breath_of_fire)
        if Energy(more 20) and not target.DebuffPresent(dizzying_haze_debuff)
            Spell(dizzying_haze)
        if Energy(more 40)
            Spell(spinning_crane_kick)
    }
    AddIcon mastery=1 help=defensive
    {
        if BuffPresent(elusive_brew_buff) Spell(elusive_brew)
        if Chi() >= 2 Spell(guard)
    }
    
    
    AddIcon mastery=3 help=main
    {
        if not InCombat() 
        {
            False() 
        }
        if not target.DebuffRemains(rising_sun_kick) or target.DebuffRemains(rising_sun_kick) <=3 Spell(rising_sun_kick)
        if Enemies() >5 
        {
            if TalentPoints(rushing_jade_wind_talent) Spell(rushing_jade_wind)
            if Chi() ==4 Spell(chi_burst)
        }
        
        {
            if BuffStacks(tiger_power) <3 or BuffRemains(tiger_power) <=3 or {BuffRemains(tiger_power) <=6 and SpellCooldown(fists_of_fury) <=1 } Spell(tiger_palm)
            Spell(rising_sun_kick)
            if BuffPresent(combo_breaker_bok) Spell(blackout_kick)
            if BuffPresent(combo_breaker_tp) and {Energy() <=90 or {BuffPresent(energizing_brew) and Energy() <=80 } or {BuffPresent(combo_breaker_tp) and BuffRemains(combo_breaker_tp) <=3 } } Spell(tiger_palm)
            if {Chi() <=2 and SpellCooldown(power_strikes) } or {Chi() <=1 and not SpellCooldown(power_strikes) } Spell(jab)
            if {BuffPresent(energizing_brew) and Energy() >=20 } or Energy() >=30 Spell(blackout_kick)
        }
    }
    AddIcon mastery=3 help=offgcd
    {
        if TalentPoints(power_strikes_talent) and BuffPresent(chi_sphere) and Chi() <4 Spell(chi_sphere)
        if Enemies() >5 
        {
            if not BuffPresent(tigereye_brew_use) and BuffPresent(tigereye_brew) ==10 Spell(tigereye_brew_use)
            if not BuffPresent(tigereye_brew_use) and {BuffPresent(tigereye_brew) >=7 and {SpellCooldown(energizing_brew) <=2 or BuffPresent(energizing_brew) } } Spell(tigereye_brew_use)
            if Energy() <=35 Spell(energizing_brew)
            Spell(spinning_crane_kick)
        }
        
        {
            if not BuffPresent(tigereye_brew_use) and BuffPresent(tigereye_brew) ==10 Spell(tigereye_brew_use)
            if not BuffPresent(tigereye_brew_use) and {BuffPresent(tigereye_brew) >=7 and {SpellCooldown(energizing_brew) <=2 or BuffPresent(energizing_brew) } } Spell(tigereye_brew_use)
            if not BuffPresent(tigereye_brew_use) and SpellCooldown(energizing_brew) >=45 and SpellCooldown(energizing_brew) <=48 Spell(tigereye_brew_use)
            if Energy() <=35 Spell(energizing_brew)
            if not BuffPresent(energizing_brew) and Energy() <=65 and BuffRemains(tiger_power) >=6.5 Spell(fists_of_fury)
        }
    }
    AddIcon mastery=3 help=cd
    {
        Spell(berserking)
         { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } 
        
        {
            if TalentPoints(invoke_xuen_talent) Spell(invoke_xuen)
        }
    }
    
    #2 Sep 11, 2012 at 18:32 UTC - 0 likes

    A proper Brewmaster script should also be doing the following:

    • Track Shuffle buff and prioritize Blackout Kick to refresh Shuffle.
    • Track the Stagger DoT and suggest Purifying Brew at heavy Stagger.
    #3 Sep 11, 2012 at 18:34 UTC - 0 likes

    Also, could you cite where you got the rotation from so we can check how well you've implemented the ideas?

    #4 Sep 11, 2012 at 23:52 UTC - 0 likes

    I'm totally open to this needing improvement. This was a quick script I threw together to aid me starting tanking on the beta. In fact it doesn't do things like track shuffle like you stated. I tried to model the priorities after Alaron's post on World of Monk Craft (http://worldofmonkcraft.com/brewmaster-monk-abilities-beta-edition/) and the Brewmaster guide on MMO-Champion (http://www.mmo-champion.com/threads/1101410-Monk-Brewmaster-Guide-Updated-August-27-2012).

    At present here's how it prioritizes

    Main Box

    • If Chi <= 2 and you have sufficient energy, keg smash
    • If Chi <= 2 and Energy > 40, Expel Harm
    • If Chi <= 3 and Energy > 40, Jab
    • If Chi <= 2 and Energy < 40 or Chi == 4, Blackout Kick
    • Tiger Palm as a filler

    Ideally I want to fix the following:

    • Prioritize keg smash if the Dizzying Haze debuff isn't present
    • Prioritize Blackout Kick if Stagger isn't present
    • Only Expel Harm if the player will gain health (I couldn't get MaxHealth to work properly)
    • Add a check for Stance of the Sturdy Ox

    AOE Button

    • If target has dizzying haze debuff and Chi >= 2, Breath of Fire
    • If Energy > 20 and target doesn't have dizzying haze, Dizzying Haze
    • If Energy > 40, Spinning Crane Kick

    Things to fix:

    • I'm not sure which filler to use if the above doesn't match. It seems like Tiger Palm is the best filler at this point
    • Is there a way to prioritize Spinning Crane Kick based on numbers of targets?

    Defense Button

    • If Elusiuve Brew Buff exists, Elusive Brew
    • If Chi() >= 2, Guard

    Things to fix:

    • Guard really should check for the Power Guard buff and prioritize

    I want to add a 4th button for other cooldowns, Fortifying Brew, Diffuse Magic, and Avert Harm but I'm not sure the best way to do so since they're all very situational. Any suggestions would be awesome.

    #5 Sep 12, 2012 at 12:51 UTC - 0 likes

    @XillianCB: Go

    Hey, here's a script i threw together a while back, maybe it will help.

    Define(berserking 26297)
      SpellInfo(berserking duration=10 cd=180 )
      SpellAddBuff(berserking berserking=1)
    Define(blackout_kick 100784)
      SpellInfo(blackout_kick chi=2 )
    Define(chi_burst 123986)
      SpellInfo(chi_burst chi=2 )
    Define(chi_sphere 121286)
      SpellInfo(chi_sphere duration=120 )
    Define(combo_breaker_bok 116768)
      SpellInfo(combo_breaker_bok duration=15 )
      SpellAddBuff(combo_breaker_bok combo_breaker_bok=1)
    Define(combo_breaker_tp 118864)
      SpellInfo(combo_breaker_tp duration=15 )
      SpellAddBuff(combo_breaker_tp combo_breaker_tp=1)
    Define(energizing_brew 115288)
      SpellInfo(energizing_brew duration=6 cd=60 )
      SpellAddBuff(energizing_brew energizing_brew=1)
    Define(fists_of_fury 117418)
      SpellAddBuff(fists_of_fury fists_of_fury=1)
    Define(invoke_xuen 123904)
      SpellInfo(invoke_xuen duration=45 cd=180 )
    Define(jab 100780)
      SpellInfo(jab energy=40 chi=-1 )
    Define(power_strikes 121817)
    Define(rising_sun_kick 107428)
      SpellInfo(rising_sun_kick chi=2 cd=8 )
    Define(rushing_jade_wind 116847)
      SpellInfo(rushing_jade_wind duration=8 chi=2 cd=30 )
      SpellAddBuff(rushing_jade_wind rushing_jade_wind=1)
    Define(spinning_crane_kick 117640)
    Define(spinning_crane_kick_brew 101546)
    Define(tiger_palm 100787)
      SpellInfo(tiger_palm chi=1 )
    Define(tiger_power 125359)
      SpellInfo(tiger_power duration=20 )
      SpellAddBuff(tiger_power tiger_power=1)
    Define(tigereye_brew 125195)
      SpellInfo(tigereye_brew duration=120 )
      SpellAddBuff(tigereye_brew tigereye_brew=1)
    Define(tigereye_brew_use 116740)
      SpellInfo(tigereye_brew_use duration=15 cd=1 )
      SpellAddBuff(tigereye_brew_use tigereye_brew_use=1)
    Define(keg_smash 121253)
      SpellInfo(keg_smash chi=-2 cd=8 )
    Define(guard 115295)
      SpellInfo(guard chi=2 cd=30 )
    Define(power_guard 118636)
      SpellInfo(power_guard duration=30 )
      SpellAddBuff(power_guard power_guard=1)
    Define(elusive_brew 115308)
      SpellInfo(elusive_brew cd=9 )
    Define(elusive_brew_buff 128939)
      SpellInfo(elusive_brew_buff duration=30 )
      SpellAddBuff(elusive_brew_buff elusive_brew_buff=1)
    Define(summon_black_ox_statue 115315)
      SpellInfo(summon_black_ox_statue cd=30 )
    Define(sanctuary_of_the_ox 126119)
    Define(avert_harm 115213)
      SpellInfo(avert_harm cd=360 )
    Define(fortifying_brew 115203)
      SpellInfo(fortifying_brew cd=360 )
    Define(leer_of_the_ox 115543)
      SpellInfo(leer_of_the_ox cd=20 )
    Define(shuffle 115307)
      SpellInfo(shuffle duration=6)
    Define(breath_of_fire 115181)
      SpellInfo(breath_of_fire chi=2)
    Define(expel_harm 115072)
    Define(dizzying_haze 123727)
      SpellInfo(dizzying_haze duration=15 )
    Define(weakened_blows 115798)
      SpellInfo(weakened_blows duration=30 )
    SpellAddTargetDebuff(keg_smash dizzying_haze=refresh weakened_blows=refresh)
    Define(spear_hand_strike 116705)
      SpellInfo(spear_hand_strike cd=15 )
    Define(zen_sphere 124081)
      SpellInfo(zen_sphere chi=2)
    Define(chi_wave 115098)
      SpellInfo(chi_wave chi=2 cooldown=8 )
    Define(invoke_xuen_the_white_tiger_talent 17)
    Define(zen_sphere_talent 5)
    Define(chi_wave_talent 4)
    Define(chi_burst_talent 6)
    Define(power_strikes_talent 7)
    Define(rushing_jade_wind_talent 16)
    
    AddCheckBox(aoe "AOE" mastery=1)
    AddIcon mastery=1 help=main
    {
    
        {
            if LifePercent(less 90) Spell(expel_harm usable=1)
            if {BuffStacks(power_guard) <3 and BuffRemains(guard) <6 } Spell(tiger_palm)
            if BuffRemains(guard) >6 or Chi() >=4 and BuffRemains(shuffle) <=2 and CheckBoxOn(aoe) Spell(rushing_jade_wind)
            if CheckBoxOn(aoe) and TalentPoints(rushing_jade_wind_talent) and {BuffRemains(guard) >6 or Chi() >=4 } and BuffRemains(shuffle) <=2 Spell(rushing_jade_wind)
            if {BuffRemains(guard) >6 or Chi() >=4 } and BuffRemains(shuffle) <=2 Spell(blackout_kick)
            if CheckBoxOn(aoe) and {{BuffRemains(guard) >6 and BuffRemains(shuffle) >=2 } or Chi() >=4 } Spell(breath_of_fire)
            if CheckBoxOff(aoe) and {{BuffRemains(guard) >6 and BuffRemains(shuffle) >=2 } or Chi() >=4 } and TalentPoints(zen_sphere_talent) Spell(zen_sphere)
            if CheckBoxOff(aoe) and {{BuffRemains(guard) >6 and BuffRemains(shuffle) >=2 } or Chi() >=4 } and TalentPoints(chi_wave_talent) Spell(chi_wave)
            if CheckBoxOff(aoe) and {{BuffRemains(guard) >6 and BuffRemains(shuffle) >=2 } or Chi() >=4 } and TalentPoints(chi_burst_talent) Spell(chi_burst)
        }
            Spell(keg_smash)
            if BuffStacks(tiger_power) <3 or BuffRemains(tiger_power) <10 Spell(tiger_palm)
            if CheckBoxOn(aoe) Spell(spinning_crane_kick_brew)
            Spell(jab) 
        
    }
    AddIcon mastery=1 help=offgcd
    {
           if target.IsInterruptible() Spell(spear_hand_strike)
           if BuffStacks(power_guard) >2 Spell(guard)
           if BuffStacks(elusive_brew_buff) >14 Spell(elusive_brew)
        }
    }
    AddIcon mastery=1 help=cd
    {
           if BuffPresent(sanctuary_of_the_ox) 0 Spell(summon_black_ox_statue)
        {
            if TalentPoints(invoke_xuen_talent) Spell(invoke_xuen)
        }
           if BuffPresent(sanctuary_of_the_ox) Spell(leer_of_the_ox)
    }
         { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) }
    AddIcon mastery=1 size=small
    {
        Spell(avert_harm)
    }
    AddIcon mastery=1 size=small
    {
        Spell(fortifying_brew)
    }
    
    AddIcon mastery=3 help=main
    {
        if not target.DebuffRemains(rising_sun_kick) or target.DebuffRemains(rising_sun_kick) <=3 Spell(rising_sun_kick)
        if Enemies() >5 
        {
            if TalentPoints(rushing_jade_wind_talent) Spell(rushing_jade_wind)
            if Chi() ==4 Spell(chi_burst)
        }
        
        {
            if BuffStacks(tiger_power) <3 or BuffRemains(tiger_power) <=3 Spell(tiger_palm)
            Spell(rising_sun_kick)
            if BuffPresent(combo_breaker_bok) Spell(blackout_kick)
            if {Chi() <=2 and SpellCooldown(power_strikes) } or {Chi() <=1 and not SpellCooldown(power_strikes) } Spell(jab)
            if BuffPresent(combo_breaker_tp) Spell(tiger_palm)
            Spell(blackout_kick)
        }
    }
    AddIcon mastery=3 help=offgcd
    {
        if TalentPoints(power_strikes_talent) and BuffPresent(chi_sphere) and Chi() <4 Spell(chi_sphere)
        if Enemies() >5 
        {
            if not BuffPresent(tigereye_brew_use) and BuffPresent(tigereye_brew) ==10 Spell(tigereye_brew_use)
            if not BuffPresent(tigereye_brew_use) and {BuffPresent(tigereye_brew) >=7 and {SpellCooldown(energizing_brew) <=2 or BuffPresent(energizing_brew) } } Spell(tigereye_brew_use)
            if Energy() <=35 Spell(energizing_brew)
            Spell(spinning_crane_kick)
        }
        
        {
            if not BuffPresent(tigereye_brew_use) and BuffPresent(tigereye_brew) ==10 Spell(tigereye_brew_use)
            if not BuffPresent(tigereye_brew_use) and {BuffPresent(tigereye_brew) >=7 and {SpellCooldown(energizing_brew) <=2 or BuffPresent(energizing_brew) } } Spell(tigereye_brew_use)
            if Energy() <=35 Spell(energizing_brew)
            if not BuffPresent(energizing_brew) and Energy() <=65 Spell(fists_of_fury)
        }
    }
    AddIcon mastery=3 help=cd
    {
        Spell(berserking)
         { Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } 
        
        {
            if TalentPoints(invoke_xuen_talent) Spell(invoke_xuen)
        }
    }
    
  • 5 posts

You must login to post a comment. Don't have an account? Register to get one!