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:
@@ -54,8 +54,8 @@ struct objclass {
|
||||
* otherwise, obj->dknown and obj->bknown
|
||||
* tell all, and obj->known should always
|
||||
* be set for proper merging behavior. */
|
||||
Bitfield(oc_pre_discovered, 1); /* already known at start of game; flagged
|
||||
* as such when discoveries are listed */
|
||||
Bitfield(oc_encountered, 1); /* hero has observed such an item at least
|
||||
once (perhaps without naming it) */
|
||||
Bitfield(oc_magic, 1); /* inherently magical object */
|
||||
Bitfield(oc_charged, 1); /* may have +n or (n) charges */
|
||||
Bitfield(oc_unique, 1); /* special one-of-a-kind object */
|
||||
|
||||
Reference in New Issue
Block a user