Steps to reproduce:
Case: Do not have Mayo Clinic in workshed. Do not have Mayoflex in inventory. (Output inconsistent between retrieve_price and npc_price [and mall_price] for unacquirable items)
Case: Do not have Mayo Clinic in workshed. Have Mayoflex in inventory.
Case: Have Mayo Clinic in workshed. Do not have Mayoflex in inventory.
Case: Have Mayo Clinic in workshed. Have Mayoflex in inventory.
It's also a little inconsistent that retrieve_price returns 9223372036854775807 (effectively Infinity) for things that it thinks it can't acquire, but mall_price and npc_price returns 0 for things that they can't acquire (but at least this is deterministic so it's easy to handle once we know the behaviour).
Case: Do not have Mayo Clinic in workshed. Do not have Mayoflex in inventory. (Output inconsistent between retrieve_price and npc_price [and mall_price] for unacquirable items)
Code:
retrieve_price($item[Mayoflex]) // returns 9223372036854775807 (unacquirable)
npc_price($item[Mayoflex]) // returns 0 (unacquirable)
Case: Do not have Mayo Clinic in workshed. Have Mayoflex in inventory.
Code:
retrieve_price($item[Mayoflex]) // returns 0 (debugBuy indicates onhand=1, so an untradeable item has autosell=0)
npc_price($item[Mayoflex]) // returns 0 (unacquirable)
Case: Have Mayo Clinic in workshed. Do not have Mayoflex in inventory.
Code:
retrieve_price($item[Mayoflex]) // returns 9223372036854775807 (Unable to see npc_price of Mayo Clinic?)
npc_price($item[Mayoflex]) // returns 1000
Case: Have Mayo Clinic in workshed. Have Mayoflex in inventory.
Code:
retrieve_price($item[Mayoflex]) // returns 0
npc_price($item[Mayoflex]) // returns 1000
It's also a little inconsistent that retrieve_price returns 9223372036854775807 (effectively Infinity) for things that it thinks it can't acquire, but mall_price and npc_price returns 0 for things that they can't acquire (but at least this is deterministic so it's easy to handle once we know the behaviour).