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

Big Money Sylvia

New member
Except you do NOT need to do a mall search to find out *some* items are going to be trash, because they would be trash even for free. I even postulated an explicit formula to find out which ones.
(you still need to do a mall search for many other items that will turn out to be trash)
You got it. That's what I was trying to get at with my convoluted rat scrapple example.

And if you know you want a minimum average of 2.5 adventures or better... well, you can already tell the script to do so and it will eliminate the items while parsing mafia's data files and never run the mall search at all...
One problem with this: What constitutes a reasonable minimum is very different between food/booze/spleen. 3 adv/fill food is a no-brainer, but spleen items of that level are much harder to come by.
(My main reason for this request: It's frustrating that the script does a buttload of redundant searches by default, and takes ridiculously long with a bad connection/during high server load).

Yeah .. I *considered* mentioning a "but I don't want to be the one to implement that, after looking at the code". It's not as trivial change as it looks from the "drawings of what we want it to do" table.
Size and availability are probably enough make this complicated, even KoLmafia idiosyncracies aside. But it's a shame about those - otherwise I might have implemented it myself, as it seems like a fun challenge from the drawing table.
 

Cool12309

Member
The check to see whether or not a dish counts for carboloading seems a bit incomplete. It only checks to see if the item is created from dry noodles or evil dry noodles, but doesn't check savory dry noodles, which are made from dry noodles. I don't know if all of the items that can be made from the savory noodles are pasta-y, but the elemental hi meins do count. Also, apparently, the spaghetti breakfast counts too.

Disclaimer: I have not tested any of these items, as I do not want to spend more time than I need to in this aftercore (I'm trying to finish the HC standard outfit before 2015 is over).

edit: Also, wouldn't it make sense to ignore the noNoodles preference if the mafia preference says carboloading is not being used?
 
Last edited:

Theraze

Active member
It's up to you whether or not you want to work on carboloading. That's your choice. And only happens when you manually toggle the boolean.

Added avoiding savory dry noodles and their dishes. Also avoids spaghetti breakfast.
 

Ulti

Member
Today my diet had "bag of QWOP" in it which gave me the "QWOPped Up" effect causing my regular attacks to miss, losing combat, getting beaten up and triggering my farming script's beaten up aborting functionality. I'm not sure how many negative effects are out there, but I just want EatDrink.ash to do just that for me, eat and drink. I mean, sure, I can adjust my farming script to check for such negative effects, but I think the EatDrink.ash should be the one checking for such negative effects because it's the one gaining them in the first place and I don't even have a list of all the negative effects it can screw me over with, lol.

I am thinking, perhaps add in a functionality for using soft green echo eyedrop antidote, sure there are other ways to shrug off negative effects to save ~300 meat, but this is for rare situations anyways so the script doesn't cause other scripts to fail. Can it auto-shrug such negative effects for us when eating/drinking/chewing? Perhaps after it finishes its diet for the day, then shrug off any remaining negative effects gained from eating/drinking/chewing.
 

Theraze

Active member
You could just run it through a wrapper. Look at the trackitems alias to see some easy ways to do that. You're still responsible for figuring out what you want to shrug and what you don't, but... how you use the script and with what is the user's choice.
 

fronobulax

Developer
Staff member
Or just add "if get effect QWOPped up, uneffect QWOPped up" to your mood and it'll get removed automatically.

Yep. Worked for best anapests too. I am not certain that making this an ED problem is worth the effort, but if someone makes the effort then don't forget white lighting and temporary blindness and the things that beat you up.

Also need to distinguish between "don't use this because I can't deal with the effect (ronin, skill not available, no meat, etc.) and "ok to use this but remove the effect".
 

Ulti

Member
Is there a way to test in KoLMafia if a specific effect is a negative effect? Then I could add logic for any negative effects gained from eatdrink(...) to have them shrugged.
 

Theraze

Active member
And fumbling can be a good thing depending on your equipment and effects. And some people think anapests and cheez are funny rather than just aggravating. *shrugs*
 

ereinion

Member
A request; when saying no to crafting a food-item, because you'll run out of free crafting turns before crafting all of them (or for any other reason, really, but that's the only one I've run into lately), could you make EatDrink move on to the next best option, instead of retrying the same consumable?

 

Theraze

Active member
If it fails to gain any of an item, it will pick a new item. If it gets some, it may try again.

You just have 6 of the same crafting queued there. :) Say no 6 times, and it'll pick something new.
 

Theraze

Active member
Okay, it's been lightly tested, but I've added an new internal boolean named EAT_NOPE. It defaults to false and can only be set in the alias/importing script, but it disables the consumption pass. I often find that I consume to normal fullness and then run a simulation pass for overdrinking so that I can acquire that item while I still have adventures, in case it takes crafting to get it. This new boolean lets me simply run a consumption execution and then an acquisitory execution for overdrinking.
 

Theraze

Active member
Any changes needed for the new Avatar path? They generally take some changes, but I haven't actually started one yet though it may happen later today depending on how crazy today's Exchange migration goes.
 

Magus_Prime

Well-known member
Three things come to mind:
- The lower consumption limits that KoLmafia doesn't yet handle
- Each class has a high level skill that increases the limit for one organ
- You can't learn the skill that increases the limit until you purchase the book that unlocks the higher level skills in the L & T telegraph office

Each "book" costs 15 of the L & T currency.
 

Theraze

Active member
1-3 are irrelevant. All of those are mafia-handled items which we won't mess with.

Good to know though that we don't need to worry about any sort of +adventure skills or other such handling.
 

Bale

Minion
Good to know though that we don't need to worry about any sort of +adventure skills or other such handling.

Beanslingers have a skill called Bean Weaver which causes plates of beans to give more adventures and stats when you eat them.
 

Theraze

Active member
Everyone with the skill? Just them? Any other food items affected? How much more adventures and stats? Do AoWoLs have any skill sharing?

I suppose one of these days I'll actually run my turns early enough in the day to ascend again and find out, but until then, expect me to know absolutely nothing about the path. Because I do know precisely that much. :)
 

Terion

Member
As I understand it (which may be wrong, and I'm sure will soon be corrected if so) you only gain skills of your class while playing through your ascension; however, you can have skills of other classes from previous ascensions in the other classes (a cross between perming other-class skills and starting points to put in those skill trees). So, eventually, any character can have that Beanslinger skill.
 

Bale

Minion
You can also keep the skill in aftercore as well as other Western classes, so if you have the skill it always applies, regardless of class. Fortunately if have_skill() is true, you can always apply the affect.

The problem is that the magnitude of the effect still needs to get fully spaded so it is definitely too soon to add it to EatDrink. I was just pointing it out since you were asking about it. I found it weird that you went from asking to complaining so quickly. Bad day?
 
Top