From f97f7a06186bbd833dc5be8ef0fe10587b68a13c Mon Sep 17 00:00:00 2001 From: cohrs Date: Mon, 18 Aug 2003 20:14:18 +0000 Subject: [PATCH] U592 - stuck in the floor Digging a pit in the location where you're stuck should always free you. This would not occur if you used a wand of digging to do the digging, especially if you did so while levitating. --- doc/fixes34.2 | 1 + src/dig.c | 6 ++++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/doc/fixes34.2 b/doc/fixes34.2 index 9e2400799..3dd82b5b5 100644 --- a/doc/fixes34.2 +++ b/doc/fixes34.2 @@ -129,6 +129,7 @@ avoid "singular of null?" warning for info lookup of obscure user input there was no check for iron bars in dokick() so it defaulted to "empty space" if you couldn't see the rat created in a sink for some reason other than blindness, you would get "Eek there's it in the sink." +digging a pit while stuck in the floor should always free the player Platform- and/or Interface-Specific Fixes diff --git a/src/dig.c b/src/dig.c index 62127500e..024175eee 100644 --- a/src/dig.c +++ b/src/dig.c @@ -492,8 +492,10 @@ int ttyp; boolean at_u = (x == u.ux) && (y == u.uy); boolean wont_fall = Levitation || Flying; - if (u.utrap && u.utraptype == TT_BURIEDBALL) - buried_ball_to_punishment(); + if (u.utrap) { + if (u.utraptype == TT_BURIEDBALL) buried_ball_to_punishment(); + else if (u.utraptype == TT_INFLOOR) u.utrap = 0; + } /* these furniture checks were in dighole(), but wand breaking bypasses that routine and calls us directly */ -- 2.49.0