From 3be8e9447eebdfb5361616b1f18a39c6ad30b408 Mon Sep 17 00:00:00 2001 From: Michael Meyer Date: Fri, 10 Feb 2023 14:07:49 -0500 Subject: [PATCH] Avoid "It turns into [Name]" on vamp engulf Apply a similar fix as a791b4b and f441696 ended up settling on for normal vampire transformation to the vampire transformation that happens when their shapeshifted form is engulfed. --- src/mhitm.c | 9 +++++++-- src/uhitm.c | 13 ++++++++++--- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/mhitm.c b/src/mhitm.c index 2ee234a9c..d49f527a5 100644 --- a/src/mhitm.c +++ b/src/mhitm.c @@ -784,8 +784,13 @@ gulpmm( using that would be excessively verbose */ pline("%s expels %s.", Monnam(magr), canspotmon(mdef) ? "it" : something); - if (canspotmon(mdef)) - pline("It turns into %s.", a_monnam(mdef)); + if (canspotmon(mdef)) { + pline("It turns into %s.", + x_monnam(mdef, ARTICLE_A, (char *) 0, + (SUPPRESS_NAME | SUPPRESS_IT + | SUPPRESS_INVISIBLE), FALSE)); + + } } return MM_HIT; /* bypass mdamagem() */ } diff --git a/src/uhitm.c b/src/uhitm.c index 338542389..d79c7bdcd 100644 --- a/src/uhitm.c +++ b/src/uhitm.c @@ -4587,10 +4587,17 @@ gulpum(struct monst *mdef, struct attack *mattk) && newcham(mdef, &mons[mdef->cham], NO_NC_FLAGS)) { You("%s it, then %s it.", u_digest ? "swallow" : "engulf", expel_verb); - if (canspotmon(mdef)) - pline("It turns into %s.", a_monnam(mdef)); - else + if (canspotmon(mdef)) { + /* Avoiding a_monnam here: if the target is named, it gives us + a sequence like "You bite Dracula. You swallow it, then + regurgitate it. It turns into Dracula." */ + pline("It turns into %s.", + x_monnam(mdef, ARTICLE_A, (char *) 0, + (SUPPRESS_NAME | SUPPRESS_IT + | SUPPRESS_INVISIBLE), FALSE)); + } else { map_invisible(mdef->mx, mdef->my); + } return MM_HIT; }