From fc2a1e2c9f07f8e7871db8b6c7cbcc8f273f9f83 Mon Sep 17 00:00:00 2001 From: Lucas Winther Date: Thu, 27 Aug 2026 01:27:07 +0200 Subject: [PATCH] Add Honkai Impact 3rd as a game MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- src/shared/games.ts | 11 +++++++++++ src/shared/schema.ts | 1 + 2 files changed, 12 insertions(+) diff --git a/src/shared/games.ts b/src/shared/games.ts index 188e276..f8e7360 100644 --- a/src/shared/games.ts +++ b/src/shared/games.ts @@ -151,6 +151,17 @@ export const GAMES: Record = { // 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 }, 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); diff --git a/src/shared/schema.ts b/src/shared/schema.ts index 3e6efc6..0b20320 100644 --- a/src/shared/schema.ts +++ b/src/shared/schema.ts @@ -21,6 +21,7 @@ export const GameId = z.enum([ // NOTE: one letter from "nikki" (Infinity Nikki) above, and both are the // first segment of every completion key their game will ever have. "nikke", // Goddess of Victory: Nikke + "hi3", // Honkai Impact 3rd ]); export type GameId = z.infer;