From 2dc918a6c4b1447add6c7a2fbe07f4dc33cc78e1 Mon Sep 17 00:00:00 2001 From: "nethack.rankin" Date: Sat, 24 Feb 2007 05:45:34 +0000 Subject: [PATCH] exploding potion of acid left in bones Noticed while looking at the dipping code: #dip at a pool location gives the chance to dip into the pool, and dipping a potion of acid into such causes the acid to explode, causing damage and posibly killing the hero. Use-up handling was being done after the dip had finished, so the potion would remain in final inventory during disclosure and end up in the resulting bones file if there was one. --- doc/fixes34.4 | 1 + src/potion.c | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/doc/fixes34.4 b/doc/fixes34.4 index 6e42a24d3..07e14ca59 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -122,6 +122,7 @@ probing the resulting double-gold monster caused "static object freed" panic cursed wand might explode if used to engrave fatal wish from magic lamp left functional magic lamp in bones data fatal wish granted by monster left that monster in bones data +death due to dipping potion of acid into a pool left the potion in bones data clear prompt from screen after ESC is used to abort "In what direction?" minor interface changes for interactively manipulating autopickup exceptions chatting with quest leader who was brought back from the dead gave warnings diff --git a/src/potion.c b/src/potion.c index f00b36270..c2be4cc9f 100644 --- a/src/potion.c +++ b/src/potion.c @@ -1717,8 +1717,9 @@ dodip() rider_cant_reach(); /* not skilled enough to reach */ #endif } else { + if (obj->otyp == POT_ACID) obj->in_use = 1; (void) get_wet(obj); - if (obj->otyp == POT_ACID) useup(obj); + if (obj->in_use) useup(obj); } return 1; }