GitHub issue #1254

> If there's a trap on a no-dig level, the floor beneath it will always be "too hard to dig into", making it impossible to remove the trap.
>
> As you can still dig pits in these levels (just not holes), the floor under the trap itself resisting to become a pit seems inconsistent.
>
> Steps to reproduce:
>
> Go to no-dig level like Mine's End
> Make a trap
> Dig a pit next to it -> works
> Dig on the trap -> does not work

Return more information about the dig_check() results to caller (was
just a boolean).

Move the messaging that was in dig_check() into a separate
digcheck_fail_message() function that uses the expanded return
information.

Resolves #1254

.
This commit is contained in:
nhmall
2024-07-23 01:06:24 -04:00
parent dfa9d9df3c
commit d5785f287e
4 changed files with 123 additions and 39 deletions

View File

@@ -3945,7 +3945,7 @@ do_break_wand(struct obj *obj)
if (obj->otyp == WAN_DIGGING) {
schar typ;
if (dig_check(BY_OBJECT, FALSE, x, y)) {
if (dig_check(BY_OBJECT, x, y) < DIGCHECK_FAILED) {
if (IS_WALL(levl[x][y].typ) || IS_DOOR(levl[x][y].typ)) {
/* normally, pits and holes don't anger guards, but they
* do if it's a wall or door that's being dug */