Skip to content

Commit

Permalink
lockpicking while engulfed
Browse files Browse the repository at this point in the history
     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.
  • Loading branch information
nethack.rankin committed Feb 20, 2007
1 parent e92b72d commit 2feff50
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
1 change: 1 addition & 0 deletions doc/fixes34.4
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
11 changes: 9 additions & 2 deletions src/lock.c
Original file line number Diff line number Diff line change
@@ -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. */

Expand Down Expand Up @@ -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;
Expand All @@ -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 &&
Expand Down

0 comments on commit 2feff50

Please sign in to comment.