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

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
-----------------------------------
@@ -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

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) 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)