EatDrink.ash: Optimize your daily diet (and see how your old diet stacks up).

Theraze

Active member
There might be something obvious that I'm missing, but is there something obvious I am missing, that causes eatdrink.ash to create a bartender-in-the-box?
- edit - I suppose these settings might be of interest too:
Code:
zlib eatdrink_getBartender = 30000
zlib eatdrink_getChef = 5000

Correct... the 30k and 5k are how much you're willing to pay for the associated servant. There's also a value, hardcoreServants, which affects whether or not you'd like ED to try to create the servants even when you're in ronin.

To avoid creating bartenders and chefs though, just set the two values you quoted to 0.

Frono: Don't really care. I have a SVN site set up now with subprojects where I could host, or if you want to do it that's fine too. No big deal for me either way.
 

Razorsoup

Member
I added settings to my post ascension script to set eatdrink_getBartender=0 and eatdrink_getChef=0 to avoid having ED error out while in Ronin. If I'm understanding correctly, setting eatdrink_hardcoreServants properly would have done the same thing?

Let me see if I understand this, setting it to 0 will skip trying to make the bartender and chef, 1 will make it try but not abort if it fails, and 2 makes it abort if it fails? That makes things a little simpler than what I was doing.
 
Last edited:

Theraze

Active member
If I'm understanding correctly, setting eatdrink_hardcoreServants properly would have done the same thing?

Let me see if I understand this, setting it to 0 will skip trying to make the bartender and chef, 1 will make it try but not abort if it fails, and 2 makes it abort if it fails? That makes things a little simpler than what I was doing.

Correct. So you can decide if you'd rather have it try to get the servants or just completely skip that while in Ronin. :)

You do it then since it will get done sooner ;-)
Well then.
> svn checkout https://svn.code.sf.net/p/therazekolmafia/eatdrink/code/

Starting Checkout...
Validating repo...
Repo validated.
C:\Program Files (x86)\KoLmafia\svn\therazekolmafia-eatdrink
A https://svn.code.sf.net/p/therazekolmafia/eatdrink/code/scripts
A https://svn.code.sf.net/p/therazekolmafia/eatdrink/code/scripts/EatDrink.ash
https://svn.code.sf.net/p/therazekolmafia/eatdrink/code
At revision 1

Successfully checked out working copy.
Pushing local updates...
EatDrink.ash => C:\Program Files (x86)\KoLmafia\scripts\EatDrink.ash
Done.
Requests complete.
Code:
svn checkout https://svn.code.sf.net/p/therazekolmafia/eatdrink/code/
 

Bale

Minion
I had a few minutes to update the first post, but you should re-update it if you don't like the way I handled it.

Point of some significance: You didn't bump the version number from 3.1.9 to 3.2 so people who are currently using the old version of EatDrink won't know that they should update.
 

ereinion

Member
Ah, I figured it had to do with something like that. So it doesn't actually calculat if it will be worthwhile to make a bartender, instead of going for some different food? I suppose that makes sense since it can't actually see into the future :)

So the only thing the script considers is if it can make the servants for less than the numbers put into those two settings? In that case I guess I don't actually have a question :) Sorry for bothering you all :)
 

Theraze

Active member
ereinion, yeah... since the adventures saved are valued as well based on your buffs, your consumables, your luck... only you can decide that. :)

Bale, that looks fine. I'm bumping it to 3.2 so that it starts to ask about that now. :) If you or frono can bump first post, that would be appreciated. Thanks. :)
 

fronobulax

Developer
Staff member
ereinion, yeah... since the adventures saved are valued as well based on your buffs, your consumables, your luck... only you can decide that. :)

Bale, that looks fine. I'm bumping it to 3.2 so that it starts to ask about that now. :) If you or frono can bump first post, that would be appreciated. Thanks. :)

Done, or rather bumped.
 

Mrs Trout

New member
Is chef-in-the-box cheaper than casting inigos? Does this script make use of Inigos if you have a cheap MP source?

Also when choosing to use ingredients/food in inventory rather than buying them does it still use what ever is cheapest (i.e. assume you would otherwise sell what is in your inventory?)
 

Theraze

Active member
Is chef-in-the-box cheaper than casting inigos?
Depends on your restoration settings.
Does this script make use of Inigos if you have a cheap MP source?
It can... I never figured out exactly where to put it and decide that it's worth the MP cost since in aftercore most will be using the mall or servants. Though on HC BIG runs, it's once again tempting.

We don't actually decide whether we're crafting or buying or... whatever. So we can't predict whether or not casting Inigo will be useful or wasted. That being said, we could make a new variable, selfishInigo or something similar, that casts Inigo before any food/drink retrieve_item if we don't have it up and you have an AT opening and no chef/bartender. It's liable to waste casts, but if you've got MP to burn and you're not going to buff up someone else with it...

Also when choosing to use ingredients/food in inventory rather than buying them does it still use what ever is cheapest (i.e. assume you would otherwise sell what is in your inventory?)
Yep. You could always sell your stuff. The one variant is you can tell it to use autosell price while in ronin, which will end up potentially using priceless items if another boozegiving-type holiday happens, but... Eh. :)
 

Magus_Prime

Well-known member
Does anyone have any suggestions on how to set EatDrink parameters so that it will make and consume TPS drinks? I thought I remembered seeing something along those line in the thread but my search-fu has failed me.
 

fronobulax

Developer
Staff member
Does anyone have any suggestions on how to set EatDrink parameters so that it will make and consume TPS drinks? I thought I remembered seeing something along those line in the thread but my search-fu has failed me.

I don't recall that it takes anything special. It makes them daily for me. It has only failed for me under two circumstances. If the bartender explodes and is not replaced (and there is now a preference to force replacement) it fails and if it fails mid-mixing and the skewered fruit is in inventory the TPS drink won't be made.

My ED settings, in case that is useful. I don't think Theraze has a TPS so most of the testing was by me.

Code:
eatdrink_accordionGet	false
eatdrink_accurateMake	true
eatdrink_ate_choco	Bill 8:0
eatdrink_ate_fancy	Bill 8:0
eatdrink_ate_vitac	Bill 8:0
eatdrink_autosellWhileRonin	false
eatdrink_avoid_astral_energy_drink	true
eatdrink_avoid_astral_hot_dog	true
eatdrink_avoid_astral_pilsner	true
eatdrink_avoid_booze-soaked_cherry	true
eatdrink_avoid_giant_marshmallow	true
eatdrink_avoid_gin-soaked_blotter_paper	true
eatdrink_avoid_sponge_cake	true
eatdrink_avoid_wet_stew	false
eatdrink_boozeMood	booze
eatdrink_budget	20000
eatdrink_considerCostWhenOwned	true
eatdrink_consumeLast	false
eatdrink_costOfPull	3000
eatdrink_fav_pr0n_chow_mein	true
eatdrink_fav_rockin'_wagon	true
eatdrink_fav_twinkly_wad	true
eatdrink_favUse	false
eatdrink_getBartender	30000
eatdrink_getChef	5000
eatdrink_GetPriceServer	true
eatdrink_gloriousLunch	true
eatdrink_hardcoreServants	2
eatdrink_loopCount	3
eatdrink_make	true
eatdrink_mall	true
eatdrink_maxAge	7.0
eatdrink_minimumAverage	1.0
eatdrink_minimumQuality	0
eatdrink_noNoodles	false
eatdrink_ode	true
eatdrink_pause	3
eatdrink_piePriority	true
eatdrink_priceFlexibility	1.25
eatdrink_priceOfNontradeables	999999999
eatdrink_priceOfQuestItems	999999999
eatdrink_priceOfUnknowns	999999999
eatdrink_shop	true
eatdrink_simConsume	true
eatdrink_simLevel	0
eatdrink_simRonin	false
eatdrink_stepMeat	-1
eatdrink_suppressNoMilk	false
eatdrink_suppressOverdrink	true
eatdrink_useCloset	false
eatdrink_useInv	true
eatdrink_useStorage	true
eatdrink_valueOfNonPrimeStat	0
eatdrink_valueOfPrimeStat	10
 

Magus_Prime

Well-known member
There are very few differences between your EatDrink variable settings and mine:

Frono:
Code:
eatdrink_maxAge =	7.0
eatdrink_priceOfQuestItems = 999999999
eatdrink_shop =	true
zlib eatdrink_suppressNoMilk = false
eatdrink_valueOfNonPrimeStat =	0

Arbos:
Code:
zlib eatdrink_maxAge = 2.0
zlib eatdrink_priceOfQuestItems = 10
eatdrink_suppressNoMilk	= true
eatdrink_valueOfNonPrimeStat =	2

I don't have the eatdrink_shop variable.

Maybe the difference is in valueOfAdventure? Mine is set to 1500. What do you have yours set to?
 

Theraze

Active member
Yeah, the shop value went away when we started to use retrieve_item since most retrieval settings are just using mafia, not special hacks of our own.

The low quest value means that it considers quest items basically free. Good if you want to use them up. Bad if there's something better. Unless you're farming quest drinks, that shouldn't matter though.

Part of the special pricing rules are that only TPS drinks and the TPS itself are counted as specially priced. Make yourself a skewered cherry or anything else and... no longer special override. Why? Because we already have a page of overrides and dj_d didn't feel like making 4 when he originally coded it. And I agreed with him when I was fixing it to work with the various changes I've made since. :)

It considers a TPS to cost 1 basic drink, 2 mixers, and a bartender from the mall but only if you don't have one yet. Should be fairly easy to check most of those yourself to see, but... if frono doesn't have radically different VoA settings, posting what it selected instead would be helpful.
 

Razorsoup

Member
A few more questions:
  1. Looking at the script I found this:
    Code:
    // This is an attempt to allow for maximum meat spent per step. If the value 
    // is set to a negative number, consider all your meat as possible. If the
    // value is set to anything higher, your starting meat for that step should be
    // no higher than STEP_MEAT. If you have less than the amount listed, it should
    // use the actual value instead. This defaults to 5000 to limit extreme cases
    // for people who don't pay attention and configure scripts properly.
    setvar("eatdrink_stepMeat", -1);
    The comment says eatdrink_stepMeat will default to 5000 but the script seems to set the default value to -1. Okay that wasn't really a question but an observation.
  2. eatdrink_pause, what purpose does this serve? I mean I know it tells ED how long to pause before doing certain things but why is it needed? Is it for the user to have time to interrupt ED if it's about to do something he/she doesn't like or is it needed for mafia or ED to work correctly? Can I change it to 0 to speed up ED if I'm pretty confident I won't want to stop ED from doing something?
  3. Is there something you (Theraze) collect? I've been setting up OCD to send items to the people whose scripts, advice, and/or posts have been helpful but I don't see anything listed for you in the who collects what thread.
 

Theraze

Active member
1. Comment line updated. The stepmeat is there to save users from themselves, but too many were confused so we're defaulting to not setting it by default currently. We may eventually set it to 10k or 20k or something eventually, but... we'll update the text again then.
2. It gives you a bit of time to acknowledge what's happening if you aren't simulating first. Helpful if something crazy is going to happen and means that users shouldn't scream about their priceless stuff getting nommed. As much. :)
3. Not yet. Maybe someday. At this point, I'm just enjoying random collection of as many different things as possible. :D Nothing in the DC or anything really useful though.
 

xKiv

Active member
Is chef-in-the-box cheaper than casting inigos?

Practically, chef in the box costs something like, what, less than 30 meat per craft (I am assuming around 80 crafts at current mall price of the innabox)?
Inigo's will give you up to, I think, 5 crafts per 100 MP, but only 5 times a day, which is at most 25 crafts (and that's for ATs with a JEW hat, most people will only get 2 crafts per 100 MP, 10 total)
Best sources of MP tend to cost significantly more than 1 meat per 1 MP (unless you are extremely high level (level 67+) character with access to mmj or even higher level using d6), so it will probably be above 30 meat/craft for most of us.
recording of inigo's costs 1800, that's too much (more than 400 meat/craft).

Inigo's is only good here if you have plenty of MP generated "for free" (mimic farming, high mp regen, lots of 1/day restorers, ...). That's for you to know, and for you to cast before crafting if you want.
 

Theraze

Active member
Realistically, Inigo-casting is a player choice before running ED. If you want to simulate ED, cast Inigo, create the item yourself, farm some more 'free' mp, simulate ED, cast Inigo, create the item yourself, rinse, repeat... sure. But as xKiv points out, normal usage of Inigo is... expensive.
 
Top