soolar / sl_ascend

An ascension script for kolmafia
11 stars 5 forks source link

Refactor auto-consumption to be smart in softcore #298

Closed jaspercb closed 4 years ago

jaspercb commented 4 years ago

Posting this PR as a request for comment, since I'm still tweaking the weights on this.

Sample day 1 consumption in softcore standard:

sl_eaten = (1:Jarlsberg's key lime pie:129), (1:Sneaky Pete's key lime pie:129), (1:grue egg omelette:129), (1:meteoreo:129), (1:glass of raw eggs:129), (1:Hide-rox™ cookie:129) (3 pulls, for the two key lime pies and the grue egg omelette - this seems reasonable to me)

sl_drunken = (1:splendid martini:50), (1:splendid martini:56), (1:splendid martini:63), (1:Third Base:71), (1:oily mushroom wine:75), (1:oily mushroom wine:91), (1:oily mushroom wine:91), (1:jug of booze:124) (3 pulls for 3 oily mushroom wines - this is a little pricy and seems like not a great move. Decreasing the limit on cost-per-inebriety would mitigate this (since mushroom wines are expensive), or we could increase the penalty for "adventures from pulling" from -7 to -10 or something even larger.)

EDIT: Closes #308 (guards pullXWhenHaveY with "if we have one in storage already")

jaspercb commented 4 years ago

Oh, and here's sample test output from when I cleared out sl_ascend_items.txt and ran the new error-handling code. I think the current error message isn't great, and would be thrilled to change it to something else. :)

Found dependency loop involving wad of dough when trying to craft moosemeat pie, consider adding to reserve list.
> Dependencies (in no particular order):
> > wad of dough
> > pie crust
> > flat dough
> > moosemeat pie