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.
This commit is contained in:
PatR
2022-06-08 10:46:51 -07:00
parent d1d0f1103c
commit f710a3175f
2 changed files with 11 additions and 5 deletions
+4 -1
View 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 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 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 items flagged as just-picked-up were unflagged if you stepped on other items
without picking anything up 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 curses: 'msg_window' option wasn't functional for curses unless the binary
also included tty support also included tty support
+7 -4
View 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) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/*-Copyright (c) Robert Patrick Rankin, 2011. */ /*-Copyright (c) Robert Patrick Rankin, 2011. */
/* NetHack may be freely redistributed. See license for details. */ /* NetHack may be freely redistributed. See license for details. */
@@ -1114,9 +1114,10 @@ level_tele(void)
} }
void void
domagicportal(register struct trap* ttmp) domagicportal(struct trap *ttmp)
{ {
struct d_level target_level; struct d_level target_level;
boolean already_stunned;
if (u.utrap && u.utraptype == TT_BURIEDBALL) if (u.utrap && u.utraptype == TT_BURIEDBALL)
buried_ball_to_punishment(); buried_ball_to_punishment();
@@ -1142,15 +1143,17 @@ domagicportal(register struct trap* ttmp)
return; return;
} }
already_stunned = !!Stunned;
make_stunned((HStun & TIMEOUT) + 3L, FALSE); make_stunned((HStun & TIMEOUT) + 3L, FALSE);
target_level = ttmp->dst; target_level = ttmp->dst;
schedule_goto(&target_level, UTOTYPE_PORTAL, 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); (char *) 0);
} }
void void
tele_trap(struct trap* trap) tele_trap(struct trap *trap)
{ {
if (In_endgame(&u.uz) || Antimagic) { if (In_endgame(&u.uz) || Antimagic) {
if (Antimagic) if (Antimagic)