feat(games): track Reverse: 1999, which resets at 05:00
Adds the r1999 GameId and its metadata, plus GameMeta.resetHourLocal for the fact that makes it unlike every other game here: it rolls its day at 05:00 server time rather than 04:00, on a single global UTC-5 server, so its day-key boundary is 10:00 UTC. resetOffsets could not carry that. Landing 10:00 UTC through the offset would mean claiming a UTC-6 server, and serverOffsetUtc answers more questions than this one. The new field overrides RESET_HOUR_LOCAL per game and is absent everywhere else, so no existing reader's logged day moved — a test pins that for the games that already had readers. Both facts are read off the source, not assumed: all 154 rows of the wiki's event list state (UTC-5) and run 05:00 to 04:59, an event ending one minute before the reset the next one begins on. No adapter yet, so the game has no events until one lands. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 5
parent
7926a70850
commit
1a65a1f06c
@@ -170,7 +170,12 @@ Two more key spaces have the same property, for the same reason:
|
||||
A game whose server map differs lists the affected regions in `resetOffsets` (`games.ts`) —
|
||||
Endfield serves Europe off the Americas machine, so `europe` is UTC-5 there and its reset is
|
||||
09:00 UTC, not 03:00. Keep that override **per region**: a blanket per-game offset drags the
|
||||
regions that do have their own server onto someone else's clock. Every day-key function takes an
|
||||
regions that do have their own server onto someone else's clock.
|
||||
A game that rolls on a different *hour* says so in `resetHourLocal` instead — Reverse: 1999 resets
|
||||
at 05:00, not 04:00, so its day rolls at 10:00 UTC on its single UTC-5 server. Do not encode that
|
||||
as a bent `resetOffsets` value: shifting a game's stated server offset to land the right instant
|
||||
would misreport the server clock to everything else that asks for it. Both fields are absent for
|
||||
every game that takes the default, which is why adding the second one moved nobody's day keys. Every day-key function takes an
|
||||
optional `game` — **anything reading or writing a tick must pass it**, or it writes under one
|
||||
clock and reads under another. A day that drops out of `dailyDays` renders no pip, so a tick on it
|
||||
becomes unreachable; check real fixture windows before changing an offset.
|
||||
|
||||
Reference in New Issue
Block a user