Pet Powerleveling

Post your completed (working) macros here. Only for macros using MQ2Data syntax!

Moderator: MacroQuest Developers

Sorry
orc pawn
orc pawn
Posts: 20
Joined: Thu Oct 26, 2006 6:18 pm

Pet Powerleveling

Post by Sorry » Thu Oct 26, 2006 6:30 pm

I use this little macro to powerlevel my utility alts. I have tried to make it as simple as possible but I am still a novice macro scripter. Any suggested improvements to the code are welcome. This macro is used with a high level character to power level a low level character. No special abilities are needed (like a pet focus or special pet AAs). I have tested it on a Mage and a Necromancer and both work perfectly.

To use this macro, you must find a spot near a large number of mobs where you and your alt can stand in safety. The mobs must be too low level to give the high level experience (so that the pet will agro only one at a time). The alt must be close enough to the level of your high level character to still get experience when grouped.

The macro works by telling the pet to attack the nearest mob. When the pet gets too low on health, the macro enters a regen function. That function just waits until the pet has finished killing the current mob and has regened before sending it back in to fight some more. The macro also casts a pet buff spell at that point (set to spell slot 2 currently).

Considering what a good job this macro does at killing trash mobs within agro range of your pet, it is surprisingly simple. I have let it run for days. The experience is slow but reliable. The hardest part using this macro is to find a good location to stand in. You may want to change the /target npc to /target npc <name> where <name> is part of the name of the mob you want your pet killing. You don't want your pet attacking mobs that are too high level or give bad faction.

Code: Select all

| PetPL.mac 
| Kill mobs with pet so alt can leach exp
| Regen and buff the pet when its HP is low
Sub Main 
   :loop
   /target npc
   /delay 10 
   /pet attack
   /if (${Me.Pet.PctHPs}<75) /call RegenPet
   /if (!${Me.Sitting}) /goto :loop 
/return

Sub RegenPet
   /pet back off
   :regenloop
   /if (${Me.Sitting}) /endmacro
   /if (${Me.Pet.PctHPs}<100) /goto :regenloop
   /cast 2
   /delay 50
/return
Note: The /pet back off will just clear the pet's agro list. The mob it is currently fighting will re-agro the pet on its next hit. This way the pet will return once the current mob is dead. If the current mob is a caster, it may follow your pet back to you after casting a spell. You may want to tell your pet to guard a point a short distance away so that the mob won't bother you or your alt.
Last edited by Sorry on Thu Oct 26, 2006 10:43 pm, edited 4 times in total.

JimJohnson
a grimling bloodguard
a grimling bloodguard
Posts: 1299
Joined: Sat Oct 11, 2003 6:00 am

Post by JimJohnson » Thu Oct 26, 2006 9:06 pm

use

Code: Select all

 your macro [./code] without the .

Sorry
orc pawn
orc pawn
Posts: 20
Joined: Thu Oct 26, 2006 6:18 pm

Post by Sorry » Thu Oct 26, 2006 10:33 pm

Done!

User avatar
KungFuHamster
a snow griffon
a snow griffon
Posts: 337
Joined: Wed Oct 02, 2002 7:47 am

Post by KungFuHamster » Fri Oct 27, 2006 2:31 am

This kind of macro is ideal for newbies to learn from. Simple and to the point. They can easily absorb everything that's going on in the macro without being overwhelmed.

Sorry
orc pawn
orc pawn
Posts: 20
Joined: Thu Oct 26, 2006 6:18 pm

Post by Sorry » Sat Oct 28, 2006 6:37 pm

Here is my new and improved pet power level macro. The difference is that the macro will now attempt to feing or evac your character if you die. Load your best feign death or evac/gate spell in spell slot 1 and your pet buff spell in slot 2 before running this macro.

Code: Select all

| PetPL2.mac 
| Kill spectral mobs with pet so alt can leach exp
| Regen and buff the pet when its HP is low
| If the pet dies, Try to feign death or evac.
#event BadFeign "(#1#) has fallen to the ground."

Sub Main 
   :loop
   |Tell your pet to attack the nearest mob in the area.
   |Add a partial mob name here to selectively kill mobs.
   /target npc
   /delay 10 
   /pet attack

   |If the mob is low on health, stop attacking things and
   |let the pet regen and toss in a buff spell
   /if (${Me.Pet.PctHPs}<75) /call RegenPet

   |If you are sitting or your pet is dead, it's time to bail.
   /call StatusCheck
/goto :loop 


Sub RegenPet
   |Tell the pet to forget about any other mobs you have
   |told it to attack. The pet will re-agro its current
   |target the next time it gets hit.
   /pet back off

   |Wait for the pet to fully regen. This will start to
   |happen once the pet's current target is dead.
   :regenloop
   /call StatusCheck
   /if (${Me.Pet.PctHPs}<100) /goto :regenloop

   |The pet is now full health but it may still be wandering
   |back to you. Wait for it to show up (it will eventually)
   :waitforpet
   /call StatusCheck
   /if (${Me.Pet.Distance}>50) /goto :waitforpet

   |The pet is now healthy and nearby. Cast your pet
   |buff spell (load it in spell slot 2).
   /cast 2
   /delay 50
/return

Sub StatusCheck
   /if (${Me.Sitting}) /endmacro
   /if (!${Me.Pet.ID}) /call PetIsDead
/return

Sub PetIsDead
   |The pet died so at least one angry mob is inc.
   |One way to handle this is to Feign Death. If you
   |can do this, load your FD spell in slot 1. If not,
   |load your best evac or gate spell in slot 1.
   /cast 1
   /delay 10
   /cast 1
   /delay 10
   /cast 1
   /delay 10
   /cast 1
   /delay 10
/endmacro

Sub Event_BadFeign(string line, string who)
   |A feign death failed! Set and then recast the
   |feign death spell.
   /sit
   /cast 1
/return