From 6c58e7f03fecefc7f0ddd666d0f7df2b867fa408 Mon Sep 17 00:00:00 2001 From: Pasi Kallinen Date: Sun, 29 Mar 2015 17:44:59 +0300 Subject: [PATCH] Kicking a grave may topple the gravestone ...with similar alignment hit as when digging up a grave. --- doc/fixes35.0 | 1 + src/dokick.c | 23 ++++++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/doc/fixes35.0 b/doc/fixes35.0 index 0d7fb3cde..6d859ff4d 100644 --- a/doc/fixes35.0 +++ b/doc/fixes35.0 @@ -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 diff --git a/src/dokick.c b/src/dokick.c index 645eb5cf2..d558bdd38 100644 --- a/src/dokick.c +++ b/src/dokick.c @@ -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;