diff --git a/docs/superpowers/specs/2026-10-14-built-in-routines-design.md b/docs/superpowers/specs/2026-10-14-built-in-routines-design.md index 3ab6a19..c976845 100644 --- a/docs/superpowers/specs/2026-10-14-built-in-routines-design.md +++ b/docs/superpowers/specs/2026-10-14-built-in-routines-design.md @@ -253,7 +253,7 @@ Looked for on 2026-10-14 and not shipped. Each is a candidate the owner may know | Wuwa | Oscillated Coral exchange (gacha pulls) | Resets with each version update, not a week or month — the owner confirmed this in game, 2026-10-16. A dated window → sub-project 3 (§ Scope) | | Wuwa | Afterglow Coral exchange, Souvenir Stores, Tactical Hologram shops | No limit, or no stated reset | | Wuwa | Simulation Training, Forgery | Cost Waveplates; no weekly cap | -| Wuwa | Tower of Adversity Hazard Zone (28 days), Whimpering Wastes | Multi-week → sub-project 2; the owner's in-game dates for both are in § Scope | +| Wuwa | Tower of Adversity Hazard Zone (28 days), Whimpering Wastes | Multi-week → sub-project 2; the owner's in-game dates for both are in § Scope. **Tower of Adversity shipped 2026-10-16** as a 28-day cycle; Whimpering Wastes has no fixed length and stays unshipped ([cycle routines spec](2026-10-16-cycle-routines-design.md) § Not shipped) | | NTE | Tycoon Incentive Fund (Pink Paws Heist, Volley Star weekly match, Display Case idle earnings) | A 14-day cycle by the game's own guide, not a week → sub-project 2 (§ Scope). The guide this branch cites calls Pink Paws' cap weekly; the game disagrees. The cap also differs per player (Puka Membership Program) | | NTE | Lost Exchange | Single launch-era source; nothing to count | | NTE | Beyond the Rails | 14-day cycle → sub-project 2; the owner's in-game date is in § Scope | diff --git a/src/shared/routines.ts b/src/shared/routines.ts index 16c6137..b3cf78c 100644 --- a/src/shared/routines.ts +++ b/src/shared/routines.ts @@ -444,6 +444,18 @@ export const ROUTINES: readonly Routine[] = [ checked: "2026-10-14", note: "Fantasies of the Thousand Gateways or Phantasma Dreamland Rhapsoda, whichever you play. Confirmed in game, 2026-10-16." }, + { + id: "routine:wuwa:tower-of-adversity", + game: "wuwa", + title: "Tower of Adversity", + // Anchored on the reset the owner read in game (2026-10-16). + period: { unit: "cycle", days: 28, from: "2026-11-09" }, + measure: { kind: "days", required: 1 }, + source: "https://gamemarket.gg/news/wuthering-waves/wuthering-waves-tower-of-adversity-guide-zones-vigor-rewards", + asOf: "2026-08-25", + checked: "2026-10-16", + note: "The Hazard Zone; the source says roughly 28 days.", + }, // Infinity Nikki. The wiki's Reset page puts the weekly reset on Monday at // 04:00 server time and lists both of these among what it renews. diff --git a/test/routines.test.ts b/test/routines.test.ts index fa65da6..f9d3954 100644 --- a/test/routines.test.ts +++ b/test/routines.test.ts @@ -94,6 +94,7 @@ describe("ROUTINES", () => { ["Weekly Challenge", week, { kind: "amount", target: 3, unit: "claims" }], ["Pioneer Podcast weekly EXP", week, { kind: "amount", target: 12000, unit: "EXP" }], ["Weekly Activities", week, { kind: "amount", target: 6000, unit: "points" }], + ["Tower of Adversity", { unit: "cycle", days: 28, from: "2026-11-09" }, { kind: "days", required: 1 }], ]); expect(shape("nte")).toEqual([ ["Season Pass weekly EXP", week, { kind: "amount", target: 12000, unit: "EXP" }],