Retribution Paladin - MMOCrawlerbots | WoW Bot Forum
Important: Please register to use the 20 minutes trial version or buy the bot!
The Bot is ready for World of Warcraft 5.4.7 Build 17956

Follow us on facebook: www.facebook.com/mmocrawlerbots


UpdateLauncher DOWNLOAD
Wow Bot: CrawlerBot Last version: click here State: EU:workingUS: working

  • Retribution Paladin 5 3
Currently:  

Author Topic: Retribution Paladin  (Read 2722 times)

November 26, 2012, 22:48:03 PM

Laany Offline

  • *
  • Join Date: Nov 2012
  • Posts: 41
  • Reputation: 22
    • View Profile
Made a CustomClass for Retribution Paladin.

It supports

v0.01
* Checks if Seal of Light is active if not activate it pre-pull (best survival seal)
* Pulls with Judgment (30 yards range)
* Heals with Flash of Light pre-pull if you are low on health
* Buffs you with WoW's 8th Anniversary experience buff if you dont got it active (will remove this after the 1st of december when the item gets removed)
* Buffs you with Blessing of Might pre-pull
* Buffs you with Sacred Shield if you speced into that, also pre-pull
* Uses Word of Glory if you are below 80% and got atleast 3 Holy Power (easily editable if you know your way around Lua)
* Uses Flash of Light if you are below 80% and Selfless Healer proced and doesn't got 3 Holy Power  (easily editable if you know your way around Lua)
* Uses Guardian of Ancient Kings if you drop below 40% (easily editable if you know your way around Lua)
* Uses Lay on Hands if you get below 20% (easily editable if you know your way around Lua)
* Uses Divine Shield if you get below 10% (easily editable if you know your way around Lua)
* Interrupts hostile spellcasting with Rebuke
* Checks if there are more then 1 attacker if so use Hammer of the Righteous instead of Crusade Strike
* Checks if there are more then 1 attacker if so use Divine Storm instead of Templar's Verdict
* Uses Hammer of Wrath when target drops below 20%

v0.1
* Fixed issue with Hammer of the Righteous SpellID
* Fixed issue that Word of Glory weren't used at 3 stacks of Holy Power and HP below 80%.

You can turn on/off log messages at the top.
You can turn on/off use of AoE ablilties at the top.
You can set minimum HP % for pulling at the top.

Edit file at your own risk, if you have some experience with coding you should easily be able to modify some of the health settings.

TODO

Add tier 6 talents
(Maybe change ability priority?)

Leave feedback in the thread.

Code: [Select]
-- START Configuration settings

UseDebug = true;
MinPullHealth = 95;
UseAoE = true;

-- STOP Configuration settings
function Settings()
FightDist = 5;
PullDist = 30;
end
function DebugLog(message)
if UseDebug then
_Log(message);
end
end
function GetHolyPower()
LuaDoString('holypower = UnitPower("player", 9);')
return tonumber(WowGetLuaValue('holypower'));
end
function GetStance()
LuaDoString('stance = GetShapeshiftForm();');
return tonumber(WowGetLuaValue('stance'));
end
function GetSpellInterrupt()
LuaDoString('GSSpell, _, _, _, _, _, _, _, _ = UnitCastingInfo("target");');
return tostring(WowGetLuaValue('GSSpell'));
end
function GetChannelInterrupt()
LuaDoString('GCSpell, _, _, _, _, _, _, _ = UnitChannelInfo("target");');
return tostring(WowGetLuaValue('GCSpell'));
end
function trim(s)
return (string.gsub(s, '^%s*(.-)%s*$', '%1'));
end
function PullMob(MobAddr)
StartAutoAttack();
while PlayerHpPercent() < MinPullHealth and IsSpellKnown(19750) and IsSpellReady(19750) do
DebugLog('Pre-pull - Flash of Light');
CastSpellByID(19750,0);
if GetAttackerCount() > 0 then
do return end;
end
end
if HasBuff(Player,100951) == false then
DebugLog('Pre-pull - WoW\'s 8th Anniversary');
LuaDoString('if GetItemCount(71134) > 0 and GetItemCooldown(71134) < 1 then UseItemByName("Celebration Package", "player") end');
do return end;
end
if GetStance() ~= 4 and IsSpellKnown(20165) and IsSpellReady(20165) then
DebugLog('Pre-pull - Seal of Light');
CastSpellByID(20165,0);
do return end;
end
if HasBuff(Player,19740) == false and IsSpellKnown(19740) and IsSpellReady(19740) then
DebugLog('Pre-pull - Blessing of Might');
CastSpellByID(19740,0);
do return end;
end
if HasBuff(Player,20925) == false and IsSpellKnown(20925) and IsSpellReady(20925) then
DebugLog('Pre-pull - Sacred Shield');
CastSpellByID(20925,0);
do return end;
end
if IsSpellKnown(20271) and IsSpellReady(20271) then
DebugLog('Pulling - Judgment');
CastSpellByID(20271,MobAddr);
do return end;
end
end
function Fight()
Target = GetAttacker(1);
AoEFight = false;
if GetAttackerCount() > 1 then
AoEFight = true;
end
StartAutoAttack();
if PlayerHpPercent() < 10 and IsSpellKnown(642) and IsSpellReady(642) then
DebugLog('Fight - Divine Shield');
CastSpellByID(642,0);
do return end;
elseif PlayerHpPercent() < 20 and IsSpellKnown(633) and IsSpellReady(633) then
DebugLog('Fight - Lay on Hands');
CastSpellByID(633,0,false);
do return end;
elseif PlayerHpPercent() < 40 and IsSpellKnown(86698) and IsSpellReady(86698) then
DebugLog('Fight - Guardian of Ancient Kings');
CastSpellByID(86698,0,false);
do return end;
elseif PlayerHpPercent() < 80 and GetHolyPower() > 2 and IsSpellKnown(85673) then
DebugLog('Fight - Word of Glory');
CastSpellByID(85673,0);
do return end;
elseif PlayerHpPercent() < 80 and IsSpellKnown(19750) and IsSpellReady(19750) and HasBuff(Player,114250) then
DebugLog('Fight - Flash of Light');
CastSpellByID(19750,0);
do return end;
end
GSSpell, GCSpell = GetSpellInterrupt(), GetChannelInterrupt();
if IsSpellKnown(96231) and IsSpellReady(96231) and (trim(GSSpell) ~= '' or trim(GCSpell) ~= '') then
if trim(GSSpell) ~= '' then
DebugLog('Fight - Rebuke (' .. trim(GSSpell) .. ')');
else
DebugLog('Fight - Rebuke (' .. trim(GCSpell) .. ')');
end
CastSpellByID(96231,Target,false);
do return end;
end
if IsSpellKnown(31884) and IsSpellReady(31884) and AoEFight then
DebugLog('Fight - Avenging Wrath');
CastSpellByID(31884,0,false);
do return end;
end
if IsSpellKnown(24275) and IsSpellReady(24275) and math.floor(GetUnitHpPro(Target)) < 20 then
DebugLog('Fight - Hammer of Wrath');
CastSpellByID(24275,Target);
do return end;
end
if ((GetHolyPower() >= 3 and IsSpellKnown(53385) and IsSpellReady(53385)) or HasBuff(Player,90174)) and AoEFight and UseAoE then
DebugLog('Fight - Divine Storm');
CastSpellByID(53385,Target);
do return end;
elseif ((GetHolyPower() >= 3 and IsSpellKnown(85256) and IsSpellReady(85256)) or HasBuff(Player,90174)) and not AoEFight then
DebugLog('Fight - Templar\'s Verdict');
CastSpellByID(85256,Target);
do return end;
end
if AoEFight and IsSpellKnown(53595) and IsSpellReady(53595) and UseAoE then
DebugLog('Fight - Hammer of the Righteous');
CastSpellByID(53595,Target);
do return end;
elseif AoEFight == false and IsSpellKnown(35395) and IsSpellReady(35395) then
DebugLog('Fight - Crusader Strike');
CastSpellByID(35395,Target);
do return end;
end
if IsSpellKnown(879) and IsSpellReady(879) then
DebugLog('Fight - Exorcism');
CastSpellByID(879,Target);
do return end;
end
if IsSpellKnown(20271) and IsSpellReady(20271) then
DebugLog('Fight - Judgment');
CastSpellByID(20271,Target);
do return end;
end
end

Also be sure to check out my Arms Warrior CustomClass here
« Last Edit: November 27, 2012, 22:59:31 PM by Laany »

November 26, 2012, 23:54:12 PM
Reply #1

Drac0 Offline

  • ***
  • Join Date: Oct 2012
  • Posts: 121
  • Reputation: 24
    • View Profile
Gonna test it but... Excelent work m8!  8)
If u like my Profile or Guide  please +Rep ;] cheers

November 27, 2012, 07:50:36 AM
Reply #2

Laany Offline

  • *
  • Join Date: Nov 2012
  • Posts: 41
  • Reputation: 22
    • View Profile
Gonna test it but... Excelent work m8!  8)

Let me know if you find anything you miss or you think needs fixing!

Cheers!

November 27, 2012, 08:08:09 AM
Reply #3

Athermal Online

  • *
  • *
  • Join Date: Oct 2012
  • Posts: 795
  • Reputation: 237
  • German Noob
    • View Profile
I like this CC. Works really good for me. Thanks
You like it then give +rep for it

November 27, 2012, 13:17:52 PM
Reply #4

Athermal Online

  • *
  • *
  • Join Date: Oct 2012
  • Posts: 795
  • Reputation: 237
  • German Noob
    • View Profile
But some little Problems:
- i get in the most fights no heal just Lay on Hands
- almost no cast of Judgment (but would be nice for 3 stacks of Selfless Healer and instant Flash of Light)
Code: [Select]
[13:18:46] - Fight!
[13:18:46] - Fight...
[13:18:47] - Fight - Exorcism
[13:18:48] - Fight - Rebuke (Nadeln)
[13:18:54] - Fight - Hammer of Wrath
[13:19:03] - Fight - Exorcism
[13:19:04] - Fight - Divine Storm
[13:19:08] - Fight - Hammer of Wrath
[13:19:11] - Fight - Crusader Strike
[13:19:12] - Looting...
« Last Edit: November 27, 2012, 13:20:38 PM by Athermal »
You like it then give +rep for it

November 27, 2012, 14:18:03 PM
Reply #5

Athermal Online

  • *
  • *
  • Join Date: Oct 2012
  • Posts: 795
  • Reputation: 237
  • German Noob
    • View Profile
i added
Code: [Select]
if IsSpellKnown(20271) and IsSpellReady(20271) then
DebugLog('Fight - Judgment');
CastSpellByID(20271,Target);
do return end;
end

and replaced spellID of Hammer of the Righteous to 53595.

Now im really happy ;)

But how can i get Number of Selfless Healer for instant FoL at all time?
You like it then give +rep for it

November 27, 2012, 17:22:47 PM
Reply #6

Drac0 Offline

  • ***
  • Join Date: Oct 2012
  • Posts: 121
  • Reputation: 24
    • View Profile
Ye same for me

lack of healing
script should check buffs (mastery/kings) also in fight not only in pullmob
If u like my Profile or Guide  please +Rep ;] cheers

November 27, 2012, 22:57:02 PM
Reply #7

Laany Offline

  • *
  • Join Date: Nov 2012
  • Posts: 41
  • Reputation: 22
    • View Profile
But some little Problems:
- i get in the most fights no heal just Lay on Hands
- almost no cast of Judgment (but would be nice for 3 stacks of Selfless Healer and instant Flash of Light)
Code: [Select]
[13:18:46] - Fight!
[13:18:46] - Fight...
[13:18:47] - Fight - Exorcism
[13:18:48] - Fight - Rebuke (Nadeln)
[13:18:54] - Fight - Hammer of Wrath
[13:19:03] - Fight - Exorcism
[13:19:04] - Fight - Divine Storm
[13:19:08] - Fight - Hammer of Wrath
[13:19:11] - Fight - Crusader Strike
[13:19:12] - Looting...

The priority of spells is

1. Hammer of Wrath
2. Templar's Verdict/Divine Storm depending if it's a AoE fight or not
3. Crusade Strike/Hammer of the Righteous depending if it's a AoE fight or not
4. Exorcism
5. Judgment

I'm by no means 100% sure that this is the best priority list, if anyone else has some better idea please let me know and i'll might update the CustomClass.

November 27, 2012, 23:02:22 PM
Reply #8

Laany Offline

  • *
  • Join Date: Nov 2012
  • Posts: 41
  • Reputation: 22
    • View Profile
Ye same for me

lack of healing
script should check buffs (mastery/kings) also in fight not only in pullmob

Should be fixed now that Word of Glory works.

Problem with buffing mid-fight is that the cycle to next spell can be a little long if you have 3-4 mobs on you, you might die, i belive checking pre-pull if you got the buffs is sufficent but if you want you can just put

Code: Lua
  1. if HasBuff(Player,19740) == false and IsSpellKnown(19740) and IsSpellReady(19740) then
  2. DebugLog('Fight - Blessing of Might');
  3. CastSpellByID(19740,0);
  4. do return end;
  5. end

Inside your Fight() function at the top or at the priority you would like and it will check it even mid-fight.

November 27, 2012, 23:05:22 PM
Reply #9

Laany Offline

  • *
  • Join Date: Nov 2012
  • Posts: 41
  • Reputation: 22
    • View Profile
i added
Code: [Select]
if IsSpellKnown(20271) and IsSpellReady(20271) then
DebugLog('Fight - Judgment');
CastSpellByID(20271,Target);
do return end;
end

and replaced spellID of Hammer of the Righteous to 53595.

Now im really happy ;)

But how can i get Number of Selfless Healer for instant FoL at all time?

I'm not totally sure that waiting for 3 stacks is always possible for descent survivablity... anyway to check your stacks of Selfless Healer here's the code

Code: Lua
  1. WowLuaDoString('_,_,_,count= UnitAura("Player", "Selfless Healer")');
  2. count = tonumber(WowGetLuaValue("count"));

the numeric count of Selfless Healer stacks will be in the count variable...

November 27, 2012, 23:06:30 PM
Reply #10

Laany Offline

  • *
  • Join Date: Nov 2012
  • Posts: 41
  • Reputation: 22
    • View Profile
Updated the class with some fixes regarding Hammer of the Righteous and Word of Glory so healing should no longer be an issue on AoE pulls.

Thanks for the feedback regarding the bugs

Hope you all enjoy the CustomClass otherwise and again sorry for the bugs!

Enjoy!

November 28, 2012, 00:14:45 AM
Reply #11

Drac0 Offline

  • ***
  • Join Date: Oct 2012
  • Posts: 121
  • Reputation: 24
    • View Profile
I dont know that u can fix it but script sometimes wait a way too long to cast judgement or crusader strike... is it doable?
If u like my Profile or Guide  please +Rep ;] cheers

November 28, 2012, 02:34:54 AM
Reply #12

Athermal Online

  • *
  • *
  • Join Date: Oct 2012
  • Posts: 795
  • Reputation: 237
  • German Noob
    • View Profile
its a good update but infight check for blessing is needed because only when i grind i precheck.
i added
Code: [Select]
if IsSpellKnown(19740) and IsSpellReady(19740) and HasBuff(Player,19740) == false then
DebugLog('Fight - Blessing of Might');
CastSpellByID(19740,0);
do return end;
end
to the file.
You like it then give +rep for it

November 28, 2012, 08:15:40 AM
Reply #13

Laany Offline

  • *
  • Join Date: Nov 2012
  • Posts: 41
  • Reputation: 22
    • View Profile
its a good update but infight check for blessing is needed because only when i grind i precheck.
i added
Code: [Select]
if IsSpellKnown(19740) and IsSpellReady(19740) and HasBuff(Player,19740) == false then
DebugLog('Fight - Blessing of Might');
CastSpellByID(19740,0);
do return end;
end
to the file.

True... i'll add a condition that he will only rebless if there is less then 2 attackers, that way survivablity wont be an issue i think.

November 28, 2012, 08:16:25 AM
Reply #14

Laany Offline

  • *
  • Join Date: Nov 2012
  • Posts: 41
  • Reputation: 22
    • View Profile
I dont know that u can fix it but script sometimes wait a way too long to cast judgement or crusader strike... is it doable?

Hmm i haven't noticed that but i will look into it.

 

* Recent Topics

* Useful Stuff