Refactor item priority composition
Allow item priorities to be grouped, such that multiple items can be considered as a single entity.
e.g.:
- Super Metroid "ball explosives", "ammo"; one of either "Bomb" or "Power Bomb" is considered "important", any more beyond that is "medium"; "Super Missiles" or "Missiles" up to a certain point are "medium", then "low".
- Link to the Past bombs (of any count, capacity upgrades, etc): first pickup may be "medium", more are "low"
Like #13 (closed), needs some sort of state tracking per-world for items received; more important that info is persisted between backend restarts.
Refactor data structure to allow thresholds and custom badges per-item (#12 (closed)), or bubble up to group reference:
{
...
"items": {
"item": {
"ref": "<group name>",
"received": 0 // track number received
},
"other item": {
"ref: "<group name>",
"priority": "...", // per-item override, highest precedence - ignore ref, threshold
"badge": "...", // per item override
"threshold": {}, // per item override
}
},
"groups": {
"<group name>": {
"badge": ":rocket:",
"threshold": {
"1": "important",
"5": "medium",
"_": "low"
}
}
}