]> granicus.if.org Git - nethack/commitdiff
two land mine bits
authornethack.rankin <nethack.rankin>
Sat, 3 May 2003 02:08:34 +0000 (02:08 +0000)
committernethack.rankin <nethack.rankin>
Sat, 3 May 2003 02:08:34 +0000 (02:08 +0000)
     Noticed when investigating one of the killer reason bugs recently
reported:  a land mine explosion shouldn't create a concealed pit trap;
make a revealed pit instead.  And while testing that, I noticed that the
"Kaboom" message given when pushing a boulder onto a land mine was given
while the map still showed the boulder at its original location even
though it had actually been moved already.  It's a little odd that you
get hit by shrapnel at your original position--as if you're shoving the
boulder ahead of you and then pausing a moment before stepping into its
former location--but that's trickier to fix; sometimes you won't advance
due to there being multiple boulders present (in that case you evidently
do shove the boulder instead of performing a steady push, so maybe the
current behavior is fine as it is).

doc/fixes34.2
src/hack.c
src/trap.c

index 2fb3e4e6ef461ff23e0cabd884612161a7d34f35..996900f0722c0358b275f217c6a2146ec2d813fb 100644 (file)
@@ -48,6 +48,8 @@ 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
 help display for "list of game options" misformats runmode and scroll_amount
+pit created by land mine explosion doesn't start out concealed
+update map display sooner when pushed boulder triggers land mine explosion
 
 
 Platform- and/or Interface-Specific Fixes
index bd6df7430cb729f54797d0d558865898ba878385..1e8b721bdc58dbca3a52d565bcb4cbd6ca05617c 100644 (file)
@@ -1,4 +1,4 @@
-/*     SCCS Id: @(#)hack.c     3.4     2003/01/08      */
+/*     SCCS Id: @(#)hack.c     3.4     2003/04/30      */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -134,11 +134,13 @@ moverock()
                switch(ttmp->ttyp) {
                case LANDMINE:
                    if (rn2(10)) {
-                       pline("KAABLAMM!!!  %s %s land mine.",
-                               Tobjnam(otmp, "trigger"),
-                               ttmp->madeby_u ? "your" : "a");
                        obj_extract_self(otmp);
                        place_object(otmp, rx, ry);
+                       unblock_point(sx, sy);
+                       newsym(sx, sy);
+                       pline("KAABLAMM!!!  %s %s land mine.",
+                             Tobjnam(otmp, "trigger"),
+                             ttmp->madeby_u ? "your" : "a");
                        blow_up_landmine(ttmp);
                        /* if the boulder remains, it should fill the pit */
                        fill_pit(u.ux, u.uy);
index d367c1b601f59c0e9571f26c12bfd784320e5be2..903d87b4f8b3fbb16d83248d997c7669f044c83e 100644 (file)
@@ -1,4 +1,4 @@
-/*     SCCS Id: @(#)trap.c     3.4     2003/02/10      */
+/*     SCCS Id: @(#)trap.c     3.4     2003/04/30      */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /* NetHack may be freely redistributed.  See license for details. */
 
@@ -1208,6 +1208,7 @@ struct trap *trap;
        /* caller may subsequently fill pit, e.g. with a boulder */
        trap->ttyp = PIT;               /* explosion creates a pit */
        trap->madeby_u = FALSE;         /* resulting pit isn't yours */
+       seetrap(trap);                  /* and it isn't concealed */
 }
 
 #endif /* OVLB */