Prot Pally Tanking 6.0.3 - Gnome Sequencer - With Guide

Updated Jan. 17- All information updated to correct issues with recent hotfixes as well as TheckPhD research - Healme

Recent hotfixes have nerfed seal of truth and seraphim. Based on the reserach conducted by TheckPhD I have switched up all my stat priorities, gemming and enchants. I now only use one macro and one talent set.

Seal Choices -

Seal of Righteousness - DPS - Seal i’m always in
Seal of Insight - Pitiful healing, not worth it in my opinion
Seal of Truth - Seal of Righteousness does more DPS, even single target

Talent Choices -

Level 45 - Sacred Shield
Level 75 - Sanctified Wrath
Level 90 - Execution Sentence
Level 100 - Seraphim

Stat Weights -

To easily use the stat weights, you can input them at wowhead to see how gear choices rank for you, you can also input them into the Pawn addon to get ingame information and see what the best item is for you. Anything not listed below is a 0 weight other than gem socket, I put gem socket as 6 because it is almost always worth it as you can gem haste.

Main Hand DPS: 0.2
Bonus Armor: 1
Strength: 0.75
Armor: 0.6
Haste (up to 50%): 0.6
Mastery: 0.55
Stamina: 0.5
Critical Strike: 0.45
Versatility: 0.44
Multistrike: 0.4
Attack Power: 0.2
Haste (above 50%): 0.1

Glyphs -

Alabaster Shield - DPS Gain
Divine Protection - Adds physical DR component
Final Wrath - Significant DPS boost during burn phase

Prot Macro -

Holy Wrath, CS/HotR, and SS/Judgment are the top priorities. Holy wrath has the longest CD and highest DPS, so we want it at the top. As usual, the mod key swaps between single target and 3+ target skill use.

Light’s Hammer is the better choice, however it does not work with full macros like this, so we instead use the 2nd place talent, execution sentence. While it can be used for self healing, it is a very strong DPS skill. You could opt to put a mod key on it to switch between casting @target and casting @player if you like.

Sequences['Prot'] = {
StepFunction = [[
	limit = limit or 1
	if step == limit then
		limit = limit % #macros + 1
		step = 1
	else
		step = step % #macros + 1
	end
]],
PreMacro = [[
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
]],
	'/cast Holy Wrath',
	'/cast [nomod] Crusader Strike',
	'/cast [mod] Hammer of the Righteous',	
	'/castsequence Sacred Shield,Judgment,Judgment,Judgment',
	"/cast Avenger's Shield",
	'/cast execution sentence',
	'/cast Hammer of Wrath',
	'/cast Consecration',
PostMacro = [[
/castsequence Seraphim, Shield of the Righteous, Shield of the Righteous, Shield of the Righteous
/cast divine protection
/startattack
/use [combat]13
/use [combat]14
/script UIErrorsFrame:Hide();
/console Sound_EnableSFX 1
]],
}

I changed from execution sentence to Holy Prism as it ended up producing more self heals in the same time span as well as a decent boost to AoE DPS.

Sequences['ProtST'] = {
StepFunction = [[
	limit = limit or 1
	if step == limit then
		limit = limit % #macros + 1
		step = 1
	else
		step = step % #macros + 1
	end
]],
PreMacro = [[
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
]],
	'/castsequence reset=20 Sacred Shield,Crusader Strike,Crusader Strike,Crusader Strike,Crusader Strike,Crusader Strike,Crusader Strike',
	'/cast Judgment',
	'/cast Holy Wrath',
	"/cast Avenger's Shield",
	'/cast [@player] Holy Prism',
	'/cast Hammer of Wrath',
	'/cast Consecration',
PostMacro = [[
/cast Shield of the Righteous
/startattack
/script UIErrorsFrame:Hide();
/console Sound_EnableSFX 1
]],
}
Sequences['ProtAoE'] = {
StepFunction = [[
	limit = limit or 1
	if step == limit then
		limit = limit % #macros + 1
		step = 1
	else
		step = step % #macros + 1
	end
]],
PreMacro = [[
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
]],
	'/castsequence reset=20 Sacred Shield,Hammer of the Righteous,Hammer of the Righteous,Hammer of the Righteous,Hammer of the Righteous,Hammer of the Righteous',
	'/cast Judgment',
	'/cast Consecration',
	'/cast Holy Wrath',
	"/cast Avenger's Shield",
	'/cast [@player] Holy Prism',
	'/cast Hammer of Wrath',
	'/cast Consecration',
PostMacro = [[
/cast Shield of the Righteous
/startattack
/script UIErrorsFrame:Hide();
/console Sound_EnableSFX 1
]],
}

I’ve now modified it to a single macro for both Single Target and AOE using any modifier key. Single target, just spam away, AOE, hold any mod key and spam away.

To achieve this functionality I had to move the SS to judgment rather than CS and HotR to avoid extra casts, wasting GCDs. Because of SS being tied to Judgment it was given top priority, however this didn’t make a difference in the DPS, it actually showed as being high, however the difference was well within the margin of error.

This macro is producing 98% uptime on SS and about 48% uptime on SotR while maintaining the optimal survivability rotation as per icy veins, as a bonus, combining to a single macro made the macro more effecient as it now keeps the current position in the StepFunction when switching between AOE and ST. (3 or more targets should be AOE, 2 or less is ST for optimal DPS)

I’m still looking for ways to improve the macro, or any feedback on it. Please let me know what you think!

Sequences['Prot'] = {
StepFunction = [[
	limit = limit or 1
	if step == limit then
		limit = limit % #macros + 1
		step = 1
	else
		step = step % #macros + 1
	end
]],
PreMacro = [[
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
]],
	'/castsequence Sacred Shield,Judgment,Judgment,Judgment,Judgment,Judgment',
	'/cast [nomod] Crusader Strike',
	'/cast [mod] Hammer of the Righteous',	
	'/cast Holy Wrath',
	"/cast Avenger's Shield",
	'/cast [@player] Holy Prism',
	'/cast Hammer of Wrath',
	'/cast Consecration',
PostMacro = [[
/cast Shield of the Righteous
/startattack
/script UIErrorsFrame:Hide();
/console Sound_EnableSFX 1
]],
}

Added Divine Protection on CD. Really can’t think of any other way to improve the automation of this spec in a tanking role. The only downside i’ve found so far is that there is no way to auto-reset the macro so sometimes your SS comes in late, though that is easily remedied by pre-casting before new encounters.

Sequences['Prot'] = {
StepFunction = [[
	limit = limit or 1
	if step == limit then
		limit = limit % #macros + 1
		step = 1
	else
		step = step % #macros + 1
	end
]],
PreMacro = [[
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
]],
	'/castsequence Sacred Shield,Judgment,Judgment,Judgment,Judgment',
	'/cast [nomod] Crusader Strike',
	'/cast [mod] Hammer of the Righteous',	
	'/cast Holy Wrath',
	"/cast Avenger's Shield",
	'/cast [@player] Holy Prism',
	'/cast Hammer of Wrath',
	'/cast Consecration',
PostMacro = [[
/cast Shield of the Righteous
/cast Divine Protection
/startattack
/script UIErrorsFrame:Hide();
/console Sound_EnableSFX 1
]],
}

This is what I’m using. I’m not sure what that if then statement is doing yet. But this seems pretty decent. Perhaps you could modify it a little.

This macro is intended as a Single Target and AoE. Dependant on Seal

Sequences['PP'] = {
    PreMacro = [[
/targetenemy [noharm][dead]
    ]],
    '/cast Hammer of Wrath',
    '/cast Judgment',
    '/cast Exorcism',
    '/cast [stance:1] Crusader Strike; hammer of the righteous',
    '/cast consecration',
    '/cast [stance:2/3] holy wrath',
    PostMacro = [[
/cast Shield of the righteous
/use [combat]13
/use [combat]14
/startattck
    ]],
}

[quote quote=19221]I changed from execution sentence to Holy Prism as it ended up producing more self heals in the same time span as well as a decent boost to AoE DPS.

Sequences['ProtST'] = {
StepFunction = [[
	limit = limit or 1
	if step == limit then
		limit = limit % #macros + 1
		step = 1
	else
		step = step % #macros + 1
	end
]],
PreMacro = [[
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
]],
	'/castsequence reset=20 Sacred Shield,Crusader Strike,Crusader Strike,Crusader Strike,Crusader Strike,Crusader Strike,Crusader Strike',
	'/cast Judgment',
	'/cast Holy Wrath',
	"/cast Avenger's Shield",
	'/cast [@player] Holy Prism',
	'/cast Hammer of Wrath',
	'/cast Consecration',
PostMacro = [[
/cast Shield of the Righteous
/startattack
/script UIErrorsFrame:Hide();
/console Sound_EnableSFX 1
]],
}
Sequences['ProtAoE'] = {
StepFunction = [[
	limit = limit or 1
	if step == limit then
		limit = limit % #macros + 1
		step = 1
	else
		step = step % #macros + 1
	end
]],
PreMacro = [[
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
]],
	'/castsequence reset=20 Sacred Shield,Hammer of the Righteous,Hammer of the Righteous,Hammer of the Righteous,Hammer of the Righteous,Hammer of the Righteous',
	'/cast Judgment',
	'/cast Consecration',
	'/cast Holy Wrath',
	"/cast Avenger's Shield",
	'/cast [@player] Holy Prism',
	'/cast Hammer of Wrath',
	'/cast Consecration',
PostMacro = [[
/cast Shield of the Righteous
/startattack
/script UIErrorsFrame:Hide();
/console Sound_EnableSFX 1
]],
}

[/quote]

how do i get macro to work, when i copy paste, what characters must i remove

[quote quote=19248]This is what I’m using. I’m not sure what that if then statement is doing yet. But this seems pretty decent. Perhaps you could modify it a little.

This macro is intended as a Single Target and AoE. Dependant on Seal

Sequences['PP'] = {
    PreMacro = [[
/targetenemy [noharm][dead]
    ]],
    '/cast Hammer of Wrath',
    '/cast Judgment',
    '/cast Exorcism',
    '/cast [stance:1] Crusader Strike; hammer of the righteous',
    '/cast consecration',
    '/cast [stance:2/3] holy wrath',
    PostMacro = [[
/cast Shield of the righteous
/use [combat]13
/use [combat]14
/startattck
    ]],
}

[/quote]

That seems more like a DPS only macro. The intent of this one is to handle the entire tanking rotation outside of 3min cooldowns. Crusader strike is your single target attack, hammer of the righteous is your AOE, not sure why they are on the same line. As far as stances, you would always be running insight in a group tank role.

You should be able to copy paste this one directly without removing anything.

Sequences['Prot'] = {
StepFunction = [[
	limit = limit or 1
	if step == limit then
		limit = limit % #macros + 1
		step = 1
	else
		step = step % #macros + 1
	end
]],
PreMacro = [[
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
]],
	'/castsequence Sacred Shield,Judgment,Judgment,Judgment,Judgment',
	'/cast [nomod] Crusader Strike',
	'/cast [mod] Hammer of the Righteous',	
	'/cast Holy Wrath',
	"/cast Avenger's Shield",
	'/cast [@player] Holy Prism',
	'/cast Hammer of Wrath',
	'/cast Consecration',
PostMacro = [[
/cast Shield of the Righteous
/cast Divine Protection
/startattack
/script UIErrorsFrame:Hide();
/console Sound_EnableSFX 1
]],
}

One of the best tanking macros that I have come across.

I can see a “?” icon on the macro bar at times, i might have different talent than yours, would you mind posting the talent that you use with this macro?

I already have sacred shield and was wondering do you pick up that cooldown that lowers holy wraths cd by 50% and also allows it to reward a holy power?

Also you mention that you have a razer device with a 0.4 push delay, can you go into more details on how you set that up?

How can i set up the ideal rotation timer (do not have razer products)?

I should of mentioned but my Paladin is only 93 ATM, and the purpose of the macro is to kill as quickly as possible. I tried ret but found it to be a little on the squishy side.

/cast [stance:1] Crusader Strike; hammer of the righteous
/cast [stance:2/3] holy wrath

These 2 lines were so I didn’t have to write a separate macro for AoE. If I’m in Seal of Truth (Stance:1), the macro would cast Crusader Strike. If I’m in any other seal it would cast Hammer of the righteous and Holy Wrath.

Sure it isn’t optimal. But I thought I’d share it anyway.

[quote quote=19280]One of the best tanking macros that I have come across.

I can see a “?” icon on the macro bar at times, i might have different talent than yours, would you mind posting the talent that you use with this macro?

I already have sacred shield and was wondering do you pick up that cooldown that lowers holy wraths cd by 50% and also allows it to reward a holy power?

Also you mention that you have a razer device with a 0.4 push delay, can you go into more details on how you set that up?

How can i set up the ideal rotation timer (do not have razer products)?
[/quote]

My talents are 3131213. I just use the razer device for the hardware spam macro. If you don’t use a hardware spam macro, just spam the hell out of it. Faster the better. If you find you can’t spam it fast enough, remove the step function at the top, it will lower the efficiency, but still work.

Hey Daniel, Thanks for this awesome macro. I would like to know if you can post your hardware macro by any chance? I have an razor keyboard and would like to try it out.New to macros and all but if i have something to read and start from it helps me figure things out. Thanks again for your work.

And also do you have anything like this for ret? I haven’t seen anything so far here for ret that works this well.

I built one for ret, however with the currect state of the spec, I was able to get comparable, if not slightly better DPS as prod by just switching to seal of truth and using this macro. I no longer have the macro I built for Ret. SotR damage is extremely strong and makes up for being in prot.

For the hardware macro, simply download the latest version of synapse. Record the macro, one key stroke. It should be something like, down, wait, up. Add another wait to the end, and edit both waits to .04.

Assign the macro to a key, set it to toggle on and off with a press of the key. Then put the macro in-game on the hotkey you assigned to the razor macro.

The ingame hotkey and the key to toggle the razer macro on and off need to be different. Mine is ] in-game and I toggle it on and off with mouse button 3.

Cool, sounds good I will give that a try. Thanks.

Good sequence seems to work fine for me

[quote quote=19234]Added Divine Protection on CD. Really can’t think of any other way to improve the automation of this spec in a tanking role. The only downside i’ve found so far is that there is no way to auto-reset the macro so sometimes your SS comes in late, though that is easily remedied by pre-casting before new encounters.

Sequences['Prot'] = {
StepFunction = [[
	limit = limit or 1
	if step == limit then
		limit = limit % #macros + 1
		step = 1
	else
		step = step % #macros + 1
	end
]],
PreMacro = [[
/console Sound_EnableSFX 0
/targetenemy [noharm][dead]
]],
	'/castsequence Sacred Shield,Judgment,Judgment,Judgment,Judgment',
	'/cast [nomod] Crusader Strike',
	'/cast [mod] Hammer of the Righteous',	
	'/cast Holy Wrath',
	"/cast Avenger's Shield",
	'/cast [@player] Holy Prism',
	'/cast Hammer of Wrath',
	'/cast Consecration',
PostMacro = [[
/cast Shield of the Righteous
/cast Divine Protection
/startattack
/script UIErrorsFrame:Hide();
/console Sound_EnableSFX 1
]],
}

[/quote]

Forgive my ignorance but how do i add a mod key? i will use q to spam the macro but shift q to use the aoe,so should i write shift in the box like this [modshift]? thanks for the hard work really appreciate it :slight_smile:

when you don’t specify a mod key, like this example… Any mod key will work… shift, cntrl, alt

But make sure you Unbind, the shift Q from your key binds otherwise the mod won’t work!