drum of earthquake - monster portion
<Someone> 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
This commit is contained in:
+2
-1
@@ -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
|
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
|
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
|
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
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
+11
-5
@@ -311,14 +311,20 @@ do_pit: chasm = maketrap(x,y,PIT);
|
|||||||
|
|
||||||
if (mtmp) {
|
if (mtmp) {
|
||||||
if(!is_flyer(mtmp->data) && !is_clinger(mtmp->data)) {
|
if(!is_flyer(mtmp->data) && !is_clinger(mtmp->data)) {
|
||||||
|
boolean m_already_trapped = mtmp->mtrapped;
|
||||||
mtmp->mtrapped = 1;
|
mtmp->mtrapped = 1;
|
||||||
if(cansee(x,y))
|
if (m_already_trapped) { /* suppress messages */
|
||||||
pline("%s falls into a chasm!", Monnam(mtmp));
|
if(cansee(x,y))
|
||||||
else if (!Deaf && humanoid(mtmp->data))
|
pline("%s falls into a chasm!", Monnam(mtmp));
|
||||||
You_hear("a scream!");
|
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);
|
mselftouch(mtmp, "Falling, ", TRUE);
|
||||||
if (mtmp->mhp > 0)
|
if (mtmp->mhp > 0)
|
||||||
if ((mtmp->mhp -= rnd(6)) <= 0) {
|
if ((mtmp->mhp -=
|
||||||
|
rnd(m_already_trapped ? 4 : 6)) <= 0) {
|
||||||
if(!cansee(x,y))
|
if(!cansee(x,y))
|
||||||
pline("It is destroyed!");
|
pline("It is destroyed!");
|
||||||
else {
|
else {
|
||||||
|
|||||||
Reference in New Issue
Block a user