lockpicking while engulfed

You can't begin or resume locking or unlocking a chest on the floor
while swallowed by a monster, but you could lock or unlock an adjacent
door in that situation.
This commit is contained in:
nethack.rankin
2007-02-20 02:32:50 +00:00
parent e92b72dee5
commit 2feff50e33
2 changed files with 10 additions and 2 deletions

View File

@@ -324,6 +324,7 @@ dropped wielded, in use leash should remain in inventory, since it's in-use
wielded, in use leash can't be snatched by whip-wielding monster
when using two weapons at once, whip-wielding monster can target either one
can't #force floor item while engulfed, levitating, or unskilled riding
can't lock or unlock doors while engulfed
if hero or monster standing on opened drawbridge survives its destruction,
fall into water or lava instead of remaining on top

View File

@@ -1,4 +1,4 @@
/* SCCS Id: @(#)lock.c 3.5 2007/01/02 */
/* SCCS Id: @(#)lock.c 3.5 2007/02/17 */
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
/* NetHack may be freely redistributed. See license for details. */
@@ -249,7 +249,7 @@ pick_lock(pick) /* pick a lock with a given object */
pline(no_longer, "hold the", what);
reset_pick();
return 0;
} else if (xlock.box && !can_reach_floor(TRUE)) {
} else if (u.uswallow || (xlock.box && !can_reach_floor(TRUE))) {
pline(no_longer, "reach the", "lock");
reset_pick();
return 0;
@@ -264,6 +264,13 @@ pick_lock(pick) /* pick a lock with a given object */
if(nohands(youmonst.data)) {
You_cant("hold %s -- you have no hands!", doname(pick));
return(0);
} else if (u.uswallow) {
You_cant("%sunlock %s.",
#ifdef TOURIST
(picktyp == CREDIT_CARD) ? "" :
#endif
"lock or ", mon_nam(u.ustuck));
return 0;
}
if((picktyp != LOCK_PICK &&