]> granicus.if.org Git - nethack/commitdiff
Kicking a grave may topple the gravestone
authorPasi Kallinen <paxed@alt.org>
Sun, 29 Mar 2015 14:44:59 +0000 (17:44 +0300)
committerPasi Kallinen <paxed@alt.org>
Sun, 29 Mar 2015 14:45:45 +0000 (17:45 +0300)
...with similar alignment hit as when digging up a grave.

doc/fixes35.0
src/dokick.c

index 0d7fb3cdeb1098b86ac6e44ca7b695e94cf7bf13..6d859ff4d7e70a7f0d168329f1503d1f5baa6035 100644 (file)
@@ -892,6 +892,7 @@ add messages for trying to pick up some terrain features
 boomerang makes noise when hitting a sink
 non-pet rust monsters would eat rust-proofed non-digestibles but ignore
        those non-digestibles otherwise
+kicking a grave may topple the gravestone
 
 
 Platform- and/or Interface-Specific Fixes
index 645eb5cf27e8c0cae157a8a7364709c46c22cd65..d558bdd3871f7d23d90335f8cc0405b2ab7ada22 100644 (file)
@@ -991,7 +991,28 @@ dokick()
                    exercise(A_DEX, TRUE);
                    return(1);
                }
-               if(IS_GRAVE(maploc->typ) || maploc->typ == IRONBARS)
+               if (IS_GRAVE(maploc->typ)) {
+                   if(Levitation) goto dumb;
+                   if (rn2(4)) goto ouch;
+                   exercise(A_WIS, FALSE);
+                   if (Role_if(PM_ARCHEOLOGIST) ||
+                       Role_if(PM_SAMURAI) ||
+                       ((u.ualign.type == A_LAWFUL) && (u.ualign.record > -10))) {
+                       adjalign(-sgn(u.ualign.type));
+                   }
+                   maploc->typ = ROOM;
+                   maploc->doormask = 0;
+                   (void) mksobj_at(ROCK, x,y, TRUE, FALSE);
+                   del_engr_at(x,y);
+                   if (Blind)
+                       pline("Crack!  %s broke!", Something);
+                   else {
+                       pline_The("headstone topples over and breaks!");
+                       newsym(x,y);
+                   }
+                   return 1;
+               }
+               if(maploc->typ == IRONBARS)
                    goto ouch;
                if(IS_TREE(maploc->typ)) {
                    struct obj *treefruit;