From: Pasi Kallinen Date: Sun, 27 Feb 2022 09:25:54 +0000 (+0200) Subject: Using magic portals and level teleporters stuns for a few turns X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6a65b412;p=nethack Using magic portals and level teleporters stuns for a few turns It's taxing to teleport long distances. Yes, this makes the entrance to the planes and the quest more dangerous, and nerfs portal dancing Fort Ludios. --- diff --git a/doc/fixes3-7-0.txt b/doc/fixes3-7-0.txt index cfb259257..862456ef5 100644 --- a/doc/fixes3-7-0.txt +++ b/doc/fixes3-7-0.txt @@ -825,6 +825,7 @@ if a lit potion of oil on the floor was launched by an explosion and it hit tried to extinguish it as a light source place_object() validated coordinates after using them to index level.objects killed rope golem may drop leashes and bullwhips +using magic portals and level teleporters stuns hero for a few turns Fixes to 3.7.0-x Problems that Were Exposed Via git Repository diff --git a/src/teleport.c b/src/teleport.c index c128ae8f4..baae6f350 100644 --- a/src/teleport.c +++ b/src/teleport.c @@ -1085,6 +1085,7 @@ domagicportal(register struct trap* ttmp) return; } + 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.", @@ -1132,6 +1133,7 @@ level_tele_trap(struct trap* trap, unsigned int trflags) You("are momentarily blinded by a flash of light."); else You("are momentarily disoriented."); + make_stunned((HStun & TIMEOUT) + 3L, FALSE); deltrap(trap); newsym(u.ux, u.uy); /* get rid of trap symbol */ level_tele(); @@ -1506,6 +1508,7 @@ mlevel_tele_trap( if (trap) seetrap(trap); } + mtmp->mstun = 1; migrate_to_level(mtmp, ledger_no(&tolevel), migrate_typ, (coord *) 0); return Trap_Moved_Mon; /* no longer on this level */ }