Add Honkai Impact 3rd as a game

The lane needs a GameId before anything can publish into it, and that enum
value becomes the first segment of every completion key this game will ever
have — so it is worth landing on its own rather than inside an adapter change.

No resetOffsets and no resetHourLocal. The source we are about to add states
its times as 0:0:0 placeholders on a week grid and names no timezone, so there
is no clock to read a reset out of. Setting one now would move real readers'
day keys later on nothing but a guess; the p5x and ba entries take the same
silence to the same answer.

Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
This commit is contained in:
Lucas Winther
2026-08-27 01:27:07 +02:00
co-authored by Claude Opus 5
parent bf14b2f1ea
commit fc2a1e2c9f
2 changed files with 12 additions and 0 deletions
+11
View File
@@ -151,6 +151,17 @@ export const GAMES: Record<GameId, GameMeta> = {
// logged ticks under. // logged ticks under.
nikke: { id: "nikke", name: "Goddess of Victory: Nikke", short: "Nikke", hue: "#E4572E", studio: "Shift Up", dailyTasks: "Daily missions, outpost", resetOffsets: { asia: 9, america: 9, europe: 9 }, resetHourLocal: 5 }, nikke: { id: "nikke", name: "Goddess of Victory: Nikke", short: "Nikke", hue: "#E4572E", studio: "Shift Up", dailyTasks: "Daily missions, outpost", resetOffsets: { asia: 9, america: 9, europe: 9 }, resetHourLocal: 5 },
uma: { id: "uma", name: "Umamusume: Pretty Derby", short: "Umamusume", hue: "#6FBF44", studio: "Cygames", dailyTasks: "Daily races, missions" }, uma: { id: "uma", name: "Umamusume: Pretty Derby", short: "Umamusume", hue: "#6FBF44", studio: "Cygames", dailyTasks: "Daily races, missions" },
// No `resetOffsets`, and the source is silent in the strongest sense: every
// boundary Honkai Impact 3rd has here is a **week bucket**, and every one of
// those states its time as `0:0:0` — a placeholder the grid needs to draw a
// column, not a clock anyone published. There is no time of day on that page
// to read a reset out of, and the schedule's own header calls the week
// estimated. Same silence as p5x, ba and czn, and the same answer.
//
// Note also that `GLB/SEA` is one label over one grid: the source draws no
// per-region split, so there is nothing here that could evidence a server
// map even if a clock appeared. See src/ingest/parsers/arustats.ts.
hi3: { id: "hi3", name: "Honkai Impact 3rd", short: "Honkai 3rd", hue: "#8B5CF6", studio: "HoYoverse", dailyTasks: "Daily missions, stamina" },
}; };
export const GAME_LIST: GameMeta[] = Object.values(GAMES); export const GAME_LIST: GameMeta[] = Object.values(GAMES);
+1
View File
@@ -21,6 +21,7 @@ export const GameId = z.enum([
// NOTE: one letter from "nikki" (Infinity Nikki) above, and both are the // NOTE: one letter from "nikki" (Infinity Nikki) above, and both are the
// first segment of every completion key their game will ever have. // first segment of every completion key their game will ever have.
"nikke", // Goddess of Victory: Nikke "nikke", // Goddess of Victory: Nikke
"hi3", // Honkai Impact 3rd
]); ]);
export type GameId = z.infer<typeof GameId>; export type GameId = z.infer<typeof GameId>;