From: nethack.rankin Date: Tue, 23 May 2006 04:09:23 +0000 (+0000) Subject: renaming shopkeepers and priests X-Git-Tag: MOVE2GIT~1007 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=804864c723eae23626467cd78709fb2b80f9309b;p=nethack renaming shopkeepers and priests From a bug report, the 'C' command wasn't reporting that " doesn't like being called names" even though the user's supplied name was ineffective. Same thing for temple priests and other minion monsters; the name was accepted but didn't do anything. Make such monsters reject new names. --- diff --git a/doc/fixes34.4 b/doc/fixes34.4 index 1fa88702c..445ce4a25 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -223,6 +223,7 @@ when jumping over an already seen trap, use an() to get appropriate grammar fix bad grammar when putting on not-yet-seen Eyes of the Overworld while blind don't "walk quietly" while levitating fix message handling when multiple shopkeepers are present at end of game +'C' command can't name shopkeepers or temple priests and other minions Platform- and/or Interface-Specific Fixes diff --git a/src/do_name.c b/src/do_name.c index fd1f2d98b..c09fda203 100644 --- a/src/do_name.c +++ b/src/do_name.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)do_name.c 3.5 2006/04/14 */ +/* SCCS Id: @(#)do_name.c 3.5 2006/05/22 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -359,8 +359,17 @@ do_mname() /* strip leading and trailing spaces; unnames monster if all spaces */ (void)mungspaces(buf); + /* unique monsters have their own specific names or titles; + shopkeepers, temple priests and other minions use alternate + name formatting routines which ignore any user-supplied name */ if (mtmp->data->geno & G_UNIQ) pline("%s doesn't like being called names!", upstart(monnambuf)); + else if (mtmp->isshk && + !(Deaf || mtmp->msleeping || + !mtmp->mcanmove || mtmp->data->msound <= MS_ANIMAL)) + verbalize("I'm %s, not %s.", monnambuf, buf); + else if (mtmp->ispriest || mtmp->isminion || mtmp->isshk) + pline("%s will not accept the name %s.", upstart(monnambuf), buf); else (void) christen_monst(mtmp, buf); return(0);