From f11b65c6802ab8294d88f8dd94cf75d34781bc91 Mon Sep 17 00:00:00 2001 From: nhmall Date: Sun, 16 Aug 2026 10:31:31 -0400 Subject: [PATCH] don't call it "your pet" until after it is tamed Reported directly to devteam, the code was using "Your little dog devours the tripe ration" during the taming process, prior to the pet becoming yours. --- include/extern.h | 2 ++ src/do_name.c | 18 ++++++++++++++++++ src/dogmove.c | 6 ++++-- src/zap.c | 2 +- 4 files changed, 25 insertions(+), 3 deletions(-) diff --git a/include/extern.h b/include/extern.h index a2ff304da..ade96f43c 100644 --- a/include/extern.h +++ b/include/extern.h @@ -707,9 +707,11 @@ extern char *x_monnam(struct monst *, int, const char *, int, boolean) NONNULLAR extern char *l_monnam(struct monst *) NONNULLARG1; extern char *mon_nam(struct monst *) NONNULLARG1; extern char *noit_mon_nam(struct monst *) NONNULLARG1; +extern char *noit_or_your_mon_nam(struct monst *) NONNULLARG1; extern char *some_mon_nam(struct monst *) NONNULLARG1; extern char *Monnam(struct monst *) NONNULLARG1; extern char *noit_Monnam(struct monst *) NONNULLARG1; +extern char *noit_or_your_Monnam(struct monst *) NONNULLARG1; extern char *Some_Monnam(struct monst *) NONNULLARG1; extern char *noname_monnam(struct monst *, int) NONNULLARG1; extern char *m_monnam(struct monst *) NONNULLARG1; diff --git a/src/do_name.c b/src/do_name.c index d3943b7cf..76dbae9bc 100644 --- a/src/do_name.c +++ b/src/do_name.c @@ -1059,6 +1059,15 @@ noit_mon_nam(struct monst *mtmp) FALSE); } +char * +noit_or_your_mon_nam(struct monst *mtmp) +{ + return x_monnam(mtmp, ARTICLE_THE, (char *) 0, + (has_mgivenname(mtmp) ? (SUPPRESS_SADDLE | SUPPRESS_IT) + : SUPPRESS_IT), + FALSE); +} + /* in between noit_mon_nam() and mon_nam(); if the latter would pick "it", use "someone" (for humanoids) or "something" (for others) instead */ char * @@ -1088,6 +1097,15 @@ noit_Monnam(struct monst *mtmp) return bp; } +char * +noit_or_your_Monnam(struct monst *mtmp) +{ + char *bp = noit_or_your_mon_nam(mtmp); + + *bp = highc(*bp); + return bp; +} + char * Some_Monnam(struct monst *mtmp) { diff --git a/src/dogmove.c b/src/dogmove.c index ad499b7f4..9c18b93ff 100644 --- a/src/dogmove.c +++ b/src/dogmove.c @@ -286,8 +286,10 @@ dog_eat(struct monst *mtmp, if (tunnels(mtmp->data)) pline_mon(mtmp, "%s digs in.", noit_Monnam(mtmp)); else - pline_mon(mtmp, "%s %s %s.", noit_Monnam(mtmp), - devour ? "devours" : "eats", obj_name); + pline_mon(mtmp, "%s %s %s.", + devour ? noit_or_your_Monnam(mtmp) + : noit_Monnam(mtmp), + devour ? "devours" : "eats", obj_name); } else if (seeobj) { obj_name = distant_name(obj, doname); pline("It %s %s.", devour ? "devours" : "eats", obj_name); diff --git a/src/zap.c b/src/zap.c index dca9a97c0..261fd3914 100644 --- a/src/zap.c +++ b/src/zap.c @@ -3586,7 +3586,7 @@ miss(const char *str, struct monst *mtmp) { pline("%s %s %s.", The(str), vtense(str, "miss"), ((cansee(gb.bhitpos.x, gb.bhitpos.y) || canspotmon(mtmp)) - && flags.verbose) ? mon_nam(mtmp) : "it"); + && flags.verbose) ? ((mtmp->mtame) ? noit_mon_nam(mtmp) : mon_nam(mtmp)) : "it"); } staticfn void