monster name formatting
While testing monster summoning by using a debugger to force the outcome, I saw "the renegade Angel of <foo> appears in a cloud of smoke" as if only one such creature existed. Trying to change that to "a renegate Angel" pointed out some problems: type names like Angel, Green-elf, and Uruk-hai fool an() into using "the" because of their capital letter. Fixing that was a bit of a hack and worked for Green-elf and Uruk-hai but not for Angel because it has the eminion extension so uses priestname() instead of the guts of x_monnam(). Fixing that involved more hackery and now I feel unclean, but it seems to be working. It wasn't as noticeable as it might have been because most of the time that "the Angel of <foo>" or "the priest of <bar>" was shown, the caller is requesting "the" rather than "a/an".
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.7 extern.h $NHDT-Date: 1624232719 2021/06/20 23:45:19 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.983 $ */
|
||||
/* NetHack 3.7 extern.h $NHDT-Date: 1624322668 2021/06/22 00:44:28 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.984 $ */
|
||||
/* Copyright (c) Steve Creps, 1988. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -2054,7 +2054,7 @@ extern boolean inhistemple(struct monst *);
|
||||
extern int pri_move(struct monst *);
|
||||
extern void priestini(d_level *, struct mkroom *, int, int, boolean);
|
||||
extern aligntyp mon_aligntyp(struct monst *);
|
||||
extern char *priestname(struct monst *, char *);
|
||||
extern char *priestname(struct monst *, int, char *);
|
||||
extern boolean p_coaligned(struct monst *);
|
||||
extern struct monst *findpriest(char);
|
||||
extern void intemple(int);
|
||||
|
||||
Reference in New Issue
Block a user