renaming shopkeepers and priests
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.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user