Skip to content
/ PetWalker Public

WoW Retail addon. Automatically restores your lost companion pet or/and periodically auto-summons a new one from a configurable pool. Can be set to work globally (same pet(s) for all alts), or per char.

License

Notifications You must be signed in to change notification settings

tflo/PetWalker

Repository files navigation

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 CF’s Markdown parser is quite broken. For a correctly rendered and more readable description, please go here.

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.
  • PetWalker ignores pets that are automatically summoned because they are slotted into a team. It will reliably restore your previous pet 15 seconds after a pet battle. (See also FAQ.)

Other Features / Notes

  • No GUI settings. Basically it’s a set-and-forget addon.
  • No nasty Minimap button, and thus no conflicts with 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, Mount Mini-Me and probably any similar addon that auto-summons pets.
  • Fully compatible with Rematch.

Usage

PetWalker has a rich chat console interface:

  • /pw a: Toggle all automatic summoning of pets. Basically the main switch of the addon (all events are unregistered/registered), but manual summoning via keybind or slash command (see below) is still available.
  • /pw r: Allow/disallow automatic summoning of pets while mounted (and on the ground) in a Dragonriding zone.
    • As of version 1.2.0 (March 2023), automatic pet summoning can also happen while you are mounted. With “normal” mounts, this behavior is trouble-free and only beneficial, but with Dragonriding mounts it can cause occasional glitches. Therefore, you can disable it with this toggle. It is enabled by default. Please read the 1.1.8 change notes, or the explanation in the FAQ below!
  • /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 all automatic summoning. Re-enable with /pw a.
  • /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. (Applies if Favorites are enabled 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:
    • Addon version.
    • 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).
    • 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

  1. Target a summoned pet of another player.
  2. Enter /pw t or /pw target or set and use the new keybind in the Keybinding section.
  3. 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?

  1. Set PetWalker to ‘char-specific favorites’ (toggle command: /pw c).
  2. 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.

PetWalker only summons a few pets out of my pool, or I get the “0 (zero) eligible pets” message

The Filter settings in the Pet Journal can actually restrict the pet pool, i.e. you can actively use the filters to “shape” your pet pool without using favorites. This includes any text in the search box(!).

However, it is also possible that the game has messed up the filters (I often see this after a hard disconnect), or you have been searching for a pet and forgot to reset the filters.

First, check PetWalker’s status with /pw s. If it reports that your pool is set to All Pets, but also says that there are only (for example) 5 pets “eligible”, while you have 500 pets in your collection, then you can be pretty sure that the Pet Journal filters or the search box are restricting the pool.

If this is not what you want, open Pet Journal (not Rematch!) and remove all filters by clicking the “X” badge on the Filter drop-down menu, and clear the search box of any text.

Note that you must have access to the Blizz Pet Journal to do this, so make sure that Rematch does not overwrite it! (Go to Rematch > Options > Miscellaneous Options and check “Use Default Pet Journal” or uncheck the Rematch checkbox at the bottom of the Pet Journal. With this setting, you can still invoke Rematch with its own hotkey).

See also issue#6.

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.

As of version 2.0.0 (April 2023), PetWalker’s behavior in the context of pet battles has dramatically improved. For the gory details, see the change notes of version 2.0.0 from 2023-04-28.

TL;DR: PetWalker now reliably restores your previous pet 15 seconds after a pet battle. The delay is intentional and allows you to chain pet battles, without any annoying automatic summoning/unsummoning of your pet in-between. Pets that were auto-summoned because they are slotted into a team are ignored and the pet restoration now works reliably also without Rematch’s “Keep Companion” setting. But, if you prefer, you can still enable Rematch’s “Keep Companion”. (The difference is that Rematch restores your pet more or less immediately after a battle.)

What events does PetWalker monitor?

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 (GCD conflict), 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.

Should I disable “auto-summoning while mounted for Skyriding” (/pw sr)?

Since version 1.2.0 (March 2023), automatic pet summoning can also happen while you are mounted (not flying).

With ground mounts or on ground and in Steady Flight mode, this is clearly a good thing, because: A problem with (auto-)summoning pets can be that it triggers the Global Cooldown (GCD), which can prevent you from casting a spell or using an ability until the GCD is over (1–1.5s). You are usually less likely to want to cast a spell while mounted, so it is good if the pet is summoned before you dismount. This reduces the chance of a GCD conflict later.

With Skyriding, it’s a bit different: The Skyriding abilities require you to be off GCD. While on the ground, this applies to “Lift Off” and “Skyward Ascent”. This means that, unlike with ground mounts or in Steady Flight mode, the GCD triggered by summoning a pet while Skyride-mounted has a realistic chance of interfering with other abilities (the Skyride abilities), especially when landing, moving a few meters, and quickly taking off again.

So I’ve added the possibility to allow/disallow auto-summoning while mounted for Skyriding. The toggle command is /pw sr. I recommend experimenting with this to see if it produces more or less GCD conflicts for you. As with most PW settings, this is an account-wide setting.

By default, this setting is enabled, so auto-summoning while mounted for Skyriding will happen.

Personally, I’m using it because even if I have an occasional GCD conflict with a Skyriding ability, it still reduces the chance of a GCD conflict after dismounting. But your experience may vary depending on your personal Skyriding landing/lift-off “style”.

To be clear, the GCD is not caused by PetWalker, it’s a Blizz thing: any pet summoning, no matter how it is done, triggers the GCD. It’s stupid IMO, but there’s nothing we can do about it. The summoning-while-mounted feature is meant to reduce the chance of GCD conflicts, but it cannot be eliminated.


Known Issues / To Do

  • Remove erroneous “summoned” messages in a few situations where actually no pet was summoned.
  • 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.
  • Add an optional login message.

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.


Other addons by me:

WeakAuras:

  • Stats Mini: A very compact but beautiful and feature-loaded stats display: primary/secondary stats, all defensive stats (also against target), GCD, speed (rating/base/actual/Skyriding), iLevel (equipped/overall/difference), char level +progress.

About

WoW Retail addon. Automatically restores your lost companion pet or/and periodically auto-summons a new one from a configurable pool. Can be set to work globally (same pet(s) for all alts), or per char.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages