generated from nhcarrigan/template
212bd2ea27
Reward lookups now use the game definitions (defaultBosses, defaultQuests) as the source of truth rather than reading arrays directly off state objects. This avoids runtime crashes when state objects are minimal (e.g. in tests or from old save data) and is more semantically correct. Adds full test coverage for the new applyUpgradeUnlocks, applyEquipmentUnlocks, applyStoryUnlocks, and applyAdventurerUnlocks paths in debug.spec.ts (42 tests, 100% coverage).