lookat of high priests
One from <Someone>'s list: there's no particular reason for the High Priest of Moloch in the temple on the sanctum level in Gehennom to have his identity concealed when he's detected from a distance. I also changed the concealment of the Astral Plane to stop when you're adjacent to the priest, since #chat--among other things, such as simply entering the temple--provides other means of identifying which temple it is once you're there. Files patched: include/extern.h src/do_name.c, pager.c
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)do_name.c 3.3 2000/06/12 */
|
||||
/* SCCS Id: @(#)do_name.c 3.3 2002/01/17 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -268,10 +268,7 @@ do_mname()
|
||||
return(0);
|
||||
}
|
||||
/* special case similar to the one in lookat() */
|
||||
if (mtmp->data != &mons[PM_HIGH_PRIEST])
|
||||
Strcpy(buf, x_monnam(mtmp, ARTICLE_THE, (char *)0, 0, TRUE));
|
||||
else
|
||||
Sprintf(buf, "the high priest%s", mtmp->female ? "ess" : "");
|
||||
(void) distant_monnam(mtmp, ARTICLE_THE, buf);
|
||||
Sprintf(qbuf, "What do you want to call %s?", buf);
|
||||
getlin(qbuf,buf);
|
||||
if(!*buf || *buf == '\033') return(0);
|
||||
@@ -844,6 +841,27 @@ register struct monst *mtmp;
|
||||
return(bp);
|
||||
}
|
||||
|
||||
/* used for monster ID by the '/', ';', and 'C' commands to block remote
|
||||
identification of the endgame altars via their attending priests */
|
||||
char *
|
||||
distant_monnam(mon, article, outbuf)
|
||||
struct monst *mon;
|
||||
int article; /* only ARTICLE_NONE and ARTICLE_THE are handled here */
|
||||
char *outbuf;
|
||||
{
|
||||
/* high priest(ess)'s identity is concealed on the Astral Plane,
|
||||
unless you're adjacent (overridden for hallucination which does
|
||||
its own obfuscation) */
|
||||
if (mon->data == &mons[PM_HIGH_PRIEST] && !Hallucination &&
|
||||
Is_astralevel(&u.uz) && distu(mon->mx, mon->my) > 2) {
|
||||
Strcpy(outbuf, article == ARTICLE_THE ? "the " : "");
|
||||
Strcat(outbuf, mon->female ? "high priestess" : "high priest");
|
||||
} else {
|
||||
Strcpy(outbuf, x_monnam(mon, article, (char *)0, 0, TRUE));
|
||||
}
|
||||
return outbuf;
|
||||
}
|
||||
|
||||
static const char *bogusmons[] = {
|
||||
"jumbo shrimp", "giant pigmy", "gnu", "killer penguin",
|
||||
"giant cockroach", "giant slug", "maggot", "pterodactyl",
|
||||
|
||||
Reference in New Issue
Block a user