fix B20003 - hallucination and warning
> Why does warning work normally while hallucinating? I'd like to see
> random numbers.
It's just a one-liner, although it has pointed out problems in the
symbol lookup code. "0" won't work at present, so this doesn't use it,
but warning symbols "1" through "5" also have trouble--regardless of
hallucination--if someone overloads them to represent any feature aside
from warning.
This commit is contained in:
@@ -395,6 +395,7 @@ any object held by ghost during recorporealization would cease to exist
|
|||||||
including the Amulet of Yendor
|
including the Amulet of Yendor
|
||||||
harassing monsters will be less likely to teleport to your location while
|
harassing monsters will be less likely to teleport to your location while
|
||||||
they're running away from you
|
they're running away from you
|
||||||
|
randomize warning symbols during hallucination
|
||||||
|
|
||||||
|
|
||||||
Platform- and/or Interface-Specific Fixes
|
Platform- and/or Interface-Specific Fixes
|
||||||
|
|||||||
+4
-1
@@ -1,4 +1,4 @@
|
|||||||
/* SCCS Id: @(#)display.c 3.4 2002/10/03 */
|
/* SCCS Id: @(#)display.c 3.4 2003/02/19 */
|
||||||
/* Copyright (c) Dean Luick, with acknowledgements to Kevin Darcy */
|
/* Copyright (c) Dean Luick, with acknowledgements to Kevin Darcy */
|
||||||
/* and Dave Cohrs, 1990. */
|
/* and Dave Cohrs, 1990. */
|
||||||
/* NetHack may be freely redistributed. See license for details. */
|
/* NetHack may be freely redistributed. See license for details. */
|
||||||
@@ -460,6 +460,9 @@ display_warning(mon)
|
|||||||
|
|
||||||
if (mon_warning(mon)) {
|
if (mon_warning(mon)) {
|
||||||
if (wl > WARNCOUNT - 1) wl = WARNCOUNT - 1;
|
if (wl > WARNCOUNT - 1) wl = WARNCOUNT - 1;
|
||||||
|
/* 3.4.1: this really ought to be rn2(WARNCOUNT), but value "0"
|
||||||
|
isn't handled correctly by the what_is routine so avoid it */
|
||||||
|
if (Hallucination) wl = rn1(WARNCOUNT-1,1);
|
||||||
glyph = warning_to_glyph(wl);
|
glyph = warning_to_glyph(wl);
|
||||||
} else if (MATCH_WARN_OF_MON(mon)) {
|
} else if (MATCH_WARN_OF_MON(mon)) {
|
||||||
glyph = mon_to_glyph(mon);
|
glyph = mon_to_glyph(mon);
|
||||||
|
|||||||
Reference in New Issue
Block a user