Kicking a grave may topple the gravestone

...with similar alignment hit as when digging up a grave.
This commit is contained in:
Pasi Kallinen
2015-03-29 17:44:59 +03:00
parent 1e49567937
commit 6c58e7f03f
2 changed files with 23 additions and 1 deletions

View 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

View 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;