An unfortunate side-effect of how we do procedural items is that they don't work as one might expect with features that reference items by ID. An example would be an Event's requires_item property. We want to check if the player has a Dagger by using requires_item=8. But if the player has a generated instance of a Dagger, requires_item (and in turn, ItemStorage::contains()) will not consider it to be a match.
- Should base and generated items be treated as one in the same?
- Checking if an item exists is fairly harmless, but what about removing items by ID? Maybe non-generated items should be prioritized, since the generated ones are probably what the player wants to keep.
An unfortunate side-effect of how we do procedural items is that they don't work as one might expect with features that reference items by ID. An example would be an Event's
requires_itemproperty. We want to check if the player has a Dagger by usingrequires_item=8. But if the player has a generated instance of a Dagger,requires_item(and in turn,ItemStorage::contains()) will not consider it to be a match.