fix C343-331 mirrors & sleeping mon
This outstanding bug was complicated slightly because the same code was used for a sleeping mon as for a paralyzed mon so message phrasing was called into question. Just flip the phrasing to be about what you are able to discern under those circumstances, which is very little, and don't have the sleeping or paralyzed monster react to the mirror.
This commit is contained in:
17
src/apply.c
17
src/apply.c
@@ -956,9 +956,20 @@ struct obj *obj;
|
||||
(void) rloc(mtmp, TRUE);
|
||||
} else if (!is_unicorn(mtmp->data) && !humanoid(mtmp->data)
|
||||
&& (!mtmp->minvis || perceives(mtmp->data)) && rn2(5)) {
|
||||
if (vis)
|
||||
pline("%s is frightened by its reflection.", Monnam(mtmp));
|
||||
monflee(mtmp, d(2, 4), FALSE, FALSE);
|
||||
boolean do_react = TRUE;
|
||||
|
||||
if (mtmp->mfrozen) {
|
||||
if (vis)
|
||||
You("discern no obvious reaction from %s.", mon_nam(mtmp));
|
||||
else
|
||||
You_feel("a bit silly gesturing the mirror in that direction.");
|
||||
do_react = FALSE;
|
||||
}
|
||||
if (do_react) {
|
||||
if (vis)
|
||||
pline("%s is frightened by its reflection.", Monnam(mtmp));
|
||||
monflee(mtmp, d(2, 4), FALSE, FALSE);
|
||||
}
|
||||
} else if (!Blind) {
|
||||
if (mtmp->minvis && !See_invisible)
|
||||
;
|
||||
|
||||
Reference in New Issue
Block a user