From: PatR Date: Wed, 8 Jun 2022 17:46:51 +0000 (-0700) Subject: magic portal traversal feedback X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=f710a3175fe382fae42d2a226f71554b0dd34b44;p=nethack magic portal traversal feedback 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. --- diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index f3851592b..7745bb802 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -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 diff --git a/src/teleport.c b/src/teleport.c index abeb63f19..62c6e636e 100644 --- a/src/teleport.c +++ b/src/teleport.c @@ -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 trap* trap) +tele_trap(struct trap *trap) { if (In_endgame(&u.uz) || Antimagic) { if (Antimagic)