PetWalker
Never lose your pet again.
Summary
The addon helps you to always have a companion pet out (summoned). You can choose between two operating modes:
- Auto Restore only: Whenever your pet is lost – for whatever reason –, it will be restored. This works across logouts and characters.
- Random Summon: Automatically summons a random pet (from a configurable pool) every n minutes, or via keybind or slash command. This pet will be auto-restored whenever it is lost, until a new one is summoned.
Notes
In early 2022 this project started out as an improved version of NugMiniPet, but in the meantime not much of the original code is left. Credits for the concept, the inspiration and for the initial code base though to the author of NugMiniPet.
PetWalker was first published on GitHub and Wago in April 2022; starting with version 1.1.4 (Dec 2022) now also available on Curseforge.
If you are reading this description on CurseForge, be aware that Curse's Markdown parser is quite broken. For a correctly rendered and more readable description, please go here, or open the readme.pdf inside the addon folder.
Features
Main Features
- Resummon (restore) your pet if it has "disappeared". Most of the time this happens due to faulty game mechanics: using portals or teleports, mounting/dismounting, end of combat, entering or exiting instances, and other seemingly random occasions.
- You can set a repeating timer to auto-summon a new pet from a configurable random pool every n minutes.
- You can manually summon a new pet from a configurable random pool via keybind or slash command.
- Your ‘current pet’ is saved across chars. So, if you log out with a given pet on toon A, then login with your toon B, you should see the same pet summoned, right at (or very shortly after) login. (You can exclude a toon from that by setting it to char-specific favorites.)
- Your remaining auto-summon timer is saved at logout and re-applied when you log in again (on any toon). So, if you have set your timer to two hours, you will see a new pet every two hours of gaming time, no matter how often you log out/in or for how long you have been offline. You can see the current remaining timer in the Status report (command
/pw s
, see Usage). - The addon does its best not to interfere with various activities/circumstances: M+ keys, Arena, Stealthed, In Combat, and more.
- The pool of favorite pets to summon can be char-specific or account-wide. You can change this on a per-char basis at any time, and your char-specific list will be retained for later if you switch from char-specific to global favourites.
- Easy switching between ‘random-summoning of new pets’ and ‘just keep my pet out’. (
/pw 0
to disable the auto-timer, see Usage) - The addon knows about special pets and does not try to summon pets that can or should not be summoned, e.g. the Pocopoc pet in Zereth Mortis, the Winter Veil pets, or the vendor pets with CD like Guild Herald.
Other Features / Notes
- No GUI settings. Basically it’s a set-and-forget addon.
- No nasty Minimap button, and thus no conflicts minimap mods.
- 100% standalone, no libraries or other dependencies.
- Resource friendly in terms of CPU and memory usage.
- Alt friendly: All settings are account wide (except for char-specific favorite pets, ofc).
- For obvious reasons conflicting with: NugMiniPet, Zone Pet and probably any similar addon that auto-summons pets.
- Not conflicting with: Rematch. Usage of Rematch is recommended.
Usage
PetWalker has a rich chat console interface:
/pw a
: Toggle automatic summoning of pets. (Basically enabling/disabling the addon.)/pw d
: Dismiss current pet and disable auto-summoning. A kind of emergency command, if you want to get rid of your pet immediately and prevent any automatic summoning./pw <number>
: Interval [minutes] for summoning a new pet. ‘0’ disables summoning of new pets, though the pet-restore functionality is still active (use/pw a
to disable it).-
/pw f
: Toggle the random-summon pool between Favorites and All Pets.- With the All Pets setting, the currently active filters of the Pet Journal still apply (Pet Family and Sources). Since these filters can be combined, this offers quite some possibilities to create varied pools for random summoning, without the need to select favorites.
- Hint: You can also use the search box of the Pet Journal as filter: If your summon pool is set to All Pets and the search box contains "rabbit", PetWalker will only summon pets with "rabbit" in their name.
- Note that this works only with the filters or search box in Blizz’s Pet Journal, not in Rematch.
- If you set the pool to Favorites, make sure that your favorites are not excluded by the Pet Journal filters or search string.
/pw c
: Toggle char-specific favorites list. (Only applies if set to Favorites via/pw f
.)/pw n
: Summon new pet (from the active pet pool: Favs or All, see commands explained above). Summoning a pet with/pw n
(or the keybind) resets your current auto-summon timer./pw p
: Summon previous pet. By ‘previous’ we don‘t mean a pet you just lost (this is covered by the core functionality of the addon), but the one before that. For example, if your auto-summon timer gives you a new pet, but you actually liked the last one, you can quickly get it back with this command.-
/pw v[vv]
: Verbosity level for messages:/pw v
: silent: only important messages (missing favorites, failed summons, etc.) are printed to the chat./pw vv
: medium: you get a message when a new pet is summoned (either via auto-timer or manually via/pw n
or keybind)./pw vvv
: full: all messages; you get a message also when a lost pet is restored, which happens quite often.
/pw h
: Display the Help text in the console. (Also/pw help
or just/pw
.)-
/pw s
: Display the Status & Settings report in the console, with these infos:- If the addon is active (auto-summoning/restore enabled or disabled).
- The summon timer interval and the remaining time (that is, when you will get the next new pet).
- Verbosity level of messages.
-
Whether the pet pool is set to Favorites or to All Pets, and the number of eligible pets for auto-summoning:
- In Favorites mode, the number of eligible pets corresponds to the number of selected favorites (either per char or globally via
/pw c
) - In All Pet mode, the number of eligible pets reflects the result of your Pet Journal filters (or the total number of summonable pets, if no filters are set).
- In Favorites mode, the number of eligible pets corresponds to the number of selected favorites (either per char or globally via
- Type of favorites: global or character-specific.
-
A list of character-specific favorite pets (if you have set any).
- A list of global favorites is not displayed because you can easily get that list by sorting the Pet Journal or Rematch by favorites.
If /pw
is conflicting with another addon's command, then use the long form /petwalker
instead.
Also check the Key Bindings section of your client. You’ll find three bindable commands for PetWalker there:
- Toggle automatic summoning of pets (same as
/pw a
) - Dismiss current pet and disable auto-summoning (same as
/pw d
) - Summon new pet (same as
/pw n
)
New feature since version 1.1.5: Summon same pet as targeted pet
- Target a summoned pet of another player.
- Enter
/pw t
or/pw target
or set and use the new keybind in the Keybinding section. - If the targeted pet is in your collection, it should be summoned.
If the target pet is not in your collection, you get a weblink to the pet's page on warcraftpets.com, or on wowhead.com if it's not collectible.
FAQ
How to set char-specific favorite pets?
- Set PetWalker to ‘char-specific favorites’ (toggle command:
/pw c
). - Set your favorites as usual in the Pet Journal (or Rematch).
In the Pet Journal, char-specific favorites are only visually marked with the fav star when you are in char-specific favorites mode; in normal favorites mode, your normal (global) favourites are marked with a star. (In Rematch, they are never visually marked. However, you can set/unset them there using the context menu (right-click), just like in the Pet Journal).
Unlike the global favorites, these char-specific favorites are not sorted at the top of the Pet Journal list. However, the Status display (/pw s
command) will show you a list of your current char-specific favorites. This makes them easier to identify, for example if you want to remove a pet from your favorites.
I do not want to summon a new pet every n
minutes, I just want to keep my current pet out!
Simply set the Summon New Pet timer to ‘0’ (zero). You can set it to 0 with the command /pw 0
. With this setting, the addon will never give you a new pet, and will do its best to keep your current pet out, until you decide to summon a different one. How the pet is summoned, is irrelevant: it can be summoned via Pet Journal, or via PetWalker keybind, or whatever. PetWalker will remember it, treat is as your “valid” current pet and will try to re-summon it whenever it is lost.
Where/when does PetWalker fail to keep my pet out?
The most difficult situation is when you select a team for a pet battle. If you are using Rematch, you should select the “Keep Companion” option (in “Miscellaneous Options”). This will definitely help, but it is not guaranteed that, after the pet battle, you have the same pet out as before.
What events does PetWalker respond to?
The main event that causes PetWalker to check for the pet and summon it if necessary is PLAYER_STARTED_MOVING
.
This is a fairly common event. I have experimented with several other events, but overall I have found that this one gives the best results. (After all, the aim of PetWalker is to ensure that your pet is always out, not that it's out from time to time).
On rare occasions, a summoning action can interfere with other casts, e.g. Druids who shape-shift immediately after they start moving. But since PetWalker does nothing in combat (and other sensitive situations), it should be pretty safe.
Known Issues / To Do
- Remove erroneous “summoned” messages in a few situations where actually no pet was summoned (eg flying, probably vehicle UI).
- As mentioned in the FAQ, there is a chance that after a pet battle your previous companion is not re-summoned. This needs to be improved.
- Check for and remove orphaned pet GUIDs from the char-specific favorites table. (Not sure if this was an issue just in the Dragonflight prepatch phase, or if it still happens.)
- Add an optional login message.
- Try to completely unregister all events if the addon is disabled via
/pw a
.
Feel free to post suggestions or issues in the GitHub Issues of the repo! Please do not post issues or suggestions in the comments on Curseforge.