Merge remote-tracking branch 'github/tung/shop-floor-nested-loot' into NetHack-3.6.0

This commit is contained in:
Sean Hunt
2016-04-12 21:32:10 -04:00
2 changed files with 11 additions and 11 deletions

View File

@@ -2024,15 +2024,14 @@ register struct obj *obj;
(void) snuff_lit(obj);
if (floor_container && costly_spot(u.ux, u.uy)) {
if (obj->oclass == COIN_CLASS) {
; /* defer gold until after put-in message */
} else if (current_container->no_charge && !obj->unpaid) {
/* don't sell when putting the item into your own container */
obj->no_charge = 1;
} else {
/* defer gold until after put-in message */
if (obj->oclass != COIN_CLASS) {
/* sellobj() will take an unpaid item off the shop bill */
was_unpaid = obj->unpaid ? TRUE : FALSE;
sellobj_state(SELL_DELIBERATE);
/* don't sell when putting the item into your own container,
* but handle billing correctly */
sellobj_state(current_container->no_charge
? SELL_DONTSELL : SELL_DELIBERATE);
sellobj(obj, u.ux, u.uy);
sellobj_state(SELL_NORMAL);
}

View File

@@ -2889,12 +2889,13 @@ xchar x, y;
offer = ltmp + cltmp;
/* get one case out of the way: nothing to sell, and no gold */
if (!isgold && ((offer + gltmp) == 0L || sell_how == SELL_DONTSELL)) {
if (!(isgold || cgold)
&& ((offer + gltmp) == 0L || sell_how == SELL_DONTSELL)) {
boolean unpaid = is_unpaid(obj);
if (container) {
dropped_container(obj, shkp, FALSE);
if (!obj->unpaid && !saleitem)
if (!obj->unpaid)
obj->no_charge = 1;
if (unpaid)
subfrombill(obj, shkp);
@@ -2965,11 +2966,11 @@ xchar x, y;
currency(eshkp->credit));
}
if (!offer) {
if (!offer || sell_how == SELL_DONTSELL) {
if (!isgold) {
if (container)
dropped_container(obj, shkp, FALSE);
if (!obj->unpaid && !saleitem)
if (!obj->unpaid)
obj->no_charge = 1;
subfrombill(obj, shkp);
}