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
+11
-1
@@ -9,7 +9,7 @@
|
||||
import { z } from "zod";
|
||||
|
||||
export const GameId = z.enum([
|
||||
"genshin", "hsr", "zzz", "wuwa", "arknights", "endfield", "nte", "nikki", "p5x",
|
||||
"genshin", "hsr", "zzz", "wuwa", "arknights", "endfield", "nte", "nikki", "p5x", "r1999",
|
||||
]);
|
||||
|
||||
export const EventType = z.enum([
|
||||
@@ -258,6 +258,7 @@ reader cannot see.
|
||||
| Arknights, all regions | 04:00 | UTC-7 (one Global server) | 11:00 | 13:00 / 12:00 |
|
||||
| Endfield, Europe | 04:00 | UTC-5 (on the Americas server) | 09:00 | 11:00 / 10:00 |
|
||||
| Endfield, Asia / Americas | 04:00 | regional default | 20:00 / 09:00 | — |
|
||||
| Reverse: 1999, all regions | **05:00** | UTC-5 (one global server) | 10:00 | 12:00 / 11:00 |
|
||||
|
||||
Arknights is the one game whose override covers **all three** regions, and it is not a blanket
|
||||
per-game offset of the kind this section warns about below: the game genuinely runs a single Global
|
||||
@@ -270,6 +271,15 @@ an assumption, not a verified server map — neither source states one. Confirm
|
||||
before relying on it, and note that adding an override later re-labels the game-day of ticks readers
|
||||
have already logged, which is the change this table warns about below.
|
||||
|
||||
**Reverse: 1999 is the one game that rolls on a different hour**, and it needs its own field rather
|
||||
than a bent offset. It runs a single global server on UTC-5 and resets at **05:00**, so its day rolls
|
||||
at 10:00 UTC. `resetOffsets` alone cannot say that: landing 10:00 UTC through the offset would mean
|
||||
claiming a UTC-6 server, which is a lie every other reader of `serverOffsetUtc` would inherit. So
|
||||
`GameMeta.resetHourLocal` overrides `RESET_HOUR_LOCAL` per game, and is absent — meaning 04:00 — for
|
||||
everything else, which is why introducing it moved no existing day key. Both facts come off the
|
||||
source: all 154 rows of the wiki's event list state `(UTC-5)`, and every one runs 05:00 → 04:59, an
|
||||
event ending one minute before the reset the next one starts on.
|
||||
|
||||
These server offsets are **fixed and do not observe DST**, so the reader's local reset time moves by
|
||||
an hour across the European clock change while the UTC instant stays put.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user