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

Winterbay

Active member
Is there any way of getting the script to not ask for confirmation when it needs to burn adventures at the Wok of Ages?
 

fronobulax

Developer
Staff member
Did you possibly set wants_lasagna to false?

Where is that? I don's seem to find it in preferences or zlib settings on my system.

Curiously I had something prompt me for eating without lasagna while running ED, I said No and aborted. Reran and ED just got the potion and ate. Makes me wonder whether eating without the potion a side effect of step limits or budget. Regardless, I can't seem to find the preference...
 

Theraze

Active member
It's just a value inside the file. It's not exposed, since there isn't really any GOOD reason for people to avoid it. But the file may be manually edited to disable lasagna-boosting if desired, just like you can avoid ode and milk.

Regarding skipping that confirmation... you can set the same preference to not ask about ANY crafting-turns. Which I personally have set myself, but... other people don't all like that, which is why the preference exists. Which I can't remember the specifics about currently. :p But it exists. I think.
 

Theraze

Active member
This is the code that decides whether or not lasagna is actually useful...
Code:
  int pullcost = (USE_STORAGE && get_ronin() && pulls_remaining() > 0) ? COST_OF_PULL : 0;
  int garprice = mall_price($item[potion of the field gar]);
  float garvalue = (5 * lasagnas) * VALUE_OF_ADVENTURE;
  boolean shouldgar = (garvalue > (garprice + pullcost)) && (numeric_modifier($item[tuesday's ruby], "muscle percent") != 5.0);
Basically, if the price of a potion is more than 5*VOA* the number of lasagnas you'll eat, and it isn't Monday, get it. If your stepmeat is low enough that it can only get a single lasagna, it's much less likely...
 

tcluny

New member
Done... Spaghetti Breakfast now has a 'special price' of 2, like the steel items. Should make it be considered basically free if you already have it in your inventory.

I recently picked up the breakfast skill, have cast it the last 2 days and the script seems to be ignoring it still. Am I doing something wrong?
 

Theraze

Active member
No clue. I don't have the skill so I can't test it. Remember also that we use mafia's information about how it is, so the blank quality might be eliminating it for you or something else similar...
 

Razorsoup

Member
While in Ronin, does EatDrink have the ability to buy from the mall and pull the bought item? If not, could it have that ability in the future? This could be handy for softcore ascensions so I don't have to worry about stocking Hangk's before ascending.
 

Theraze

Active member
It doesn't currently. Since it does odd things with meat and involves comparing storage meat to mall prices, it gets a bit... odd. It could though... basically it would just be turning:
Code:
    int storageamt = storage_amount(con.it);
into something more like:
Code:
    int storageamt = storage_amount(con.it) + (mall_price(con.it) > 0 ? to_floor(storage_meat() / mall_price(con.it)) : 0);

I'm loath to do it to myself or people in general because it could really depress you if you ended up with something utterly useless that messed up your run speed because you didn't plan properly, or because that coinmaster item wasn't available, or... anything else similar. But that one line-change above, to your SVN copy, should make it auto-stock and pull for you.
 

Razorsoup

Member
It doesn't currently. Since it does odd things with meat and involves comparing storage meat to mall prices, it gets a bit... odd. It could though... basically it would just be turning:
Code:
    int storageamt = storage_amount(con.it);
into something more like:
Code:
    int storageamt = storage_amount(con.it) + (mall_price(con.it) > 0 ? to_floor(storage_meat() / mall_price(con.it)) : 0);

I'm loath to do it to myself or people in general because it could really depress you if you ended up with something utterly useless that messed up your run speed because you didn't plan properly, or because that coinmaster item wasn't available, or... anything else similar. But that one line-change above, to your SVN copy, should make it auto-stock and pull for you.

Thank you. I'll play around with it on my next softcore run (probably with a multi so if it blows up I'm not out too much).

Edit: storage_meat() should be my_storage_meat() and to_floor() should be floor(). So the line will be
Code:
    int storageamt = storage_amount(con.it) + (mall_price(con.it) > 0 ? floor(my_storage_meat() / mall_price(con.it)) : 0);
 
Last edited:

Theraze

Active member
It's been talked about before. Per actual automatic usage, as xKiv said in 1698, it's not ever going to really make cost effective. As I responded (1699), if you want to use Inigo, just cast it first before you run ED.
 

Razorsoup

Member
Is it normal for EatDrink to take a lot longer for a Disco Bandit in HC than it does for any other class? It seems to take a lot longer even though the settings between characters are the same. Or do is there a funky setting causing this?

Code:
> zlib eatdrink

Copy/paste/modify/enter any of the following lines in the CLI to edit settings:

zlib eatdrink_accordionGet = false
zlib eatdrink_accurateMake = true
zlib eatdrink_ate_choco = Porktober 3:0
zlib eatdrink_ate_fancy = Porktober 3:1
zlib eatdrink_ate_vitac = Porktober 3:0
zlib eatdrink_autosellWhileRonin = false
zlib eatdrink_avoid_astral_energy_drink = false
zlib eatdrink_avoid_astral_hot_dog = false
zlib eatdrink_avoid_astral_pilsner = false
zlib eatdrink_avoid_booze-soaked_cherry = true
zlib eatdrink_avoid_bowl_of_Bounty-Os = true
zlib eatdrink_avoid_giant_marshmallow = true
zlib eatdrink_avoid_gin-soaked_blotter_paper = true
zlib eatdrink_avoid_Instant_Karma = true
zlib eatdrink_avoid_Oreille_Divisée_brandy = true
zlib eatdrink_avoid_sponge_cake = true
zlib eatdrink_avoid_wet_stew = true
zlib eatdrink_budget = 20000
zlib eatdrink_considerCostWhenOwned = true
zlib eatdrink_costOfPull = 1000
zlib eatdrink_fav_pr0n_chow_mein = false
zlib eatdrink_fav_rockin'_wagon = false
zlib eatdrink_fav_twinkly_wad = false
zlib eatdrink_favUse = false
zlib eatdrink_getBartender = 60000
zlib eatdrink_getChef = 10000
zlib eatdrink_gloriousLunch = true
zlib eatdrink_hardcoreServants = 1
zlib eatdrink_loopCount = 4
zlib eatdrink_make = true
zlib eatdrink_maxAge = 2.0
zlib eatdrink_minimumAverage = 1.0
zlib eatdrink_minimumQuality = 1
zlib eatdrink_noNoodles = false
zlib eatdrink_ode = true
zlib eatdrink_pause = 0
zlib eatdrink_piePriority = true
zlib eatdrink_priceFlexibility = 1.25
zlib eatdrink_priceOfNontradeables = 999999999
zlib eatdrink_priceOfQuestItems = 100
zlib eatdrink_priceOfUnknowns = 999999999
zlib eatdrink_shrug = false
zlib eatdrink_simConsume = true
zlib eatdrink_simLevel = 0
zlib eatdrink_simRonin = false
zlib eatdrink_stepMeat = -1
zlib eatdrink_suppressNoMilk = true
zlib eatdrink_suppressOverdrink = true
zlib eatdrink_valueOfNonPrimeStat = 2
zlib eatdrink_valueOfPrimeStat = 10
(If no values were shown, no settings or values matched your input text. Type "zlib vars" to see all.)

> get valueOfAdventure

500
 

Razorsoup

Member
My guess would be that it's taking longer because it has to consider the cost & value of using the still.

I was thinking that might be it but wanted to make sure I didn't screw up a setting or something else. This is the first time I've played as a DB on any of my characters so it was kind of a surprise when ED started taking longer to run.
 

Theraze

Active member
DB and AT take longer, especially if you have the various cocktailcrafting skills. It's longer in HC than SC or aftercore because you don't have the mall available, so it needs to actually consider everything you can possibly make rather than limiting itself to only what's the best priced item.
 

Razorsoup

Member
DB and AT take longer, especially if you have the various cocktailcrafting skills. It's longer in HC than SC or aftercore because you don't have the mall available, so it needs to actually consider everything you can possibly make rather than limiting itself to only what's the best priced item.

So the fact that this is a HC CA2 run which means I started with the skills will only make it more fun. Well, at least I know for sure now why it's taking longer. Thanks for clarifying.
 

Razorsoup

Member
I have a question about the logic in the following section of code:

Lines 1431-1440:
Code:
  if (USE_STORAGE && !get_ronin())
  {
    int storageamt = storage_amount(con.it);
    if (get_ronin())      
      if (storageamt > pulls_remaining())
        storageamt = pulls_remaining();
    con.mustPull = (con.have <= 0) && (storageamt > 0) && 
                   !(brokenpull contains con.it) && ((con.have + storageamt) > 0);
    con.have += storageamt;
  }

It seems this is only going to look at Hagnk's if the user sets the appropriate option AND they are not in ronin. I feel like this should be OR instead but I'm not sure I fully understand what the script is doing to be certain. Can you clarify what I am missing, please?
 
Top