From a7ac5ce7f3fe2b68afeadb41a82a6218fb1cc1e7 Mon Sep 17 00:00:00 2001 From: nhmall Date: Fri, 6 Dec 2019 17:50:59 -0500 Subject: [PATCH] article fix for polymorphing steed --- doc/fixes36.4 | 1 + src/trap.c | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/doc/fixes36.4 b/doc/fixes36.4 index 376382a97..e841af4f6 100644 --- a/doc/fixes36.4 +++ b/doc/fixes36.4 @@ -9,6 +9,7 @@ General Fixes and Modified Features GDBPATH and GREPPATH from sysconf or -D... on compilation command line were being processed even if PANICTRACE was disabled but only being freed at end of game when that was enabled +fix the article used in the message when your steed encounters a polymorph trap Fixes to Post-3.6.3 Problems that Were Exposed Via git Repository diff --git a/src/trap.c b/src/trap.c index fe63d2b66..d1014fafc 100644 --- a/src/trap.c +++ b/src/trap.c @@ -1627,13 +1627,20 @@ struct obj *otmp; break; case POLY_TRAP: if (!resists_magm(steed) && !resist(steed, WAND_CLASS, 0, NOTELL)) { + struct permonst *mdat = steed->data; + (void) newcham(steed, (struct permonst *) 0, FALSE, FALSE); - if (!can_saddle(steed) || !can_ride(steed)) + if (!can_saddle(steed) || !can_ride(steed)) { dismount_steed(DISMOUNT_POLY); - else - You("have to adjust yourself in the saddle on %s.", - x_monnam(steed, ARTICLE_A, (char *) 0, SUPPRESS_SADDLE, - FALSE)); + } else { + char buf[BUFSZ]; + + Strcpy(buf, x_monnam(steed, ARTICLE_YOUR, (char *) 0, + SUPPRESS_SADDLE, FALSE)); + if (mdat != steed->data) + (void) strsubst(buf, "your ", "your new "); + You("have to adjust yourself in the saddle on %s.", buf); + } } steedhit = TRUE; break;