diff --git a/doc/fixes34.4 b/doc/fixes34.4 index b645ddf87..251fb6367 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -366,6 +366,7 @@ could get "suddenly you cannot see the " while invisible mon remained cutting a long worm in half would trigger segfault/accvio crash if the hit took parent down to 1 hit point or if long worms had become extinct blinded invisible hero can't see self as invisible via ';' or '/' +a hangup save while picking up gold from shop floor could duplicate that gold Platform- and/or Interface-Specific Fixes diff --git a/src/pickup.c b/src/pickup.c index 617af5185..70c8a1082 100644 --- a/src/pickup.c +++ b/src/pickup.c @@ -1281,6 +1281,10 @@ boolean telekinesis; /* not picking it up directly by hand */ costly_gold(obj->ox, obj->oy, gold_capacity); } else { u.ugold += count; + if (count == obj->quan) + delobj(obj); + else + obj->quan -= count; if ((nearload = near_capacity()) != 0) pline("%s %ld gold piece%s.", nearload < MOD_ENCUMBER ? @@ -1289,10 +1293,6 @@ boolean telekinesis; /* not picking it up directly by hand */ else prinv((char *) 0, obj, count); costly_gold(obj->ox, obj->oy, count); - if (count == obj->quan) - delobj(obj); - else - obj->quan -= count; } context.botl = 1; if (context.run) nomul(0);