Ovale Spell Priority

Forum > Priest

4.0 Priest Script

    #21 Feb 25, 2011 at 15:56 UTC - 0 likes

    Thanks for the reply this is helpful to know. I will keep a eye on the timer and if that doesn't work I can try a macro ;)

    Last edited Feb 25, 2011 by XylanTrueheart
    #22 Mar 30, 2011 at 22:59 UTC - 0 likes

    Hello All,

    I have made some Modifications to this script to more Suite me and added something that i think all shadow priests will like, Focus Multi Dotting I have also Changed a few things. I Am going about making this script work as close to a Simcraft Sim as possible. So i have changed a few things.

    These are Notes from what I changed in from the Original Script First Note: Simcraft simulates using MB always off CD as a bit higher DPS, now I know this means sometimes you might loose the empowered shadows buff for a little bit but I personally feel that you shouldn’t wait until orbs to come up because of the amount of damage that Mind Blast causes.

    Second Note: Dispersion is great if you go low health, but you should use the healthstone first then dispersion if you need to. I normally cast Dispersion if I am moving around or know a big event is coming up (Nef Crackles).

    Third Note There really is not a point of putting the Shadow Fiend in the mana monitor sense you will already be using it in the dps rotation.

    Forth Note: I have changed Archangel to follow Simcraft rule of DP and VT time left is >= 5.

    Final Note: Also I have taken Shadow Ward: Death out of the mana monitor because it isn’t used unless the boss is below 25%

    Now some things that I need to do: -Find a way to make the icons not show up if you don’t have a focus target I found scripts that people have written that used TargetExists(target=focus) but it breaks the script. I wasn’t sure if I needed another Lib to make this function work.

    here is the modified code i have created.

    #Shadow Priest Ovale Script By Lethalist - Muridan v1.0
    
    #v1.0 - Modified Ovale Default 4.0.6 Script to add in the following: Mind blast whenever off CD
    #Modifying the script to more closely follow Simcraft Order
    #-MultiDot focus targeting
    #-Correction to when to show Dark Angel
    #-Correction to not Shadow Ward: death unless you are below mob 25%
    #-DISPERSION correction to be at 25%
    
    ### defines ###
    
    #Buff
    Define(SHADOWORBS 77487)
    Define(MINDSPIKEEFFECT 87178)
    Define(EVANGELISM 87118)
    Define(DARKARCHANGEL 87153)
    Define(MINDMELT 81292)
    Define(EMPOWEREDSHADOW 95799)
    
    #Spells
    Define(DEVOURINGPLAGUE 2944) # Devouring Plague
    	SpellInfo(DEVOURINGPLAGUE duration=24 durationhaste=spell)
    	SpellAddTargetDebuff(DEVOURINGPLAGUE DEVOURINGPLAGUE=24)
    	
    Define(DISPERSION 47585)
    	SpellInfo(DISPERSION cd=120)
    	SpellInfo(DISPERSION addcd=-45 glyph=63229)
    	
    Define(INNERFIRE 588) # Inner Fire
    	SpellAddBuff(INNERFIRE INNERFIRE=1800)
    	
    Define(INNERWILL 73413) # Inner Will
    	SpellAddBuff(INNERWILL INNERWILL=1800)
    	
    Define(MINDBLAST 8092) # Mind Blast
    	SpellInfo(MINDBLAST cd=6.5)
    	SpellAddBuff(MINDBLAST SHADOW_ORBS=0)
    	SpellAddBuff(MINDBLAST EMPOWEREDSHADOW=15)
    	
    Define(MINDFLAY 15407) # Mind Flay
    	
    Define(SHADOWFIEND 34433)
    	SpellInfo(SHADOWFIEND 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)
    	
    Define(MINDSPIKE 73510) # Mind Spike
    	# TODO : add talent condition for MIND_MELT
    	SpellAddBuff(MINDSPIKE MINDSPIKEEFFECT=12 MINDMELT=6)
    	
    Define(SHADOWWORDDEATH 32379) # Shadow Word : Death
    
    Define(ARCHANGEL 87151) #Archangel
    	SpellInfo(ARCHANGEL cd=90)
    	SpellAddBuff(ARCHANGEL DARKARCHANGEL=18)
    
    ### end defines ###
    
    ScoreSpells(MINDBLAST SHADOWWORDPAIN VAMPIRICTOUCH DEVOURINGPLAGUE MINDFLAY SHADOWWORDDEATH MINDSPIKE)
    
    # Add main monitor
    AddIcon help=main mastery=3
    {
    	#Check shadowform is up
    	unless BuffPresent(SHADOWFORM) Spell(SHADOWFORM)
    			
    	unless InCombat()
    	{
    		# Refresh inner fire  and vampiric embrace 5 minutes before it drops when out of combat
    		if BuffExpires(INNERFIRE 300) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
    		if BuffExpires(INNERWILL 300) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
    		if BuffExpires(VAMPIRICEMBRACE 300) Spell(VAMPIRICEMBRACE)
    	}
    	
    	# Refresh inner fire and vampiric embrace if they drop during the fight
    	if BuffExpires(INNERFIRE 5) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
    	if BuffExpires(INNERWILL 5) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
    		
    	if BuffExpires(VAMPIRICEMBRACE 5) Spell(VAMPIRICEMBRACE)
    		
    	#if your rotation isn't set up and the target has few seconds to live, use MIND_SPIKE instead of normal rotation	
    	if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(less 10)
    	{
    		if BuffPresent(MINDSPIKE stacks=3) or BuffPresent(MINDMELT stacks=2) Spell(MINDBLAST)
    		Spell(MINDSPIKE)
    	}
    	
    	#Refresh empowered shadows
    	if BuffPresent(SHADOWORBS stacks=1) and BuffExpires(EMPOWEREDSHADOW 2) Spell(MINDBLAST)
    
    	#Set up / refresh the dots
    	if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
    	if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(MINDFLAY)
    	if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)
    		
    	# refresh DEVOURING_PLAGUE only if it is not ticking on another mob
    	unless OtherDebuffPresent(DEVOURINGPLAGUE)
    	{
    		if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
    	}
    	
    	#Use SHADOW_WORD_DEATH if we have enough life left and it is more useful than MIND_BLAST
    	if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
    		
    	# Launch the fiend
    	if TargetDeadIn(more 15) and ManaPercent(less 75) Spell(SHADOWFIEND)
    		
    	#Use MIND_BLAST No matter what Stack of orbs you have
    	Spell(MINDBLAST)
    				
    	#Fill with MIND_FLAY
    	Spell(MINDFLAY priority=2)
    }
    
    #Tricket Cooldowns, and making sure DP and VT have at least 5 seconds left before casting Dark Angel
    AddIcon help=cd
    {
    	#Check that you won't have to reapply dots during DA
    	if BuffPresent(EVANGELISM stacks=5) and TargetDebuffPresent(DEVOURINGPLAGUE 5 mine=1) and TargetDebuffPresent(VAMPIRICTOUCH 5 mine=1) Spell(ARCHANGEL)
    	Item(Trinket0Slot usable=1)
    	Item(Trinket1Slot usable=1)
    }
    
    
    # Add mana monitor
    AddIcon help=mana mastery=3
    {
    	if LifePercent(less 10) 
    	{
    		Item(36892) #Health stone
    		Spell(DISPERSION)
    
    	}
    	if ManaPercent(less 25) 
    	{
    		Spell(DISPERSION)
    	}
    }
    
    #	Add Focus Target Monitor for Multi Dotting
    AddIcon help=focus mastery =3
    {
    		if TargetDebuffExpires(SHADOWWORDPAIN 1.5 mine=1 target=focus ) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
    		if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 target=focus haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)	
    }
    
    Last edited Mar 30, 2011 by menicejoe
    #23 Apr 01, 2011 at 05:42 UTC - 0 likes

    I have made a correction to the copy of the script to more Simulate MB and Orbs....

    Here is the addition to the main Loop for the main attack. This is the rule i applied Opening rotation until you get at least one orb, then it will continue to use MB whenever its off CD besides if empowered shadows has less then 6.5 seconds left.

    #Shadow Priest Ovale Script By Lethalist - Muridan v1.0
    
    #v1.0.1 - Changed it so opening rotation until orb, then after that if there is 6.5 seconds left on Empowered shadows it waits for orb, otherwise it uses MB when off CD
    
    #v1.0 - Modified Ovale Default 4.0.6 Script to add in the following: Mind blast whenever off CD
    #Modifying the script to more closely follow Simcraft Order
    #-MultiDot focus targeting
    #-Correction to when to show Dark Angel
    #-Correction to not Shadow Ward: death unless you are below mob 25%
    #-DISPERSION correction to be at 25%
    
    ### defines ###
    
    #Buff
    Define(SHADOWORBS 77487)
    Define(MINDSPIKEEFFECT 87178)
    Define(EVANGELISM 87118)
    Define(DARKARCHANGEL 87153)
    Define(MINDMELT 81292)
    Define(EMPOWEREDSHADOW 95799)
    
    #Spells
    Define(DEVOURINGPLAGUE 2944) # Devouring Plague
        SpellInfo(DEVOURINGPLAGUE duration=24 durationhaste=spell)
        SpellAddTargetDebuff(DEVOURINGPLAGUE DEVOURINGPLAGUE=24)
        
    Define(DISPERSION 47585)
        SpellInfo(DISPERSION cd=120)
        SpellInfo(DISPERSION addcd=-45 glyph=63229)
        
    Define(INNERFIRE 588) # Inner Fire
        SpellAddBuff(INNERFIRE INNERFIRE=1800)
        
    Define(INNERWILL 73413) # Inner Will
        SpellAddBuff(INNERWILL INNERWILL=1800)
        
    Define(MINDBLAST 8092) # Mind Blast
        SpellInfo(MINDBLAST cd=6.5)
        SpellAddBuff(MINDBLAST SHADOW_ORBS=0)
        SpellAddBuff(MINDBLAST EMPOWEREDSHADOW=15)
        
    Define(MINDFLAY 15407) # Mind Flay
        
    Define(SHADOWFIEND 34433)
        SpellInfo(SHADOWFIEND 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)
        
    Define(MINDSPIKE 73510) # Mind Spike
        # TODO : add talent condition for MIND_MELT
        SpellAddBuff(MINDSPIKE MINDSPIKEEFFECT=12 MINDMELT=6)
        
    Define(SHADOWWORDDEATH 32379) # Shadow Word : Death
    
    Define(ARCHANGEL 87151) #Archangel
        SpellInfo(ARCHANGEL cd=90)
        SpellAddBuff(ARCHANGEL DARKARCHANGEL=18)
    
    ### end defines ###
    
    ScoreSpells(MINDBLAST SHADOWWORDPAIN VAMPIRICTOUCH DEVOURINGPLAGUE MINDFLAY SHADOWWORDDEATH MINDSPIKE)
    
    # Add main monitor
    AddIcon help=main mastery=3
    {
    
        #Check shadowform is up
        unless BuffPresent(SHADOWFORM) Spell(SHADOWFORM)
                
        unless InCombat()
        {
            # Refresh inner fire  and vampiric embrace 5 minutes before it drops when out of combat
            if BuffExpires(INNERFIRE 300) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
            if BuffExpires(INNERWILL 300) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
            if BuffExpires(VAMPIRICEMBRACE 300) Spell(VAMPIRICEMBRACE)
        }
        
        # Refresh inner fire and vampiric embrace if they drop during the fight
        if BuffExpires(INNERFIRE 5) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
        if BuffExpires(INNERWILL 5) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
            
        #if your rotation isn't set up and the target has few seconds to live, use MIND_SPIKE instead of normal rotation    
        if BuffDuration(EMPOWEREDSHADOW less 6){
            
            if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(less 10)
            {
                if BuffPresent(MINDSPIKE stacks=3) or BuffPresent(MINDMELT stacks=2) Spell(MINDBLAST)
                Spell(MINDSPIKE)
            }
             
            #Set up / refresh the dots
            if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
            if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(MINDFLAY)
            if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)
                
            # refresh DEVOURING_PLAGUE only if it is not ticking on another mob
            unless OtherDebuffPresent(DEVOURINGPLAGUE)
            {
                if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
            }
            
            #Use SHADOW_WORD_DEATH if we have enough life left and it is more useful than MIND_BLAST
            if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
                
            # Launch the fiend
            if TargetDeadIn(more 15) and ManaPercent(less 60) Spell(SHADOWFIEND)
                        
            #Fill with MIND_FLAY
            Spell(MINDFLAY priority=2)
        }
        if BuffDuration(EMPOWEREDSHADOW more 6)
        {
           #if your rotation isn't set up and the target has few seconds to live, use MIND_SPIKE instead of normal rotation    
            if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(less 10)
            {
                if BuffPresent(MINDSPIKE stacks=3) or BuffPresent(MINDMELT stacks=2) Spell(MINDBLAST)
                Spell(MINDSPIKE)
            }
        
            #Set up / refresh the dots
            if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
            if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(MINDFLAY)
            if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)
                
            # refresh DEVOURING_PLAGUE only if it is not ticking on another mob
            unless OtherDebuffPresent(DEVOURINGPLAGUE)
            {
                if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
            }
            
            #Use SHADOW_WORD_DEATH if we have enough life left and it is more useful than MIND_BLAST
            if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
                
            # Launch the fiend
            if TargetDeadIn(more 15) and ManaPercent(less 60) Spell(SHADOWFIEND)
                
            #Use MIND_BLAST No matter what Stack of orbs you have
            Spell(MINDBLAST)
                        
            #Fill with MIND_FLAY
            Spell(MINDFLAY priority=2)
        }
        
         if BuffPresent(SHADOWORBS stacks=1) Spell(MINDBLAST)
         if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
         if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(MINDFLAY)
         if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)
                    
         # refresh DEVOURING_PLAGUE only if it is not ticking on another mob
         unless OtherDebuffPresent(DEVOURINGPLAGUE)
         {
         	if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
         }
                
         #Use SHADOW_WORD_DEATH if we have enough life left and it is more useful than MIND_BLAST
         if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
                    
         # Launch the fiend
         if TargetDeadIn(more 15) and ManaPercent(less 60) Spell(SHADOWFIEND)
                       
         #Fill with MIND_FLAY
         Spell(MINDFLAY priority=2)
    }
    
    #Tricket Cooldowns, and making sure DP and VT have at least 5 seconds left before casting Dark Angel
    AddIcon help=cd
    {
        #Check that you won't have to reapply dots during DA
        if BuffPresent(EVANGELISM stacks=5) and TargetDebuffPresent(DEVOURINGPLAGUE 5 mine=1) and TargetDebuffPresent(VAMPIRICTOUCH 5 mine=1) Spell(ARCHANGEL)
        Item(Trinket0Slot usable=1)
        Item(Trinket1Slot usable=1)
    }
    
    
    # Add mana monitor
    AddIcon help=mana mastery=3
    {
        if LifePercent(less 10) 
        {
            Item(36892) #Health stone
            Spell(DISPERSION)
    
        }
        if ManaPercent(less 25) 
        {
            Spell(DISPERSION)
        }
    }
    
    #    Add Focus Target Monitor for Multi Dotting
    AddIcon mastery =3
    {
            if TargetDebuffExpires(SHADOWWORDPAIN 1.5 mine=1 target=focus ) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN target=focus)
            if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell target=focus) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH target=focus)    
    }
    
    #24 Apr 03, 2011 at 16:14 UTC - 0 likes

    Thank you very much for 1.0.1 of your script Lethal. It added about 3.5k dps over the OP script (which, FWIW, is still amazing and got me very far).

    One note, you'll get a syntax error when copy and pasting into ovale, the fix is to search for if BuffDuration(EMPOWEREDSHADOW less 6){ and put the { onto it's own line, just press enter right before it. /reload ui and the syntax error shouldn't come up.

    Tx again for this thread and all of your hard work!

    PS: LUV the focus dotting!

    Last edited Apr 03, 2011 by Tlion: PS!!
    #25 Apr 04, 2011 at 14:51 UTC - 0 likes

    Thanks man, I'll try that in tonight's raid !

    As a side note, I put SWD in the mana icon since the 10% mana return still applies over 25% target health. That does imply losing DPS, but well, if you have no mana, you can't dps very well :)

    #26 Apr 04, 2011 at 21:08 UTC - 0 likes

    I have made a modification to this script and ill post it when i get home from school. I Have made it so that if the focus target doesnt exist it wont show the icons for this. Also i will add a checkbox option for the SWD for the mana CD this evening for people that want it. Thanks for the syntax error wasnt sure where that was coming from but ill fix it. I dont have the SWD because my mana has been fine in raids.

    If you have any suggestions to this script of something i should add please let me know.

    I would like to note something:

    The focus target thing i noticed became buddy on Heroic Magmaw, where sometimes it would work and sometimes wouldnt work I dont know if my new check in my new script has fixed this problem or not. Basicly what would happen is i would switch to the spawned adds to kill them and sometimes the dot timing on the Focus target icons wouldnt work but if i reset the focus target it would. So i think with the new focus.Exists() function it will work right but i havent been able to test this yet. I will test maybe tonight or this next raiding week.

    Thanks Glad your dps was increased. I know this has increased mine also.

    #    Add Focus Target Monitor for Multi Dotting
    AddIcon mastery =3
    {
    if focus.Exists()
    {
            if TargetDebuffExpires(SHADOWWORDPAIN 1.5 mine=1 target=focus ) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN target=focus)
            if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell target=focus) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH target=focus)    
    }
    }
    

    This is the change to the focus target to make sure it exists ill update my post when i get home as i said.

    Thanks

    Lethalist

    Last edited Apr 04, 2011 by menicejoe
    #27 Apr 05, 2011 at 08:17 UTC - 0 likes

    That could be because Magmaw ceases to exist for a few secs when he falls down.

    #28 Apr 05, 2011 at 16:05 UTC - 0 likes

    Its not when he falls down and you will loose your focus when the head drops down.... Its when you are switching to the constructs that you have to kill that sometimes it will stop working but will start working partly again... So im hoping the check to make sure the focus is there will fix this problem but im not sure. I think the focus.Exists() will help this and we are raiding magmaw tonight or tmr and ill be trying it again. How did the script work for you last night?

    Last edited Apr 05, 2011 by menicejoe
    #29 Apr 06, 2011 at 02:24 UTC - 0 likes

    Here is my modified code sorry took me a bit

        #Shadow Priest Ovale Script By Lethalist - Muridan v1.0
    
        #v1.0 - Modified Ovale Default 4.0.6 Script to add in the following: Mind blast whenever off CD
        #Modifying the script to more closely follow Simcraft Order
        #-MultiDot focus targeting
        #-Correction to when to show Dark Angel
        #-Correction to not Shadow Ward: death unless you are below mob 25%
        #-DISPERSION correction to be at 25%
    
        ### defines ###
    
        #Buff
        Define(SHADOWORBS 77487)
        Define(MINDSPIKEEFFECT 87178)
        Define(EVANGELISM 87118)
        Define(DARKARCHANGEL 87153)
        Define(MINDMELT 81292)
        Define(EMPOWEREDSHADOW 95799)
    
        #Spells
        Define(DEVOURINGPLAGUE 2944) # Devouring Plague
        SpellInfo(DEVOURINGPLAGUE duration=24 durationhaste=spell)
        SpellAddTargetDebuff(DEVOURINGPLAGUE DEVOURINGPLAGUE=24)
    
        Define(DISPERSION 47585)
        SpellInfo(DISPERSION cd=120)
        SpellInfo(DISPERSION addcd=-45 glyph=63229)
    
        Define(INNERFIRE 588) # Inner Fire
        SpellAddBuff(INNERFIRE INNERFIRE=1800)
    
        Define(INNERWILL 73413) # Inner Will
        SpellAddBuff(INNERWILL INNERWILL=1800)
    
        Define(MINDBLAST 8092) # Mind Blast
        SpellInfo(MINDBLAST cd=6.5)
        SpellAddBuff(MINDBLAST SHADOW_ORBS=0)
        SpellAddBuff(MINDBLAST EMPOWEREDSHADOW=15)
    
        Define(MINDFLAY 15407) # Mind Flay
    
        Define(SHADOWFIEND 34433)
        SpellInfo(SHADOWFIEND 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)
    
        Define(MINDSPIKE 73510) # Mind Spike
        # TODO : add talent condition for MIND_MELT
        SpellAddBuff(MINDSPIKE MINDSPIKEEFFECT=12 MINDMELT=6)
    
        Define(SHADOWWORDDEATH 32379) # Shadow Word : Death
    
        Define(ARCHANGEL 87151) #Archangel
        SpellInfo(ARCHANGEL cd=90)
        SpellAddBuff(ARCHANGEL DARKARCHANGEL=18)
    
        ### end defines ###
    
        ScoreSpells(MINDBLAST SHADOWWORDPAIN VAMPIRICTOUCH DEVOURINGPLAGUE MINDFLAY SHADOWWORDDEATH MINDSPIKE)
    
        # Add main monitor
        AddIcon help=main mastery=3
        {
    
        #Check shadowform is up
        unless BuffPresent(SHADOWFORM) Spell(SHADOWFORM)
                
        unless InCombat()
        {
            # Refresh inner fire  and vampiric embrace 5 minutes before it drops when out of combat
            if BuffExpires(INNERFIRE 300) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
            if BuffExpires(INNERWILL 300) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
            if BuffExpires(VAMPIRICEMBRACE 300) Spell(VAMPIRICEMBRACE)
        }
    
        # Refresh inner fire and vampiric embrace if they drop during the fight
        if BuffExpires(INNERFIRE 5) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
        if BuffExpires(INNERWILL 5) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
            
        #if your rotation isn't set up and the target has few seconds to live, use MIND_SPIKE instead of normal rotation    
        if BuffDuration(EMPOWEREDSHADOW less 6)
        {        
            if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(less 10)
            {
                if BuffPresent(MINDSPIKE stacks=3) or BuffPresent(MINDMELT stacks=2) Spell(MINDBLAST)
                Spell(MINDSPIKE)
            }
            #Set up / refresh the dots
            if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
            if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(MINDFLAY)
            if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)
            
            # refresh DEVOURING_PLAGUE only if it is not ticking on another mob
            unless OtherDebuffPresent(DEVOURINGPLAGUE)
            {
                if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
            }
            
            #Use SHADOW_WORD_DEATH if we have enough life left and it is more useful than MIND_BLAST
            if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
                
            # Launch the fiend
            if TargetDeadIn(more 15) and ManaPercent(less 60) Spell(SHADOWFIEND)
            
            #Fill with MIND_FLAY
            Spell(MINDFLAY priority=2)
        }
        if BuffDuration(EMPOWEREDSHADOW more 6)
        {
           #if your rotation isn't set up and the target has few seconds to live, use MIND_SPIKE instead of normal rotation    
            if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(less 10)
            {
                if BuffPresent(MINDSPIKE stacks=3) or BuffPresent(MINDMELT stacks=2) Spell(MINDBLAST)
                Spell(MINDSPIKE)
            }
    
            #Set up / refresh the dots
            if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
            if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(MINDFLAY)
            if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)
                
            # refresh DEVOURING_PLAGUE only if it is not ticking on another mob
            unless OtherDebuffPresent(DEVOURINGPLAGUE)
            {
                if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
            }
            
            #Use SHADOW_WORD_DEATH if we have enough life left and it is more useful than MIND_BLAST
            if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
                
            # Launch the fiend
            if TargetDeadIn(more 15) and ManaPercent(less 60) Spell(SHADOWFIEND)
                
            #Use MIND_BLAST No matter what Stack of orbs you have
            Spell(MINDBLAST)
                        
            #Fill with MIND_FLAY
            Spell(MINDFLAY priority=2)
        }
        
        if BuffPresent(SHADOWORBS stacks=1) Spell(MINDBLAST)
        if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
        if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(MINDFLAY)
        if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)
                    
        # refresh DEVOURING_PLAGUE only if it is not ticking on another mob
        unless OtherDebuffPresent(DEVOURINGPLAGUE)
        {
            if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
        }
                
        #Use SHADOW_WORD_DEATH if we have enough life left and it is more useful than MIND_BLAST
        if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
                    
        # Launch the fiend
        if TargetDeadIn(more 15) and ManaPercent(less 60) Spell(SHADOWFIEND)
                       
         #Fill with MIND_FLAY
         Spell(MINDFLAY priority=2)
    }
    
    #Tricket Cooldowns, and making sure DP and VT have at least 5 seconds left before casting Dark Angel
    AddIcon help=cd
    {
        #Check that you won't have to reapply dots during DA
        if BuffPresent(EVANGELISM stacks=5) and TargetDebuffPresent(DEVOURINGPLAGUE 5 mine=1) and TargetDebuffPresent(VAMPIRICTOUCH 5 mine=1) Spell(ARCHANGEL)
        Item(Trinket0Slot usable=1)
        Item(Trinket1Slot usable=1)
    }
    
    
    # Add mana monitor
    AddIcon help=mana mastery=3
    {
        if LifePercent(less 10) 
        {
            Item(36892) #Health stone
            Spell(DISPERSION)
    
        }
        if ManaPercent(less 25) 
        {
            Spell(DISPERSION)
        }
    }
    
    #    Add Focus Target Monitor for Multi Dotting
    AddIcon mastery =3
    {
        if focus.Exists()
        {
            if TargetDebuffExpires(SHADOWWORDPAIN 1.5 mine=1 target=focus ) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN target=focus)
            if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell target=focus) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH target=focus)    
        }
    }
    
    #30 Apr 06, 2011 at 10:12 UTC - 0 likes

    @menicejoe:

    I didn't notice as much dps increase as Tlion. I went from 12300 dps to 12350 dps self-buffed on dummy. So hardly noticeable, but an improvement anyhow.
    The focus functionnality was working ok as far as I noticed, but I'm so used to doing it by hand that I didn't really use it a lot. I didn't have any loss of focus.
    Only remark I would have is that you could display a mind flay to refresh SWP on the focus if there is more than 2s remaining (MF), and less than 4 (VT cast + MF), instead of recasting SWP directly.

    On a different topic, I've been wondering about our CDs archangel and fiend. I think we should add a checkbox to include them in the main icon rotation, or leave it in the CD icon only, depending on the fight. For some fights you want to save it (e.g. magmaw), for others you don't really care and wanna pop it whenever it's available.
    What do you think ?

    Yet another improvement we could make, is make use of the Speed function to detect if we are moving or not, and change the rotation accordingly (SWD, dot refresh, maybe event DP spam ?).

    #31 Apr 06, 2011 at 16:48 UTC - 0 likes

    Ya i was thinking the same thing... I was doing heroic magmaw and the focus seemed to work better. I normally dont watch that as much because i have my focus near my main target so i watch the focus timers but on certain fights where there is alot going on i would use it more. I think we should do something about the moving..... On Heroic Magmaw though I pop Archangle, and Fiend at the start because it is up by the time the head is down. Maybe also use the haste moving part for also using Dispersion while moving.

    Ill work on this after the weekend. If you want help let me know we should make this really good. I want to help everyone get better at this and i do agree with the checkbox.

    Edit note: Another note is this may not have been that much of a DPS increase for you but if you are in lesser gear where you might not get orbs as fast this might be a bigger dps increase thats why i went about the sequence i did. Yes its alot more code but i think personally it more better sims what all the top priests are doing thus when you get more gear it will increase it more and more.

    SO notes of what to add: Rotation change if you are Moving (SW:D, DP spam if you you think you got the mana (maybe a checkbox for this option?)

    Shadowfiend in main rotation (checkbox for this)

    The reason i didnt go about using MF to refresh SWP on the focus is because sometimes your focus really isnt in front of you and it would be faster and easier to just cast SWP again, i know we could use MF to refresh it but if the target isnt in front of you then you will have problems with this. Using MF to refresh focus SWP would be completely situational.

    Dispersion if you are moving maybe?????? that would be a good idea, if lets say your mana is below 35% and you are moving for more then a few seconds you pop it... just an idea. I know on heroic Magmaw last night when we would transfer over to the other side I would hit dispersion on the way over to get my mana up.

    Lethalist

    Last edited Apr 06, 2011 by menicejoe
    #32 Apr 09, 2011 at 09:32 UTC - 0 likes

    If you are talking about adding a checkbox... the option to deactivate SW:D would be nice. On certain fights it's a no go, e.g. Chimaeron.

    Another idea for checkbox-funcionality: adding the option to deactivate the focus-frame for those players who don't use it.

    Last edited Apr 09, 2011 by Nyrith
    #33 Dec 04, 2011 at 23:47 UTC - 0 likes

    This is a stripped down version without the comments. All credits go to the original author.

    Define(SHADOWORBS 77487)
    Define(MINDSPIKEEFFECT 87178)
    Define(EVANGELISM 87118)
    Define(DARKARCHANGEL 87153)
    Define(MINDMELT 81292)
    Define(EMPOWEREDSHADOW 95799)
    Define(DEVOURINGPLAGUE 2944)
    SpellInfo(DEVOURINGPLAGUE duration=24 durationhaste=spell)
    SpellAddTargetDebuff(DEVOURINGPLAGUE DEVOURINGPLAGUE=24)
    Define(DISPERSION 47585)
    SpellInfo(DISPERSION cd=120)
    SpellInfo(DISPERSION addcd=-45 glyph=63229)
    Define(INNERFIRE 588)
    SpellAddBuff(INNERFIRE INNERFIRE=1800)
    Define(INNERWILL 73413)
    SpellAddBuff(INNERWILL INNERWILL=1800)
    Define(MINDBLAST 8092)
    SpellInfo(MINDBLAST cd=6.5)
    SpellAddBuff(MINDBLAST SHADOW_ORBS=0)
    SpellAddBuff(MINDBLAST EMPOWEREDSHADOW=15)
    Define(MINDFLAY 15407)
    Define(SHADOWFIEND 34433)
    SpellInfo(SHADOWFIEND cd=300)
    Define(SHADOWFORM 15473)
    Define(SHADOWWORDPAIN 589)
    SpellInfo(SHADOWWORDPAIN duration=18) 
    SpellAddTargetDebuff(SHADOWWORDPAIN SHADOWWORDPAIN=18)
    Define(VAMPIRICEMBRACE 15286)
    Define(VAMPIRICTOUCH 34914)
    SpellInfo(VAMPIRICTOUCH duration=15 durationhaste=spell)
    SpellAddTargetDebuff(VAMPIRICTOUCH VAMPIRICTOUCH=15)
    Define(MINDSPIKE 73510)
    SpellAddBuff(MINDSPIKE MINDSPIKEEFFECT=12 MINDMELT=6)
    Define(SHADOWWORDDEATH 32379)
    Define(ARCHANGEL 87151)
    SpellInfo(ARCHANGEL cd=90)
    SpellAddBuff(ARCHANGEL DARKARCHANGEL=18)
    ScoreSpells(MINDBLAST SHADOWWORDPAIN VAMPIRICTOUCH DEVOURINGPLAGUE MINDFLAY SHADOWWORDDEATH MINDSPIKE)
    AddIcon help=main mastery=3
    {
      unless BuffPresent(SHADOWFORM) Spell(SHADOWFORM)
      unless InCombat()
      {
        if BuffExpires(INNERFIRE 300) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
        if BuffExpires(INNERWILL 300) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
        if BuffExpires(VAMPIRICEMBRACE 300) Spell(VAMPIRICEMBRACE)
      }  
      if BuffExpires(INNERFIRE 5) unless BuffPresent(INNERWILL) Spell(INNERFIRE)
      if BuffExpires(INNERWILL 5) unless BuffPresent(INNERFIRE) Spell(INNERWILL)
      if BuffDuration(EMPOWEREDSHADOW less 6)
      { 
        if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(less 10)
        {
          if BuffPresent(MINDSPIKE stacks=3) or BuffPresent(MINDMELT stacks=2) Spell(MINDBLAST)
          Spell(MINDSPIKE)
        }
        if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
        if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(MINDFLAY)
        if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)
        unless OtherDebuffPresent(DEVOURINGPLAGUE)
        {
          if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
        }
        if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
        if TargetDeadIn(more 15) and ManaPercent(less 60) Spell(SHADOWFIEND)
        Spell(MINDFLAY priority=2)
      }
      if BuffDuration(EMPOWEREDSHADOW more 6)
      {
          if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(less 10)
        {
          if BuffPresent(MINDSPIKE stacks=3) or BuffPresent(MINDMELT stacks=2) Spell(MINDBLAST)
          Spell(MINDSPIKE)
        }
        if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
        if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(MINDFLAY)
        if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)
        unless OtherDebuffPresent(DEVOURINGPLAGUE)
        {
          if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
        }
        if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
        if TargetDeadIn(more 15) and ManaPercent(less 60) Spell(SHADOWFIEND)
        Spell(MINDBLAST)
        Spell(MINDFLAY priority=2)
      }
      if BuffPresent(SHADOWORBS stacks=1) Spell(MINDBLAST)
      if TargetDebuffExpires(SHADOWWORDPAIN 0 mine=1) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN)
      if TargetDebuffExpires(SHADOWWORDPAIN 2 mine=1) and TargetDeadIn(more 6) Spell(MINDFLAY)
      if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH)
      unless OtherDebuffPresent(DEVOURINGPLAGUE)
      {
        if TargetDebuffExpires(DEVOURINGPLAGUE 2 mine=1) and TargetDeadIn(more 8) Spell(DEVOURINGPLAGUE)
      }
      if TargetLifePercent(less 25) and LifePercent(more 20) Spell(SHADOWWORDDEATH)
      if TargetDeadIn(more 15) and ManaPercent(less 60) Spell(SHADOWFIEND)
      Spell(MINDFLAY priority=2)
    }
    AddIcon help=cd
    {
      if BuffPresent(EVANGELISM stacks=5) and TargetDebuffPresent(DEVOURINGPLAGUE 5 mine=1) and TargetDebuffPresent(VAMPIRICTOUCH 5 mine=1) Spell(ARCHANGEL)
      Item(Trinket0Slot usable=1)
      Item(Trinket1Slot usable=1)
    }
    AddIcon help=mana mastery=3
    {
      if LifePercent(less 10) 
      {
        Item(36892)
        Spell(DISPERSION)
      }
      if ManaPercent(less 25) 
      {
        Spell(DISPERSION)
      }
    }
    AddIcon mastery =3
    {
      if focus.Exists()
      {
        if TargetDebuffExpires(SHADOWWORDPAIN 1.5 mine=1 target=focus ) and TargetDeadIn(more 10) Spell(SHADOWWORDPAIN target=focus)
        if TargetDebuffExpires(VAMPIRICTOUCH 3 mine=1 haste=spell target=focus) and TargetDeadIn(more 8) Spell(VAMPIRICTOUCH target=focus) 
      }
    }
    
    Last edited Dec 04, 2011 by V1P3R

You must login to post a comment. Don't have an account? Register to get one!