your fast food source
EatDrink.ash will attempt to fill you up with the finest vittles, firewater, and spleenables that the kingdom has to offer - and that you can afford. It considers things like prices, the relative value of adventures and stats, whether you have to pull or purchase the item, and so on. It even ends your day with a bang by overdrinking (if you tell it to). Here's how to use it.
- From kolmafia, type "EatDrink.ash". At the prompts, enter "15" for foodMax, "19" for drinkMax, "15" for spleen, "true" for overdrink, and "true" for simulate_only. Observe as it recommends a diet, and compares it to your favorite foods.
- Edit the config file for your character (see zlib for details on how the config file works) and try modifying VALUE_OF_PRIME_STAT, and VALUE_OF_NONPRIME_STAT. These will affect how much you're willing to spend to get the comparative increases. Then run again, until you like what you see. Be sure to do it in the config file, as changes in the actual script won't make a difference (the script just sets defaults).
- Change mafia's valueOfAdventure variable using "set valueOfAdventure=X", filling in the value you want for X.
- Ready to turn over your daily diet? Fool! Run it again, choosing "false" for sim_only, and unleash havoc on your belly (and liver, and spleen).
Since this script uses actual live prices, it will produce different results on different days. That means that if something tasty crashes in price, it will switch you over from your regular diet - or if your regular diet gets bid up in the store, you'll seamlessly move over to something more affordable.
It will even cope with misreported prices - that is, if the pricing sources are wrong. If it tries to buy something for the reported price and fails, it will update the "last known good" price to reflect that, and recalculate. It may iterate a few times, bidding more each time, but it will eventually figure out that it can't get the item for that price and something else will pop to the top of the stack.
- Buys milk of magnesium if it's cost-effective, and takes Ode into account
- Ditto for the chocolate families (fancy chocolates, vitochocanutriment capusles, etc)
- If you have a TPS, will do smart things with pricing & crafting TPS drinks
- If you have a key lime pie & don't have the corresponding key, it gets eaten first
- Lets you simulate low-level ronin play for ascension planning (via SIM_LEVEL and SIM_RONIN)
- Crafts food if you have all the components
- Summarizes results/recommendations at the end
- Uses zlib.ash and plays nicely with it and other scripts that use it
- Uses live and historical prices
- If you have ever consumed something, it will permanently put it on the "check daily" list and check pricing more aggressively
- Consider and use tuxedo shirts
Bug reports are nice; bug fixes are nicer.
Distribution has migrated over to SVN. With a current daily build, please copy/paste the following line into KoLmafia's CLI and press enter:
Code:svn checkout https://svn.code.sf.net/p/therazekolmafia/eatdrink/code/
Huge thanks to Sandiman; I based this on his reportConsumables script. Ditto Zarqon for zlib and general advice and improvements. Ditto zecious babaloni for running the old pricing service that this used to use. Ditto degrassi for the versioning. And most importantly, huge thanks to the kolmafia dev team who made this all possible!
valueOfAdventure is a KoLMafia property. You can set it by typing set valueOfAdventure = 1000 in the gCLI.
10 MAR 2011
Fronobulax here, taking advantage of my developer status with elevated editing privileges. The failure of EatDrink to check for updates the way God, or zarqon, intended combined with the proliferation of versions has compelled me to take action. Henceforth I will keep my support for EatDrink in one place, here. I will post versions and update version numbers.
V3.1 is the "latest" version and re-establishes a baseline. Compared to Theraze's version here this version has code from Bale that improves the handling of fancy chocolates, lacks the code from Bale et. al. that changes the parameters to strings when EatDrink is invoked directly and retains code for handling Ode To Booze as part of a mood that is absent in Theraze's version. I am willing to discuss adding those features but I wanted to start off with a script that I had tested.
15 MAR 2011
V3.1.1 - Changed local variable names to avoid name conflict with OCD. Deleted use of moods to control Ode to Booze as per Theraze.
02 APR 2011
V3.1.2 - Do not save what was consumed as a eatdrink_daily variable since that tends to clutter up data files for no purpose. Also use $item[none] rather than make a special case for the Genalen bottle.
16 APR 2011
V3.1.3 - Theraze's tweaks to better handle cases where item cannot be consumed because of price or other constraints.
16 SEP 2011
V3.1.5 - Skipped 3.1.4 to avoid confusion with extended beta development after 3.1.3. DO NOT use this version until after you upgrade to KoLmafia 14.8. In general, this version is better at obtaining items before they are consumed and adjusting The Plan if it cannot get what it expects. See This post for more details.
01 JAN 2012
No update but this post has some good information about EatDrink parameters.
28 JAN 2012
Updated. See detailed notes in #1433. Most significant change seems to be that drunki-bears are avoided. Also note, since it doesn't seem to be noted elsewhere, that EatDrink requires zlib in your scripts directory in order to run.
28 JAN 2012 Whoops. Got overdrink failure logic backwards and fixed it. Bumping version because that's how I roll.
21 OCT 2012 - 3.1.8 - Better handling of lasagnas. Added support for Boris and Zombie runs.
12 JAN 2013 - 3.1.9 - Better handling of boxen creation. zLib variable is now controls price to create rather than just YES/NO. Better support for Carboloading trophy. Added mr. mediocrebar support. Thanks, Theraze.