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

Theraze

Active member
Yeah, I'm just trying to describe things and generally don't go back to prior posts for the specific language.

What I'm asking is, there are some locations where items can be stored that retrieve_item will always use. We cannot control those, if we use retrieve_item. We know, if we call retrieve_item, what order mafia should use to get items, but if something goes wrong and mallprices are high or something, we end up falling to another step. We can do what I've currently done, setting autoBuyPriceLimit temporarily to our max cost, but that doesn't help if something weird happens like the script wanting to go buy ingredients instead of pulling.

Bottom line, I can't guess why it's failing without being able to replicate it myself, or having you put in lots and lots and lots of additional spam to make it say exactly what's happening when (not just verbose2, but little custom bits that generally get deleted after I fix a replicable problem). No clue why the BW stir-fry failed. Currently I get a mall_price of 3200, but it might have spiked up a bit and if there was a difference between the data for prices that new and legacy were using...

Summary of above:
1) Not enough information to fix either of the 2 reported issues.
2) We have reasons proposed to go back to custom code instead of retrieve_item. Do we have any reason to avoid custom retrieval code if we still use mafia's preferences for the ones that have them?

Edit: Veracity has graciously provided the autoSatisfyWithStorage preference. As such, we can now fully use mafia preferences for target locations (except for inventory, since that doesn't make sense in the mafia sense to skip). This doesn't remove the question posed above regarding whether we want full control regarding how we get what, but it does make using mafia's retrieve_item a bit more tempting. Custom code still has the benefit of easily allowing changing your mind without changing us needing to change their preferences and try to restore them after, and knowing how we're going to get stuff instead of just having retrieve do its magical thing.

Basically, if it works right, retrieve_item should be more efficient. Custom code is easier to troubleshoot since we can output messages during the execution instead of just doing it before/after full execution.

Edit2: Love seeing this... two days in a row on my character with pretty drinks.
Since 62.0 is more than 54.0 we are using a speculative stack of 900.
This shows in the summary like this:
Starting EatDrink.ash (version 3.1.4).
Consuming up to 0 food, 19 booze, and 15 spleen
Considering food from inventory Hagnk's Coinmasters NPCs. Per-item budget cap is 12500.0.
Price will be a factor if you own it already. Hagnk's pulls (if enabled) will cost 3000 meat each.
An adventure has the value of 1000 meat. Moxie subpoint is 10.0. Nonprime stat subpoint is 2.0. Hagnk pulls are limited and their 'cost' is incorporated.
drink: At 0, consuming to 19.
0: Ode to Booze price: 0 value: 10000
0: Ode to Booze price: 578 value: 8422
1: slap and tickle lev:4 gain:4.0 adv:12.0 musc:0.0 myst:9.0 mox:26.0 meat:1400 own:1 value:2419
2: slap and tickle lev:4 gain:4.0 adv:12.0 musc:0.0 myst:9.0 mox:26.0 meat:1400 own:1 value:3719
3: Neuromancer lev:6 gain:4.0 adv:16.0 musc:26.0 myst:0.0 mox:18.0 meat:5555 own:0 value:2269
4: vodka stratocaster lev:6 gain:4.0 adv:16.0 musc:26.0 myst:0.0 mox:18.0 meat:5650 own:0 value:2245
5: fine wine lev:1 gain:1.0 adv:2.0 musc:0.0 myst:0.0 mox:4.0 meat:132 own:1 value:1708
6: fine wine lev:1 gain:1.0 adv:2.0 musc:0.0 myst:0.0 mox:4.0 meat:132 own:1 value:2908
7: fine wine lev:1 gain:1.0 adv:2.0 musc:0.0 myst:0.0 mox:4.0 meat:132 own:1 value:2908
spleen: At 0, consuming to 15.
Finished. You had -Ode to Booze in effect. Adventures listed above does not reflect that, but this does:
Spent 998 meat. Gained Fullness: 0. Inebriety: 19. Spleen: 0.
Adventures: 77. Muscle: 53. Moxie: 109. Mysticality: 18.
On step 2 your best value was recalculated as 900.
Eating, drinking, and spleening complete. Commence merrymaking (at your own discretion).
 
Last edited:

Theraze

Active member
Unrelated to the above question, which still needs a definite answer, but... This baffles me a bit. Repeated items have a higher 'value' than the original does. This can be seen in the post above as well, where S&T 1 is 2419 and S&T 2 is 3719. Fine wine 1 is 1708, 2 and 3 are 2908. Another example...
An adventure has the value of 1000 meat. Muscle subpoint is 10.0. Nonprime stat subpoint is 2.0. Hagnk pulls are limited and their 'cost' is incorporated.
Simulating only; no purchases or food/drink/spleen consumption.
food: At 14, consuming to 15.
drink: At 0, consuming to 19.
0: Ode to Booze price: 636 value: 18364
1: redrum lev:1 gain:3.0 adv:5.5 musc:0.0 myst:22.5 mox:0.0 meat:120 own:0 value:1808
2: redrum lev:1 gain:3.0 adv:5.5 musc:0.0 myst:22.5 mox:0.0 meat:120 own:0 value:2808
3: redrum lev:1 gain:3.0 adv:5.5 musc:0.0 myst:22.5 mox:0.0 meat:120 own:0 value:2808
4: redrum lev:1 gain:3.0 adv:5.5 musc:0.0 myst:22.5 mox:0.0 meat:120 own:0 value:2808
5: shot of tomato schnapps lev:1 gain:1.0 adv:2.0 musc:1.5 myst:1.5 mox:1.5 meat:240 own:-1 value:1781
6: shot of tomato schnapps lev:1 gain:1.0 adv:2.0 musc:1.5 myst:1.5 mox:1.5 meat:240 own:-1 value:2781
7: tequila sunrise lev:1 gain:3.0 adv:5.5 musc:9.0 myst:0.0 mox:0.0 meat:245 own:0 value:1781
8: shot of grapefruit schnapps lev:1 gain:1.0 adv:2.0 musc:0.0 myst:4.0 mox:0.0 meat:240 own:0 value:1768
9: distilled fortified wine lev:1 gain:1.0 adv:5.5 musc:5.5 myst:5.5 mox:5.5 meat:5350 own:19 value:227
In the quote in this post, each of the differences is exactly 1000, despite the fact that none of these take adventures to create or anything. If it were different for the redrum and the schnapps, I'd expect it to be an ode bug or something similar, but... no clue currently.

By my math, on a redrum, non-ode value:
Adventures: 5.5*1000 [5500] / 3 = 1833.33
Stats: 22.5 * 2 [45] / 3 = 15
Price: 120

1833.33+15-120 does not equal 1808 though... it equals 1728. No clue how it gained the 80 value there. I may actually need to verbose2 and spam myself in a horrid way...

And with some displaying, it shows part of the chaos...
redrum full 3 advscore 1833.3334 statscore 15.0 costscore 83.0 val 1765.0 od false
7: redrum lev:1 gain:3.0 adv:5.5 musc:0.0 myst:22.5 mox:0.0 meat:249 own:1 value:1765
redrum full 3 advscore 2833.3333 statscore 15.0 costscore 83.0 val 2765.0 od false
8: redrum lev:1 gain:3.0 adv:5.5 musc:0.0 myst:22.5 mox:0.0 meat:249 own:1 value:2765
Looks like it's doing an ode price update after the first run... I'll need to look into why that's happening. Should stabilize things a bit when that happens. Not that anything actually gets BETTER, per se... but... eh, maybe prices shouldn't include milk/ode information, since that'll happen with anything you eat, it's not based on the food/drink anymore.

Edit: Yep, looks right...
7: redrum lev:1 gain:3.0 adv:5.5 musc:0.0 myst:22.5 mox:0.0 meat:249 own:1 value:1765
8: redrum lev:1 gain:3.0 adv:5.5 musc:0.0 myst:22.5 mox:0.0 meat:249 own:1 value:1765
The old system made sense back when you had more variance, but since it's a flat +limit now, no sense in confusing matters.

Edit2: Similar to non-tradeable items with npc_price, anything that's non-tradeable and non-displayable (quest items) should probably be considered by default as well. They can't be saved, so if they're a good choice...
 
Last edited:

Banana Lord

Member
Are there any plans to allow ED to get ode from a buffbot if a player can't cast it themselves? Someone requested such a feature in the Harvest thread, but I wondered if perhaps it was something that would be better baked into ED. If not, no problem, I'll add it to Harvest when I get a chance.
 

Theraze

Active member
My thought is, while I COULD try to bring in bits of everyone else's scripts and make it even more of a hodgepodge than it is... if possible it should require as little as possible. If someone wants to run acquireBuff earlier and then run a booze-only execution of EatDrink to make use of that without accidentally burning turns on making food, EatDrink will realize they already have ode and calculate out their enhanced adventures. But in terms of importing Rinn's script or somehow replicating its code and trying to make sure we know what to shrug if we have to and all of the other chaos tied into how to make it all work? Way more complicated than I'd like to consider. And noting that it's only available when out of ronin, when we could alternatively use recordings or other options... Gah. :) Eh, can you even make recordings of ode? Anyways, whatever. :)

Summary: It's a big pain to work out. I let you experience that pain, yourself. Enjoy.
 

Banana Lord

Member
Yep that sounds entirely reasonable. Harvest actually contains most of the code needed to make that work already, but the way in which I've implemented it doesn't leave me much room to maneuver. So yeah, I'll get around to it.... Eventually.Is it necessary to run a booze-only execution of ED to prevent it wasting turns of ode? Would that bit of logic be possible to implement then? By that I mean have ED fill your liver before your stomach if you have turns of ode already AND you can't cast it yourself. I guess it gets complicated when you factor in ronin/HC restrictions. It just seems like that would make ED interface more nicely with any other scripts that want to call it.
 

Theraze

Active member
You can execute it however you want... if you want it to run booze first, just do 0, inebriety_limit(), 0, false as your call values. 0 food, 0 spleen, don't overdrink, but drink it all down. :) Then run whatever EatDrink you would do normally after. Giving it the normal fullness_limit, inebriety_limit, spleen_limit won't cause any problems, because 19/19 just means add 0. It'll skip the booze phase if you've already completed it...
 

Ranrar

New member
ok, second day where this is happened, googled it without much result...

eatdrink returns this error:
The string "good" is not a float; returning 0.0 (EatDrink.ash, line 303)
it does this for every "class": epic, decent, ect...
and continues and chooses really really base level crap stuff to consume, and skips entire layers of consumables (food, drink, or spleen)

any guesses on what I've f'd up here?

I am using daily builds for mafia, didn't ask yesterday because hey, risk/reward...

Another data point: problem only manifested after I updated some support scripts: eatdrink 3.1.3, batbrain 1.9, counter checker 1.4999; Also using other support scripts and whatnot, error could be anywhere and completely my fault.

Anywho, just hoping someone has seen/overcome this error. Thanks for the help!
 

Theraze

Active member
That was in response to Ranrar's comment about the script not running.

In your case, redwulf, your probably is probably having VoA too low. But there's nothing I can do about that. You have to turn that up if you want it to get you better food... I've actually turned mine up to 2000 for now to use whatever the best food is in my inventory. Otherwise, it kept skipping SHC drinks. They sell too well to get picked automatically otherwise.

Edit: Thinking about VoA, one reason for the difference between post 1 and 1081 is that post 1 considers item value based on adding milk/ode to the item, not the item's natural VoA. However, since those are guaranteed regardless of the item used, it's a false value. As such, post 1 will use better items (incorrectly) than the VoA should actually allow...
 
Last edited:
That was in response to Ranrar's comment about the script not running.

In your case, redwulf, your probably is probably having VoA too low. But there's nothing I can do about that. You have to turn that up if you want it to get you better food... I've actually turned mine up to 2000 for now to use whatever the best food is in my inventory. Otherwise, it kept skipping SHC drinks. They sell too well to get picked automatically otherwise.

Edit: Thinking about VoA, one reason for the difference between post 1 and 1081 is that post 1 considers item value based on adding milk/ode to the item, not the item's natural VoA. However, since those are guaranteed regardless of the item used, it's a false value. As such, post 1 will use better items (incorrectly) than the VoA should actually allow...

He didn't say it didn't run he said it produced this error

Code:
eatdrink returns this error:
The string "good" is not a float; returning 0.0 (EatDrink.ash, line 303)

for every class of food and then ate crap. Which is what it did to me. Also my VOA has not changed from the point it was at a few days ago when it was running properly. I'll crank it up to 2000 though and turn up the zlib verbosity and see if I get more info.
 
Last edited:

fronobulax

Developer
Staff member
Before we go too far, please verify that you are running the version of EatDrink attacked to post 1081. Also tell us what revision of mafia you are running. Circa r9599 if my memory is correct, mafia made a data file change that broke the release version of EatDrink (first post). Somewhere in this thread is a version of EatDrink that works with newer versions of the data file but is otherwise unchanged. So to move forward...

Use a version of mafia before r9599 and ED from the first post and report problems, knowing that they are of lesser importance.

Use a more recent version of mafia and find the version of ED that only has the data file fix knowing that fixing problems are again of lower concern.

Run the version in post 1801 and a recent version of mafia and report problems, in which case you have just found the sweet spot and you will have Theraze's and my undivided attention for fixes.

I know this sounds like a PITA. From where I'm sitting I did not want to release a new version of EatDrink that worked with the data file change until that change was part of a release hosted on SourceForge.

P.S. - I just realized I have a copy of the version that only changes the data file format so I have attached it to keep folks from having to search for it.
 

Attachments

  • EatDrinkOld.ash
    60.6 KB · Views: 25

Theraze

Active member
Yeah... having the "good is not a float" error means that your data files are new... they have quality... and your copy of EatDrink is not. If you have the 1081 (or newer) EatDrink in your folder... you probably have an older version somewhere else. Check for a copy in your main mafia folder, your harvest folder, your ascend folder, etc... just make sure you cut down to a single EatDrink and you should be awesome. :)

Speaking of problems, I mentioned above that the post 1 EatDrink overestimates food value. I'm attaching a version of that EatDrink with the lines commented out that cause that incorrect up-scaling (and actually works as well). This is probably very similar to the one that fronobulax attached to 1115, except that if you eat the same item more than once, it won't add VoA to duplicate-eaten milk-ed food. I've named this version EatDrinkO (for Original).

Also attached is an updated version. A bit over a week and only the standard questions of why it doesn't take the best, which might finally have an answer... when it was considering items against the stack to see if they were creatable, it wasn't removing the items it already had. Let me give an illustration:
1) You want a roll in the hay. Ingredients: roll in the hay: bottle of whiskey, little paper umbrella, soda water (0/1)
2) It checks to see if you have enough umbrellas (check) and whiskey and sodas (not yet).
3) It checks to see if it can make enough whiskey and sodas by checking if you have a bottle of whiskey (check) and have or can buy a soda water (check).
3.5) Proper behavior would pass this along, but what it was doing instead was then checking if you also had another whiskey and soda (fail).
4) It takes the results of 3 (and 3.5, if it exists) and, if successful, queues up a roll in the hay. If it fails, it removes the item and tries something else.

What it should now do is subtract the needed amount still in the stack from the amount needed in the fullstack before it checks... basically, don't ask for the same creation twice. Tested and instead of the murder... I mean, redrum... it was suggesting before this fix, it converted to suggesting I have a horizontal tango. I manually created said tango, and plan on using it in 46 adventures when I run out.

This version will be attached as EatDrink. Note that if your food sells awesomely well, you'll still need to put up VoA to prioritize using it instead of selling it... but at least it should remain an option if you were crafting it now. This might be why your pumpkins were failing. Then again, if you had the "good is not a float" error, you probably were using old ED and not getting any of this anyways.

Question for fronobulax... if get_ronin is true, would it make sense to price out consumables at their autosell price instead of mall price? That should cut their 'value' down to <500 in almost all cases and make it use stuff even with a low VoA, but stop immediately once the mall is available. This would probably be something we'd want to do on a variable so people can avoid it if they're trying to save stuff for the mall, but it would allow keeping a relatively low VoA and still getting decent food...

Edit: One tweak... sorry you 3 people that grabbed it before, but the (formerly) attached version had a vendetta against plum wine. This one doesn't. Not completely certain about why changing the range beginning point from 1 to 0 (the 'standard' range beginning in programming) made it fail like this, but... I'll fight that later. For now, (newly) attached version has plum less hate.
 

Attachments

  • EatDrinkO.ash
    61.2 KB · Views: 29
  • EatDrink.ash
    94.8 KB · Views: 48
Last edited:

fronobulax

Developer
Staff member
I was one of the three. It wasn't just plum wine the "bad" version didn't like. It would not eat at all. The better version is eating but seems to have a problem counting milk turns. I asked for 15 full, it queued up 15 but only obtained 10 turns of milk. When I answer the Are you sure you want to drink without milk query with No it just keeps asking me for each of the uneaten foods in a loop. The milk issue might also be a matter of resources because the character in question runs ED with closeted meat and cost of milk is greater than the meat in hand. So it is possible that whatever is computing costs is off by at least 500 meat and/or the milk handling preference needs a bit more thought.
 

Theraze

Active member
Your no milk complaint is actually due to not turning on the zlib var eatdrink_suppressNoMilk. With that set, it would have just eaten happily without complaint, similar to the eatdrink_suppressOverdrink both making it suppress overdrink and ode messages. But if eatdrink_suppressNoMilk had been on, it would have run using eatsilent instead of eat. That was in EatDrinkO as well though and hasn't changed in EatDrink... The only difference is that EatDrink is smart enough to know that if your milk acquisition has failed once, it will likely fail again, and again, and again... let's not keep trying. But gagging the message? There's a setting for that. :)

Oddly, mine would eat but not drink. Yours on the bad upload would drink, but not eat. Odd. :)

Anyways, back to the milk... here's the process, similar to the new ode process.
1) The int milkadventures is initialized at 0.
2) It runs through the positions on the stack starting at the current step and adds how much consumption it expects it to take on average (averange(position.consumptionGain) to milkadventures.
3) It passes the total fullness to milk_do_body_good, generally 15.
4) MDBG sets the value of milk at total fullness (15) times VoA (generally 500), giving an average value at 7500 for milk. This is legacy, I believe, which is why it's not aware about differing milk turns based on class, etc.
5) It sets shouldgetmilk based on value being higher than price plus pullcost, if you're pulling in softcore.
6) While shouldgetmilk, get_milk return false (you don't already have that many turns active), and wants milk is true, run the milk acquisition loop.
7) If simulating and milk is available through creation or the mall, simulate using milk and add to summary.
8) If not simulating, try to get one milk if we don't have one yet. This uses retrieve_item, just like anything else, so it will autocreate, autobuy, autopull, etc, if the preferences are set.
9) If we have more than 0 milk in inventory, use 1 and add it to the summary. If not, set wants_milk to false so EatDrink will stop trying to acquire it in the future.
10) If we still don't have enough milk for our total fullness, update the milk price with the new mall price and check if, based on original value, we still want milk.
11) If 7 and 8 failed, break out of the milk loop. Else, reconsider step 6.

Basically, the only thing it's got wrong at the moment is that it overcalculates the value of milk by thinking of it as one solid block. If you take a peek at the ode_do_liver_good code, you'll see that it's smarter about odevalue... if you're simulating, it's all or nothing... if you're actually running, it considers each cast to see if it's possible, still having enough meat to cast it, and odevalue is recalculated properly in the summary based on how much the (estimated, if _meatpermp is not set) cost of mana v. adventure gain comes out to...

Potentially I should throw another check or two on the ode casting line. Could (should?) have it consider existing mana to have value, not just restored mana that needs to be paid for. Could (should?) also have it actually validate that the value of those adventures is above 0. But with default settings, anything above a single point of drink is considered positive... The first is the bigger question, and one that might potentially necessitate the second item... Either way, I sort of like having it say I'm getting a 20 thousand meat value on my first cast. :) Not that I'd normally actually give it that value, but it does make it eat and drink such nice things.

Edit: On my copy, did add in the ode/milk checks to see if it should actually use them based on value. Potion length is calculated as 10+5(if you have impetuous sauciness)+5(if you're a sauceror). This should hopefully be accurate based on how long milk will actually last for, and be able to predict if its value currently makes sense... this means that with a VoA of 500 and 1 fullness left, it shouldn't consume milk. 2 fullness (and the available items to fill that), it should.
Also, fixed another ingredient bug in add_ingredients. The last few I've fixed have been in have_ingredients... this one made it so that if it thought it was an impossible creation, make that ingredient free. This explains why it wanted to drink 4 horizontal tangos when I only had 3 boxed wine, and some other such weirdness I experienced today.
I'll delay on spinning out another release unless other people actually run into that bug. Should see if people actually have any problems with the above first, besides the whole "milk is set to whine and it does" thing. :)
 
Last edited:

fronobulax

Developer
Staff member
I was the one who implemented eatdrink_suppressNoMilk so I hope my complaints are not related ;-)

My understanding of the justification to compute, acquire and then consume was to make sure that all resources available, including turns of milk and ode, were available at consumption. A particular concern was creating, using turns, while ode or milk was active.

Thus when I get the "do you want to without" message it suggests to me one of these cases: ED has decided that it is not feasible to consume everything with ode/milk OR ED has incorrectly computed how many turns are required OR ED has incorrectly executed whatever was needed to obtain the turns.

I would be very surprised if ED decided to eat to 15 with only 5 turns of milk, but if that is the case I might consider some kind of output so the user knows it is the case. If ED actually does this then the effect of eatdrink_suppressNoMilk needs to be reconsidered (which it may need to be anyway). Otherwise if my cases are exhaustive then it seems like there may be an error in EDs projections and calculations which could be addressed.

Thanks for your work on this. I do appreciate it even if all I ever do is complain and make half-baked suggestions that I reconsider days later.
 

Theraze

Active member
Heh. Not a problem... I'm happy for any feedback I get. Otherwise all I do is implement new parts that inevitably get ripped out a day or two later due to deciding that they aren't as optimal as I hoped.

In your 3 case item, the actual cause would be:
1) Very low VoA
2) Mafia has wrong information leading to ED calculating improperly... report the bad consumable as a bug so it can be fixed
3) Either the ED retrieve is not working properly or something else has gone wrong... potentially this could also be due to 1 or 2

Decided to eat with only 5 turns of milk? How did that happen, since milk starts with 10 turns? Did you drink manually? Was think the milk overrun from yesterday? I'm somewhat confused here... Also, ED considers (as long as it hasn't failed yet) whether or not you have enough milk/ode to consume the next item and if not, considers the remaining stack in its planning. This should make that, if there was a 'wrong information' item, it should still try to get enough milk for the next one, as long as each isn't similarly off...

Basically, more info should help us debug. Thanks. :)

Also, new feature I'm toying with, though it does slow it down some more, but... instead of using only multiple-ingredients (count(get_ingredients) > 1) in our looping ingredient check, which eliminates the infinite loops, trying out a single ingredient (count(get_ingredients) > 0) and loop int instead of loop boolean (loop+1 instead of just having looping). Basically, this means that wads of flat dough will try multiple times, but will hit their "can't go!" phase eventually and fail. The positive about this is that it will actually use the still to make you SHC drinks now, etc. Defaulting LOOP_COUNT to 3 currently, since that made me a Mae West instead of the Divine it was going to consume and made my muscle/myst only raise by 5 total for all 4 drinks. Possible that higher would have found something better, but that was an acceptable food-choice for me. :) This also makes it able to consider handfuls of honey as a possible ingredient, etc. Negative on this is that it does actually do that looping thing on ingredients that are always useless, like the flat dough and the like. With LOOP_COUNT set to 3, execution did take several additional seconds... but we can't really eliminate ingredients based on other choices, because we might need to turn flat dough into a wad of dough or vice versa.

Anyways, the LOOP_COUNT change is something I'm wanting to set on a variable, so you can tell it to only try one or two additional loops, or even cut it down to 0 if you want it to only use the ingredients you currently possess and not to try make food based on food you can make... Heh. Implementing this should also cut down on potential infinite loops in the future...

Edit: This does make me happy though... finished my main booze, was checking OD and thought I'd compare to original.
Now, to recap...
******************************************
Starting EatDrink.ash (version 3.1.3).
Consuming up to 15 food, 19 booze, and 15 spleen and then finishing off with the stiffest drink we can find.
Considering food from inventory Hagnk's the mall. Per-item budget cap is 12500.0.
Price will be a factor if you own it already. Hagnk's pulls (if enabled) will cost 3000 meat each.
An adventure has the value of 2000 meat. Mysticality subpoint is 10.0. Nonprime stat subpoint is 2.0. Hagnk pulls are limited and their 'cost' is incorporated.
Simulating only; no purchases or food/drink/spleen consumption.
food: At 0, consuming to 15.
0: milk of magnesium price: 1075 value: 10925
1: spaghetti with Skullheads lev:6 gain:6.0 adv:25.0 musc:49.5 myst:0.0 mox:0.0 meat:2988 own:2 value:7851
2: spaghetti with Skullheads lev:6 gain:6.0 adv:25.0 musc:49.5 myst:0.0 mox:0.0 meat:2988 own:2 value:7851
3: painful penne pasta lev:3 gain:3.0 adv:8.0 musc:18.5 myst:0.0 mox:0.0 meat:800 own:8 value:5079
spleen: At 0, consuming to 15.
Best find was none with a value of 0. That's no good, so not consuming and moving on.
At drunkenness of 19. Overdrinking.
1: slap and tickle lev:4 gain:4.0 adv:12.0 musc:0.0 myst:9.0 mox:26.0 meat:1463 own:8 value:24679
choc: Checking non-filling crimbo chocolates - all 3 kinds
1: chocolate saucepan lev:0 gain:1.0 adv:3.0 musc:0.0 myst:0.0 mox:0.0 meat:3800 own:0 value:2200
2: chocolate saucepan lev:0 gain:1.0 adv:2.0 musc:0.0 myst:0.0 mox:0.0 meat:3800 own:0 value:200
Best find was chocolate saucepan with a value of -1800. That's no good, so not consuming and moving on.
Finished. You had -Ode to Booze in effect. Adventures listed above does not reflect that, but this does:
Spent 16914 meat. Gained Fullness: 15. Inebriety: 4. Spleen: 0. Adventures: 91. Muscle: 116. Moxie: 26. Mysticality: 9.
Eating, drinking, and spleening complete. Commence merrymaking (at your own discretion).
And new:
Now, to recap...
******************************************
Starting EatDrink.ash (version 3.1.4).
Consuming up to 15 food, 19 booze, and 15 spleen and then finishing off with the stiffest drink we can find.
Considering food from inventory Hagnk's Coinmasters NPCs the mall. Per-item budget cap is 12500.0.
Price will be a factor if you own it already. Hagnk's pulls (if enabled) will cost 3000 meat each.
An adventure has the value of 2000 meat. Mysticality subpoint is 10.0. Nonprime stat subpoint is 2.0. Hagnk pulls are limited and their 'cost' is incorporated.
Simulating only; no purchases or food/drink/spleen consumption.
food: At 0, consuming to 15.
1: spaghetti with Skullheads lev:6 gain:6.0 adv:25.0 musc:49.5 myst:0.0 mox:0.0 meat:2988 own:0 value:7851
2: spaghetti with Skullheads lev:6 gain:6.0 adv:25.0 musc:49.5 myst:0.0 mox:0.0 meat:2988 own:0 value:7851
3: painful penne pasta lev:3 gain:3.0 adv:8.0 musc:18.5 myst:0.0 mox:0.0 meat:800 own:1 value:5079
spleen: At 0, consuming to 15.
At drunkenness of 19. Overdrinking.
0: Ode to Booze price: 0 value: 8000
1: slap and tickle lev:4 gain:4.0 adv:12.0 musc:0.0 myst:9.0 mox:26.0 meat:1463 own:1 value:22679
choc: Checking non-filling crimbo chocolates - all 3 kinds
1: chocolate saucepan lev:0 gain:1.0 adv:3.0 musc:0.0 myst:0.0 mox:0.0 meat:3800 own:0 value:2200
2: chocolate saucepan lev:0 gain:1.0 adv:2.0 musc:0.0 myst:0.0 mox:0.0 meat:3800 own:0 value:200
Best find was chocolate saucepan with a value of -1800. That's no good, so not consuming and moving on.
Finished. You had -Ode to Booze in effect. Adventures listed above does not reflect that, but this does:
Spent 200 meat for a value of 15839 meat. Gained Fullness: 15. Inebriety: 4. Spleen: 0.
Adventures: 79. Muscle: 116. Moxie: 26. Mysticality: 9.
Eating, drinking, and spleening complete. Commence merrymaking (at your own discretion).
Works, and the adventures listed is closer to accurate... I haven't touched the chocolate code yet, which I'll need to do at some point so it stops adding those adventures onto there, but... spending 200 meat for 74 adventures isn't too bad, and the two returned exactly the same choices, since I can actually make 2 spaghettis. Well, except that old thinks that milk is always possible if you want it, but otherwise, the same.
 
Last edited:
Top