]> granicus.if.org Git - nethack/commitdiff
B01001 fix: corpse grammar
authornethack.allison <nethack.allison>
Sat, 1 Nov 2003 22:05:44 +0000 (22:05 +0000)
committernethack.allison <nethack.allison>
Sat, 1 Nov 2003 22:05:44 +0000 (22:05 +0000)
<Someone> 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.

doc/fixes34.3
src/dig.c
src/uhitm.c

index 94c00fcf5a0fc183e51e164e8115075a4a1ed0d2..879805695468115dcbcc85ff1d9a1e570661963a 100644 (file)
@@ -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
index 1f0df540920e524b2fb378a72fc9aec918a0347c..54357a2772153021f5348306708ce828fea1fe08 100644 (file)
--- 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 */
index d4233187757f78dcf9b4dab22d15d80abe9fe5eb..0396a0fda3b3f4cbad8790834b3cedc1a33f4a21 100644 (file)
@@ -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;