From 310d1d53fd3a809839170b9bf9c5fdef61fcf361 Mon Sep 17 00:00:00 2001 From: cohrs Date: Sun, 23 Mar 2003 20:22:00 +0000 Subject: [PATCH] B01001 - locking/unlocking a door while in a pit Since you can't reach a door to open it while in a pit, it makes sense you can't lock/unlock it either. --- doc/fixes34.2 | 1 + src/lock.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/doc/fixes34.2 b/doc/fixes34.2 index cff339e31..6f0ad3720 100644 --- a/doc/fixes34.2 +++ b/doc/fixes34.2 @@ -21,6 +21,7 @@ the age of a potion of oil from a bones file wasn't being handled correctly putting gold in a container on the shop floor wasn't credited the way gold already in the container when dropped was credited avoid integer division rounding error when calculating carrying capacity +don't lock/unlock a door while in a pit, to be consistent with door opening Platform- and/or Interface-Specific Fixes diff --git a/src/lock.c b/src/lock.c index d5d9981c2..ebd0ee0a7 100644 --- a/src/lock.c +++ b/src/lock.c @@ -353,6 +353,11 @@ pick_lock(pick) /* pick a lock with a given object */ } else { /* pick the lock in a door */ struct monst *mtmp; + if (u.utrap && u.utraptype == TT_PIT) { + You_cant("reach over the edge of the pit."); + return(0); + } + door = &levl[cc.x][cc.y]; if ((mtmp = m_at(cc.x, cc.y)) && canseemon(mtmp) && mtmp->m_ap_type != M_AP_FURNITURE