Buffet
Buffet is a food/water macro generator originally developed by tekkub and currently maintained by mZHg.
What's new :
- Added support for Mists of Pandaria
- (Beta) Added Earthen Race Support
Feel free to report any bug or request any feature here :)
Features:
- Dynamically scan your bag for usable food, drink, potion, rune, managem and bandage
- Provide 6 macros auto-magically updated (out of combat)
- Consumable and food/drink
- Food and Drink only
- Consumable only
- Allow configuration of modifiers used by macros
- Option to default macros to hearthstone if no item found
- Option to consider "well-fed" food items in macros
- Option to consider "toxic" potion items in macros
- Support dark and demonic runes
- Support Classic Wow
- Custom macro using lua scripting language, see here for more info
- User-defined ignore list (per characters)
Currently supporting the following localizations:
For retail:
- English (enUS)
- Deutsch (deDE)
- Español (esES)
- Français (frFR)
- Italiano (itIT)
- Русский (ruRU) provided by ZamestoTV
For Cataclysm:
- English (enUS)
- Deutsch (deDE)
- Español (esES)
- Français (frFR)
- Korean (koKR) provided by coderhyme
For Classic:
- English (enUS)
- Deutsch (deDE)
- Español (esES)
- Français (frFR)
Partially supporting the following localizations:
For Retail, Cataclysm and Classic:
- Simplified Chinese (zhCN) provided by Witnesscm, with additional fixes for WtLK by clijiac
If you want to contribute to localizations, pull requests are welcome!
Hey, have you considered adding support for the new Recuperate spell that all classes got in 11.1.7, just like you have for quiet contemplation?
I've modified my HP macro to make it work, but thought it could be nice if it's supported directly by the addon.
Worth noting is that it works with normal eating spells, so it stacks with mana bun as an example. Also odd side-effect, maybe bug, is that it works while flying in druid flight form. Quite funny to see you summon a flying frying pan.
In reply to Jeaz:
Hello,
That a good idea, in fact Recuperate is what I currently use the most :)
How would you see that work ?
- An option to use the spell instead of any found (like Quite Contemplation) ?
- An option to use the spell as default instead of the earthstone ?
- An option to use the spell along with the best food (not sure if possible as a one click macro) ?
- Something else ?
Regards,
In reply to mZHg: I'd say second option. I personally don't use buffet for food buffs, just hp/mp regen, and in-combat pots etc, but some may do and want that option to remain. It's different for Earthern since it's the only thing they can eat/drink outside of gems.
I am using 11.2.0.127 and it doesn't use the Cavedweller's Delight on the HP Consumables macro. How can I fix it?
In reply to Difious:
Hello,
Should be fixed with release 128.
If not, please tell me which locale you are using and provide a screenshot of the item tooltip if possible.
In reply to mZHg:
Hello,
got and using the 128 now. It is using the Cavedweller's Delight now, but only that (and on my bags I do have them, the Algari Healing Potions, and the Healtstones).
As locale, I use en_US on the EU client/Italian server.
In reply to Difious:
Hello,
Please try release 129. I've fixed few issues with items detection.
I found no issue with detection of Healthstones, however.
In reply to mZHg:
Hi mZHg,
I see that v130 has been released in the meantime and my CurseForge automatically updated to it.
At the time I cannot test Healthstones as I am not finding any group with a Warlock (but I will keep trying), but for the other two potions I can see that the mod is back using only Algari Healing Potion.
To double-check I tried to remove the macro from both the action bar and /macro, then I went to Option-Addons-Buffet, clicked to "HP cons", and placed it on the action bar.
In reply to Difious:
Hi,
If you have both potion in your bag, Buffet will only show the one with giving the most HP.
You can check if they are correctly detected with the following command:
/buffet debug <itemLink>
In reply to mZHg:
Ah OK, my bad; I thought it could auto-rotate between them depending which one is off cool-down. :)
In reply to Difious:
Macro cannot be rewritten in combat so it is not possible. However, you might be able to write a custom macro with a /castsequence and reading from "availables", see wiki here:
https://github.com/HgAlexx/Buffet/wiki/Custom-Macros
The BuffFood macro is not showing GrilledSquid, ItemID 13928.
In reply to fireymerlin:
Hello,
This is a well-fed food, did you enabled the related options to show well-fed food in the macro?
In reply to mZHg:
I have checked the option to "Also consider well fed items (all amcros)". This works for other well-fed food. I got the code from you in another comment below. Here it is:
local bests = ...
-- Best wellfed food with default to hearthstone
local bestfood = bests.wellFedFood or ''
return "#showtooltip\n/cast item:" .. bestfood
In reply to fireymerlin:
The item is properly detected as food on my end, but not as well-fed.
It will be fix in next release.
If you still have an issue with release 115, please show me the output of the command:
/buffet debug [Grilled Squid]
Thanks.
In reply to mZHg:
I'm using version Buffet-115.zip.
Grilled squid not showing as buff food.
Here is the debug output:
[06:06:33] Buffet: Item [Grilled Squid]:
[06:06:33] Buffet: - Is health: Yes
[06:06:33] Buffet: - Is mana: No
[06:06:33] Buffet: - Is well fed: No
[06:06:33] Buffet: - Is conjured: No
[06:06:33] Buffet: - Is percent: No
[06:06:33] Buffet: - Is food and drink: Yes
[06:06:33] Buffet: - Is potion: No
[06:06:33] Buffet: - Is toxic potion: No
[06:06:33] Buffet: - Is bandage: No
[06:06:33] Buffet: - Is over time: No
[06:06:33] Buffet: - Is restricted: No
[06:06:33] Buffet: - health value: 874
[06:06:33] Buffet: - mana value: 0
[06:06:33] Buffet: - itemClassId: 0
[06:06:33] Buffet: - itemSubClassId: 0
In reply to fireymerlin:
Oups, sorry I wasn't notified of your reply, I'll have a look later today.
Hi.
I don't know which addon is at fault but it seems to be a combination of 2 enabled addons (the only other addons I have enabled are bugsack and buggrabber):
Buffet and HaveIDoneThat cause errors.
I've tried disabling each of these 2 errors in turn, and when I do the errors go away, so am summising the combination of enabling these 2 addons causes the errors.
They are both causing 649 errors at the moment.
First error:
649x ...ddOns/Blizzard_Settings_Shared/Blizzard_Category.lua:79: attempt to index local 'self' (a nil value)
[string "@Blizzard_Settings_Shared/Blizzard_Category.lua"]:79: in function <...ddOns/Blizzard_Settings_Shared/Blizzard_Category.lua:76>
[string "=[C]"]: ?
[string "@Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua"]:158: in function <.../Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:127>
[string "=[C]"]: in function `SetAttribute'
[string "@Blizzard_Settings_Shared/Blizzard_SettingsInbound.lua"]:53: in function <...lizzard_Settings_Shared/Blizzard_SettingsInbound.lua:52>
[string "=(tail call)"]: ?
[string "@Buffet/Libs/tekKonfigAboutPanel.lua"]:13: in function `new'
[string "@HaveIDoneThat/config.lua"]:50: in main chunk
Locals:
self = nil
name = "About"
description = nil
subcategory = <table> {
GetID = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:13
SetCategorySet = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:53
order = 66
HasSubcategories = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:72
GetOrder = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:25
SetCategoryTutorialInfo = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:83
HasParentCategory = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:49
SetOrder = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:29
ID = 66
Init = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:6
GetParentCategory = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:41
GetName = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:17
name = "About"
subcategories = <table> {
}
SetParentCategory = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:45
SetName = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:21
CreateSubcategory = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:76
GetCategoryTutorialInfo = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:90
GetQualifiedName = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:33
GetSubcategories = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:68
GetCategorySet = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:57
}
(*temporary) = <function> defined =[C]:-1
(*temporary) = <table> {
GetID = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:13
SetCategorySet = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:53
order = 66
HasSubcategories = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:72
GetOrder = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:25
SetCategoryTutorialInfo = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:83
HasParentCategory = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:49
SetOrder = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:29
ID = 66
Init = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:6
GetParentCategory = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:41
GetName = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:17
name = "About"
subcategories = <table> {
}
SetParentCategory = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:45
SetName = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:21
CreateSubcategory = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:76
GetCategoryTutorialInfo = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:90
GetQualifiedName = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:33
GetSubcategories = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:68
GetCategorySet = <function> defined @Blizzard_Settings_Shared/Blizzard_Category.lua:57
}
(*temporary) = nil
(*temporary) = "attempt to index local 'self' (a nil value)"
Second error:
649x .../Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:768: table index is nil
[string "@Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua"]:768: in function `AssignLayoutToCategory'
[string "@Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua"]:160: in function <.../Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:127>
[string "=[C]"]: in function `SetAttribute'
[string "@Blizzard_Settings_Shared/Blizzard_SettingsInbound.lua"]:53: in function <...lizzard_Settings_Shared/Blizzard_SettingsInbound.lua:52>
[string "=(tail call)"]: ?
[string "@Buffet/Libs/tekKonfigAboutPanel.lua"]:13: in function `new'
[string "@HaveIDoneThat/config.lua"]:50: in main chunk
Locals:
self = SettingsPanel {
0 = <userdata>
GameTab = Button {
}
SetScript = <function> defined =[C]:-1
categoryLayouts = <table> {
}
RegisterCategory = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:815
RevertSettings = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:461
ClosePanelButton = Button {
}
SetCurrentLayout = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:902
CheckTutorials = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:279
OnShow = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:241
QuestTextPreview = Frame {
}
Open = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:365
GetSettingsCanvas = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:862
SetWidth = <function> defined =[C]:-1
AssignLayoutToCategory = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:767
CategoryList = Frame {
}
SearchBox = EditBox {
}
modified = <table> {
}
AddOnsTab = Button {
}
SetSecureAttributeResults = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:204
ForEachCanvas = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:575
Bg = Frame {
}
CallRefreshOnCanvases = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:614
GetSecureAttributeResults = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:208
OnLoad = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:70
ExitWithoutCommit = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:322
TransitionBackOpeningPanel = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:353
FinalizeCommit = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:441
SetCurrentCategorySettingsToDefaults = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:519
GetAllCategories = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:811
SetHeight = <function> defined =[C]:-1
ExitWithCommit = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:342
SetApplyButtonEnabled = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:590
HasUnappliedSettings = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:562
OnKeybindRebindSuccess = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:1015
SetPoint = <function> defined =[C]:-1
secureAttributeResults = <table> {
}
OnTabSelected = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:212
OnSettingValueChanged = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:785
ClearActiveCategoryTutorial = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:1019
SetAllSettingsToDefaults = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:489
tabsGroup = <table> {
}
OnKeybindStartedListening = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:992
OnKeybindStoppedListening = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:979
SetOutputText = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:971
settings = <table> {
}
InputBlocker = Frame {
}
ClearCurrentCategoryCanvas = <function> defined @Blizzard_Settings_Shared/Blizzard_SettingsPanel.lua:910
RepairDisplay = <function> defined @Blizzard_Settings_S
Thanks
In reply to UniqueUserName:
Fixed in version 114 :)
In reply to mZHg: Thank you for the quick response - tested and all good. Cheers.