From aa0ce9336bf39183468eea9a43085e4a93a7af86 Mon Sep 17 00:00:00 2001 From: Sidoine De Wispelaere Date: Fri, 15 Oct 2010 18:48:45 +0000 Subject: [PATCH] new priest script from Nicho better starsurge git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@271 d5049fe3-3747-40f7-a4b5-f36d6801af5f --- Ovale.lua | 12 ++++- defaut/Pretre.lua | 150 ++++++++++++++++++++++++++++++++++------------------- 2 files changed, 107 insertions(+), 55 deletions(-) diff --git a/Ovale.lua b/Ovale.lua index d81bc22..a9ee774 100644 --- a/Ovale.lua +++ b/Ovale.lua @@ -1101,10 +1101,18 @@ function Ovale:AddSpellToStack(spellName, startCast, endCast, nextCast, nocd) end end if newSpellInfo.starsurge then - if self.state.eclipse < 0 then + local buffAura = self:GetAura("player", "HELPFUL", 48517) --Solar + if buffAura.stacks>0 then self.state.eclipse = self.state.eclipse - newSpellInfo.starsurge else - self.state.eclipse = self.state.eclipse + newSpellInfo.starsurge + buffAura = self:GetAura("player", "HELPFUL", 48518) --Lunar + if buffAura.stacks>0 then + self.state.eclipse = self.state.eclipse + newSpellInfo.starsurge + elseif self.state.eclipse < 0 then + self.state.eclipse = self.state.eclipse - newSpellInfo.starsurge + else + self.state.eclipse = self.state.eclipse + newSpellInfo.starsurge + end end end if newSpellInfo.holy then diff --git a/defaut/Pretre.lua b/defaut/Pretre.lua index 56b5d78..0782e7b 100644 --- a/defaut/Pretre.lua +++ b/defaut/Pretre.lua @@ -1,72 +1,125 @@ Ovale.defaut["PRIEST"] = [[ +#Buff +Define(ORB 77487) +Define(MSEFFECT 87178) +Define(EVANGELISM 87118) +Define(DA 87153) +Define(MM 81292) + #Spells -Define(DEVOURINGPLAGUE 2944) # Devouring Plague - SpellInfo(DEVOURINGPLAGUE duration=24 durationhaste=spell) - SpellAddTargetDebuff(DEVOURINGPLAGUE DEVOURINGPLAGUE=24) +Define(DP 2944) # Devouring Plague + SpellInfo(DP duration=24 durationhaste=spell) + SpellAddTargetDebuff(DP DP=24) + Define(DISPERSION 47585) SpellInfo(DISPERSION cd=120) + SpellInfo(DISPERSION addcd=-45 glyph=63229) + Define(INNERFIRE 48168) # Inner Fire SpellAddBuff(INNERFIRE INNERFIRE=1800) -Define(MINDBLAST 8092) # Mind Blast - SpellInfo(MINDBLAST cd=5.5) - SpellAddBuff(MINDBLAST SHADOWORB=0) -Define(MINDLFAY 15407) # Mind Flay - SpellInfo(MINDLFAY canStopChannelling=3) -Define(SHADOWFIEND 34433) - SpellInfo(SHADOWFIEND cd=300) + +Define(MB 8092) # Mind Blast + SpellInfo(MB cd=5.5) + SpellAddBuff(MB ORB=0) + +Define(MF 15407) # Mind Flay + +Define(FIEND 34433) + SpellInfo(FIEND cd=300) + Define(SHADOWFORM 15473) # Shadowform -Define(SHADOWWORDPAIN 589) # Shadow Word: Pain - SpellInfo(SHADOWWORDPAIN duration=18) - SpellAddTargetDebuff(SHADOWWORDPAIN SHADOWWORDPAIN=18) -Define(VAMPIRICEMBRACE 15286) # Vampiric Embrace -Define(VAMPIRICTOUCH 34914) # Vampiric Touch - SpellInfo(VAMPIRICTOUCH duration=15 durationhaste=spell) - SpellAddTargetDebuff(VAMPIRICTOUCH VAMPIRICTOUCH=15) -#Buff -Define(SHADOWORB 77487) +Define(SWP 589) # Shadow Word: Pain + SpellInfo(SWP duration=18) + SpellAddTargetDebuff(SWP SWP=18) + +Define(VE 15286) # Vampiric Embrace + +Define(VT 34914) # Vampiric Touch + SpellInfo(VT duration=15 durationhaste=spell) + SpellAddTargetDebuff(VT VT=15) + +Define(MS 73510) # Mind Spike + # TODO : add talent condition for MM + SpellAddBuff(MS MSEFFECT=12 MM=6) -AddCheckBox(multidot L(multidot)) +Define(SWD 32379) # Shadow Word : Death + +Define(ARCHANGEL 87151) #Archangel + SpellInfo(ARCHANGEL cd=90) + SpellAddBuff(ARCHANGEL DA=18) -ScoreSpells(MINDBLAST SHADOWWORDPAIN VAMPIRICTOUCH DEVOURINGPLAGUE MINDLFAY) +### end defines ### + +ScoreSpells(MB SWP VT DP MF SWD MS) # Add main monitor AddIcon help=main mastery=3 { + #Check shadowform is up + unless BuffPresent(SHADOWFORM) Spell(SHADOWFORM) + unless InCombat() { - #Check shadowform is up - unless BuffPresent(SHADOWFORM) - Spell(SHADOWFORM) - - # Refresh inner fire - if BuffExpires(INNERFIRE 400) - Spell(INNERFIRE) - - if BuffExpires(VAMPIRICEMBRACE 400) - Spell(VAMPIRICEMBRACE) + # Refresh inner fire and vampiric embrace 10 minutes before it drops when out of combat + if BuffExpires(INNERFIRE 600) Spell(INNERFIRE) + if BuffExpires(VE 600) Spell(VE) + } + + # Refresh inner fire and vampiric embrace if they drop during the fight + if BuffExpires(INNERFIRE 0) Spell(INNERFIRE) + + if BuffExpires(VE 0) Spell(VE) + + #if your rotation isn't set up and the target has few seconds to live, use MS instead of normal rotation + #TODO : adapt the target life + if TargetDebuffExpires(SWP 0 mine=1) and TargetDeadIn(less 10) + { + if BuffPresent(MS stacks=3) or BuffPresent(MM stacks=2) Spell(MB) + Spell(MS) } - if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(SHADOWWORDPAIN) - if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH) - #if BuffPresent(SHADOWORB stacks=3) May need to uncomment this with high mastery rating - Spell(MINDBLAST) - - unless CheckBoxOn(multidot) and OtherDebuffPresent(DEVOURINGPLAGUE) + if BuffPresent(DA) #specific DD-based rotation when under Dark Archangel { - if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) - Spell(DEVOURINGPLAGUE) + #Use SWD if we have enough life left + if LifePercent(more 20) Spell(SWD) + + #Use MB on CD + Spell(MB) + + #Fill with MF + Spell(MF priority=2) + } - if CheckBoxOn(multidot) and OtherDebuffExpires(SHADOWWORDPAIN) - Texture(INV_Misc_Coin_01) - - Spell(MINDLFAY priority=2) + #Set up / refresh the dots + if TargetDebuffExpires(SWP 0 mine=1) and TargetDeadIn(more 6) Spell(SWP) + if TargetDebuffExpires(SWP 2 mine=1) and TargetDeadIn(more 6) Spell(MF) + if TargetDebuffExpires(VT 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VT) + + # refresh DP only if it is not ticking on another mob + unless OtherDebuffPresent(DP) + { + if TargetDebuffExpires(DP 2 mine=1) and TargetDeadIn(more 8) Spell(DP) + } + + # Launch the fiend + Spell(FIEND) + + #Use SWD if we have enough life left and it is more useful than MB + if LifePercent(more 20) Spell(SWD) + + #Use MB on CD + Spell(MB) + + #Fill with MF + Spell(MF priority=2) } AddIcon help=cd { + if BuffPresent(EVANGELISM stacks=5) Spell(ARCHANGEL) Item(Trinket0Slot usable=1) Item(Trinket1Slot usable=1) } @@ -74,16 +127,7 @@ AddIcon help=cd # Add mana monitor AddIcon help=mana mastery=3 { - #Regain mana if needed and if shadowfiend is not already out - if Mana(less 4000) and PetPresent(no) - { - Spell(SHADOWFIEND usable=1) - unless TargetDebuffExpires(VAMPIRICTOUCH 6 mine=1 haste=spell) Spell(DISPERSION usable=1) - } + if ManaPercent(less 5) Spell(DISPERSION) } -# Add icons to monitor debuffs -AddIcon size=small nocd=1 {if TargetDebuffExpires(VAMPIRICTOUCH 1.4 mine=1 haste=spell) Spell(VAMPIRICTOUCH) } # Vampiric Touch -AddIcon size=small nocd=1 {if TargetDebuffExpires(SHADOWWORDPAIN 1 mine=1) Spell(SHADOWWORDPAIN) } # Shadow Word: Pain -AddIcon size=small nocd=1 {if TargetDebuffExpires(DEVOURINGPLAGUE 1 mine=1) Spell(DEVOURINGPLAGUE) } ]] -- 1.7.9.5