diff --git a/src/shared/games.ts b/src/shared/games.ts index efcbb3a..52efe1d 100644 --- a/src/shared/games.ts +++ b/src/shared/games.ts @@ -134,15 +134,13 @@ export const GAMES: Record = { // is a patch window, not a reset hour. So this game takes the regional // default until something states its server clock outright. gfl2: { id: "gfl2", name: "Girls' Frontline 2: Exilium", short: "GFL2", hue: "#A9C23F", studio: "Sunborn", dailyTasks: "Daily missions" }, - // No `resetOffsets`, and this is the Fate/Grand Order gap rather than the - // Blue Archive one: the source states an offset on every boundary, and the - // offset it states is `-07:00` in August. That is US Pacific in summer, which - // means it is `-08:00` in winter — one fixed number is wrong for half the year - // in either direction, and `resetOffsets` holds one fixed number. The page - // also never lands its boundaries on a single local hour (20:00 and 21:00 - // starts, 12:59 and 19:59 ends), so there is no reset hour to read off it - // either. See the fgo entry below for the same reasoning at more length. - stellasora: { id: "stellasora", name: "Stella Sora", short: "Stella Sora", hue: "#2E9E9E", studio: "Yostar", dailyTasks: "Daily missions" }, + // Stella Sora runs one worldwide server on a fixed UTC-7 that rolls its day + // at 13:00 — 20:00 UTC — per Game-Time-Master (github.com/cicerakes/Game-Time-Master). + // That settles what the source alone could not: it prints `-07:00` on every + // boundary, which read like US Pacific in summer (the Fate/Grand Order gap), + // and never landed its boundaries on one local hour. Game-Time-Master lists + // the zone as fixed (`Etc/GMT+7`), so one number holds all year. + stellasora: { id: "stellasora", name: "Stella Sora", short: "Stella Sora", hue: "#2E9E9E", studio: "Yostar", dailyTasks: "Daily missions", resetOffsets: { asia: -7, america: -7, europe: -7 }, resetHourLocal: { asia: 13, america: 13, europe: 13 } }, // Chaos Zero Nightmare runs one worldwide server whose day rolls at 18:00 UTC, // per Game-Time-Master (github.com/cicerakes/Game-Time-Master); GameWith's // guide states the same instant in UTC. The source is Game8 prose with no diff --git a/test/daily.test.ts b/test/daily.test.ts index 26f731e..82156aa 100644 --- a/test/daily.test.ts +++ b/test/daily.test.ts @@ -520,6 +520,9 @@ describe("reset clocks, per server, as Game-Time-Master states them", () => { ["pgr", "asia", "05:00", 0], ["pgr", "america", "05:00", 0], ["pgr", "europe", "05:00", 0], + ["stellasora", "asia", "20:00", -7], + ["stellasora", "america", "20:00", -7], + ["stellasora", "europe", "20:00", -7], ]; for (const [game, region, utc, offset] of ROWS) {