Find a bug? Do not post it in the comments section! See the "Reporting Problems" section below for information on how to correctly report bugs. I will no longer be responding to bugs posted in the comments section.
Description
Creature Comforts combines your hunter pet care skills into a single button. It works by creating and editing a macro that you can drag and drop onto any action button. Call Pet, Dismiss Pet, Feed Pet, Mend Pet, and Revive Pet are all supported.
Features
Creates and edits a macro for easy pet care.
Smartly chooses food for your pet based on food types, item levels, and stack sizes.
Reminds you when your pet needs to be fed.
Alerts you when you run out of food for your pet.
Usage
Type /creaturecomforts or /cc to open the options panel.
Press the button labeled "Create Macro". Drop the macro from your cursor onto any action button you like.
Look through the options panel and change settings as you prefer.
If you are in combat, the macro will do the following:
Revive Pet if your pet is dead.
Call Pet if your pet is unsummoned.
Dismiss Pet if the Ctrl key is pressed.
Mend Pet otherwise.
Note that while in combat, if your pet is dead but has despawned, you must press the Shift key to bypass the default logic and use Revive Pet instead of Call Pet. This is unavoidable, as macros cannot be edited while in combat due to Blizzard restrictions since the 2.0 patch.
If you are not in combat, the macro will do the following:
Revive Pet if your pet is dead, even if it's despawned.
Call Pet if your pet is unsummoned.
Dismiss Pet if the Ctrl key is pressed.
Mend Pet if your pet's health is below 70%, or if your pet is debuffed and you have the Improved Mend Pet talent.
Feed Pet otherwise.
If your pet is already Happy, or is already eating, the macro will not automatically select a food item to consume, but you will get the "glowing hand" cursor to select a food item manually if you want to feed your pet anyway.
Frequently Asked Questions
Q: Why doesn't Creature Comforts recognize my food items?
A: Most likely, your pet is already happy, and doesn't need to be fed. By default, Creature Comforts will not consume any food items when your pet is already happy. If you really want it to, you can enable the "Feed when happy" setting in the options panel.
Localization
Creature Comforts is currently compatible with English (enUS and enGB), French (frFR), German (deDE), Russian (ruRU), Spanish (esES), Korean (koKR), Simplified Chinese (zhCN), and Traditional Chinese (zhTW) clients. If you play in a non-English client and find an error in this compatibility, please submit a bug report with details.
Creature Comforts is currently translated into English (enUS) and Simplified Chinese (zhCN). If you are willing to help with translations for another language, please contact me!
Requesting Features
If you've got an idea for something you'd like to see added or changed in Creature Comforts, feel free to submit a feature request. Before submitting a feature request, check to make sure that the feature you want isn't already available in the options, and that a request for that feature hasn't already been submitted by someone else.
Most importantly, remember to check on your ticket after a few days, as I may need more information to solve the problem!
Credits
Creature Comforts is based heavily on Tekkub's Buffet, and indeed began as a simple modification of Buffet to feed my pet instead of myself. I was also inspired by Gazmik's Fizzwidget Feed-O-Matic, Nirek's FeedMachine (which in turn a rewrite of Beerke's King of the Jungle), and Tekkub's FuzzyLogic. After trying, and being unsatisfied, by all of these addons, I set out to combine their essential features into a single, transparent, easy-to-use, no-assembly-required package.
License
Please do not redistribute Creature Comforts in compilations without asking me first. See my portal or the README included in the addon's folder for the full license terms under which Creature Comforts is released. Thanks!
Change Log - Creature Comforts
Version 3.2.0.76
Fixed error that caused conflicts with Buffet under certain conditions
Version 3.2.0.75
Added support for dual talent specialization
Version 3.0.3.67
Fixed paths to locale files in TOC
Version 3.0.3.66
Fixed localization error with "Feed when hungry" option
Fixed German translation for "Fungus"
Updated food item database
Changed options layout a bit
Added full zhCN translations from VENSTER
Removed "Raw Fish" and "Raw Meat" translations since Blizzard removed these food categories from the game in 3.0
Version 3.0.2.53
Fixed combo/bonus food options
Fixed hungry warning intervals
Added options to suppress all warnings
Removed 2.4.3 compatibility
Version 2.4.3.48-beta
Fixed options for Wrath beta
Added mend threshold slider
Added Brewfest food items
Added Wrath beta food items
Removed Jaggal Clam Meat (item:24477) from raw meat list
Version 2.4.3.41-beta
Fixed status changes for feeding and mending
Added localization stubs for esES, koKR, zhCN, and zhTW (addon should now work in these locales)
Version 2.4.3.40-beta
Fixed settings upgrade path (was causing settings to reset on load)
Fixed detection of live pet (not sure how this problem happens though)
Version 2.4.3.39-beta
Fixed detection for happy, debuffed, and mending status changes
Version 2.4.3.36-beta
Added option to not consume food items automatically when your pet is already Happy
Version 2.4.3.33-beta
Added options for Dismiss and Mend modifier keys
Version 2.4.3.30-beta
Added partial ruRU localization (will work in this locale)
Added full support for options localization (need translations for all locales)
Feed Pet below out-of-combat Mend threshold if already Mending
Version 2.4.3.27-beta
Fixed config >_>
Version 2.4.3.26-beta
Fixed for preferring conjured food
Fixed for considering food with an item level higher than pet's level
Added partial configuration (no options for modifier keys or OOC Mend threshold yet)
Version 2.4.3.22-beta
Potential fix for AddonLoader users
Version 2.4.3.21-beta
Localized spell names so macro will work in non-English clients
Increased time between "no food" warnings to 4 minutes
Increased time between "hungry" warnings to 2 minutes
Time between "very hungry" warnings remains at 1 minute
Version 2.4.3.20-beta
Fixed failure to detect pet food under some circumstances (again, thank you Blizz for the myriad of states where pets simultaneously exist and do not exist)
Fixed localization so that locales without any translations don't generate errors
Fixed versioning
Added localization information to readme
Version 2.4.3.17-beta
Tweaked food selection logic (needs testing)
Don't show "hungry" warnings if the pet is dead or currently eating
Don't show "no food" warnings if the pet isn't fully loaded (damn you Blizzard for making so many "in limbo" transitions for pets)
Shift-click is only required to revive your pet while you are in combat, and then only if your pet has died and despawned since combat began. Under other circumstances, the addon is aware of your pet's status and edits the macro accordingly, but macros cannot be edited in combat. I'm always open to suggestions for improvement, but in this case I feel that the use of the shift key is a more elegant solution than button mashing.
This is the macro I use for my pet management.. After experimenting with other peoples' macros I made my own, and after a lot of tweaking, I got this one to work.
#showtooltip
/cast [target=pet, dead] Revive Pet
/castsequence [nopet] reset=5 Call pet, Revive pet
/stopcasting [channeling:Revive Pet]
/cast [btn:2] Dismiss Pet; Mend Pet
If your pet is dead it will revive him
if your pet is dismissed, it will call him
If your pet is dead, and despawned, mash the button twice to revive him.
if your pet is alive, it will mend him
right click to dismiss pet.
The key to reviving a despawned pet without any modifiers, is the /castsequence line. Since the first line requires your pet to be spawned and dead, it will skip that line. [nopet] tends to be true if your pet is despawned.. the second line will try to call your pet, which will return an error "Your Pet Is Dead".. Just click the button again within 5 seconds to begin reviving.
Note: I made this macro quite some time ago, the /stopcasting line may no longer be required.
I was browsing the hunter addons when I saw yours.. and then I saw how you had to shift click in order to revive a despawned pet.. Figured you could use the macro with your addon somehow.
Please post a bug report (just copy and paste in your previous comments on the issue) and I'll give you some things to try that should give me more information on what's going on.
Originally posted by Nuu Edit: I convinced a friend who has a hunter to install the addon and try it. He didn't change any settings when making the macro, put it on his bar, and he's having the same problem. He also has a gorilla, and the food in his bags for it is Tundra Berries.
1) Did your friend move an item in his bags, resummon his pet, or take some other action to trigger a macro update? Upon initial creation, the macro is not populated. This is something I should probably change, but as it should only ever be a "problem" once for any user, I haven't been very motivated to spend time on it.
2) Did you/your friend try with no other addons enabled? I'm not sure what would cause this problem, but I can honestly say that I've never experienced it myself, with any pet or food type(s).
Edit: I convinced a friend who has a hunter to install the addon and try it. He didn't change any settings when making the macro, put it on his bar, and he's having the same problem. He also has a gorilla, and the food in his bags for it is Tundra Berries.
I have a gorilla myself, and am not seeing this issue. Please try deleting the AutoPet macro, logging out, deleting and reinstalling Creature Comforts, deleting your existing saved variables for Creature Comforts, and logging back in. Open the options (type "/cc") and don't change any settings, but regenerate the macro by clicking the big red button. Drop it on an action button. Move something around in your bag to trigger an update. Does the problem still occur?
I'm having the same errors as Vashra; I'm using a gorilla, and they eat bread, fruit, and fungus. I have Skethyl Berries and Mag'har Grainbread in my bags. When I click the macro, it gets the "choose something" outline. I looked into Core.lua, and they're in the list.
Notifications to people other than yourself will never happen. I would find it incredibly annoying to be grouped with someone who kept spamming party chat with "My pet is hungry!".
A sound option and/or support for additional output locations are possible. Please post a feature request ticket so I don't forget.
nice mod - one request tho - could you make a notify option to say/whisper/party and maybe also play a sound as I often miss the message that my pet is hungry. Another kool idea would be to add it to the SCT. Just some Ideas!
I've thought of it, yes, but every time I've recompiled my own lists, I've used LPT's lists as a base, and every time I've found many items that are missing, and even some that are incorrect. LPT doesn't auto-mine its lists of food items either, as per comments in its code, because Wowhead doesn't offer any filtering criteria to identify food items as anything other than "Consumable" or "Meat" (which actually means "cooking reagents" and includes things that aren't meat per-se).
I'm also not thrilled about the idea of having half of my addon's download size be one library that my addon will only ever use less than 25% of. If the addon is already strongly library-based, as FeedIt and Feed-O-Matic are, then adding 50kb in code for a food list and some unknown amount of CPU overhead to access it through layers of metatable and function calls is, I suppose, slightly less noticable of a waste, but it's not something I'm interested in doing in my own addon when a simple list table will do the job just as well. My philosophy on libraries is that if my addon will use less than 90% of the library, it's a waste to include it. There are addons that do use 90% or more of LPT, but mine isn't one of them.
Currently my own food list is less than 3kb and is cheap to access with simple table calls. And given that feeding is all but irrelevant in WoW 3.0, I don't really think it's a big deal if a few items are missing for a few weeks after the launch of an expansion.
Also, the version I posted a few days ago includes a full food database update.
Originally posted by Phanx There are probably quite a few new food items added in Wrath that Creature Comforts doesn't recognize yet. It recognizes food items by consulting a static list of item IDs that I've compiled, but since I'm pretty busy right now leveling four characters up to 80 and have about a dozen addons to get up to speed, I don't really have time to spend hours manually comparing my list to figure out what's missing. Obviously, I'll add any I personally encounter, but since my hunter will likely have to wait to level after my raiding main shaman and a death knight, it could be a while, so if you find any others, please post them so I can add them!
Any thoughts of using LibPeriodicTable-3.1/LibPeriodicTable-Consumable-3.1 for the food lists as FeedIt (another macro feeder, but doesn't feed when pet is happy), FeedMachine, Fizzwidget Feed-O-Matic & so on use? So that you don't have to compile the ever-changing food lists yourself.
There are probably quite a few new food items added in Wrath that Creature Comforts doesn't recognize yet. It recognizes food items by consulting a static list of item IDs that I've compiled, but since I'm pretty busy right now leveling four characters up to 80 and have about a dozen addons to get up to speed, I don't really have time to spend hours manually comparing my list to figure out what's missing. Obviously, I'll add any I personally encounter, but since my hunter will likely have to wait to level after my raiding main shaman and a death knight, it could be a while, so if you find any others, please post them so I can add them!
Sewer Carp is already listed, though. What happens when it's the only food item in your bags and you try to feed your pet?
If you find some spare time, find line 21 in Core.lua: if level > 0 then return end and change the 0 to a 5. Then, without taking any other actions, type:
/run CreatureComforts: Diet() (without the space before "Diet"; the "Disable smilies" option doesn't seem to be working here)
You should see it build the list of foods your pet can eat. On that list you should see "Basic Fish". After it's finished, type:
/run CreatureComforts:Scan()
You should see it scan your bags; this will be extremely spammy, but you should see it "Scanning ____ ..." on each item in your bag. For each item that is recognized as food, you should see "Considering ____..." followed by some information about the item. If the item is better than the previous edible food item considered, or if it's the first edible food item found, you should see "Accepting _____.", otherwise it will move on to Scanning on the next item.
Specifically, I'll need to know what it says when it scans the Sewer Carp. (Or the Underspore Pod, if it's still having problems with that.)
Looking at my code, I can't see any reason it shouldn't be including Underspore Pods in the list of things you can feed to your pet. What exactly is happening when you use the macro? Is it giving you the glowing hand cursor, or is it choosing another food item? If the latter, which food item is it choosing? When you're trying to feed your pet, what is his (or her) happiness level? Do you have the "Feed when happy" option enabled?
If your answers to the above questions don't give me any clues, I'll need you to enable debugging and get more information, so don't forget to check back!
I am finding that no matter what I have checked in the CC options, the addon is having troubles with certain foods just lately. For example, it completely ignores fountain goldfish - though I can feed them to my pet manually.
I had a friend on my server say theirs was having trouble with some kind of biscuit or bread that is summoned via an item (a horn of some kind).
As for specific errors:
If I have my cat out (who will eat fish, but not fungus), CC tells me "You have no food for Cat" -- if I click on the "feed pet" icon that shows, it will light up my little cursor hand and wait for me to pick something out of my inventory -- seeming to indicate that it is not recognizing that I have the goldfish in my inventory.
My cat gets hungry so rarely that I can't say I care - but I always report errors to people so they can adjust code if necessary. I have *no* idea why these fish are not being counted as food. It doesn't seem to like sewer carp either.
Looking at my code, I can't see any reason it shouldn't be including Underspore Pods in the list of things you can feed to your pet. What exactly is happening when you use the macro? Is it giving you the glowing hand cursor, or is it choosing another food item? If the latter, which food item is it choosing? When you're trying to feed your pet, what is his (or her) happiness level? Do you have the "Feed when happy" option enabled?
If your answers to the above questions don't give me any clues, I'll need you to enable debugging and get more information, so don't forget to check back!