Does anyone know of an addon or macro or ANYTHING that can give you the option of favorite pets per character? Something like Gogo Mounts for pets?
I've dug and dug and the only one I found was "Character Favorite Mounts and Pets" which, no matter what I do, I can not get it to work. Probably because it hasn't been updated since 6.1. >.<
I'd really like to theme pets and mounts to characters so I'd appreciate any help so very much!
Fave pets per character?
Re: Fave pets per character?
I don't have time to work on this, but if anyone wants to take up this project (it's a really good idea), I recommend a SavedVariablesPerCharacter in the toc.
In the PLAYER_LOGOUT do something like:
1. wipe the per-character savedvar
2. expand journal to remove filters if any applied
3. log each favorite into the savedvar: petID, speciesID, level, rarity, health, power, speed and customName
4. restore the journal filters if it was expanded
In PET_JOURNAL_LIST_UPDATE:
1. Check if journal is unlocked before proceeding. This may pose a problem for second accounts--can second accounts change the favorite status of shared pets?
2. When journal unlocked, go through journal and if a petID is favorited but not in the savedvar, unfavorite it; and if the petID is unfavorited but a favorite in the savedvar, favorite it. Flag that a change was made.
3. If a petID in the savedvar is not in the journal, it was released/caged or a dreaded server petID reassingment happened. Ignore the petID and look for any matches with the rest of saved info: speciesID, level, rarity, health, power, speed and customName. Flag that a change was made if any matches found. (Server petID reassignments mean the petID is not a reliable reference to a specific pet. Be prepared to find what those petIDs referenced!)
4. Wait 0.25 seconds or so and repeat steps 2-3 until no changes are made. (The server won't let you change more than a handful of favorite statuses at once; you'll need to periodically attempt to change the favorite statuses until they all stick.)
That should do what OP is after. When they log out it logs all of that character's favorites. When they log back in it will restore that saved list of favorites for that specific character.
In the PLAYER_LOGOUT do something like:
1. wipe the per-character savedvar
2. expand journal to remove filters if any applied
3. log each favorite into the savedvar: petID, speciesID, level, rarity, health, power, speed and customName
4. restore the journal filters if it was expanded
In PET_JOURNAL_LIST_UPDATE:
1. Check if journal is unlocked before proceeding. This may pose a problem for second accounts--can second accounts change the favorite status of shared pets?
2. When journal unlocked, go through journal and if a petID is favorited but not in the savedvar, unfavorite it; and if the petID is unfavorited but a favorite in the savedvar, favorite it. Flag that a change was made.
3. If a petID in the savedvar is not in the journal, it was released/caged or a dreaded server petID reassingment happened. Ignore the petID and look for any matches with the rest of saved info: speciesID, level, rarity, health, power, speed and customName. Flag that a change was made if any matches found. (Server petID reassignments mean the petID is not a reliable reference to a specific pet. Be prepared to find what those petIDs referenced!)
4. Wait 0.25 seconds or so and repeat steps 2-3 until no changes are made. (The server won't let you change more than a handful of favorite statuses at once; you'll need to periodically attempt to change the favorite statuses until they all stick.)
That should do what OP is after. When they log out it logs all of that character's favorites. When they log back in it will restore that saved list of favorites for that specific character.