From 5e05098530ab6c26914400c6d6dee743f35b9b23 Mon Sep 17 00:00:00 2001 From: "Johnny C. Lam" Date: Sat, 3 May 2014 23:18:07 +0000 Subject: [PATCH] Druid: Add Guardian and Restoration scripts. git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@1368 d5049fe3-3747-40f7-a4b5-f36d6801af5f --- OvaleSimulationCraft.lua | 6 + scripts/ovale_druid.lua | 251 +++++++++++++++++++++++++++++++++++++++- scripts/ovale_druid_spells.lua | 156 ++++++++++++++++++++++++- 3 files changed, 407 insertions(+), 6 deletions(-) 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") -- 1.7.9.5