Accurately track which items have been discovered, even if not #named
This fixes a couple of bugs: a long-standing bug in which writing a scroll by label could fail even if you've already seen a scroll with that label (due to the game not tracking whether or not you've seen a scroll if it doesn't have a name); and a somewhat newer bug in which spellbooks auto-identified by Wizard knowledge were marked as having been encountered (rather than as known but not encountered). Breaks save file compatibility, but not bones files.
This commit is contained in:
@@ -2683,7 +2683,7 @@ use_stone(struct obj *tstone)
|
||||
|
||||
/* in case it was acquired while blinded */
|
||||
if (!Blind)
|
||||
tstone->dknown = 1;
|
||||
observe_object(tstone);
|
||||
known = (tstone->otyp == TOUCHSTONE && tstone->dknown
|
||||
&& objects[TOUCHSTONE].oc_name_known);
|
||||
Sprintf(stonebuf, "rub on the stone%s", plur(tstone->quan));
|
||||
|
||||
Reference in New Issue
Block a user