fix "dropping Medusa's corpse down the stairs"
User reported the following incorrect feedback:
You drop Medusa's corpse. corpse falls down the stairs.
and apparently thought that the problem was a glitch in the middle of the
sentence; the actual problem is that the second sentence lacks its start.
This fix isn't perfect. You'll now get
Medusa's corpse falls down the stairs.
for the second sentence, but
The Oracle corpse falls down the stairs.
when dealing with a unique monster who doesn't have a personal name.
Either form seems acceptable to me, but mixing them appears inconsistent.
Probably all the uses of corpse_xname() (and its callers back up the
chain cxname(), aobjnam(), yobjnam()) need to be reviewed for usage. I
don't have the energy for that.
This commit is contained in:
@@ -43,6 +43,7 @@ shopkeeper removal of trap from shop doorway yields an open door instead of
|
||||
a closed one if an intact open door is present
|
||||
guarantee that hostile djinn released from bottles really are hostile
|
||||
handle lava when removing or losing water walking boots
|
||||
fix incomplete sentence occuring when unique monster's corpse fell down stairs
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)dokick.c 3.4 2004/06/12 */
|
||||
/* SCCS Id: @(#)dokick.c 3.4 2004/08/02 */
|
||||
/* Copyright (c) Izchak Miller, Mike Stephenson, Steve Linhart, 1989. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -1470,7 +1470,7 @@ long num;
|
||||
Sprintf(obuf, "%s%s",
|
||||
(otmp->otyp == CORPSE &&
|
||||
type_is_pname(&mons[otmp->corpsenm])) ? "" : "The ",
|
||||
xname(otmp));
|
||||
cxname(otmp));
|
||||
|
||||
if(num) { /* means: other objects are impacted */
|
||||
Sprintf(eos(obuf), " %s %s object%s",
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)objnam.c 3.4 2003/12/22 */
|
||||
/* SCCS Id: @(#)objnam.c 3.4 2004/08/02 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -812,8 +812,12 @@ struct obj *otmp;
|
||||
boolean ignore_oquan; /* to force singular */
|
||||
{
|
||||
char *nambuf = nextobuf();
|
||||
int mndx = otmp->corpsenm;
|
||||
const char *mname = (mndx != NON_PM) ? mons[mndx].mname :
|
||||
(const char *)"thing"; /* shouldn't happen */
|
||||
|
||||
Sprintf(nambuf, "%s corpse", mons[otmp->corpsenm].mname);
|
||||
if (type_is_pname(&mons[mndx])) mname = s_suffix(mname);
|
||||
Sprintf(nambuf, "%s corpse", mname);
|
||||
|
||||
if (ignore_oquan || otmp->quan < 2)
|
||||
return nambuf;
|
||||
|
||||
Reference in New Issue
Block a user