From: nethack.allison Date: Sat, 1 Nov 2003 22:05:44 +0000 (+0000) Subject: B01001 fix: corpse grammar X-Git-Tag: MOVE2GIT~1615 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=67dea0ebe1ac4f72649a649e98793f3da3e555b8;p=nethack B01001 fix: corpse grammar wrote: > You start bashing monsters with your 2 cockatrice corpses. > You hit the foo with the cockatrice corpse (note singular). > The foo is slowing down. The foo turns to stone. > Also: Your cockatrice corpses rots away. It appears that vtense() has a problem recognizing "corpses" as plural. This doesn't fix that, it just switches to using otense() in this particular case. --- diff --git a/doc/fixes34.3 b/doc/fixes34.3 index 94c00fcf5..879805695 100644 --- a/doc/fixes34.3 +++ b/doc/fixes34.3 @@ -85,6 +85,7 @@ try even harder to avoid incorrect map display while changing levels no "freaked" message by exploding black light, unless you really are sleeping monster could respond to attacks by other monsters sleeping shopkeeper responds to various events without waking +rotting corpses grammar fix Platform- and/or Interface-Specific Fixes diff --git a/src/dig.c b/src/dig.c index 1f0df5409..54357a277 100644 --- a/src/dig.c +++ b/src/dig.c @@ -1538,7 +1538,7 @@ long timeout; /* unused */ char *cname = corpse_xname(obj, FALSE); Your("%s%s %s away%c", obj == uwep ? "wielded " : nul, cname, - vtense(cname, "rot"), obj == uwep ? '!' : '.'); + otense(obj, "rot"), obj == uwep ? '!' : '.'); } if (obj == uwep) { uwepgone(); /* now bare handed */ diff --git a/src/uhitm.c b/src/uhitm.c index d42331877..0396a0fda 100644 --- a/src/uhitm.c +++ b/src/uhitm.c @@ -739,11 +739,13 @@ int thrown; #endif case CORPSE: /* fixed by polder@cs.vu.nl */ if (touch_petrifies(&mons[obj->corpsenm])) { + static const char withwhat[] = "corpse"; tmp = 1; hittxt = TRUE; - You("hit %s with %s corpse.", mon_nam(mon), + You("hit %s with %s %s.", mon_nam(mon), obj->dknown ? the(mons[obj->corpsenm].mname) : - an(mons[obj->corpsenm].mname)); + an(mons[obj->corpsenm].mname), + (obj->quan > 1) ? makeplural(withwhat) : withwhat); if (!munstone(mon, TRUE)) minstapetrify(mon, TRUE); if (resists_ston(mon)) break;