fix U382 - missing map display update
> Receiving Excalibur from a fountain while blind doesn't update the
> display (i.e. the missing fountain) immediately.
Various other topology changes had the same problem. The display
was only being updated if the hero was invisible on the assumption that
it wouldn't matter otherwise, but a blind character who moved off the
affected location would still have the old map info (fountain, trap, &c)
shown--until he walked back onto that spot or searched next to it or
regained sight--even though the player is told about the map change as
it happens.
This commit is contained in:
@@ -28,6 +28,7 @@ charge correctly when breaking multiple objects with the same zap, avoids
|
||||
a dopay: not to shopkeeper impossible
|
||||
clean up funny lighting on the healer locate level
|
||||
allow all tame monsters that eat to consider food thrown to them
|
||||
the screen display wasn't always up to date after map topology changes
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)dig.c 3.4 2003/01/29 */
|
||||
/* SCCS Id: @(#)dig.c 3.4 2003/03/23 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -1185,7 +1185,7 @@ zap_dig()
|
||||
(void)xname(otmp); /* set dknown, maybe bknown */
|
||||
stackobj(otmp);
|
||||
}
|
||||
if (Invisible) newsym(u.ux, u.uy);
|
||||
newsym(u.ux, u.uy);
|
||||
} else {
|
||||
watch_dig((struct monst *)0, u.ux, u.uy, TRUE);
|
||||
(void) dighole(FALSE);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)fountain.c 3.4 2002/09/08 */
|
||||
/* SCCS Id: @(#)fountain.c 3.4 2003/03/23 */
|
||||
/* Copyright Scott R. Turner, srt@ucla, 10/27/86 */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -386,7 +386,7 @@ register struct obj *obj;
|
||||
update_inventory();
|
||||
levl[u.ux][u.uy].typ = ROOM;
|
||||
levl[u.ux][u.uy].looted = 0;
|
||||
if(Invisible) newsym(u.ux, u.uy);
|
||||
newsym(u.ux, u.uy);
|
||||
level.flags.nfountains--;
|
||||
if(in_town(u.ux, u.uy))
|
||||
(void) angry_guards(FALSE);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)pickup.c 3.4 2003/01/08 */
|
||||
/* SCCS Id: @(#)pickup.c 3.4 2003/03/23 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -1306,7 +1306,7 @@ struct obj *otmp;
|
||||
}
|
||||
if (otmp->no_charge) /* only applies to objects outside invent */
|
||||
otmp->no_charge = 0;
|
||||
if (Invisible) newsym(otmp->ox, otmp->oy);
|
||||
newsym(otmp->ox, otmp->oy);
|
||||
return addinv(otmp); /* might merge it with other objects */
|
||||
}
|
||||
|
||||
|
||||
@@ -849,11 +849,11 @@ dospinweb()
|
||||
case SPIKED_PIT: You("spin a web, covering up the pit.");
|
||||
deltrap(ttmp);
|
||||
bury_objs(u.ux, u.uy);
|
||||
if (Invisible) newsym(u.ux, u.uy);
|
||||
newsym(u.ux, u.uy);
|
||||
return(1);
|
||||
case SQKY_BOARD: pline_The("squeaky board is muffled.");
|
||||
deltrap(ttmp);
|
||||
if (Invisible) newsym(u.ux, u.uy);
|
||||
newsym(u.ux, u.uy);
|
||||
return(1);
|
||||
case TELEP_TRAP:
|
||||
case LEVEL_TELEP:
|
||||
@@ -867,12 +867,12 @@ dospinweb()
|
||||
You("web over the %s.",
|
||||
(ttmp->ttyp == TRAPDOOR) ? "trap door" : "hole");
|
||||
deltrap(ttmp);
|
||||
if (Invisible) newsym(u.ux, u.uy);
|
||||
newsym(u.ux, u.uy);
|
||||
return 1;
|
||||
case ROLLING_BOULDER_TRAP:
|
||||
You("spin a web, jamming the trigger.");
|
||||
deltrap(ttmp);
|
||||
if (Invisible) newsym(u.ux, u.uy);
|
||||
newsym(u.ux, u.uy);
|
||||
return(1);
|
||||
case ARROW_TRAP:
|
||||
case DART_TRAP:
|
||||
@@ -897,7 +897,7 @@ dospinweb()
|
||||
ttmp->tseen = 1;
|
||||
ttmp->madeby_u = 1;
|
||||
}
|
||||
if (Invisible) newsym(u.ux, u.uy);
|
||||
newsym(u.ux, u.uy);
|
||||
return(1);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* SCCS Id: @(#)pray.c 3.4 2003/03/10 */
|
||||
/* SCCS Id: @(#)pray.c 3.4 2003/03/23 */
|
||||
/* Copyright (c) Benson I. Margulies, Mike Stephenson, Steve Linhart, 1989. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -1195,7 +1195,7 @@ dosacrifice()
|
||||
an(hcolor(NH_BLACK)));
|
||||
levl[u.ux][u.uy].typ = ROOM;
|
||||
levl[u.ux][u.uy].altarmask = 0;
|
||||
if(Invisible) newsym(u.ux, u.uy);
|
||||
newsym(u.ux, u.uy);
|
||||
angry_priest();
|
||||
demonless_msg = "cloud dissipates";
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user