fix #H1996 - digging message for missing boulder
From a bug report, it was possible to get
|You hit the with all your might. You stop digging.
if a boulder went away--in his case, it was picked up by a giant--while
you were occupied trying to break it with a pick-axe. The code explicitly
used "" to fill in the message when dig_target had an unexpected value.
This just avoids giving the message in a case like this. Possibly
extra stop_occupation() calls should be done instead, but I didn't want
to try to figure out how many would be needed (monster picks up object,
monster zaps wand of striking, others?).
This commit is contained in:
@@ -382,6 +382,8 @@ trying to move down while levitating said "you are floating high above floor"
|
||||
even when being stuck in floor or lava blocked full levitation
|
||||
hero poly'd into mimic and hiding as an object via #monster didn't unhide
|
||||
when polymorphing into non-mimic
|
||||
message "You hit the with all your might." could be issued if a boulder
|
||||
went away while it was being dug/broken with a pick-axe
|
||||
|
||||
|
||||
Platform- and/or Interface-Specific Fixes
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
/* NetHack 3.5 dig.c $Date$ $Revision$ */
|
||||
/* SCCS Id: @(#)dig.c 3.5 2009/01/28 */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -456,8 +455,10 @@ cleanup:
|
||||
IS_DOOR(lev->typ) ? "door" : "wall", verb);
|
||||
return(0);
|
||||
}
|
||||
} else if (!IS_ROCK(lev->typ) && dig_target == DIGTYP_ROCK)
|
||||
} else if (dig_target == DIGTYP_UNDIGGABLE ||
|
||||
(dig_target == DIGTYP_ROCK && !IS_ROCK(lev->typ)))
|
||||
return(0); /* statue or boulder got taken */
|
||||
|
||||
if(!did_dig_msg) {
|
||||
You("hit the %s with all your might.",
|
||||
d_target[dig_target]);
|
||||
|
||||
Reference in New Issue
Block a user