^X feedback when held by unseen monster
When swallowed and blind, the swallowing monster is described accurately, but being held rather than swallowed describes the monster as "it". That's normal, but the status feedback section of ^X output lists |You are held by it. which looks pretty weird. Change that to be |You are held by an unseen creature.
This commit is contained in:
@@ -18,7 +18,8 @@
|
|||||||
* 2. Add a pointer to your new struct to the mextra struct in this
|
* 2. Add a pointer to your new struct to the mextra struct in this
|
||||||
* file.
|
* file.
|
||||||
* 3. Add a referencing macro at bottom of this file after the mextra
|
* 3. Add a referencing macro at bottom of this file after the mextra
|
||||||
* struct (see MGIVENNAME, EGD, EPRI, ESHK, EMIN, or EDOG for examples).
|
* struct (see MGIVENNAME, EGD, EPRI, ESHK, EMIN, or EDOG for
|
||||||
|
* examples).
|
||||||
* 4. If your new field isn't a pointer and requires a non-zero value
|
* 4. If your new field isn't a pointer and requires a non-zero value
|
||||||
* on initialization, add code to init_mextra() in src/makemon.c
|
* on initialization, add code to init_mextra() in src/makemon.c
|
||||||
* 5. Create a newXX(mtmp) function and possibly a free_XX(mtmp)
|
* 5. Create a newXX(mtmp) function and possibly a free_XX(mtmp)
|
||||||
|
|||||||
@@ -2044,13 +2044,15 @@ minimal_monnam(struct monst *mon, boolean ckloc)
|
|||||||
} else if (ckloc && ptr == &mons[PM_LONG_WORM]
|
} else if (ckloc && ptr == &mons[PM_LONG_WORM]
|
||||||
&& g.level.monsters[mon->mx][mon->my] != mon) {
|
&& g.level.monsters[mon->mx][mon->my] != mon) {
|
||||||
Sprintf(outbuf, "%s <%d,%d>",
|
Sprintf(outbuf, "%s <%d,%d>",
|
||||||
pmname(&mons[PM_LONG_WORM_TAIL], Mgender(mon)), mon->mx, mon->my);
|
pmname(&mons[PM_LONG_WORM_TAIL], Mgender(mon)),
|
||||||
|
mon->mx, mon->my);
|
||||||
} else {
|
} else {
|
||||||
Sprintf(outbuf, "%s%s <%d,%d>",
|
Sprintf(outbuf, "%s%s <%d,%d>",
|
||||||
mon->mtame ? "tame " : mon->mpeaceful ? "peaceful " : "",
|
mon->mtame ? "tame " : mon->mpeaceful ? "peaceful " : "",
|
||||||
pmname(mon->data, Mgender(mon)), mon->mx, mon->my);
|
pmname(mon->data, Mgender(mon)), mon->mx, mon->my);
|
||||||
if (mon->cham != NON_PM)
|
if (mon->cham != NON_PM)
|
||||||
Sprintf(eos(outbuf), "{%s}", pmname(&mons[mon->cham], Mgender(mon)));
|
Sprintf(eos(outbuf), "{%s}",
|
||||||
|
pmname(&mons[mon->cham], Mgender(mon)));
|
||||||
}
|
}
|
||||||
return outbuf;
|
return outbuf;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -750,7 +750,7 @@ status_enlightenment(int mode, int final)
|
|||||||
{
|
{
|
||||||
boolean magic = (mode & MAGICENLIGHTENMENT) ? TRUE : FALSE;
|
boolean magic = (mode & MAGICENLIGHTENMENT) ? TRUE : FALSE;
|
||||||
int cap;
|
int cap;
|
||||||
char buf[BUFSZ], youtoo[BUFSZ];
|
char buf[BUFSZ], youtoo[BUFSZ], heldmon[BUFSZ];
|
||||||
boolean Riding = (u.usteed
|
boolean Riding = (u.usteed
|
||||||
/* if hero dies while dismounting, u.usteed will still
|
/* if hero dies while dismounting, u.usteed will still
|
||||||
be set; we want to ignore steed in that situation */
|
be set; we want to ignore steed in that situation */
|
||||||
@@ -906,10 +906,18 @@ status_enlightenment(int mode, int final)
|
|||||||
} else
|
} else
|
||||||
you_are(predicament, "");
|
you_are(predicament, "");
|
||||||
} /* (u.utrap) */
|
} /* (u.utrap) */
|
||||||
|
heldmon[0] = '\0'; /* lint suppression */
|
||||||
|
if (u.ustuck) { /* includes u.uswallow */
|
||||||
|
Strcpy(heldmon, a_monnam(u.ustuck));
|
||||||
|
if (!strcmp(heldmon, "it")
|
||||||
|
&& (!has_mgivenname(u.ustuck)
|
||||||
|
|| strcmp(MGIVENNAME(u.ustuck), "it") != 0))
|
||||||
|
Strcpy(heldmon, "an unseen createure");
|
||||||
|
}
|
||||||
if (u.uswallow) { /* implies u.ustuck is non-Null */
|
if (u.uswallow) { /* implies u.ustuck is non-Null */
|
||||||
Sprintf(buf, "%s by %s",
|
Sprintf(buf, "%s by %s",
|
||||||
is_animal(u.ustuck->data) ? "swallowed" : "engulfed",
|
is_animal(u.ustuck->data) ? "swallowed" : "engulfed",
|
||||||
a_monnam(u.ustuck));
|
heldmon);
|
||||||
if (dmgtype(u.ustuck->data, AD_DGST)) {
|
if (dmgtype(u.ustuck->data, AD_DGST)) {
|
||||||
/* if final, death via digestion can be deduced by u.uswallow
|
/* if final, death via digestion can be deduced by u.uswallow
|
||||||
still being True and u.uswldtim having been decremented to 0 */
|
still being True and u.uswldtim having been decremented to 0 */
|
||||||
@@ -927,7 +935,7 @@ status_enlightenment(int mode, int final)
|
|||||||
int dx = u.ustuck->mx - u.ux, dy = u.ustuck->my - u.uy;
|
int dx = u.ustuck->mx - u.ux, dy = u.ustuck->my - u.uy;
|
||||||
|
|
||||||
Sprintf(buf, "%s %s (%s)", ustick ? "holding" : "held by",
|
Sprintf(buf, "%s %s (%s)", ustick ? "holding" : "held by",
|
||||||
a_monnam(u.ustuck), dxdy_to_dist_descr(dx, dy, TRUE));
|
heldmon, dxdy_to_dist_descr(dx, dy, TRUE));
|
||||||
you_are(buf, "");
|
you_are(buf, "");
|
||||||
}
|
}
|
||||||
if (Riding) {
|
if (Riding) {
|
||||||
|
|||||||
Reference in New Issue
Block a user