more sleeping monster
Extend the PR#660 change that shows whether a monster is asleep when examined by farlook/quicklook/autodescribe to monsters that aren't moving due to timed sleep as well as those that are asleep for an unspecified amount of time. Unfortunately 'mfrozen' isn't specific about why a monster can't move so the phrasing is less than ideal.
This commit is contained in:
@@ -1458,6 +1458,9 @@ added a chronicle of major events, and optional live logging of those
|
||||
paranoid:swim to prevent accidental dunking into dangerous liquids
|
||||
looking at a monster will indicate whether it is asleep, and waking up a
|
||||
monster yields a message
|
||||
extend farlook's "<mon>, asleep" to "<mon>, can't move (paralyzed or sleeping
|
||||
or busy)" for timed sleep and also "<mon>, meditating" for monster
|
||||
that is waiting for hero to approach
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific New Features
|
||||
|
||||
@@ -2882,8 +2882,8 @@ mstatusline(struct monst *mtmp)
|
||||
Strcat(info, ", stunned");
|
||||
if (mtmp->msleeping)
|
||||
Strcat(info, ", asleep");
|
||||
#if 0 /* unfortunately mfrozen covers temporary sleep and being busy \
|
||||
(donning armor, for instance) as well as paralysis */
|
||||
#if 0 /* unfortunately mfrozen covers temporary sleep and being busy
|
||||
* (donning armor, for instance) as well as paralysis */
|
||||
else if (mtmp->mfrozen)
|
||||
Strcat(info, ", paralyzed");
|
||||
#else
|
||||
@@ -2924,6 +2924,8 @@ mstatusline(struct monst *mtmp)
|
||||
Sprintf(eos(info), ", injured %s", what);
|
||||
}
|
||||
}
|
||||
if (mtmp->mleashed)
|
||||
Strcat(info, ", leashed");
|
||||
|
||||
/* avoid "Status of the invisible newt ..., invisible" */
|
||||
/* and unlike a normal mon_nam, use "saddled" even if it has a name */
|
||||
|
||||
15
src/pager.c
15
src/pager.c
@@ -359,11 +359,22 @@ look_at_monster(char *buf,
|
||||
Strcat(buf, (Upolyd && sticks(g.youmonst.data))
|
||||
? ", being held" : ", holding you");
|
||||
}
|
||||
if (mtmp->msleeping)
|
||||
/* if mtmp isn't able to move (other than because it is a type of
|
||||
monster that never moves), say so [excerpt from mstatusline() for
|
||||
stethoscope or wand of probing] */
|
||||
if (mtmp->mfrozen)
|
||||
/* unfortunately mfrozen covers temporary sleep and being busy
|
||||
(donning armor, for instance) as well as paralysis */
|
||||
Strcat(buf, ", can't move (paralyzed or sleeping or busy)");
|
||||
else if (mtmp->msleeping)
|
||||
/* sleeping for an indeterminate duration */
|
||||
Strcat(buf, ", asleep");
|
||||
else if ((mtmp->mstrategy & STRAT_WAITMASK) != 0)
|
||||
/* arbitrary reason why it isn't moving */
|
||||
Strcat(buf, ", meditating");
|
||||
|
||||
if (mtmp->mleashed)
|
||||
Strcat(buf, ", leashed to you");
|
||||
|
||||
if (mtmp->mtrapped && cansee(mtmp->mx, mtmp->my)) {
|
||||
struct trap *t = t_at(mtmp->mx, mtmp->my);
|
||||
int tt = t ? t->ttyp : NO_TRAP;
|
||||
|
||||
Reference in New Issue
Block a user