hikari e780dc5f6c feat: sequential zone unlocking with dual boss+quest gate conditions
Zones now unlock in strict linear order. Each zone requires both the
final boss AND the final quest of the previous zone to be completed:

Verdant Vale → Shattered Ruins (forest_giant + ancient_ruins)
Shattered Ruins → Frozen Peaks (elder_dragon + dragon_lair)
Frozen Peaks → Shadow Marshes (void_titan + storm_citadel)
Shadow Marshes → Volcanic Depths (mud_kraken + plague_ruins)
Volcanic Depths → Astral Void (phoenix_lord + the_forge)

- Zone type gains `unlockQuestId` field alongside `unlockBossId`
- boss.ts checks both conditions before unlocking zone on boss defeat
- tick.ts checks both conditions and unlocks zones + first boss on
  quest completion if the boss condition is already met
- GameContext optimistic update also respects dual-condition logic
- BossPanel zone-gate hints now show both "⚔️ Defeat: X & 📜 Complete: Y"
- game.ts backfill syncs unlockQuestId and re-verifies zone status
  using both conditions, reverting incorrectly-unlocked saves
2026-03-06 16:04:52 -08:00
2025-07-14 21:17:39 -07:00
2025-07-14 21:17:39 -07:00
2025-07-14 21:17:39 -07:00
2025-07-14 21:17:39 -07:00
2025-07-14 21:17:39 -07:00
2025-07-14 21:17:39 -07:00
2025-07-14 21:17:39 -07:00

New Repository Template

This template contains all of our basic files for a new GitHub repository. There is also a handy workflow that will create an issue on a new repository made from this template, with a checklist for the steps we usually take in setting up a new repository.

If you're starting a Node.JS project with TypeScript, we have a specific template for that purpose.

Readme

Delete all of the above text (including this line), and uncomment the below text to use our standard readme template.

S
Description
An Idle RPG in the browser
Readme 4.8 MiB
v0.5.0 Latest
2026-04-06 20:19:56 -07:00
Languages
TypeScript 95.2%
CSS 4.3%
JavaScript 0.4%