untrapping traps in unreachable locations

don't allow untrapping of an adjacent trap you cannot reach by movement
This commit is contained in:
cohrs
2002-02-06 05:39:43 +00:00
parent 9aa253c8ab
commit b277a17fb4
2 changed files with 13 additions and 0 deletions

View File

@@ -419,6 +419,7 @@ if player teleports a monster while swallowed on a noteleport level, the
prefixes that can appear in any order when wishing should include +/- and empty
word-order in wishes, allow "blessed +2 fireproof", not just
"blessed fireproof +2"
don't allow untrapping of adjacent traps in locations you can't move to
Platform- and/or Interface-Specific Fixes

View File

@@ -2782,6 +2782,18 @@ boolean force_failure;
There("is a boulder in your way.");
return 0;
}
/* duplicate tight-space checks from test_move */
if (u.dx && u.dy &&
bad_rock(youmonst.data,u.ux,ttmp->ty) &&
bad_rock(youmonst.data,ttmp->tx,u.uy)) {
if ((invent && (inv_weight() + weight_cap() > 600)) ||
bigmonst(youmonst.data)) {
/* don't allow untrap if they can't get thru to it */
You("are unable to reach the %s!",
defsyms[trap_to_defsym(ttype)].explanation);
return 0;
}
}
/* untrappable traps are located on the ground. */
if (!can_reach_floor()) {
#ifdef STEED