Dying in a shop while carrying partly eaten food would place that food on the floor without marking it no_charge. But marking it that way wouldn't have helped because as bones data gets saved, every object on the level has its no_charge flag cleared. So 'no_charge' needs to be explicitly set for partly eaten food in tended shops as a bones level gets loaded. Most of the shk.c diff is reformatting, but it does change the get_pricing_units() routine to lie that the quantity is zero for partly eaten food so that when multiplying with price it won't matter whether the price has been forced to zero or been left non-zero.
25 KiB
25 KiB