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:
@@ -646,7 +646,7 @@ polyself(int psflags)
|
||||
re-converting scales to mail poses risk
|
||||
of evaporation due to over enchanting */
|
||||
uarm->otyp += GRAY_DRAGON_SCALES - GRAY_DRAGON_SCALE_MAIL;
|
||||
uarm->dknown = 1;
|
||||
observe_object(uarm);
|
||||
disp.botl = TRUE; /* AC is changing */
|
||||
}
|
||||
uskin = uarm;
|
||||
@@ -1371,7 +1371,7 @@ rehumanize(void)
|
||||
return; /* don't rehumanize after all */
|
||||
} else if (uamul && uamul->otyp == AMULET_OF_UNCHANGING) {
|
||||
Your("%s %s!", simpleonames(uamul), otense(uamul, "fail"));
|
||||
uamul->dknown = 1;
|
||||
observe_object(uamul);
|
||||
makeknown(AMULET_OF_UNCHANGING);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user