generated from nhcarrigan/template
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
This commit is contained in:
@@ -6,6 +6,8 @@ export interface Zone {
|
||||
description: string;
|
||||
emoji: string;
|
||||
status: ZoneStatus;
|
||||
/** Boss ID whose defeat unlocks this zone (null for the starter zone) */
|
||||
/** Boss ID whose defeat is required to unlock this zone (null for the starter zone) */
|
||||
unlockBossId: string | null;
|
||||
/** Quest ID that must be completed to unlock this zone (null for the starter zone) */
|
||||
unlockQuestId: string | null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user