| |
USEFUL PRIEST MACROS
-----
Been collecting macros for my priest for awhile and since others have started threads related to these, I'll share what I have, plus incorporate the latest posts. Thanks to Bregdark and Foamyla, and apologies for hijacking your threads. Though if either of you want to keep this current, please repost as you see fit.
Unfortunately I didn't keep the sources of these macros, but much *hugs* and thanks to the original authors. Many of the descriptions are from the original copied text with some edits for clarity. Some of these still need to be tested for 1.10 and are marked as such. Please, if you do find errors and have improvements to offer, I will try to update this as much as possible. And request this be a sticky if deserved... *grin*
Note, information for creating and managing macros can be found on the Blizzard site and others (listed below) and is not given here. So if you request macro advice or want one customized for you, make your appeal to the generous Macro Gods on the forums to grant such gifts and post it here:
Blizzard UI and Macro Forum:
http://forums.worldofwarcraft.com/board.aspx?fn=wow-interface-customization
As your priest grows in levels you'll realize that higher ranked spells do not work on lower level players. The "Best" Buff macros are helpful for those who want handy macros and are indispensable to manage the ActionBar space so you don't have to keep every spell rank on your bars.
IMPORTANT NOTES
Don't use any carriage returns when entering most macros. Copy these exactly to get best results.
Macros are limited to 255 characters total. Long macro messages are not possible without AddOn Mods.
Very Important: Items in bold are the words/numbers you may need to change: messages, spell names and/or ranks; bag/item slots; or ActionBar position numbers. See reference charts below.
-----
-----
BUFF MACROS
-----
------
Basic Self or Target Buff/Heal (Works for 1.10)
This automatically selects yourself as the target of a buff or heal if no target is selected or the current target is not a friendly target. If the current target is friendly, the spell will be cast on the current target. Will target last enemy. Change spell and rank as needed.
-----
/script CastSpellByName("Power Word: Fortitude(Rank 1)");if((SpellIsTargeting())and(not UnitIsFriend("player","target")))then SpellTargetUnit("player");end;TargetLastEnemy();
----
Best Power Word: Fortitude #1 (Works for 1.10)
Cast the appropriate rank of Power Word: Fortitude on yourself or a selected player based upon level.
Change the number in bold to the highest level spell you currently have or want to use.
The range of numbers are the level at which a new rank is learned.
The following is for a level 60 priest with PW:F Rank 6
-----
/script r=6;l={1,12,24,36,48,60};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l[i]-10) then CastSpellByName("Power Word: Fortitude(Rank "..i..")");break;end;end
----
Best Power Word: Fortitude #2 Alternative (similar but requires more edits) (Need to test for 1.10)
If you have less than 6 ranks of fortitude, remove the higher numbers from this part. For example, if you have up to rank 3, remove 26,38,50 from this. Also, for the part that says i=6, change the 6 to whatever number of ranks of fortitude you have, 3 in this example.
The numbers in the Sp variable are the level at which each rank is learned, minus 10 (for negative numbers, kept as 1).
-----
/script Pre="Power Word: Fortitude(Rank " Sp={1,2,14,26,38,50} if (UnitLevel("target") ~= nil and UnitIsFriend("player","target")) then for i=6,1,-1 do if (UnitLevel("target") >= Sp[i]) then CastSpellByName(Pre..i..")") return end end end
----
Best Divine Spirit (Works for 1.10)
Cast the appropriate rank of Divine Spirit on yourself or a selected player based upon level.
Change the number in bold to the highest level spell you currently have or want to use.
-----
/script r=4;l={30,42,56,60};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l[i]-10) then CastSpellByName("Divine Spirit(Rank "..i..")");break;end;end
----
Best Shadow Protection (Works for 1.10)
Cast the appropriate rank of Shadow Protection on yourself or a selected player based upon level.
Change the number in bold to the highest level spell you currently have or want to use.
-----
/script r=3;l={30,42,56};if not UnitIsFriend("player","target")then TargetUnit("player");end;t=UnitLevel("target");for i=r,1,-1 do if (t>=l[i]-10) then CastSpellByName("Shadow Protection(Rank "..i..")");break;end;end
----
Shadow of Protection - Party (Need to test for 1.10)
This will cycle through yourself/group and buff the next person that needs Shadow Protection.
Change spell rank as needed.
-----
/script c=CastSpellByName s="Shadow Protection(Rank 3)"function b(u)for i=1,10 do x=UnitBuff(u,i)if x and strfind(x,"adow_AntiSha")then return nil end end TargetUnit(u) return 1 end if b("player")then c(s)end for i=1,4 do if b("party"..i)then c(s)end end
----
Inner Fire & Attack (Need to test for 1.10) (Not working correctly, needs fixing)
Prior to patch 1.10 there used to be a handy addon called AutoInnerFire that checked if Inner Fire was up and cast it every time you moved if it wasnt. Those days are gone so youre going to need to cast it yourself. Realistically, the only time you need your AC maxed out is during melee, so you should link Inner Fire to a melee hotkey. You can pick your stave/mace attack or wand shoot, but since its a PITA to cast spells while youre wanding, Id recommend the stave/mace attack hotkey. Every time you enter melee, hit your attack hotkey and youll automatically cast Inner Fire. Change spell rank as needed.
-----
/script found = false; for i=1,10 do if UnitBuff("player",i) == "InterfaceIconsSpell_Holy_InnerFire" then found = true; end; if not found then CastSpellByName("Inner Fire"); end; end;
/script AttackTarget();
-----
or without attacking
-----
/script var = 0 for i=1,10 do if UnitBuff("target",i) then if string.find(UnitBuff("target",i), "Inner Fire") then var = 1 end end end if var == 0 then CastSpellByName("Inner Fire") end
-----
-----
|