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.
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
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 */