From 0aba284106f4bb11e06788b2488416fa73563fd7 Mon Sep 17 00:00:00 2001 From: nhmall Date: Tue, 2 Jun 2026 09:34:52 -0400 Subject: [PATCH] better placement for ensuring graving vanishes This is better placement for making the original engraving vanish when told that it vanishes; helps to ensure that it isn't showing for any next steps. also, a warning bit --- src/engrave.c | 25 ++++++++++++++++--------- src/shk.c | 1 + 2 files changed, 17 insertions(+), 9 deletions(-) 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;