diff --git a/doc/fixes37.0 b/doc/fixes37.0 index 8de75e918..90d1108f7 100644 --- a/doc/fixes37.0 +++ b/doc/fixes37.0 @@ -1,4 +1,4 @@ -$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.171 $ $NHDT-Date: 1586382777 2020/04/08 21:52:57 $ +$NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.172 $ $NHDT-Date: 1586384219 2020/04/08 22:16:59 $ General Fixes and Modified Features ----------------------------------- @@ -168,6 +168,7 @@ fix door created into random wall or position opening into solid wall being more general; change its default to True change inconsistent achievement spelling of "Mine Town" to "Minetown" fix crash in water_damage_chain +teleport feedback "you materialize at another location" was given too soon X11: was still initializing map to 'stone' instead of 'unexplored' after they became separate glyphs X11: for text map without color, add support for black&white ice; draw it in diff --git a/src/teleport.c b/src/teleport.c index 3beec5d69..38baddb4b 100644 --- a/src/teleport.c +++ b/src/teleport.c @@ -1,4 +1,4 @@ -/* NetHack 3.6 teleport.c $NHDT-Date: 1585211492 2020/03/26 08:31:32 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.118 $ */ +/* NetHack 3.6 teleport.c $NHDT-Date: 1586384219 2020/04/08 22:16:59 $ $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.122 $ */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /*-Copyright (c) Robert Patrick Rankin, 2011. */ /* NetHack may be freely redistributed. See license for details. */ @@ -368,10 +368,6 @@ int teleds_flags; unplacebc(); /* to match placebc() below */ } - if (is_teleport && flags.verbose) - You("materialize in %s location!", - (nux == u.ux0 && nuy == u.uy0) ? "the same" : "a different"); - /* must set u.ux, u.uy after drag_ball(), which may need to know the old position if allow_drag is true... */ u_on_newpos(nux, nuy); /* set u., usteed->; cliparound() */ @@ -391,6 +387,12 @@ int teleds_flags; g.vision_full_recalc = 1; nomul(0); vision_recalc(0); /* vision before effects */ + + /* this used to take place sooner, but if a --More-- prompt was issued + then the old map display was shown instead of the new one */ + if (is_teleport && flags.verbose) + You("materialize in %s location!", + (nux == u.ux0 && nuy == u.uy0) ? "the same" : "a different"); /* if terrain type changes, levitation or flying might become blocked or unblocked; might issue message, so do this after map+vision has been updated for new location instead of right after u_on_newpos() */