From 4956ab889275ab5afceb140189f98e0e04535314 Mon Sep 17 00:00:00 2001 From: "nethack.rankin" Date: Tue, 30 May 2006 04:07:34 +0000 Subject: [PATCH] invocation vs being trapped I can't find the report about this; I must have deleted it after reading, or else recently reread something so old that I'm not going back far enough now. When you perform the invocation ritual to create the stairs down to Moloch's Sanctum, any trap at your location gets deleted. But if you were in a trapped state at the time then you got left in that state. Descending stairs doesn't check for traps so you wouldn't notice unless you tried to move around on the same level first. Then you'd get "you're stuck in a pit/beartrap/web" even though it wasn't there anymore. --- doc/fixes34.4 | 1 + src/mklev.c | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/doc/fixes34.4 b/doc/fixes34.4 index 1c1226ad1..0e8523e94 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -233,6 +233,7 @@ temple donation can recover protection previously stolen by attrcurse attack even when protection amount is so big that no increment would be given display the invisible monster glyph ('I') whenever an unseen monster forces poly'd hero out of hiding +escape the deleted trap after performing the invocation while trapped Platform- and/or Interface-Specific Fixes diff --git a/src/mklev.c b/src/mklev.c index b335fba10..ad2553f7d 100644 --- a/src/mklev.c +++ b/src/mklev.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)mklev.c 3.5 2006/03/06 */ +/* SCCS Id: @(#)mklev.c 3.5 2006/05/29 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1437,6 +1437,11 @@ mkinvokearea() pline_The("walls around you begin to bend and crumble!"); display_nhwindow(WIN_MESSAGE, TRUE); + /* any trap hero is stuck in will be going away now */ + if (u.utrap) { + u.utrap = 0; + if (u.utraptype == TT_BURIEDBALL) buried_ball_to_punishment(); + } mkinvpos(xmin, ymin, 0); /* middle, before placing stairs */ for(dist = 1; dist < 7; dist++) { -- 2.40.0