Bug eating diabolic pizza should not prefer Chez Snootée

ckb

Minion
Staff member
When eating a food item, Mafia seems to prefer to get it from Chez Snootée instead of inventory if possible.
If the Chez Snootée item today is diabolic pizza, eat(1,$item[diabolic pizza]); will do this:

You acquire an item: diabolic pizza
Visiting Chez Snootée...
Menu retrieved.
Purchasing diabolic pizza at the Chez Snootée...
You gain 3 Adventures
You gain 3 Fullness
You spent 15 Meat
Goodie purchased.

This may be the feature working correctly, but it is not desired. That's a crappy pizza not worth consuming.
Can an exception be made for diabolic pizza to never be eaten from Chez Snootée and always prefer the inventory item?
 
Last edited:

fronobulax

Developer
Staff member
When eating a food item, Mafia seems to prefer to get it from Chez Snootée instead of inventory if possible.
If the Chez Snootée item today is diabolic pizza, eat(1,$item[diabolic pizza]); will do this:



This may be the feature working correctly, but it is not desired. That's a crappy pizza not worth consuming.
Can an exception be made for diabolic pizza to never be eaten from Chez Snootée and always prefer the inventory item?

This sounds like you are describing the expected behavior of acquire - if KoLmafia thinks it is cheaper to buy than make then it buys. It values inventory at mall prices so (without looking at the code) buying the pizza from the NPC is cheaper than buying at the mall or eating from inventory.

What I don't know is whether eat explicitly acquires or not. I need the debugger or someone smarter than me or more time.

There are things in the KoLmafia ecosystem that will value inventory less than mall so that inventory gets used. But I think it is EatDrink.

If it is a crappy pizza not worth consuming then perhaps the script trying to eat it should be changed to not try?
 

heeheehee

Developer
Staff member
This is actually special handling in textui/command/UseItemRequest.java, which prefers to check RestaurantCommand.makeChezSnooteeRequest (where we might consider adding this logic) over the normal consumption mechanism.

Are there other items we should reject unilaterally?
 

ckb

Minion
Staff member
I was very surprised that (1) diabolic pizza was something that would appear at Chez Snootée and (2) the results of eating a diabolic pizza from there would not be the same as the one in my inventory.

Either way, it would be nice to reject this unilaterally per hee3's suggestion.

In the meantime I will just use visit_url("inv_eat.php?&whichitem=10336");
 

ckb

Minion
Staff member
The only other food I could think of that is Type: food (???) is spaghetti breakfast - not sure what happens if you eat that from Chez Snootée.
(according to the wiki that should not be available)
 
Top