tflo / PetWalker

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.
GNU General Public License v3.0
3 stars 0 forks source link
companions world-of-warcraft wow-addon

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:

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

Other Features / Notes

Usage

PetWalker has a rich chat console interface:

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:

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


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: