Johnny C. Lam [05-03-14 - 23:18]
diff --git a/OvaleSimulationCraft.lua b/OvaleSimulationCraft.lua
index 4563688..ca9daaf 100644
--- a/OvaleSimulationCraft.lua
+++ b/OvaleSimulationCraft.lua
@@ -255,14 +255,20 @@ do
balance = {
["dream_of_cenarius"] = "dream_of_cenarius_caster",
["force_of_nature"] = "force_of_nature_caster",
+ ["heart_of_the_wild"] = "heart_of_the_wild_caster",
["wild_mushroom"] = "wild_mushroom_caster",
},
feral = {
["berserk"] = "berserk_cat",
["dream_of_cenarius"] = "dream_of_cenarius_melee",
["force_of_nature"] = "force_of_nature_melee",
+ ["heart_of_the_wild"] = "heart_of_the_wild_melee",
["stealth"] = "prowl",
},
+ restoration = {
+ ["force_of_nature"] = "force_of_nature_heal",
+ ["heart_of_the_wild"] = "heart_of_the_wild_heal",
+ },
},
paladin = {
protection = {
diff --git a/scripts/ovale_druid.lua b/scripts/ovale_druid.lua
index f249392..6def1e2 100644
--- a/scripts/ovale_druid.lua
+++ b/scripts/ovale_druid.lua
@@ -3,7 +3,7 @@ local OvaleScripts = Ovale.OvaleScripts
do
local name = "Ovale"
- local desc = "[5.4] Ovale: Balance, Feral"
+ local desc = "[5.4] Ovale: Balance, Feral, Guardian, Restoration"
local code = [[
# Ovale druid script based on SimulationCraft.
@@ -202,7 +202,7 @@ AddIcon mastery=balance help=cd
AddIcon mastery=balance help=cd size=small checkboxon=opt_icons_right
{
- if TalentPoints(heart_of_the_wild_talent) Spell(heart_of_the_wild)
+ if TalentPoints(heart_of_the_wild_talent) Spell(heart_of_the_wild_caster)
if TalentPoints(natures_vigil_talent) Spell(natures_vigil)
}
@@ -624,7 +624,7 @@ AddIcon mastery=feral help=cd
AddIcon mastery=feral help=cd size=small checkboxon=opt_icons_right
{
- if TalentPoints(heart_of_the_wild_talent) Spell(heart_of_the_wild)
+ if TalentPoints(heart_of_the_wild_talent) Spell(heart_of_the_wild_melee)
if TalentPoints(natures_vigil_talent) Spell(natures_vigil)
}
@@ -632,6 +632,251 @@ AddIcon mastery=feral help=cd size=small checkboxon=opt_icons_right
{
UseItemActions()
}
+
+###
+### Guardian
+###
+
+AddFunction GuardianAoeActions
+{
+ # AoE rotation: Mangle > Thrash > Swipe
+ if target.DebuffRemains(thrash_bear_debuff) < 3 Spell(thrash_bear)
+ Spell(mangle_bear)
+ Spell(thrash_bear)
+ Spell(swipe_bear)
+}
+
+AddFunction GuardianMainActions
+{
+ #thrash_bear,if=debuff.weakened_blows.remains<3
+ if target.DebuffRemains(weakened_blows_debuff any=1) < 3 Spell(thrash_bear)
+ #lacerate,if=((dot.lacerate.remains<3)|(buff.lacerate.stack<3&dot.thrash_bear.remains>3))&(buff.son_of_ursoc.up|buff.berserk.up)
+ if { target.DebuffRemains(lacerate_debuff) < 3 or { target.DebuffStacks(lacerate_debuff) < 3 and target.DebuffRemains(thrash_bear_debuff) > 3 } } and { BuffPresent(son_of_ursoc_buff) or BuffPresent(berserk_bear_buff) } Spell(lacerate)
+ #faerie_fire,if=debuff.weakened_armor.stack<3
+ if target.DebuffStacks(weakened_armor_debuff any=1) < 3 FaerieFire()
+ #thrash_bear,if=dot.thrash_bear.remains<3&(buff.son_of_ursoc.up|buff.berserk.up)
+ if target.DebuffRemains(thrash_bear_debuff) < 3 and { BuffPresent(son_of_ursoc_buff) or BuffPresent(berserk_bear_buff) } Spell(thrash_bear)
+ #mangle_bear
+ #wait,sec=cooldown.mangle_bear.remains,if=cooldown.mangle_bear.remains<=0.5
+ Spell(mangle_bear wait=0.5)
+ #cenarion_ward,if=talent.cenarion_ward.enabled
+ if TalentPoints(cenarion_ward_talent) Spell(cenarion_ward)
+ if BuffPresent(dream_of_cenarius_tank_buff) Spell(healing_touch)
+ #lacerate,if=dot.lacerate.remains<3|buff.lacerate.stack<3
+ if target.DebuffRemains(lacerate_debuff) < 3 or target.DebuffStacks(lacerate_debuff) < 3 Spell(lacerate)
+ #thrash_bear,if=dot.thrash_bear.remains<2
+ if target.DebuffRemains(thrash_bear_debuff) < 2 Spell(thrash_bear)
+ #lacerate
+ Spell(lacerate)
+ #faerie_fire,if=dot.thrash_bear.remains>6
+ if target.DebuffRemains(thrash_bear_debuff) > 6 FaerieFire()
+ #thrash_bear
+ Spell(thrash_bear)
+ FaerieFire()
+}
+
+AddFunction GuardianShortCdActions
+{
+ #frenzied_regeneration,if=health.pct<100&action.savage_defense.charges=0&incoming_damage_5>0.2*health.max
+ if HealthPercent() < 100 and Charges(savage_defense) < 1 and IncomingDamage(5) > 0.2 * MaxHealth() Spell(frenzied_regeneration)
+ #frenzied_regeneration,if=health.pct<100&action.savage_defense.charges>0&incoming_damage_5>0.4*health.max
+ if HealthPercent() < 100 and Charges(savage_defense) > 0 and IncomingDamage(5) > 0.4 * MaxHealth() Spell(frenzied_regeneration)
+ #savage_defense
+ Spell(savage_defense)
+ #maul,if=buff.tooth_and_claw.react&buff.tooth_and_claw_absorb.down
+ if BuffPresent(tooth_and_claw_buff) and target.DebuffExpires(tooth_and_claw_debuff) Spell(maul)
+}
+
+AddFunction GuardianCdActions
+{
+ GuardianInterrupt()
+ if Rage() < 11 Spell(enrage)
+ if HealthPercent() < 25
+ {
+ if BuffExpires(son_of_ursoc) Spell(berserk_bear)
+ if TalentPoints(incarnation_talent) and BuffExpires(berserk_bear_buff) Spell(incarnation)
+ }
+ if BuffExpires(burst_haste any=1) Spell(berserking)
+ if BuffExpires(son_of_ursoc) Spell(berserk_bear)
+ if TalentPoints(incarnation_talent) and BuffExpires(berserk_bear) Spell(incarnation)
+}
+
+AddFunction GuardianPrecombatActions
+{
+ if BuffRemains(str_agi_int any=1) < 600 Spell(mark_of_the_wild)
+ if not Stance(druid_bear_form) Spell(bear_form)
+}
+
+### Guardian icons.
+
+AddIcon mastery=guardian help=cd size=small checkboxon=opt_icons_left
+{
+ Spell(might_of_ursoc)
+}
+
+AddIcon mastery=guardian help=cd size=small checkboxon=opt_icons_left
+{
+ Spell(barkskin)
+ if TalentPoints(force_of_nature_talent) Spell(force_of_nature_tank)
+ Spell(survival_instincts)
+}
+
+AddIcon mastery=guardian help=shortcd
+{
+ GuardianShortCdActions()
+}
+
+AddIcon mastery=guardian help=main
+{
+ if InCombat(no) GuardianPrecombatActions()
+ GuardianMainActions()
+}
+
+AddIcon mastery=guardian help=aoe checkboxon=aoe
+{
+ GuardianAoeActions()
+}
+
+AddIcon mastery=guardian help=cd
+{
+ GuardianCdActions()
+}
+
+AddIcon mastery=guardian help=cd size=small checkboxon=opt_icons_right
+{
+ #renewal,if=talent.renewal.enabled&incoming_damage_5>0.8*health.max
+ if TalentPoints(renewal_talent) and IncomingDamage(5) > 0.8 * MaxHealth() Spell(renewal)
+}
+
+AddIcon mastery=guardian help=cd size=small checkboxon=opt_icons_right
+{
+ UseItemActions()
+}
+
+###
+### Restoration
+###
+
+AddFunction Swiftmend
+{
+ if not SpellCooldown(swiftmend) > 0 Texture(inv_relics_idolofrejuvenation)
+}
+
+AddFunction RestorationMainActions
+{
+ if WildMushroomCount() < 1 Spell(wild_mushroom_heal)
+
+ # Cast instant/mana-free Healing Touch or Regrowth.
+ if BuffStacks(sage_mender_buff) == 5 Spell(healing_touch)
+ if BuffPresent(omen_of_clarity_buff)
+ {
+ if Glyph(glyph_of_regrowth) Spell(regrowth)
+ Spell(healing_touch)
+ }
+ if BuffPresent(natures_swiftness_buff) Spell(healing_touch)
+
+ # Maintain 100% uptime on Harmony mastery buff.
+ if BuffRemains(harmony_buff) < 3
+ {
+ if BuffCount(rejuvenation_buff) > 0 or BuffCount(regrowth_buff) > 0 Swiftmend()
+ Spell(nourish)
+ }
+
+ # Keep one Lifebloom stack up on the raid.
+ if not BuffCount(lifebloom_buff) > 0 Spell(lifebloom)
+
+ if BuffCount(rejuvenation_buff) > 0 or BuffCount(regrowth_buff) > 0 Swiftmend()
+ if TalentPoints(cenarion_ward_talent) Spell(cenarion_ward)
+
+ # Keep up 5 Rejuvenation HoTs on the raid.
+ if BuffCount(rejuvenation_buff) < 5 Spell(rejuvenation)
+
+ # Filler.
+ Spell(nourish)
+}
+
+AddFunction RestorationAoeActions
+{
+ if BuffPresent(tree_of_life_buff)
+ {
+ Spell(wild_growth)
+ if BuffPresent(omen_of_clarity_buff) Spell(regrowth)
+ Spell(lifebloom)
+ }
+
+ Spell(wild_growth)
+ if not Glyph(glyph_of_efflorescence) Swiftmend()
+ if BuffCount(rejuvenation_buff) >= 3 Spell(genesis)
+ Spell(rejuvenation)
+}
+
+AddFunction RestorationShortCdActions
+{
+ if BuffCount(rejuvenation_buff) >= 5 Spell(genesis)
+ if WildMushroomCount() > 0 Spell(wild_mushroom_bloom)
+}
+
+AddFunction RestorationCdActions
+{
+ Spell(natures_swiftness)
+ if TalentPoints(force_of_nature_talent) Spell(force_of_nature_heal)
+ if TalentPoints(heart_of_the_wild_talent) Spell(heart_of_the_wild_heal)
+ if TalentPoints(natures_vigil_talent) Spell(natures_vigil)
+}
+
+AddFunction RestorationPrecombatActions
+{
+ if BuffRemains(harmony_buff) < 10 Spell(nourish)
+}
+
+### Restoration icons.
+
+AddIcon mastery=restoration help=cd size=small checkboxon=opt_icons_left
+{
+ Spell(barkskin)
+ Spell(might_of_ursoc)
+ Spell(survival_instincts)
+}
+
+AddIcon mastery=restoration help=buff size=small checkboxon=opt_icons_left
+{
+ #innervate,if=mana.pct<90
+ if ManaPercent() < 90 Spell(innervate)
+ Spell(tranquility)
+ if TalentPoints(natures_vigil_talent) Spell(natures_vigil)
+}
+
+AddIcon mastery=restoration help=shortcd
+{
+ RestorationShortCdActions()
+}
+
+AddIcon mastery=restoration help=main
+{
+ if InCombat(no) RestorationPrecombatActions()
+ RestorationMainActions()
+}
+
+AddIcon mastery=restoration help=aoe checkboxon=aoe
+{
+ RestorationAoeActions()
+}
+
+AddIcon mastery=restoration help=cd
+{
+ RestorationInterrupt()
+ RestorationCdActions()
+}
+
+AddIcon mastery=restoration help=cd size=small checkboxon=opt_icons_right
+{
+ Spell(ironbark)
+}
+
+AddIcon mastery=restoration help=cd size=small checkboxon=opt_icons_right
+{
+ UseItemActions()
+}
]]
OvaleScripts:RegisterScript("DRUID", name, desc, code)
diff --git a/scripts/ovale_druid_spells.lua b/scripts/ovale_druid_spells.lua
index 8cec57d..c717772 100644
--- a/scripts/ovale_druid_spells.lua
+++ b/scripts/ovale_druid_spells.lua
@@ -10,6 +10,13 @@ do
Define(barkskin 22812)
SpellInfo(barkskin cd=60)
SpellInfo(barkskin addcd=-15 if_spell=malfurions_gift)
+Define(bear_form 5487)
+ SpellInfo(bear_form rage=-10)
+Define(berserk_bear 50334)
+ SpellInfo(berserk_bear cd=180)
+ SpellAddBuff(berserk_bear berserk_bear_buff=1)
+Define(berserk_bear_buff 50334)
+ SpellInfo(berserk_bear_buff duration=10)
Define(berserk_cat 106951)
SpellInfo(berserk_cat cd=180)
SpellAddBuff(berserk_cat berserk_cat_buff=1)
@@ -36,7 +43,11 @@ Define(dream_of_cenarius_caster_buff 145151)
SpellInfo(dream_of_cenarius_caster_buff duration=30)
Define(dream_of_cenarius_melee_buff 145152)
SpellInfo(dream_of_cenarius_melee_buff duration=30 maxstacks=2)
+Define(dream_of_cenarius_tank_buff 145162)
+ SpellInfo(dream_of_cenarius_tank_buff duration=20)
Define(dream_of_cenarius_talent 17)
+Define(enrage 5229)
+ SpellInfo(enrage cd=60 rage=-20)
Define(faerie_fire 770)
SpellInfo(faerie_fire cd=6 if_stance=druid_bear_form)
SpellInfo(faerie_fire cd=6 if_stance=druid_cat_form)
@@ -60,29 +71,72 @@ Define(ferocious_bite 22568)
SpellAddBuff(ferocious_bite omen_of_clarity_buff=0 if_spell=omen_of_clarity)
Define(force_of_nature_caster 33831)
SpellInfo(force_of_nature_caster gcd=0)
+Define(force_of_nature_heal 102693)
+ SpellInfo(force_of_nature_heal gcd=0)
Define(force_of_nature_melee 102703)
SpellInfo(force_of_nature_melee gcd=0)
Define(force_of_nature_talent 12)
+Define(force_of_nature_tank 102706)
+ SpellInfo(force_of_nature_tank gcd=0)
+Define(frenzied_regeneration 22842)
+ SpellInfo(frenzied_regeneration cd=1.5)
+ SpellInfo(frenzied_regeneration rage=finisher max_rage=60 glyph=!glyph_of_frenzied_regeneration)
+ SpellInfo(frenzied_regeneration rage=50 glyph=glyph_of_frenzied_regeneration)
+Define(genesis 145518)
+Define(glyph_of_blooming 121840)
Define(glyph_of_dash 59219)
+Define(glyph_of_efflorescence 145529)
Define(glyph_of_fae_silence 114237)
+Define(glyph_of_frenzied_regeneration 54810)
Define(glyph_of_might_of_ursoc 116238)
+Define(glyph_of_regrowth 116218)
Define(glyph_of_savagery 127540)
Define(glyph_of_skull_bash 116216)
Define(glyph_of_survival_instincts 114223)
+Define(glyph_of_wild_growth 62970)
+Define(harmony 77495)
+Define(harmony_buff 100977)
+ SpellInfo(harmony_buff duration=20)
Define(healing_touch 5185)
SpellAddBuff(healing_touch dream_of_cenarius_caster_buff=1 mastery=balance talent=dream_of_cenarius_talent)
SpellAddBuff(healing_touch dream_of_cenarius_melee_buff=2 mastery=feral talent=dream_of_cenarius_talent)
- SpellAddBuff(healing_touch predatory_swiftness_buff=0 )
-Define(heart_of_the_wild 108292)
- SpellInfo(heart_of_the_wild cd=360)
+ SpellAddBuff(healing_touch dream_of_cenarius_tank_buff=0 mastery=guardian talent=dream_of_cenarius_talent)
+ SpellAddBuff(healing_touch harmony_buff=1 if_spell=harmony)
+ SpellAddBuff(healing_touch natures_swiftness_buff=0 if_spell=natures_swiftness)
+ SpellAddBuff(healing_touch omen_of_clarity_buff=0 if_spell=omen_of_clarity)
+ SpellAddBuff(healing_touch predatory_swiftness_buff=0 if_spell=predatory_swiftness)
+ SpellAddBuff(healing_touch sage_mender_buff=0 itemset=T16_heal itemcount=2)
+ SpellAddTargetBuff(healing_touch lifebloom_buff=refresh if_spell=lifebloom)
+Define(heart_of_the_wild_caster 108291)
+ SpellInfo(heart_of_the_wild_caster cd=360)
+Define(heart_of_the_wild_heal 108294)
+ SpellInfo(heart_of_the_wild_heal cd=360)
+Define(heart_of_the_wild_melee 108292)
+ SpellInfo(heart_of_the_wild_melee cd=360)
Define(heart_of_the_wild_talent 16)
Define(hurricane 16914)
SpellInfo(hurricane channel=10 haste=spell)
Define(incarnation 106731)
SpellInfo(incarnation cd=180)
Define(incarnation_talent 11)
+Define(innervate 29166)
+ SpellInfo(innervate cd=180)
+Define(ironbark 102342)
+ SpellInfo(ironbark cd=90)
Define(king_of_the_jungle_buff 102543)
SpellInfo(king_of_the_jungle_buff duration=30)
+Define(lifebloom 33763)
+ SpellAddTargetBuff(lifebloom lifebloom_buff=1)
+Define(lacerate 33745)
+ SpellInfo(lacerate cd=3)
+ SpellAddTargetDebuff(lacerate lacerate_debuff=1)
+Define(lacerate_debuff 33745)
+ SpellInfo(lacerate_debuff duration=15 tick=3)
+Define(lifebloom 33763)
+ SpellAddTargetBuff(lifebloom lifebloom_buff=1)
+Define(lifebloom_buff 33763)
+ SpellInfo(lifebloom_buff duration=15 haste=spell tick=1 maxstacks=3)
+ SpellInfo(lifebloom_buff addduration=-5 glyph=glyph_of_blooming)
Define(lunar_eclipse_buff 48518)
Define(maim 22570)
SpellInfo(maim cd=10 combo=finisher energy=35 physical=1)
@@ -90,6 +144,9 @@ Define(maim 22570)
SpellInfo(maim buff_energy_none=omen_of_clarity_buff if_spell=omen_of_clarity)
SpellAddBuff(maim omen_of_clarity_buff=0 if_spell=omen_of_clarity)
Define(malfurions_gift 92364)
+Define(mangle_bear 33878)
+ SpellInfo(mangle_bear buffnocd=mangle_no_cooldown_buff cd=6 rage=-5)
+ SpellInfo(mangle_bear rage=-8 talent=soul_of_the_forest_talent)
Define(mangle_cat 33876)
SpellInfo(mangle_cat combo=1 energy=35 physical=1)
SpellInfo(mangle_cat critcombo=1 if_spell=primal_fury)
@@ -97,7 +154,11 @@ Define(mangle_cat 33876)
SpellInfo(mangle_cat buff_energy_none=omen_of_clarity_buff if_spell=omen_of_clarity)
SpellInfo(mangle_cat damage=FeralMangleCatDamage mastery=feral)
SpellAddBuff(mangle_cat omen_of_clarity_buff=0 if_spell=omen_of_clarity)
+SpellList(mangle_no_cooldown_buff berserk_bear_buff son_of_ursoc_buff)
Define(mark_of_the_wild 1126)
+Define(maul 6807)
+ SpellInfo(maul cd=3 rage=30)
+ SpellAddBuff(maul omen_of_clarity_buff=0 if_spell=omen_of_clarity)
Define(might_of_ursoc 106922)
SpellInfo(might_of_ursoc cd=180)
SpellInfo(might_of_ursoc addcd=120 glyph=glyph_of_might_of_ursoc)
@@ -115,12 +176,20 @@ Define(natures_grace_buff 16886)
SpellInfo(natures_grace_buff duration=15)
Define(natures_swiftness 132158)
SpellInfo(natures_swiftness cd=60)
+ SpellAddBuff(natures_swiftness natures_swiftness_buff=1)
+Define(natures_swiftness_buff 132158)
Define(natures_vigil 124974)
SpellInfo(natures_vigil cd=90)
Define(natures_vigil_talent 18)
+Define(nourish 50464)
+ SpellAddBuff(nourish harmony_buff=1 if_spell=harmony)
+ SpellAddBuff(nourish natures_swiftness_buff=0 if_spell=natures_swiftness)
+ SpellAddBuff(nourish omen_of_clarity_buff=0 if_spell=omen_of_clarity)
+ SpellAddTargetBuff(nourish lifebloom_buff=refresh if_spell=lifebloom)
Define(omen_of_clarity 16864)
Define(omen_of_clarity_buff 135700)
SpellInfo(omen_of_clarity_buff duration=15)
+Define(predatory_swiftness 16974)
Define(predatory_swiftness_buff 69369)
SpellInfo(predatory_swiftness_buff duration=8)
Define(prowl 5215)
@@ -143,6 +212,22 @@ Define(ravage 6785)
SpellInfo(ravage buff_energy_none=omen_of_clarity_buff if_spell=omen_of_clarity)
SpellInfo(ravage damage=FeralRavageDamage mastery=feral)
SpellAddBuff(ravage omen_of_clarity_buff=0 if_spell=omen_of_clarity)
+Define(rebirth 20484)
+ SpellInfo(rebirth cd=600)
+ SpellAddBuff(rebirth dream_of_cenarius_tank_buff=0 mastery=guardian talent=dream_of_cenarius_talent)
+ SpellAddBuff(rebirth predatory_swiftness_buff=0 if_spell=predatory_swiftness)
+Define(regrowth 8936)
+ SpellAddBuff(regrowth harmony_buff=1 if_spell=harmony)
+ SpellAddBuff(regrowth natures_swiftness_buff=0 if_spell=natures_swiftness)
+ SpellAddBuff(regrowth omen_of_clarity_buff=0 if_spell=omen_of_clarity)
+ SpellAddTargetBuff(regrowth regrowth_buff=1 glyph=!glyph_of_regrowth)
+ SpellAddTargetBuff(regrowth lifebloom_buff=refresh if_spell=lifebloom)
+Define(regrowth_buff 8936)
+ SpellInfo(regrowth_buff duration=6 haste=spell tick=2)
+Define(rejuvenation 774)
+ SpellAddTargetBuff(rejuvenation rejuvenation_buff=1)
+Define(rejuvenation_buff 774)
+ SpellInfo(rejuvenation_buff duration=12 haste=spell tick=3)
Define(renewal 108238)
SpellInfo(renewal cd=120)
Define(renewal_talent 5)
@@ -161,6 +246,13 @@ Define(rip_debuff 1079)
SpellDamageBuff(rip_debuff dream_of_cenarius_damage_buff=1.3)
Define(rune_of_reorigination_buff 139120)
SpellInfo(rune_of_reorigination_buff duration=10)
+Define(sage_mender_buff 144871)
+ SpellInfo(sage_mender_buff duration=60 maxstacks=5)
+Define(savage_defense 62606)
+ SpellInfo(savage_defense rage=60)
+ SpellAddBuff(savage_defense savage_defense_buff=1)
+Define(savage_defense_buff 132402)
+ SpellInfo(savage_defense_buff duration=6)
Define(savage_roar 52610)
SpellInfo(savage_roar combo=finisher energy=25 min_combo=1)
SpellInfo(savage_roar duration=12 adddurationcp=6)
@@ -185,12 +277,18 @@ Define(shred 5221)
SpellAddBuff(shred omen_of_clarity_buff=0 if_spell=omen_of_clarity)
Define(shooting_stars_buff 93400)
SpellInfo(shooting_stars_buff duration=12)
+Define(skull_bash_bear 106839)
+ SpellInfo(skull_bash_bear cd=15)
+ SpellInfo(skull_bash_bear addcd=5 glyph=glyph_of_skull_bash)
Define(skull_bash_cat 80965)
SpellInfo(skull_bash_cat cd=15)
SpellInfo(skull_bash_cat addcd=5 glyph=glyph_of_skull_bash)
Define(solar_beam 78675)
SpellInfo(solar_beam cd=60)
Define(solar_eclipse_buff 48517)
+Define(son_of_ursoc_buff 102558)
+ SpellInfo(son_of_ursoc_buff duration=30)
+Define(soul_of_the_forest_talent 10)
Define(starfall 48505)
SpellInfo(starfall cd=90)
SpellAddBuff(starfall starfall_buff=1)
@@ -210,6 +308,11 @@ Define(survival_instincts 61336)
SpellInfo(survival_instincts cd=180)
SpellInfo(survival_instincts addcd=-60 glyph=glyph_of_survival_instincts)
SpellAddBuff(survival_instincts survival_instincts=1)
+Define(swiftmend 18562)
+ SpellInfo(swiftmend cd=15)
+ SpellAddBuff(swiftmend harmony_buff=1 if_spell=harmony)
+Define(swipe_bear 779)
+ SpellInfo(swipe_bear cd=3 rage=15)
Define(swipe_cat 62078)
SpellInfo(swipe_cat combo=1 energy=45 physical=1)
SpellInfo(swipe_cat buff_energy_half=berserk_cat_buff if_stance=druid_cat_form)
@@ -218,6 +321,11 @@ Define(swipe_cat 62078)
SpellAddBuff(swipe_cat omen_of_clarity_buff=0 if_spell=omen_of_clarity)
Define(symbiosis_mirror_image 110621)
SpellInfo(symbiosis_mirror_image cd=180)
+Define(thrash_bear 77758)
+ SpellInfo(thrash_bear cd=6)
+ SpellAddTargetDebuff(thrash_bear thrash_bear_debuff=1 weakened_blows_debuff=1)
+Define(thrash_bear_debuff 77758)
+ SpellInfo(thrash_bear duration=16 tick=2)
Define(thrash_cat 106830)
SpellInfo(thrash_cat energy=50 physical=1)
SpellInfo(thrash_cat buff_energy_half=berserk_cat_buff if_stance=druid_cat_form)
@@ -232,14 +340,22 @@ Define(tigers_fury 5217)
SpellAddBuff(tigers_fury tigers_fury_buff=1)
Define(tigers_fury_buff 5217)
SpellInfo(tigers_fury duration=6)
+Define(tooth_and_claw_buff 135286)
+ SpellInfo(tooth_and_claw_buff duration=10)
+Define(tooth_and_claw_debuff 135601)
+ SpellInfo(tooth_and_claw_debuff duration=15)
Define(tranquility 740)
SpellInfo(tranquility channel=4 cd=480 haste=spell)
SpellInfo(tranquility cd=180 if_spell=malfurions_gift)
+Define(tree_of_life_buff 33891)
+ SpellInfo(tree_of_life_buff duration=30)
Define(typhoon 132469)
SpellInfo(typhoon cd=30)
Define(typhoon_talent 9)
Define(weakened_armor_debuff 113746)
SpellInfo(weakened_armor_debuff duration=30 maxstacks=3)
+Define(weakened_blows_debuff 115798)
+ SpellInfo(weakened_blows_debuff duration=30)
Define(wild_charge 102401)
SpellInfo(wild_charge cd=15)
Define(wild_charge_bear 16979)
@@ -249,10 +365,19 @@ Define(wild_charge_cat 49376)
Define(wild_charge_moonkin 102383)
SpellInfo(wild_charge_moonkin cd=15)
Define(wild_charge_talent 3)
+Define(wild_growth 48438)
+ SpellInfo(wild_growth cd=8)
+ SpellInfo(wild_growth addcd=2 glyph=glyph_of_wild_growth)
+Define(wild_growth_buff 48438)
+ SpellInfo(wild_growth_buff duration=7 haste=spell tick=1)
+Define(wild_mushroom_bloom 102791)
+ SpellInfo(wild_mushroom_bloom cd=3 sharedcd=mushroom)
Define(wild_mushroom_caster 88747)
SpellInfo(wild_mushroom_caster gcd=1)
Define(wild_mushroom_detonate 88751)
SpellInfo(wild_mushroom_detonate cd=10 gcd=0)
+Define(wild_mushroom_heal 145205)
+ SpellInfo(wild_mushroom_heal cd=3 sharedcd=mushroom)
Define(wrath 5176)
SpellInfo(wrath eclipse=-15)
@@ -356,6 +481,31 @@ AddFunction FeralThrashCatHitDamage asValue=1
{
{ 1232 + 0.191 * AttackPower() } * target.DamageMultiplier(thrash_cat) * FeralMasteryDamageMultiplier()
}
+
+AddFunction GuardianInterrupt
+{
+ if not target.IsFriend() and target.IsInterruptible()
+ {
+ if target.InRange(skull_bash_bear) Spell(skull_bash_bear)
+ if TalentPoints(typhoon_talent) and target.InRange(skull_bash_bear) Spell(typhoon)
+ if not target.Classification(worldboss) and TalentPoints(mighty_bash_talent) and target.InRange(mighty_bash)
+ {
+ Spell(mighty_bash)
+ }
+ }
+}
+
+AddFunction RestorationInterrupt
+{
+ if not target.IsFriend() and target.IsInterruptible()
+ {
+ if not target.Classification(worldboss)
+ {
+ if TalentPoints(typhoon_talent) Spell(typhoon)
+ if TalentPoints(mighty_bash_talent) and target.InRange(mighty_bash) Spell(mighty_bash)
+ }
+ }
+}
]]
OvaleScripts:RegisterScript("DRUID", name, desc, code, "include")