corpse_xname overhaul (trunk only)
Extend the capabilities of corpse_xname() so that various callers can
be simplified. It can how handle an article prefix, effectively turning it
into corpse_doname() (not quite; still need doname() to see a count when
quantity is more than one, or to see bless/curse state). It can also handle
inclusion of adjectives like "partly eaten" or "bite-covered". For unique
monsters those come out in the form
the Chromatic Dragon's partly eaten corpse
instead of the old
partly eaten Chromatic Dragon corpse
[so wishing probably needs to be taught about potentially finding a monster
name before assorted adjectives such as blessed; also, name_to_mon() needs
to learn how to cope with the possessive suffix].
A sizeable chunk of this patch deals with consolidating some of the
redundant "petrified by a cockatrice corpse" handling. It may be possible
to consolidate all remaining instances together since they're quite similar,
but I didn't think about that until just now and I want to get this patch
over with.
This commit is contained in:
@@ -91,11 +91,16 @@ int shotlimit;
|
||||
return(0);
|
||||
}
|
||||
u_wipe_engr(2);
|
||||
if (!uarmg && !Stone_resistance && (obj->otyp == CORPSE &&
|
||||
touch_petrifies(&mons[obj->corpsenm]))) {
|
||||
You("throw the %s corpse with your bare %s.",
|
||||
mons[obj->corpsenm].mname, body_part(HAND));
|
||||
Sprintf(killer.name, "%s corpse", an(mons[obj->corpsenm].mname));
|
||||
if (!uarmg && obj->otyp == CORPSE &&
|
||||
touch_petrifies(&mons[obj->corpsenm]) &&
|
||||
!Stone_resistance) {
|
||||
You("throw %s with your bare %s.",
|
||||
corpse_xname(obj, (const char *)0, CXN_PFX_THE),
|
||||
/* throwing with one hand, but pluralize since the
|
||||
expression "with your bare hands" sounds better */
|
||||
makeplural(body_part(HAND)));
|
||||
Sprintf(killer.name, "throwing %s bare-handed",
|
||||
killer_xname(obj));
|
||||
instapetrify(killer.name);
|
||||
}
|
||||
if (welded(obj)) {
|
||||
|
||||
Reference in New Issue
Block a user