156 lines
4.8 KiB
YAML
156 lines
4.8 KiB
YAML
# 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
|