What I need assistance with (if possible) is a list of PvE enrage type abilities that soothe works on, as well as if I missed any abilities that should be included (Faerie fire type abilities, or BL, etc). Also, the numbers I've used (TargetDeadIn, etc) are rough guesses, but I would like some math to make sure the right numbers are chosen. If need be, I believe I can have the script compensate for different haste levels, so if someone could assist with that, it'd be great.
Finally, I assumed it would be a dps gain to refresh your dots and the beginning and end of an eclipse (as well as a BL) due to the mechanics. This was the indication I got from Elitistjerks, but I could be mistaken.
You will need to download Ovale from Curse and replace the default script with this one. Anyways, all thoughts, critiques are welcome. Thanks!
Code: Select all
#Test Druid Script by Skarnu of Agamaggan
[[
#Balance DPS Spells
Define(INSECTSWARM 5570) #DoT
Define(MOONFIRE 8921) #Direct Damage Arcane spell with a powerful DoT component
Define(STARFIRE 2912) #Arcane DD spell
SpellInfo(STARFIRE Eclipse=20)
Define(STARSURGE 78674) #Powerful DD spell with 15 second CD
Define(SUNFIRE 93402) #Direct Damage Nature spell with a powerful DoT component
Define(WRATH 5176) #Nature DD spell
SpellInfo(WRATH Eclipse=-13)
#CD Abilities
Define(FAERIEFIRE 770) #I know this is also a utility ability, but that section was more crowded
Define(FORCEOFNATURE 33831) #Balance long cooldown ability
Define(STARFALL 48505) #Poweful Balance AoE, and Single Target CD
#Utility Abilities
Define(BARKSKIN 22812)
Define(HEALINGTOUCH 5185)
Define(SOOTHE 2908)
Define(ROOTS 339)
Define(NATURESGRASP 16689)
Define(HIBERNATE 2637)
Define(SOLARBEAM 78675)
Define(INNERVATE 29166)
#Self Buffs
Define(CLEARCASTING 16870)
Define(ECLIPSELUNAR 48518)
Define(ECLIPSESOLAR 48517)
Define(SHOOTINGSTARS 93400)
#Healing Buffs
Define(REJUVENATION 774)
Define(RENEW 139)
Define(LIFEBLOOM 33763)
#Raid Buffs
Define(BLOODLUST 2825)
Define(TIMEWARP 80353)
Define(HEROISM 32182)
Define(ANCIENTHYSTERIA 90355)
#Relevant Mob Debuffs
Define(SUNDERARMOR 58567)
Define(FF 91565)
Define(EXPOSEARMOR 8647)
AddIcon help=main mastery=1
{
#This checks to see if the player is moving and suggests on instant cast abilities.
if Speed(target=player more 0)
{
if BuffPresent(SHOOTINGSTARS)
Spell(STARSURGE)
if TargetDebuffExpires(INSECTSWARM 2 mine=1) and TargetDeadIn(more 8)
Spell(INSECTSWARM)
if BuffPresent(ECLIPSESOLAR)
Spell(SUNFIRE)
Spell(MOONFIRE)
}
#Keep our DoTs up
if TargetDebuffExpires(INSECTSWARM 2 mine=1) and TargetDeadIn(more 8)
Spell(INSECTSWARM)
if TargetDebuffExpires(MOONFIRE 2 mine=1) and TargetDebuffExpires(SUNFIRE 2 mine=1) and TargetDeadIn(more 8)
{
if BuffPresent(ECLIPSESOLAR)
Spell(SUNFIRE)
Spell(MOONFIRE)
}
#Check to see if Bloodlust (or similar) is present. If yes, we refresh or DoTs to get the benefit of the haste
if BuffPresent(BLOODLUST) or BuffPresent(TIMEWARP) or BuffPresent(HEROISM) or BuffPresent(ANCIENTHYSTERIA) and BuffGained(less 5) or BuffPresent(BLOODLUST) or BuffPresent(TIMEWARP) or BuffPresent
(HEROISM) or BuffPresent(ANCIENTHYSTERIA) and BuffExpires(less 5)
{
if TargetDebuffExpires(INSECTSWARM 12 mine=1)
Spell(INSECTSWARM)
if TargetDebuffExpires(MOONFIRE 12 mine=1) and TargetDebuffExpires(SUNFIRE 12 mine=1)
{
if BuffPresent(ECLIPSESOLAR)
Spell(SUNFIRE)
}
}
#Logic for our DoT spells upon entering an Eclipse state.
if Eclipse(more 79) and Eclipse(less 99) unless BuffPresent(ECLIPSESOLAR)
{
Spell(STARSURGE)
Spell(STARFIRE)
}
if Eclipse(equal 100) and TargetDeadIn(more 8)
{
if TargetDebuffExpires(INSECTSWARM 12 mine=1)
Spell(INSECTSWARM)
if TargetDebuffExpires(MOONFIRE 12 mine=1) and TargetDebuffExpires(SUNFIRE 12 mine=1)
Spell(SUNFIRE)
Spell(STARSURGE)
Spell(WRATH)
}
if Eclipse(less -86) and Eclipse(more -99) unless BuffPresent(ECLIPSELUNAR) and TargetDeadIn(more 8)
{
Spell(STARSURGE)
Spell(WRATH)
}
if Eclipse(equal -100) and TargetDeadIn(more 8)
{
if TargetDebuffExpires(MOONFIRE 12 mine=1) and TargetDebuffExpires(SUNFIRE 12 mine=1)
Spell(MOONFIRE)
Spell(STARSURGE)
Spell(STARFIRE)
}
#Logic for leaving an Eclipse state, refresh our DoTs to get the benefit of the increased damage
if BuffPresent(ECLIPSESOLAR) and Eclipse(less 26) and Eclipse(more 0) and TargetDeadIn(more 8)
{
if TargetDebuffExpires(INSECTSWARM 12 mine=1)
Spell(INSECTSWARM)
if TargetDebuffExpires(MOONFIRE 12 mine=1) and TargetDebuffExpires(SUNFIRE 12 mine=1)
Spell(SUNFIRE)
Spell(STARSURGE)
Spell(WRATH)
}
if BuffPresent(ECLIPSELUNAR) and Eclipse(more -40) and Eclipse(less 0) and TargetDeadIn(more 8)
{
if TargetDebuffExpires(INSECTSWARM 12 mine=1)
Spell(INSECTSWARM)
if TargetDebuffExpires(MOONFIRE 12 mine=1) and TargetDebuffExpires(SUNFIRE 12 mine=1)
Spell(MOONFIRE)
Spell(STARSURGE)
Spell(STARFIRE)
}
Spell(STARSURGE)
if BuffPresent(ECLIPSESOLAR) unless Eclipse(equal 100)
Spell(WRATH)
if BuffPresent(ECLIPSELUNAR) unless Eclipse(equal -100)
Spell(STARFIRE)
if Eclipse(equal 0) or Eclipse(less 0)
Spell(WRATH)
if Eclipse(more 0)
Spell(STARFIRE)
}
AddIcon help=CD mastery=1
{
if TargetDebuffExpires(FAERIEFIRE 2) unless TargetDebuffPresent(FF stacks=3) or TargetDebuffPresent(SUNDERARMOR stacks=3) or TargetDebuffPresent(EXPOSEARMOR)
Spell(FAERIEFIRE)
if Eclipse (more -73) and Eclipse(less 100) or BuffPresent(ECLIPSESOLAR) or BuffPresent(ECLIPSELUNAR)
Spell(STARFALL)
Spell(FORCEOFNATURE)
Item(Trinket0Slot usable=1)
Item(Trinket1Slot usable=1)
}
AddIcon help=Utility mastery=1
{
if Speed(target=player more 0)
Spell(NATURESGRASP)
if LifePercent(less 50) and LifePercent(more 31) unless BuffPresent(REJUVENATION) or BuffPresent(LIFEBLOOM) or BuffPresent(RENEW)
Spell(BARKSKIN)
if LifePercent(less 30) and LifePercent(more 16) unless BuffPresent(REJUVENATION) or BuffPresent(LIFEBLOOM) or BuffPresent(RENEW)
Spell(REJUVENATION)
if LifePercent(less 15) unless BuffPresent(REJUVENATION) or BuffPresent(LIFEBLOOM) or BuffPresent(RENEW)
Spell(HEALINGTOUCH)
if ManaPercent(less 15) unless BuffPresent(INNERVATE)
Spell(INNERVATE)
#if TargetDebuffPresent(SOMEKINDOFRAGE)
# Spell(SOOTHE)
if TargetCreatureType(Beast) or TargetCreatureType(Dragonkin) unless TargetDeadIn(less 8)
Spell(HIBERNATE)
if TargetCasting(yes) and TargetDebuffPresent(root) unless TargetDeadIn(less 8)
Spell(SOLARBEAM)
unless TargetLife(more 1000000) #NOT SURE IF THIS WILL WORK, HAVE NOT TESTED YET
Spell(ROOTS)
}
]]
Also, all credit goes to those authors whose scripts I used as examples and templates. I will give credit where credit is due in the final version... I just can't find my cheat sheet with the names right now.