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
This commit is contained in:
nhmall
2026-06-02 09:34:52 -04:00
parent 29c300b4e0
commit 0aba284106
2 changed files with 17 additions and 9 deletions
+16 -9
View File
@@ -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,
+1
View File
@@ -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;