feat!(lua): add support for tags in the gamestate
- Dominant language
- Python
- Stars
- 72
- Forks
- 18
- PR merge metrics
- No merged PRs in 30d
Description
Right now, the only tags information that we have is in the blind section.
```lua
---@class Blind
---@field type Blind.Type Type of the blind
---@field status Blind.Status Status of the bilnd
---@field name string Name of the blind (e.g., "Small", "Big" or the Boss name)
---@field effect string Description of the blind's effect
---@field score integer Score requirement to beat this blind
---@field tag_name string? Name of the tag associated with this blind (Small/Big only)
---@field tag_effect string? Description of the tag's effect (Small/Big only)
```
If we want to support the tags even more, we need to add a new field in the gamestate.
For example, we do not return the accumulated tags when skipping blinds.
Maybe the tag is something that we can treat like `Card`, and we can define a `Tag` type with its own attributes (and removing the keys `tag_name` and `tag_effect`). The new blind object will become
```lua
---@class Blind
---@field type Blind.Type Type of the blind
---@field status Blind.Status Status of the bilnd
---@field name string Name of the blind (e.g., "Small", "Big" or the Boss name)
---@field effect string Description of the blind's effect
---@field score integer Score requirement to beat this blind
---@field tag Tag? Tag collected if this blind is skipped
```
This issue requires planning.
Contributor guide
Assessment
This issue has not been assessed yet.