From b9db663de19c147ca9737980aaed59807c590914 Mon Sep 17 00:00:00 2001 From: "nethack.allison" Date: Fri, 14 Apr 2006 14:33:01 +0000 Subject: [PATCH] drum of earthquake - monster portion wrote: > When applying a drum of earthquake, should you "fall into a chasm" if > you're already at the bottom of a pit? (Likewise monsters.) monster already in a pit won't "fall into a chasm" from drum of earthquake --- doc/fixes34.4 | 3 ++- src/music.c | 16 +++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/doc/fixes34.4 b/doc/fixes34.4 index 367461e8c..7aaa8b988 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -205,7 +205,8 @@ check for hero location in digactualhole() before clearing u.utrap clear any pits that the hero digs in the vault guard's temporary corridor shattering a monster's weapon didn't work as intended for stack of N>1 don't reveal surface information that you can neither feel or see -hero already in a pit won't "fall into a chasm" from drum of earthquake +if the hero or a monster is already in a pit don't have them "fall into a chasm" + from drum of earthquake Platform- and/or Interface-Specific Fixes diff --git a/src/music.c b/src/music.c index 844fd3834..e45d6e117 100644 --- a/src/music.c +++ b/src/music.c @@ -311,14 +311,20 @@ do_pit: chasm = maketrap(x,y,PIT); if (mtmp) { if(!is_flyer(mtmp->data) && !is_clinger(mtmp->data)) { + boolean m_already_trapped = mtmp->mtrapped; mtmp->mtrapped = 1; - if(cansee(x,y)) - pline("%s falls into a chasm!", Monnam(mtmp)); - else if (!Deaf && humanoid(mtmp->data)) - You_hear("a scream!"); + if (m_already_trapped) { /* suppress messages */ + if(cansee(x,y)) + pline("%s falls into a chasm!", Monnam(mtmp)); + else if (!Deaf && humanoid(mtmp->data)) + You_hear("a scream!"); + } + /* Falling is okay for falling down + within a pit from jostling too */ mselftouch(mtmp, "Falling, ", TRUE); if (mtmp->mhp > 0) - if ((mtmp->mhp -= rnd(6)) <= 0) { + if ((mtmp->mhp -= + rnd(m_already_trapped ? 4 : 6)) <= 0) { if(!cansee(x,y)) pline("It is destroyed!"); else { -- 2.40.0