Feature Ignore "Require in-a-boxes" if Inigo's Incantation is active

Quietust

New member
Currently, the "require in-a-boxes" option will cause cooking/cocktailcrafting operations to abort (or automatically install the appropriate box servant if you've enabled the appropriate option) if doing so would require spending turns, regardless of whether or not you have Inigo's Incantation of Inspiration active.

If you've got enough turns of Inigo's Incantation to cover what you're trying to craft, it would be nice if it made use of those without requiring the user to uncheck "require in-a-boxes" and then remember to recheck it afterwards (since forgetting to recheck it results in wasted Adventures when the box servant inevitably explodes, something which just happened to me earlier today).
 

Bale

Minion
I endorse this request despite its obviously inappropriate use of the word "require". It makes more functional sense than it makes linguistic sense.

Perhaps things could be made linguistically appropriately by changing the label to "require zero turn crafting" for food and drink.
 

Bale

Minion
Would that be a bad thing if KoLmafia poped up a box prompting you about Inigo, like it currently does with Ode and milk? It's a bit more than this feature request is asking for, but I doubt anyone would think that a bad feature. (In fact I'm pretty sure I've seen that feature request in this forum.)
 

roippi

Developer
I swear this has been freq'd elsewhere? Maybe not as succinctly.

But yes, eventually we'd want to move to requireZeroTurn, and deprecating or removing the requireBoxServant pref. If this is implemented properly, it should be easy to also parlay it into a "require turnless" filter on the creation panel.
 

xKiv

Active member
Would that be a bad thing if KoLmafia poped up a box prompting you about Inigo, like it currently does with Ode and milk? It's a bit more than this feature request is asking for, but I doubt anyone would think that a bad feature.

It could be a bad feature if the choice was (only) between "cast Inigo (without making sure you will get optimal turns out of it, like unequipping an inferior accordeon, pulling a JEW hat or equipping opera mask)" and "craft using adventures".
Another issue is that you might not be able to cast Inigo's, but you might be able to (acquire and) use a recording of it instead.
 

roippi

Developer
Hmmm. The code for requireBoxServant/autoRepairBoxServant is pretty old and will require a major overhaul to support this. I'm inclined to say "no" to changing the behavior of those two, and more inclined to just add a requireZeroTurnCrafting preference. Since there's now the popup logic in place when spending adventures, it would basically be equivalent to automatically clicking no*. Thoughts?

*Though it could be a bit smarter than that, deciding to buy even when crafting is cheaper. Could probably temporarily coerce valueOfAdventure to Integer.MAX_VALUE for the pertinent parts of retrieveItem.
 

Bale

Minion
Thoughts?

I think that your idea about "requre zero turn crafting" would be an excellent replacement for "require box servant" while suiting the same purpose of accepting Inigos.


Could probably temporarily coerce valueOfAdventure to Integer.MAX_VALUE for the pertinent parts of retrieveItem.

Very clever, but probably not an ideal solution. Lets just continue to allow "automatically create box servants" to do its job the way it currently does.
 

roippi

Developer
Very clever, but probably not an ideal solution. Lets just continue to allow "automatically create box servants" to do its job the way it currently does.

Oh, I wasn't planning on doing anything to box servants. I anticipate the following complaint: "I have 'require turn-free crafting' enabled, but when I try to 'acquire 1 gimlet' mafia decides it's cheaper to make the gimlet and then aborts creation because it will take adventures. I would expect it to just buy the gimlet from the mall."
 

roippi

Developer
I think this is what I'd prefer, after digging around with the innabox code:

The extant code does some very specific things that do not mesh well with the "newer" method of determining adventure usage. Specifically, the "old" way is to look at the creation method, and require box servants if the creation method is fancy. As we now know, there are some notable exceptions to this rule. (it is a sufficient but not necessary condition, I believe. or maybe that's backwards) Plus, the preference is very specifically named - it has to do with box servants, not free crafting.

Anyway, my proposal is to not touch requireBoxServants and the associated code. It is operating exactly as it says on the tin - box servants are required.

What I'd rather do is to deprecate requireBoxServants and introduce requireTurnFreeCrafting. This would:

-first check if we have enough free crafting turns
-if no, then check if we have a box servant installed
-if no, then check if we have a box servant available to install
-if no, fail

This system would move away from the creation method-based system and move onto the concoction.getAdventuresNeeded system. This would provide a nice centralized place to adjust what does and does not take an adventure.

So.. I'd like to mark this one rejected, and open up a new one requesting requireTurnFreeCrafting if that is something that people want. I have to imagine with the new prompts about crafting taking turns that it is lower priority than it used to be.
 
Top