Quick Description
PermaPet summons either a specific companion or picks one randomly from a list whenever the player enters a new zone, exits a vehicle, dismounts or gets resurrected.
The random companion list can be made by simply summoning a companion and adding or removing it from the list. It is saved per-character so each of your characters can have it's own list of companions.
PermaPet handles special cases gracefully, such as unsuccessful summons due to global cooldown, dismissing on stealth and more.
Interface
PermaPet currently does not have a graphical user interface. Everything is done through very simple chat commands. To access the list of commands type /permapet in the chat
Keeping the same companion
To have the same companion always summoned wherever you go, simply summon it manually once, then use the "/permapet keep" command. The addon will remember your choice and summon your favorite companion.
Managing the random companion list
To switch to random companion mode, use the "/permapet random" command. Rather than keeping the same companion, PermaPet will randomly pick a new companion from the list everytime a summon event is triggered.
Initially the random companion list is empty. To add a companion to the list summon it manually, then use the "/permapet add" command. To add all the owned companions to the list use the "/permapet addall" command.
To have the random companion list displayed use the "/permapet list" command. A numbered list of companions will be shown in the chat window. To remove a specific companion from the list use the "/permapet remove X" command, replacing the X with the number of the companion on the random list. To clear the entire random list instantly, use the "/permapet clear" command.
Stealth
PermaPet will automatically dismiss your companion when you enter stealth and resummon it when you exit stealth. Each of these behaviors can be enabled or disabled by using "/permapet event stealth" and "/permapet event unstealth" commands.
Unsuccessful summons
In case the companion cannot be summoned at the time of event that triggered a summon, the summoning will be postponed. This might happen if you dismount by casting and enter a global cooldown, or dismount into a profession-related cast (e.g. mining, herbing). PermaPet will retry summoning the companion 5 more times in intervals of 2 seconds.
This behavior can be disabled or enabled by using the "/permapet noretry" and "/permapet retry" commands respectively.
Troubleshooting
If you think PermaPet is not behaving the way it should, there are several things you can try. The "/permapet verbose" command will make the addon display additional notifications of what is going on. To disable those notifications again, use the "/permapet silent" command. Also, using the "/permapet summon" command will manually trigger a summoning event so you can test it whenever you want.
Disabling PermaPet
PermaPet can be easily disabled and re-enabled while logged in, without destroying the settings or the random companion list. Simply use the "/permapet disable" and "/permapet enable" commands. It might be a good idea to disable PermaPet while in raids so that summoning of the companion doesn't put you into a global cooldown when you get resurrected in the middle of a battle.