]> granicus.if.org Git - nethack/commitdiff
magic portal traversal feedback
authorPatR <rankin@nethack.org>
Wed, 8 Jun 2022 17:46:51 +0000 (10:46 -0700)
committerPatR <rankin@nethack.org>
Wed, 8 Jun 2022 17:46:51 +0000 (10:46 -0700)
Replace the old message "you feel dizzy for a moment, but the sensation
passes" when going through a magic portal.  The sensation doesn't just
pass anymore; you arrived stunned these days.  Suggested by entrez.

doc/fixes3-7-0.txt
src/teleport.c

index f3851592ba347254a229c19ea66e94b0f90c3446..7745bb8026aed7d1e993145f5acc55af95ee7c61 100644 (file)
@@ -1,4 +1,4 @@
-HDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.939 $ $NHDT-Date: 1654557302 2022/06/06 23:15:02 $
+HDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.940 $ $NHDT-Date: 1654710405 2022/06/08 17:46:45 $
 
 General Fixes and Modified Features
 -----------------------------------
@@ -1236,6 +1236,9 @@ lua's garbage collection didn't like the way nethack was trying to use it and
        issued a pair of warnings each time the relevant code got run
 items flagged as just-picked-up were unflagged if you stepped on other items
        without picking anything up
+activating a magic portal still gave "you feel dizzy for a moment, but the
+       sensation passes" after portal traversal was changed to make the hero
+       be stunned for a few turns
 
 curses: 'msg_window' option wasn't functional for curses unless the binary
        also included tty support
index abeb63f19f2e99de93752595441c2747e2c055fb..62c6e636e5d752bac9a51095a9335432a847303d 100644 (file)
@@ -1,4 +1,4 @@
-/* NetHack 3.7 teleport.c      $NHDT-Date: 1646838392 2022/03/09 15:06:32 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.163 $ */
+/* NetHack 3.7 teleport.c      $NHDT-Date: 1654710406 2022/06/08 17:46:46 $  $NHDT-Branch: NetHack-3.7 $:$NHDT-Revision: 1.169 $ */
 /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
 /*-Copyright (c) Robert Patrick Rankin, 2011. */
 /* NetHack may be freely redistributed.  See license for details. */
@@ -1114,9 +1114,10 @@ level_tele(void)
 }
 
 void
-domagicportal(register struct trap* ttmp)
+domagicportal(struct trap *ttmp)
 {
     struct d_level target_level;
+    boolean already_stunned;
 
     if (u.utrap && u.utraptype == TT_BURIEDBALL)
         buried_ball_to_punishment();
@@ -1142,15 +1143,17 @@ domagicportal(register struct trap* ttmp)
         return;
     }
 
+    already_stunned = !!Stunned;
     make_stunned((HStun & TIMEOUT) + 3L, FALSE);
     target_level = ttmp->dst;
     schedule_goto(&target_level, UTOTYPE_PORTAL,
-                  "You feel dizzy for a moment, but the sensation passes.",
+                  !already_stunned ? "You feel slightly dizzy."
+                                   : "You feel dizzier.",
                   (char *) 0);
 }
 
 void
-tele_trap(struct traptrap)
+tele_trap(struct trap *trap)
 {
     if (In_endgame(&u.uz) || Antimagic) {
         if (Antimagic)