Guardian Druid rotation
Opened this issue ยท 1 comments
For some reason when I'm in guardian druid spec the only spells that are ever suggested are mangle, moonfire, and ironfur.
I have replied a similar forum thread before it closes.
The guardian spec is not working for now. Based on the existing script, I have worked on my script.
The script is quickly written for the following spec:
http://www.wowhead.com/talent-calc/druid/guardian/cAKz
I hope it will help.
Enjoy!
############## GUARDIAN CORE ##############
Define(swipe 213771)
Include(ovale_common)
Include(ovale_trinkets_mop)
Include(ovale_trinkets_wod)
Include(ovale_druid_spells)
AddCheckBox(opt_interrupt L(interrupt) default specialization=guardian)
AddCheckBox(opt_melee_range L(not_in_melee_range) specialization=guardian)
AddFunction GuardianUseItemActions
{
Item(Trinket0Slot usable=1)
Item(Trinket1Slot usable=1)
}
AddFunction GuardianGetInMeleeRange
{
if CheckBoxOn(opt_melee_range) and Stance(druid_bear_form) and not target.InRange(mangle) or { Stance(druid_cat_form) or Stance(druid_claws_of_shirvallah) } and not target.InRange(shred)
{
if target.InRange(wild_charge) Spell(wild_charge)
Texture(misc_arrowlup help=L(not_in_melee_range))
}
}
AddFunction GuardianInterruptActions
{
if CheckBoxOn(opt_interrupt) and not target.IsFriend() and target.IsInterruptible()
{
if target.InRange(skull_bash) Spell(skull_bash)
if not target.Classification(worldboss)
{
if target.InRange(mighty_bash) Spell(mighty_bash)
Spell(typhoon)
if target.InRange(maim) Spell(maim)
Spell(war_stomp)
}
}
}
### actions.default
AddFunction GuardianDefaultMainActions
{
#frenzied_regeneration,if=!ticking&incoming_damage_6s%health.max>0.25+(2-charges_fractional)*0.15
if not BuffPresent(frenzied_regeneration_buff) and IncomingDamage(6) / MaxHealth() > 0.25 + { 2 - Charges(frenzied_regeneration count=0) } * 0.15 Spell(frenzied_regeneration)
#pulverize,cycle_targets=1,if=buff.pulverize.down
if BuffExpires(pulverize_buff) and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) Spell(pulverize)
#mangle
Spell(mangle)
#pulverize,cycle_targets=1,if=buff.pulverize.remains<gcd
if BuffRemaining(pulverize_buff) < GCD() and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) Spell(pulverize)
#thrash_bear,if=active_enemies>=2
Spell(thrash_bear)
#pulverize,cycle_targets=1,if=buff.pulverize.remains<3.6
if BuffRemaining(pulverize_buff) < 3.6 and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) Spell(pulverize)
#thrash_bear,if=talent.pulverize.enabled&buff.pulverize.remains<3.6
if Talent(pulverize_talent) and BuffRemaining(pulverize_buff) < 3.6 Spell(thrash_bear)
#moonfire,cycle_targets=1,if=!ticking
if not target.DebuffPresent(moonfire_debuff) Spell(moonfire)
#moonfire,cycle_targets=1,if=remains<3.6
Spell(swipe)
if target.DebuffRemaining(moonfire_debuff) < 3.6 Spell(moonfire)
#moonfire,cycle_targets=1,if=remains<7.2
if target.DebuffRemaining(moonfire_debuff) < 7.2 Spell(moonfire)
#moonfire
Spell(moonfire)
}
AddFunction GuardianDefaultMainPostConditions
{
}
AddFunction GuardianDefaultShortCdActions
{
#auto_attack
GuardianGetInMeleeRange()
#ironfur,if=buff.ironfur.downage.deficit<25
if BuffExpires(ironfur_buff) or RageDeficit() < 25 Spell(ironfur)
#barkskin
Spell(barkskin)
#bristling_fur,if=buff.ironfur.remains<2&rage<40
if BuffRemaining(ironfur_buff) < 2 and Rage() < 40 Spell(bristling_fur)
unless { BuffExpires(ironfur_buff) or RageDeficit() < 25 } and Spell(ironfur) or not BuffPresent(frenzied_regeneration_buff) and IncomingDamage(6) / MaxHealth() > 0.25 + { 2 - Charges(frenzied_regeneration count=0) } * 0.15 and Spell(frenzied_regeneration) or BuffExpires(pulverize_buff) and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize) or Spell(mangle) or BuffRemaining(pulverize_buff) < GCD() and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize)
{
#lunar_beam
Spell(lunar_beam)
}
}
AddFunction GuardianDefaultShortCdPostConditions
{
{ BuffExpires(ironfur_buff) or RageDeficit() < 25 } and Spell(ironfur) or not BuffPresent(frenzied_regeneration_buff) and IncomingDamage(6) / MaxHealth() > 0.25 + { 2 - Charges(frenzied_regeneration count=0) } * 0.15 and Spell(frenzied_regeneration) or BuffExpires(pulverize_buff) and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize) or Spell(mangle) or BuffRemaining(pulverize_buff) < GCD() and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize) or Enemies() >= 2 and Spell(thrash_bear) or BuffRemaining(pulverize_buff) < 3.6 and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize) or Talent(pulverize_talent) and BuffRemaining(pulverize_buff) < 3.6 and Spell(thrash_bear) or not target.DebuffPresent(moonfire_debuff) and Spell(moonfire) or target.DebuffRemaining(moonfire_debuff) < 3.6 and Spell(moonfire) or target.DebuffRemaining(moonfire_debuff) < 7.2 and Spell(moonfire) or Spell(moonfire)
}
AddFunction GuardianDefaultCdActions
{
#skull_bash
GuardianInterruptActions()
#blood_fury
Spell(blood_fury_apsp)
#berserking
Spell(berserking)
#arcane_torrent
Spell(arcane_torrent_energy)
#use_item,slot=trinket2
GuardianUseItemActions()
unless { BuffExpires(ironfur_buff) or RageDeficit() < 25 } and Spell(ironfur) or not BuffPresent(frenzied_regeneration_buff) and IncomingDamage(6) / MaxHealth() > 0.25 + { 2 - Charges(frenzied_regeneration count=0) } * 0.15 and Spell(frenzied_regeneration) or BuffExpires(pulverize_buff) and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize) or Spell(mangle) or BuffRemaining(pulverize_buff) < GCD() and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize) or Spell(lunar_beam)
{
#incarnation
Spell(incarnation_son_of_ursoc)
}
}
AddFunction GuardianDefaultCdPostConditions
{
{ BuffExpires(ironfur_buff) or RageDeficit() < 25 } and Spell(ironfur) or not BuffPresent(frenzied_regeneration_buff) and IncomingDamage(6) / MaxHealth() > 0.25 + { 2 - Charges(frenzied_regeneration count=0) } * 0.15 and Spell(frenzied_regeneration) or BuffExpires(pulverize_buff) and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize) or Spell(mangle) or BuffRemaining(pulverize_buff) < GCD() and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize) or Spell(lunar_beam) or Enemies() >= 2 and Spell(thrash_bear) or BuffRemaining(pulverize_buff) < 3.6 and target.DebuffGain(thrash_bear_debuff) <= BaseDuration(thrash_bear_debuff) and Spell(pulverize) or Talent(pulverize_talent) and BuffRemaining(pulverize_buff) < 3.6 and Spell(thrash_bear) or not target.DebuffPresent(moonfire_debuff) and Spell(moonfire) or target.DebuffRemaining(moonfire_debuff) < 3.6 and Spell(moonfire) or target.DebuffRemaining(moonfire_debuff) < 7.2 and Spell(moonfire) or Spell(moonfire)
}
### actions.precombat
AddFunction GuardianPrecombatMainActions
{
#flask,type=flask_of_the_seventh_demon
#food,type=azshari_salad
#bear_form
Spell(bear_form)
}
AddFunction GuardianPrecombatMainPostConditions
{
}
AddFunction GuardianPrecombatShortCdActions
{
}
AddFunction GuardianPrecombatShortCdPostConditions
{
Spell(bear_form)
}
AddFunction GuardianPrecombatCdActions
{
}
AddFunction GuardianPrecombatCdPostConditions
{
Spell(bear_form)
}
### Guardian icons.
AddCheckBox(opt_druid_guardian_aoe L(AOE) default specialization=guardian)
AddIcon checkbox=!opt_druid_guardian_aoe enemies=1 help=shortcd specialization=guardian
{
if not InCombat() GuardianPrecombatShortCdActions()
unless not InCombat() and GuardianPrecombatShortCdPostConditions()
{
GuardianDefaultShortCdActions()
}
}
AddIcon checkbox=opt_druid_guardian_aoe help=shortcd specialization=guardian
{
if not InCombat() GuardianPrecombatShortCdActions()
unless not InCombat() and GuardianPrecombatShortCdPostConditions()
{
GuardianDefaultShortCdActions()
}
}
AddIcon enemies=1 help=main specialization=guardian
{
if not InCombat() GuardianPrecombatMainActions()
unless not InCombat() and GuardianPrecombatMainPostConditions()
{
GuardianDefaultMainActions()
}
}
AddIcon checkbox=opt_druid_guardian_aoe help=aoe specialization=guardian
{
if not InCombat() GuardianPrecombatMainActions()
unless not InCombat() and GuardianPrecombatMainPostConditions()
{
GuardianDefaultMainActions()
}
}
AddIcon checkbox=!opt_druid_guardian_aoe enemies=1 help=cd specialization=guardian
{
if not InCombat() GuardianPrecombatCdActions()
unless not InCombat() and GuardianPrecombatCdPostConditions()
{
GuardianDefaultCdActions()
}
}
AddIcon checkbox=opt_druid_guardian_aoe help=cd specialization=guardian
{
if not InCombat() GuardianPrecombatCdActions()
unless not InCombat() and GuardianPrecombatCdPostConditions()
{
GuardianDefaultCdActions()
}
}