diff -Ndru nethack-3.4.3\src\pickup.c vanishing\src\pickup.c --- nethack-3.4.3\src\pickup.c Sun Dec 07 18:39:13 2003 +++ vanishing\src\pickup.c Tue Jan 17 01:09:32 2006 @@ -2119,16 +2119,18 @@ otmp = curr->nobj; if (Is_mbag(obj) && obj->cursed && !rn2(13)) { obj_extract_self(curr); + obj->owt = weight(obj); loss += mbag_item_gone(held, curr); + bot(); used = 1; } else { cnt++; } } + (void) encumber_msg(); if (loss) /* magic bag lost some shop goods */ You("owe %ld %s for lost merchandise.", loss, currency(loss)); - obj->owt = weight(obj); /* in case any items were lost */ if (!cnt) Sprintf(emptymsg, "%s is %sempty.", Yname2(obj), @@ -2157,7 +2159,7 @@ if (!cnt) Sprintf(menuprompt, "%s ", emptymsg); Strcat(menuprompt, "Do what?"); t = in_or_out_menu(menuprompt, current_container, outokay, inokay); - if (t <= 0) return 0; + if (t <= 0) return used; loot_out = (t & 0x01) != 0; loot_in = (t & 0x02) != 0; } else { /* MENU_COMBINATION or MENU_PARTIAL */