diff --git a/doc/fixes34.4 b/doc/fixes34.4 index c81ea3951..eeb2d2286 100644 --- a/doc/fixes34.4 +++ b/doc/fixes34.4 @@ -297,8 +297,7 @@ can't throw if poly'd into form which lacks hands can't eat an artifact you're unable to touch attempting to kick beyond map edge performed an out of array bounds memory access; symptom seen was "show_glyph: bad pos" warning when blind -attempting to engrave with an empty wand should use a turn even when hero is - levitating--trying and failing to wrest a charge takes time +attempting to engrave with an empty wand should always use a turn don't access freed memory after engraving "wrests one last charnge" from wand diff --git a/src/engrave.c b/src/engrave.c index a02320ca1..cbfd5280a 100644 --- a/src/engrave.c +++ b/src/engrave.c @@ -774,8 +774,14 @@ doengrave() } else { /* end if zappable */ /* failing to wrest one last charge takes time */ ptext = FALSE; /* use "early exit" below, return 1 */ - /* cancelled wand turns to dust unless hero can't write */ - if (otmp->spe < 0 && can_reach_floor(TRUE)) zapwand = TRUE; + /* give feedback here if we won't be getting the + "can't reach floor" message below */ + if (can_reach_floor(TRUE)) { + /* cancelled wand turns to dust */ + if (otmp->spe < 0) zapwand = TRUE; + /* empty wand just doesn't write */ + else pline_The("wand is too worn out to engrave."); + } } break;