Pal Macro

PeteSampras

Your UI is fucking you. Stop using it.
Joined
Dec 12, 2007
Messages
3,956
Reaction score
49
Points
38
Pal Macro v1.0

Initial Notes:
There have been many requests for a paladin macro and I havent seen one yet, so here you go. This is first beta try of the macro so there are likely several issues. Please post on the thread if you find any and if you know how to correct that, please post that too.

I've set the buffs to all level 90 Rk. II so you may need to change those to fit your actual spell line up.
I've also tried to add in as much T4 clicky gear as I could find as default. Your actual items/buffs will vary. Buffs and item names MUST MATCH EXACTLY or it won't work.

Known issues: Mq2Melee settings will overwrite all these settings such as cast stuns/stick/aggro based on those settings. So you should probably set your stickrange=30 or so and make sure your challengefor doesnt aggro from more than ~50 range. Otherwise just make sure the plugin and macro dont have conflicting settings or it wont do what you want correctly.

Still needs testing:
Nukes
Mark
Self target designating

Requirements:
mq2cecho, mq2bagwindow, spell_routines.inc, mq2cast, mq2eqbc, mq2debuffs, mq2moveutils, mq2melee, Mob_Ignore_List.ini, <yourcharactername>_PAL.ini

Related Files:
You must place this macro, Mob_Ignore_List.ini, and <yourcharactername>_PAL.ini in the "/mq2/macro/" folder.

How to use:
/mac AssistName (if not default) AssistAmount (if not default)
Option 1: /mac pal
Option 2: /mac pal PeteSampras
Option 3: /mac pal PeteSampras 95
Option 4: /mac pal self

Option 4 should have to figure out your own targets based on XTarget list, choosing named mobs first. I have done almost no testing on this, so it may not work at all yet.

Things you need to setup:
You should only have to define the spells you want to use in your <yourcharactername>_PAL.ini and never touch inside this .mac
The Mob_Ignore_List.ini is designed to add mobs to certain kind of immunity lists without lumping them into a generic immune list.
-I made it separate from the .ini so that you are able to reference this list via other macros/toons if you so choose. If you have already downloaded it, you do not need to download it again.

Special Commands:
/anchor - sets new leash point to your current location
 

Attachments

  • CharName_PAL.ini
    4.2 KB · Views: 56
  • Mob_Ignore_List.ini
    14 bytes · Views: 48
  • Pal.mac
    54.3 KB · Views: 50
Last edited:
I really like this one Pete. The self targeting aspect part of it doesn't seem to work. The only thing I am having issue with is that when puller bring mob to camp snare the pally runs way out from camp to aggro and this is an issue with closed in areas and also when he stuns he knocks mob out and never pulls back. Any ideas would be great since this works so much better than the modified sk one I have been using.
 
That is listed under the known issues. your stick range is set out too far. you need to mod your mq2moveutils/mq2melee so that you dont stick so far. id suggest a stickrange of no more than 30 to 40.

I have a new add/aggro detection routine I have made, but its not incorporated into the paladin macro yet. maybe I will get to it this week.
 
Last edited:
Worked nice for me to dps/chain stun and watch it fly, did a couple swaps and took divine stun out, but for most part it was nice. Out aggrod my warrior friend without a taunt.

Only downside was never got too much healing so far, but maybe needs to be set for PC instead of named.
 
Ya, currently the heals are set up to only do non-target required heals. So Penitence should be set as your first self heal, and Aurora should be second probably. Use wave as first group heal and Aurora as second again since there is no recast. That is how I have it set up as default and it heals ok on testing but its not perfect. Single target heals wont work atm unless i change a few things around. I dont even see a scenario that I mem a single target heal on pal though thanks to Hand of Piety and Lay of Hands/Gift.

It should not only be healing on named though. if it is then I need to change some stuff around. So please let me know if that is the case.
 
I'll give this a run on my paladin, since I just got him HOT with the station cash weekend and give you some feedback. Looks useful though.
 
I got some errors testing this today. I thought I had log on but didn't. Will post when I can.
 
I figured out the problem with the group healing. I used a less than instead of a greater than type of argument.

I will wait until i get around to actually testing the targeting for figure out his own targets before i post that version of the macro. In the mean time, here is the heal fix sub and i added a couple of lines if you want to actually announce heals you can add the new routine at the bottom.


This fixes group heals (replace the current Sub CheckHP):
Code:
Sub CheckHP
/declare i int local
/declare stop int local
    /for i 1 to ${Group} {
    /if (${Group.Member[${i}].ID} && ${Group.Member[${i}].PctHPs}<90) {
        /varset stop 1
        }
    }
   /next i
/if (!${stop}) /call Interrupt
/return



This is for fluff to announce said heals:
Code:
Sub HealGroup
/if (${Me.Casting.ID} || ${Me.Moving} || ${Me.Invis} || ${Me.Feigning}) /return

/declare i int local
    /for i 1 to ${Group} {
    /if (${Group.Member[${i}].ID} && ${Group.Member[${i}].PctHPs}<${UseHoPAt} && ${Group.Member[${i}].PctHPs}>0 && ${Spawn[${Group.Member[${i}].ID}].Distance}<50 && ${Me.AltAbilityReady[Hand of Piety]} && ${UseHoP}) {
        /delay 2s !${Me.Casting.ID}
        /call Cast "Hand of Piety" alt
        /docommand /${MyChannel} Casting Hand of Piety
        }
    /if (${Group.Member[${i}].ID} && ${Group.Member[${i}].PctHPs}<${GroupHealAt1} && ${Group.Member[${i}].PctHPs}>0 && ${Spawn[${Group.Member[${i}].ID}].Distance}<50 && ${Me.SpellReady[${GroupHeal1}]} && ${UseGroupHeal1}) {
        /delay 4s !${Me.Casting.ID}
        /call Cast "${GroupHeal1}" ${GroupHealGem1} 3s CheckHP
        /delay 4s !${Me.Casting.ID}    
        /docommand /${MyChannel} Casting ${GroupHeal1}
        }
    /if (${Group.Member[${i}].ID} && ${Group.Member[${i}].PctHPs}<${GroupHealAt2} && ${Group.Member[${i}].PctHPs}>0 && ${Spawn[${Group.Member[${i}].ID}].Distance}<50 && ${Me.SpellReady[${GroupHeal2}]} && ${UseGroupHeal2}) {
        /delay 4s !${Me.Casting.ID}    
        /call Cast "${GroupHeal2}" ${GroupHealGem2} 3s CheckHP
        /delay 4s !${Me.Casting.ID}    
        /docommand /${MyChannel} Casting ${GroupHeal2}
        }
    }
   /next i
/return
 
I moved to modular macro style so I can stop updating 10 different macros. A newer and more robust version of this macro is available on the "Macro Builder" thread in the snippets forums located:

http://www.mmobugs.com/forums/everq...-macro-builder-build-or-modify-any-macro.html

It is mostly the same ini set up and similar commands, but it has a bunch of new features such as campfire management, pulling ability, splash on command, radiant cure on command, brells on command, autofollow/follow on command for MQ2Navigation users, merc management, single/group/self/balance healing and some other nifty features. It may take a little reading through the .incs for you to see what it can do, but at a minimum it should do the exact same as this one for you without any reading or changing of commands.

I will maintain future copies of the paladin macro on that thread. If you have any contributions or examples you'd like added, please let me know.