Paladin rotation(proper, imho) 9.0.2

6 posts Page 1 of 1
Vicget
Posts: 3
Joined: 24 Nov 2020, 22:16


If this might be interesting and usefull for someone, here is rotaion version with some adjustments- what I tried to add is : you start using holy power spenders if you have only 1 Crusader strike charge left, use last one only if nothing else to use. And just in case if holy power is less then 3, and all generators on CD you use consencration. Also added Hammer of Wrath not only when target is less hen 20%, but also with Av.Wrath buff up.
Will be happy to use any critics and advices for better perfomance and sintax.
Offcourse- free to use by anyone).


---paladin 9.0.2 rotation
local _, addonTable = ...;

--- @type MaxDps
if not MaxDps then return end

local Paladin = addonTable.Paladin;
local MaxDps = MaxDps;
local UnitPower = UnitPower;
local HolyPower = Enum.PowerType.HolyPower;
local RT = {
Rebuke = 96231,
ShieldOfVengeance = 184662,
AvengingWrath = 31884,
Inquisition = 84963,
Crusade = 231895,
ExecutionSentence = 343527,
ESTalent = 23467,
DivineStorm = 53385,
DivinePurpose = 223817,
TemplarsVerdict = 85256,
HammerOfWrath = 24275,
WakeOfAshes = 255937,
BladeOfJustice = 184575,
Judgment = 20271,
JudgmentAura = 197277,
Consecration = 26573,
CrusaderStrike = 35395,
DivineRight = 277678,
RighteousVerdict = 267610,
EmpyreanPower = 326732,
HolyAvenger = 105809,
Seraphim = 152262,
FinalReckoning = 343721,
SelflessHealer = 85804,
FlashOfLight = 19750,
DivinePower = 286393,
};
setmetatable(RT, Paladin.spellMeta);

function Paladin:Retribution()
local fd = MaxDps.FrameData;
fd.targets = MaxDps:SmartAoe();
local holyPower = UnitPower('player', HolyPower);
fd.holyPower = holyPower;
local cooldown = fd.cooldown;
local buff = fd.buff;
local debuff = fd.debuff;
local talents = fd.talents;
local targets = fd.targets;
local gcd = fd.gcd;
local targetHp = MaxDps:TargetPercentHealth() * 100;
local health = UnitHealth('player');
local healthMax = UnitHealthMax('player');
local healthPercent = ( health / healthMax ) * 100;

-- Cooldowns
MaxDps:GlowCooldown(RT.FlashOfLight, talents[RT.SelflessHealer] and buff[RT.SelflessHealer].count > 3 and healthPercent < 80);

if talents[RT.Crusade] then
MaxDps:GlowCooldown(RT.Crusade, cooldown[RT.Crusade].ready);
else MaxDps:GlowCooldown(RT.AvengingWrath, cooldown[RT.AvengingWrath].ready);
end

if talents[RT.FinalReckoning] and holyPower >=3 then
MaxDps:GlowCooldown(RT.FinalReckoning, cooldown[RT.FinalReckoning].ready);
end

if talents[RT.HolyAvenger] then
MaxDps:GlowCooldown(RT.HolyAvenger, cooldown[RT.HolyAvenger].ready);
end

if buff[RT.DivinePower].up then
return RT.DivineStorm;
end

if talents[RT.Seraphim] and cooldown[RT.Seraphim].ready and holyPower >=3 then
return RT.Seraphim;
end

if talents[RT.ExecutionSentence] and holyPower >= 3 and cooldown[RT.ExecutionSentence].ready then
return RT.ExecutionSentence;
end

if cooldown[RT.WakeOfAshes].ready and holyPower <= 2 then
return RT.WakeOfAshes;
end

if cooldown[RT.HammerOfWrath].ready and holyPower <= 4 and (
targetHp <= 20 or buff[RT.AvengingWrath].up ) then
return RT.HammerOfWrath;
end

if cooldown[RT.BladeOfJustice].ready and holyPower <= 3 then
return RT.BladeOfJustice;
end

if cooldown[RT.Judgment].ready and holyPower <= 4 then
return RT.Judgment;
end

if cooldown[RT.CrusaderStrike].charges >= 2 and holyPower <= 4 then
return RT.CrusaderStrike;
end

if cooldown[RT.CrusaderStrike].charges <= 1 and holyPower <= 2 then
return RT.CrusaderStrike;
end

--consecration
if cooldown[RT.Consecration].ready and (
holyPower <= 2 and ((not cooldown[RT.Judgment].ready) and (not cooldown[RT.BladeOfJustice].ready) and (not cooldown[RT.CrusaderStrike].ready))
) then
return RT.Consecration;
end

if targets <= 2 and holyPower >= 3 then
return RT.TemplarsVerdict;
end

if targets >= 3 and holyPower >= 3 then
return RT.DivineStorm;
end

end
Althim
Posts: 1
Joined: 26 Dec 2020, 19:39


Hi, thanks for this script!
Here is my variation for PVP
You need to be kyrian and talents like 3212333
It combinates burst cooldowns from FinalReckoning+Seraphim+ExecutionSentence+WakeOfAshes+DivineToll every one minute, and AvengingWrath when this burst is fully ready
Code: Select all
---paladin 9.0.2 rotation
local _, addonTable = ...;

--- @type MaxDps
if not MaxDps then return end

local Paladin = addonTable.Paladin;
local MaxDps = MaxDps;
local UnitPower = UnitPower;
local HolyPower = Enum.PowerType.HolyPower;
local RT = {
Rebuke = 96231,
ShieldOfVengeance = 184662,
AvengingWrath = 31884,
Inquisition = 84963,
Crusade = 231895,
ExecutionSentence = 343527,
ESTalent = 23467,
DivineStorm = 53385,
DivinePurpose = 223817,
TemplarsVerdict = 85256,
HammerOfWrath = 24275,
WakeOfAshes = 255937,
BladeOfJustice = 184575,
Judgment = 20271,
JudgmentAura = 197277,
Consecration = 26573,
CrusaderStrike = 35395,
DivineRight = 277678,
RighteousVerdict = 267610,
EmpyreanPower = 326732,
HolyAvenger = 105809,
Seraphim = 152262,
FinalReckoning = 343721,
SelflessHealer = 85804,
FlashOfLight = 19750,
DivinePower = 286393,
DivineToll = 304971,
};
setmetatable(RT, Paladin.spellMeta);

function Paladin:Retribution()
local fd = MaxDps.FrameData;
fd.targets = MaxDps:SmartAoe();
local holyPower = UnitPower('player', HolyPower);
fd.holyPower = holyPower;
local cooldown = fd.cooldown;
local buff = fd.buff;
local debuff = fd.debuff;
local talents = fd.talents;
local targets = fd.targets;
local gcd = fd.gcd;
local targetHp = MaxDps:TargetPercentHealth() * 100;
local health = UnitHealth('player');
local healthMax = UnitHealthMax('player');
local healthPercent = ( health / healthMax ) * 100;

-- Cooldowns
MaxDps:GlowCooldown(RT.FlashOfLight, talents[RT.SelflessHealer] and buff[RT.SelflessHealer].count > 3 and healthPercent < 80);

if cooldown[RT.AvengingWrath].ready and holyPower >=3 and cooldown[RT.FinalReckoning].ready then
return RT.AvengingWrath
end

if talents[RT.Seraphim] and cooldown[RT.Seraphim].ready and cooldown[RT.FinalReckoning].ready and holyPower >=3 then
return RT.Seraphim;
end

if talents[RT.ExecutionSentence] and cooldown[RT.FinalReckoning].ready and holyPower >= 3 and cooldown[RT.ExecutionSentence].ready then
return RT.ExecutionSentence;
end

if cooldown[RT.WakeOfAshes].ready and holyPower <= 2 and buff[RT.Seraphim].up then
return RT.WakeOfAshes;
end

if talents[RT.FinalReckoning] and buff[RT.Seraphim].up and cooldown[RT.FinalReckoning].ready then
return RT.FinalReckoning;
end

if holyPower <=2 and ( not cooldown[RT.FinalReckoning].ready ) and cooldown[RT.DivineToll].ready then
return RT.DivineToll;
end

if talents[RT.HolyAvenger] then
MaxDps:GlowCooldown(RT.HolyAvenger, cooldown[RT.HolyAvenger].ready);
end

if buff[RT.DivinePower].up then
return RT.DivineStorm;
end

if cooldown[RT.HammerOfWrath].ready and holyPower <= 4 and (
targetHp <= 20 or buff[RT.AvengingWrath].up ) then
return RT.HammerOfWrath;
end

if cooldown[RT.BladeOfJustice].ready and holyPower <= 3 then
return RT.BladeOfJustice;
end

if cooldown[RT.Judgment].ready and holyPower <= 4 then
return RT.Judgment;
end

if targets <= 2 and holyPower >= 3 then
return RT.TemplarsVerdict;
end

if targets >= 3 and holyPower >= 3 then
return RT.DivineStorm;
end

if cooldown[RT.CrusaderStrike].ready then
return RT.CrusaderStrike;
end

if cooldown[RT.Consecration].ready then
return RT.Consecration
end

end
zapa
Posts: 1
Joined: 31 Dec 2020, 16:09


Im getting this error when trying to copy / paste this code into a custom rotation:

[string "return local _, addonTable = ...;..."]:1: unexpected symbol near 'local'
tiucaner
Posts: 1
Joined: 04 Jan 2021, 19:24


I'm really enjoying this rotation Vicget. However does it take into account what legendary you have? Like if I get the Mad Paragon or Magistrate's Judgement, will it change the rotation appropriately? Thanks.
Vicget
Posts: 3
Joined: 24 Nov 2020, 22:16


31 Dec 2020, 16:11zapa wrote:
Im getting this error when trying to copy / paste this code into a custom rotation:

[string "return local _, addonTable = ...;..."]:1: unexpected symbol near 'local'
Hey. That's my bad- I haven't checked how to make and add custome rotations, instead I just addited spec lua file. It placed in "game folder/_retail_\Interface\AddOns\MaxDps_Paladin\Specialization\Retribution.lua".
Just replace all text and save.
Vicget
Posts: 3
Joined: 24 Nov 2020, 22:16


04 Jan 2021, 19:28tiucaner wrote:
I'm really enjoying this rotation Vicget. However, does it take into account what legendary you have? Like if I get the Mad Paragon or Magistrate's Judgement, will it change the rotation appropriately? Thanks.
Hey,
I actually made this before covenant abilities were even available, in prepatch, I think.
6 posts Page 1 of 1
drogie łóżka stolik kawowy stół dębowy rozkładany