PetLeash makes sure that you always have a non-combat pet summoned. It tries to only summon a pet when you are not busy, and can dismiss them when you go into stealth, camouflage or invisibility.
Automatically summon a pet when you are not busy.
Optionally summon a pet only under certain predefined conditions, or dismiss a pet under certain predefined conditions.
Allows you to configure which pets to use, including by location or with different weighting.
LibDataBroker launcher to quickly summon pets.
Randomly summon a different pet on a timer. (Note: This feature can potentially interfere with non-combat pets summoned via other means, such as using the Bloodsail Admiral's Hat)
/petleash enable : enable/disable auto-summoning
/petleash togglePet : summon or desummon pet (and switch auto-summoning)
/petleash resummon : summon a new pet
/petleash desummon : desummon pet
/petleash config : show configuration
PetLeash has several key bindings that can be set via the Blizzard Key Binding interface.
- Catch if the search filter is cleared. [Robin Schoonover]
Also don't reregister right away
- Update/Fix Locations for C_PetJournal API [Robin Schoonover]
- Pets are shared, so don't force per-char configuration. [Robin
Also add a profiles option pane.
- Disable filters while processing, and enable when done. [Robin
- Re-add readiness for gcd. [Robin Schoonover]
This check isn't very accurate (we check for min gcd, not actual), but it
doesn't need to be, since detection restarts the wait_timer.
Even if the wait_timer is set to be really short, we check the actual cooldown
of the pet when we try to summon upstream, which will accurately detect the gcd
if we happen to be on it.
- Check for cooldown on pet we are trying to summon. [Robin Schoonover]
If everything is on global cooldown, we'll see this here too.
- Remove currently unused Special Items code. [Robin Schoonover]
I remain hopeful we will continue to not need it.
- Using C_PetJournal.SummonPetByID to desummon a pet invokes the global
cooldown so try to use DismissCompanion. The future of
DismissCompanion is unknown, so we'll use C_PetJournal.SummonPetByID
if needed. [Robin Schoonover]
- More message passing fixes in readiness module. [Robin Schoonover]
- Detect initial state of addon in readiness. [Robin Schoonover]
- Restore ability to detect desummoned companions. [Robin Schoonover]
- fix namespace of messages, add enablestate message [Robin Schoonover]
- Remove remaining legacy API code. Add convenience interface for
getting owned pets. [Robin Schoonover]
- Partially update for using the new C_PetJournal api. [Robin
- Mostly fix the Location module? [Robin Schoonover]
- Fix Locations option screen. [Robin Schoonover]
- Fix newlines *sigh* [Robin Schoonover]
- More work on Location rewrite. [Robin Schoonover]
- Minor locations changes, disable locations for now for testing. [Robin
- Add more debugging information to debugstate [Robin Schoonover]
- Remove Special Items tab. [Robin Schoonover]
We'll readd if we need this functionality again.
- Allow :ResummonPet() to force a pet to be resummoned immediately.
- Implement a temporary fix so that we can distinguish between a fake
pet and a real pet. [Robin Schoonover]
- Fix :ResummonPet() to act more sanely. [Robin Schoonover]
- Remove flying dead code. [Robin Schoonover]
- Don't load QuestItems module (we might not need it!) [Robin
- Merge [Robin Schoonover]
- I am tentatively extremely excited by the possible discovery of a way
to detect pets that are not really pets. [Robin Schoonover]
What I expect the behavior of C_PetJournal.GetSummonedPetID() to be:
- nil no pet out
- 0 a pet that you don't "own"
- >0 a pet you own.
Currently it is returning zero for all pets, whether they are a pet attached
to your account or part of a silly hat that you put on. Hopefully it takes on
the behavior I expect, or at least returns a non-nil value for non-owned pets.
- Fix chatty summon pet display [Robin Schoonover]
- Fix :LastCheck() usage and implementation [Robin Schoonover]
- If one of our last minute checks turns out false while we are in our
idle wait period, reset the wait timer to zero. [Robin Schoonover]
- Fix default state of vehicle check. [Robin Schoonover]