This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# seasons/
|
||||
|
||||
One JSON file per season, named for the season it holds: `c7s3.json`, `c7s4.json`.
|
||||
The `season` value inside each file must match its filename stem — CI enforces it.
|
||||
|
||||
**This directory is intentionally empty of data right now.** The first season file is
|
||||
generated by the locker exporter rather than typed by hand, so that base names, variant
|
||||
names, and row names match the game exactly instead of approximating it. Hand-authored
|
||||
entries are for corrections and additions after that.
|
||||
|
||||
See the [repo README](../README.md) for the format, the three statuses, and what each
|
||||
field means, and [`../schema/sprite-catalog.schema.json`](../schema/sprite-catalog.schema.json)
|
||||
for the contract CI checks against.
|
||||
|
||||
## Adding a season
|
||||
|
||||
1. Export it, or copy the previous season's file as a starting point.
|
||||
2. Name the file for the season and set `season` to match.
|
||||
3. Run `python scripts/validate.py` before opening the PR — it runs the same checks CI
|
||||
does and lists every problem at once rather than stopping at the first.
|
||||
|
||||
## Carrying sprites between seasons
|
||||
|
||||
Sprites do not move between files. A sprite that leaves circulation keeps its entry in
|
||||
the season that introduced it and gets `"status": "hidden"`, which drops it out of
|
||||
matching while leaving it in the inventory of everyone who already holds one. If it
|
||||
returns, flip the status back — that reversibility is the whole reason the status is
|
||||
called `hidden` rather than `retired`.
|
||||
|
||||
Reputation is season-agnostic and never resets, so nothing here affects standing.
|
||||
Reference in New Issue
Block a user