# Entity Registry # Auto-generated from GDD design sessions. Do not edit manually. # To update: run /design-system for each system, the registry is populated in Phase 5b. entries: # ─── Tower Assembly (design/gdd/tower-assembly.md) ─────────────────────────── - name: TowerLevelCount type: constant value: 5 unit: levels source: design/gdd/tower-assembly.md description: Fixed number of tower level tiers. All tower stat arrays have exactly 5 elements. - name: MaxParticipantTowerCount type: constant value: 4 unit: towers source: design/gdd/tower-assembly.md description: Maximum number of towers that can be rostered for combat. - name: TowerEnduranceRange type: constant value: "0–100" unit: percent source: design/gdd/tower-assembly.md description: Valid range for component Endurance. 0 means non-functional. - name: TowerStatScaling type: formula variables: - name: rarityBaseArray symbol: B type: "int[5] or float[5]" description: Per-rarity base values from component stat array - name: rarity symbol: R type: RarityType description: Component rarity (White=1 to Red=5) - name: perLevel symbol: P type: int or float description: Per-level increment from data table row output: range: "varies by component data table" description: "statValue[i] = B[Clamp(R-1,0,4)] + P*i, for i in 0..4" source: design/gdd/tower-assembly.md - name: TowerRarityResolution type: formula variables: - name: muzzleRarity symbol: mR type: RarityType description: Muzzle component rarity (White=1 to Red=5) - name: bearingRarity symbol: bR type: RarityType description: Bearing component rarity (White=1 to Red=5) - name: baseRarity symbol: baseR type: RarityType description: Base component rarity (White=1 to Red=5) output: range: "White..Red" description: "Clamp(Round((mR + bR + baseR) / 3), White, Red)" source: design/gdd/tower-assembly.md - name: TagAggregation type: formula variables: - name: muzzleTags type: "TagType[]" description: Tags from Muzzle component - name: bearingTags type: "TagType[]" description: Tags from Bearing component - name: baseTags type: "TagType[]" description: Tags from Base component output: range: "TagRuntimeData[]" description: "Merged tags with TotalStack = count of components carrying each tag. Min TotalStack=1." source: design/gdd/tower-assembly.md # ─── Node System (design/gdd/node-system.md) ──────────────────────────────── - name: BossBonusGold type: constant value: 200 unit: gold source: design/gdd/node-system.md description: Flat bonus gold awarded for defeating the Boss node. - name: TotalNodesPerRun type: constant value: 10 unit: nodes source: design/gdd/node-system.md description: Fixed number of nodes per run. Node 10 is always BossCombat. # ─── Shop System (design/gdd/shop.md) ──────────────────────────────── - name: MaxPlayerGold type: constant value: 9999 unit: gold source: design/gdd/shop.md description: Hard cap on player gold. AddGold silently discards excess above this value. # ─── Event System (design/gdd/event-system.md) ──────────────────────── - name: EventSelectionSeedFormula type: formula variables: - name: runSeed symbol: S type: int description: Run seed from RunNodeExecutionContext - name: sequenceIndex symbol: I type: int description: Node sequence index in the run - name: nodeId symbol: N type: int description: Unique node identifier output: range: "int" description: "seed = (((S * 31) + I) * 31) + N" source: design/gdd/event-system.md - name: EventProbabilityRollSeedFormula type: formula variables: - name: runSeed symbol: S type: int description: Run seed - name: sequenceIndex symbol: I type: int description: Node sequence index - name: eventId symbol: E type: int description: Event identifier from DREvent - name: optionIndex symbol: O type: int description: Option index within the event output: range: "int" description: "seed = S + I + E + O + 0 + 17" source: design/gdd/event-system.md