diff --git a/src/engrave.c b/src/engrave.c index 256439bc4..c16db8150 100644 --- a/src/engrave.c +++ b/src/engrave.c @@ -1066,12 +1066,28 @@ doengrave(void) rloc_engr(de->oep); de->oep->eread = 0; de->oep->erevealed = 0; + /* The old engraving indicator is probably still showing + * if, for example, the hero is invisible. Get rid of it + * right now, if the player has already been told that + * it vanished. + */ + if (de->hero_told_it_vanished) + newsym(u.ux, u.uy); + de->disprefresh = TRUE; de->oep = (struct engr *) 0; } if (de->dengr) { del_engr(de->oep); de->oep = (struct engr *) 0; + /* The old engraving indicator is probably still showing + * if, for example, the hero is invisible. Get rid of it + * right now, if the player has already been told that + * it vanished. + */ + if (de->hero_told_it_vanished) + newsym(u.ux, u.uy); + de->disprefresh = TRUE; } /* Something has changed the engraving here */ @@ -1177,15 +1193,6 @@ doengrave(void) de->adding = (de->oep && !de->eow); doengrave_ctx_verb(de); - /* The old engraving indictor is probably still showing - * if, for example, the hero is invisible. Get rid of it - * right now, if the player has already been told that - * it vanished, before proceeding with a new engraving. - */ - if (de->hero_told_it_vanished) - newsym(u.ux, u.uy); - - /* Tell adventurer what is going on */ if (de->otmp != &hands_obj) You("%s the %s with %s%s.", de->everb, de->eloc, diff --git a/src/shk.c b/src/shk.c index fd451eaaf..749df40ae 100644 --- a/src/shk.c +++ b/src/shk.c @@ -1085,6 +1085,7 @@ shop_keeper(char rmno) level_status.making, level_status.loading, level_status.shkready, level_status.ready); #endif + nhUse(hmm); } } return shkp;