From 0c0d68a63194984779a20223474944f09698db6d Mon Sep 17 00:00:00 2001 From: "nethack.rankin" Date: Sat, 6 Feb 2010 01:58:33 +0000 Subject: [PATCH] fix #H2081 - named vault guard messages (trunk only) From a bug report, assigning a vault guard a name such as Marcel could result in messages like |The Marcel, confused, disappears. Many of the guard messages had article "the" hardcoded. This gets rid of g_monnam() and uses noit_mon_nam() instead. I haven't been able to test all the modified messages; it's a pain trying to get some of them to occur. --- doc/fixes35.0 | 1 + src/vault.c | 18 +++++++----------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/doc/fixes35.0 b/doc/fixes35.0 index d4ddd9979..858fa1d36 100644 --- a/doc/fixes35.0 +++ b/doc/fixes35.0 @@ -327,6 +327,7 @@ wand explosion feedback about adjacent door was phrased as if for a wand zap improve the message sequencing when a thrown poisoned weapon loses is poison attempting to open, close, or lock/unlock a door while confused or stunned uses up a move regardless of whether direction choice finds a door +grammar fixes for vault guard messages given after player assigns guard a name Platform- and/or Interface-Specific Fixes diff --git a/src/vault.c b/src/vault.c index efcee39a3..eefb5f087 100644 --- a/src/vault.c +++ b/src/vault.c @@ -1,5 +1,4 @@ /* NetHack 3.5 vault.c $Date$ $Revision$ */ -/* SCCS Id: @(#)vault.c 3.5 2007/08/30 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -7,9 +6,6 @@ STATIC_DCL struct monst *NDECL(findgd); -#define g_monnam(mtmp) \ - x_monnam(mtmp, ARTICLE_NONE, (char *)0, SUPPRESS_IT, FALSE) - STATIC_DCL boolean FDECL(clear_fcorr, (struct monst *,BOOLEAN_P)); STATIC_DCL void FDECL(restfakecorr,(struct monst *)); STATIC_DCL boolean FDECL(in_fcorridor, (struct monst *,int,int)); @@ -270,7 +266,7 @@ fnd: gsensed = !canspotmon(guard); if (!gsensed) pline("Suddenly one of the Vault's %s enters!", - makeplural(g_monnam(guard))); + makeplural(guard->data->mname)); else pline("Someone else has entered the Vault."); newsym(guard->mx,guard->my); @@ -463,7 +459,7 @@ struct monst *grd; if(movedgold || fixed) { if(in_fcorridor(grd, grd->mx, grd->my) || cansee(grd->mx, grd->my)) - pline_The("%s whispers an incantation.", g_monnam(grd)); + pline("%s whispers an incantation.", noit_Monnam(grd)); else You_hear("a distant chant."); if(movedgold) pline("A mysterious force moves the gold into the vault."); @@ -575,9 +571,9 @@ letknow: You_hear("the shrill sound of a guard's whistle."); else You(um_dist(grd->mx, grd->my, 2) ? - "see an angry %s approaching." : - "are confronted by an angry %s.", - g_monnam(grd)); + "see %s approaching." : "are confronted by %s.", + /* "an angry guard" */ + x_monnam(grd, ARTICLE_A, "angry", 0, FALSE)); return(-1); } else { if (!Deaf) @@ -594,7 +590,7 @@ letknow: !egrd->gddone && !in_fcorridor(grd, u.ux, u.uy) && levl[egrd->fakecorr[0].fx][egrd->fakecorr[0].fy].typ == egrd->fakecorr[0].ftyp) { - pline_The("%s, confused, disappears.", g_monnam(grd)); + pline("%s, confused, disappears.", noit_Monnam(grd)); disappear_msg_seen = TRUE; goto cleanup; } @@ -779,7 +775,7 @@ cleanup: if(!semi_dead && (in_fcorridor(grd, u.ux, u.uy) || cansee(x, y))) { if (!disappear_msg_seen && see_guard) - pline("Suddenly, the %s disappears.", g_monnam(grd)); + pline("Suddenly, %s disappears.", noit_mon_nam(grd)); return(1); } return(-2); -- 2.40.0