do_look at self
Suggested by <Someone>: when examining an `@' monster, only include "or you" in the description if you might reasonably expect to be seen as something else. So if you're playing as a human or an elf, or if you're polymorphed regardless of race, the ordinary description of "human or elf" doesn't need to add "or you". And the setting of the `showrace' option only matters if the `@' comes from prompting the user instead of picking a symbol from the map.
This commit is contained in:
+9
-6
@@ -1,4 +1,4 @@
|
|||||||
/* SCCS Id: @(#)pager.c 3.4 2002/01/17 */
|
/* SCCS Id: @(#)pager.c 3.4 2002/07/25 */
|
||||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
|
|
||||||
@@ -545,11 +545,14 @@ do_look(quick)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* handle '@' as a special case; firstmatch is guaranteed
|
/* handle '@' as a special case if it refers to you and you're
|
||||||
to already be set in that case */
|
playing a character which isn't normally displayed by that
|
||||||
if (!from_screen ? (sym == def_monsyms[S_HUMAN]) :
|
symbol; firstmatch is assumed to already be set for '@' */
|
||||||
(cc.x == u.ux && cc.y == u.uy && sym == monsyms[S_HUMAN]))
|
if ((from_screen ?
|
||||||
found += append_str(out_str, "you"); /* tack on "or you" */
|
(sym == monsyms[S_HUMAN] && cc.x == u.ux && cc.y == u.uy) :
|
||||||
|
(sym == def_monsyms[S_HUMAN] && !iflags.showrace)) &&
|
||||||
|
!(Race_if(PM_HUMAN) || Race_if(PM_ELF)) && !Upolyd)
|
||||||
|
found += append_str(out_str, "you"); /* tack on "or you" */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Special case: if identifying from the screen, and we're swallowed,
|
* Special case: if identifying from the screen, and we're swallowed,
|
||||||
|
|||||||
Reference in New Issue
Block a user