Druid: Improve restoration druid script.
Johnny C. Lam [05-05-14 - 18:03]
Druid: Improve restoration druid script.
- Use wider windows for refreshing buffs to help with uptime.
- Remove fillers from the rotation so it's easier to see what's coming up.
- Suggest Wild Mushroom: Bloom only when the mushroom is fully charged.
- Don't show Genesis on short CD icon.
- Cast Mark of the Wild if needed.
git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@1385 d5049fe3-3747-40f7-a4b5-f36d6801af5f
diff --git a/scripts/ovale_druid.lua b/scripts/ovale_druid.lua
index 9f6480a..721b1b6 100644
--- a/scripts/ovale_druid.lua
+++ b/scripts/ovale_druid.lua
@@ -757,6 +757,9 @@ AddIcon mastery=guardian size=small checkboxon=opt_icons_right
### Restoration
###
+# Swiftmend requires either a Rejuvenation or Regrowth HoT to be on the target before
+# it is usable, but we want to show Swiftmend as usable if the cooldown is up.
+#
AddFunction Swiftmend
{
if not SpellCooldown(swiftmend) > 0 Texture(inv_relics_idolofrejuvenation)
@@ -776,23 +779,17 @@ AddFunction RestorationMainActions
if BuffPresent(natures_swiftness_buff) Spell(healing_touch)
# Maintain 100% uptime on Harmony mastery buff.
- if BuffRemains(harmony_buff) < 3
+ if BuffRemains(harmony_buff) < 6
{
if BuffCountOnAny(rejuvenation_buff) > 0 or BuffCountOnAny(regrowth_buff) > 0 Swiftmend()
Spell(nourish)
}
# Keep one Lifebloom stack up on the raid.
- if not BuffCountOnAny(lifebloom_buff) > 0 Spell(lifebloom)
+ if BuffRemainsOnAny(lifebloom_buff stacks=3) < 4 Spell(lifebloom)
- if BuffCountOnAny(rejuvenation_buff) > 0 or BuffCountOnAny(regrowth_buff) > 0 Swiftmend()
+ # Cast Cenarion Ward on cooldown, usually on the tank.
if TalentPoints(cenarion_ward_talent) Spell(cenarion_ward)
-
- # Keep up 5 Rejuvenation HoTs on the raid.
- if BuffCountOnAny(rejuvenation_buff) < 5 Spell(rejuvenation)
-
- # Filler.
- Spell(nourish)
}
AddFunction RestorationAoeActions
@@ -801,29 +798,34 @@ AddFunction RestorationAoeActions
{
Spell(wild_growth)
if BuffPresent(omen_of_clarity_heal_buff) Spell(regrowth)
- Spell(lifebloom)
}
- Spell(wild_growth)
- if not Glyph(glyph_of_efflorescence) Swiftmend()
- if BuffCountOnAny(rejuvenation_buff) >= 3 Spell(genesis)
- Spell(rejuvenation)
+ if BuffExpires(tree_of_life_buff)
+ {
+ Spell(wild_growth)
+ if not Glyph(glyph_of_efflorescence) Swiftmend()
+ if BuffCountOnAny(rejuvenation_buff) > 4 Spell(genesis)
+ }
}
AddFunction RestorationShortCdActions
{
- if BuffCountOnAny(rejuvenation_buff) >= 5 Spell(genesis)
- if WildMushroomCount() > 0 Spell(wild_mushroom_bloom)
+ if WildMushroomIsCharged() Spell(wild_mushroom_bloom)
}
AddFunction RestorationCdActions
{
- Spell(natures_swiftness)
if TalentPoints(force_of_nature_talent) Spell(force_of_nature_heal)
+ if TalentPoints(incarnation_talent) Spell(incarnation)
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(str_agi_int any=1) < 600 Spell(mark_of_the_wild)
+}
+
### Restoration icons.
AddIcon mastery=restoration size=small checkboxon=opt_icons_left
@@ -848,6 +850,7 @@ AddIcon mastery=restoration help=shortcd
AddIcon mastery=restoration help=main
{
+ if InCombat(no) RestorationPrecombatActions()
RestorationMainActions()
}
@@ -865,6 +868,7 @@ AddIcon mastery=restoration help=cd
AddIcon mastery=restoration size=small checkboxon=opt_icons_right
{
Spell(ironbark)
+ Spell(natures_swiftness)
}
AddIcon mastery=restoration size=small checkboxon=opt_icons_right