Feature - Implemented Show available Fancy recipes with zero turns left, at least when Inigo's is active

illarion

Member
Related to http://kolmafia.us/showthread.php?6826-Display-Fancy-recipes-without-Fancy-implements

Currently (I assume), Fancy recipes (ie those which cost turns) do not show in the Booze/Food menus in Item Manager when you have zero turns available, unless you have a chef/tender in the box.

I would find it useful if it were possible to force Mafia to show them (perhaps by a preference), either all the time, and/or when they will cost no turns to make due to active Inigo's.

Rationale:
Frequently, I spend all my adventures - knowing I have Inigo's casts in hand - then go to make food and drink at the end. As it stands, the only way I know to find out what I can make (particularly booze, as food tends to be simpler) is by manually checking what bottles and garnishes I have, and looking them up on the wiki. I imagine a number of people also find this. It is particularly prevalent when using a script such as BumCheekCity's ascension script.

Assuming I am correct about the logic for when Mafia currently shows them (I believe "when creation will be free, due to chef/tender"), then "when creation will be free due to Inigo's" seems to make sense also.
 

Theraze

Active member
It should now be displaying them if you have enough Inigo's active to finish them... is it failing to do so? Inigo is supposed to go against the same part that boxen do. If it's not doing so, that'd be a bug, since we've committed a FReq that was supposed to make this work.
 

illarion

Member
No, I've just tested it. With Inigo's active, Rockin Wagon didn't show as possible in booze (with vodka martini + magical ice cubes) in inventory, but "make rockin" on the CLI worked fine.

(Even if it did, the ability to show it even *without* Inigos active would still be useful. Casting Inigos is a big investment (in mp of course, and possibly max-MP increasing prep), so it would be good to know ahead of time that you had something to create).
 

Veracity

Developer
Staff member
It fails for me, too. I have 0 turns, Inigos's active, and the recipes that would otherwise take turns do not show up.
 

Theraze

Active member
Any chance you have autoRepairBoxServants on? It appears that the Inigo check was only active if the autorepair preference was off.

This patch should enable it if your box is broken/non-existent and you can't repair it. It just duplicates the Inigo check from above in useBoxServants to the one below used if you're trying to autorepair and fail...
 

Attachments

  • InigoForAutoRepair.patch
    700 bytes · Views: 28

illarion

Member
Any chance you have autoRepairBoxServants on? It appears that the Inigo check was only active if the autorepair preference was off.
Not in my case. Both "require in-a-boxes" and "repair on explosion" are off.

This patch should enable it if your box is broken/non-existent and you can't repair it. It just duplicates the Inigo check from above in useBoxServants to the one below used if you're trying to autorepair and fail...
Thanks!
 

Veracity

Developer
Staff member
Ditto for me: I had both autoRepairBoxServants and requireBoxServants off. But, your recommended patch was still good - even if you missed the OTHER thing that needed fixing in those lines you were touching: the setting is requireBoxServants, not requireRepairBoxServants. ;)

The error had to be in setting the permit method for fancy items. That code was a nasty mess of conditionals. Revision 9389 refactors it all into something more understandable. Untested, since my character with Inigo's is overdrunk with available adventures; I cannot (will not, at least!) run down the adventures to test today.
 

Winterbay

Active member
I think there's something wrong with this. I cannot at the moment create advanced drinks even when I have the ingredients (and the kit).

Code:
> create 3 fruity girl swill

You cannot mix fancy drinks without a cocktailcrafting kit.

> inv coq

Queue Du Coq cocktailcrafting kit

> inv umbre

little paper umbrella (3)

> inv swill

Typical Tavern swill (3)

I did a refresh all before that just in case. They did show up in the item manager and I had them queued up but when I clicked the button to drink them it said:
Code:
You need 1 more fruity girl swill to continue.
You need 1 more fruity girl swill to continue.
Helper queued for next 1 beverage drunk.
You need 1 more fruity girl swill to continue.

Edit: Scrap that. I forgot that you needed to install the kit in your kitchen. Done that now, and it works :)
 
Last edited:

fronobulax

Developer
Staff member
I did one, and apparently the code should do it already, but didn't for some reason in my case.

I saw that after I made my comment. That said I noticed they weren't being auto-used several weeks ago but didn't really think that all the way through to a feature request which may actually be a bug report.
 

illarion

Member
Hmm, with 9393 I'm now finding that if I let my turns get to zero, then cast Inigos, no fancy recipes are shown. But if I change the list of ingredients - say by upgrading a bottle of rum to Freeman's - then all the fancy drinks appear in the list. A significant improvement, but I'm guessing there's still an issue there somewhere.
 

Veracity

Developer
Staff member
That tells me that when we cast Inigo's, we need to refresh concoctions. I'll look at it.
 

Veracity

Developer
Staff member
Revision 9401 refreshes concoctions whenever you gain or lose an effect.

I started with 0 turns and no Inigos.
Cast Inigos -> fancy concoctions appeared in the Item Manager
Craft enough to exactly use up Inigos - > fancy concoctions disappeared.
Cast Inigo's again - > fancy concoctions appeared.

Too bad this was day one of a Muscle Class Beecore run; replenishing the MP for those tests cost me thousands.
Fortunately, I had thousands to spare. :)

I declare this fixed.
 

illarion

Member
Many thanks! :) And sorry for your MP :(

Any interest in the feature (rather than bug) part of the request? i.e. a way to show fancy creatables at zero turns before casting Inigos? (And separately, a way of distinguishing fancy from non-fancy at a glance would be great too - maybe colour coding?)
 
Top