Skip to content

Commit

Permalink
renaming shopkeepers and priests
Browse files Browse the repository at this point in the history
     From a bug report, the 'C' command wasn't reporting that
"<shopkeeper> 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.
  • Loading branch information
nethack.rankin committed May 23, 2006
1 parent bb8ec3e commit 804864c
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 1 deletion.
1 change: 1 addition & 0 deletions doc/fixes34.4
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
11 changes: 10 additions & 1 deletion src/do_name.c
Original file line number Diff line number Diff line change
@@ -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. */

Expand Down Expand Up @@ -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);
Expand Down

0 comments on commit 804864c

Please sign in to comment.