From 1fbd886068b790e73b65ed9f0d6a6558fff73ad1 Mon Sep 17 00:00:00 2001 From: cohrs Date: Sat, 22 May 2004 01:10:01 +0000 Subject: [PATCH] U1047 - mimics mimicking closed doors on the rogue level Since the rogue level does not have closed doors, mimicking one there makes no sense. Similar to what wand of locking does there, make mimics that end up there mimic a wall instead of a door. --- doc/fixes35.0 | 1 + src/makemon.c | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/doc/fixes35.0 b/doc/fixes35.0 index 924437930..6b6667cdd 100644 --- a/doc/fixes35.0 +++ b/doc/fixes35.0 @@ -67,6 +67,7 @@ when a giant carrying a boulder dies in a pit, ensure that the corpse is when blind and levitating > shouldn't say "stairs" if player has not seen them a slow-moving monster hidden under a rotting corpse was not immediately displayed when the corpse rotted away +mimic that ends up on the rogue level should not mimic a closed door Platform- and/or Interface-Specific Fixes diff --git a/src/makemon.c b/src/makemon.c index f76099c9f..6a94826e8 100644 --- a/src/makemon.c +++ b/src/makemon.c @@ -1665,6 +1665,8 @@ register struct monst *mtmp; * If there is a wall to the left that connects to this * location, then the mimic mimics a horizontal closed door. * This does not allow doors to be in corners of rooms. + * Since rogue has no closed doors, mimic a wall there + * (yes, mimics can end up on this level by various means). */ if (mx != 0 && (levl[mx-1][my].typ == HWALL || @@ -1674,9 +1676,9 @@ register struct monst *mtmp; levl[mx-1][my].typ == TDWALL || levl[mx-1][my].typ == CROSSWALL|| levl[mx-1][my].typ == TUWALL )) - appear = S_hcdoor; + appear = Is_rogue_level(&u.uz) ? S_hwall : S_hcdoor; else - appear = S_vcdoor; + appear = Is_rogue_level(&u.uz) ? S_vwall : S_vcdoor; if(!mtmp->minvis || See_invisible) block_point(mx,my); /* vision */