]> granicus.if.org Git - nethack/commitdiff
magic bag explosion
authornethack.rankin <nethack.rankin>
Sun, 27 Apr 2003 11:05:22 +0000 (11:05 +0000)
committernethack.rankin <nethack.rankin>
Sun, 27 Apr 2003 11:05:22 +0000 (11:05 +0000)
     Make exploding bags of holding be less mysterious, and perhaps cut
done on the number of claims that they've vanished for no reason.  There
wasn't any feedback other than the explosion message itself; in particular,
the message about putting something into the bag didn't occur since that's
handled by the didn't-explode case.

doc/fixes34.2
src/pickup.c

index 5bd3f076459f04b796a409dcc2ed23f678df43d6..ee63c51b6aab7ff032e6630c9f7dc3ceb8f5e9cc 100644 (file)
@@ -46,6 +46,7 @@ fix an uninitialized memory access in non-quick dolookup
 fix were changing message that wasn't being displayed
 immediate encumbrance feedback when removing gauntlets of power
 make deliberately flying down the Castle's trap doors consistent with falling
+give more explicit feedback for exploding bag of holding
 
 
 Platform- and/or Interface-Specific Fixes
index 43ed52e32aa9e5f58fe91ccce140ee4bbec24d59..90262c3f52a41b63eae5f157ef5d212abce3e000 100644 (file)
@@ -1,4 +1,4 @@
-/*     SCCS Id: @(#)pickup.c   3.4     2003/04/02      */
+/*     SCCS Id: @(#)pickup.c   3.4     2003/04/26      */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -1789,7 +1789,10 @@ register struct obj *obj;
                        if (rot_alarm) obj->norevive = 1;
                }
        } else if (Is_mbag(current_container) && mbag_explodes(obj, 0)) {
-               You("are blasted by a magical explosion!");
+               /* explicitly mention what item is triggering the explosion */
+               pline(
+             "As you put %s inside, you are blasted by a magical explosion!",
+                     doname(obj));
                /* did not actually insert obj yet */
                if (was_unpaid) addtobill(obj, FALSE, FALSE, TRUE);
                obfree(obj, (struct obj *)0);