48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
# DA_RoomMutation — Data Asset
|
|
|
|
**Parent Class:** `UDataAsset`
|
|
**Dependencies:** [`BPC_AdaptiveEnvironmentDirector`](../10-adaptive/)
|
|
**Purpose:** Defines room mutation rules — environment changes triggered by narrative progression, fear state, or adaptive difficulty.
|
|
|
|
---
|
|
|
|
## Variables / Structure
|
|
|
|
| Field | Type | Description |
|
|
|-------|------|-------------|
|
|
| `MutationTag` | `FGameplayTag` | Unique mutation identifier |
|
|
| `RoomFilter` | `FGameplayTag` | Which rooms this mutation applies to |
|
|
| `MutationType` | `EMutationType` | Geometry, Lighting, Audio, EnemyPlacement, LootPlacement |
|
|
| `RequiredNarrativeFlags` | `TArray<FGameplayTag>` | Flags required for mutation to activate |
|
|
| `RequiredFearThreshold` | `EFearThreshold` | Minimum fear tier needed |
|
|
| `CooldownSeconds` | `float` | Min time between mutations |
|
|
| `MutationChance` | `float` | 0.0-1.0 probability per eligible room |
|
|
| `bCanRevert` | `bool` | Can room return to original state |
|
|
| `RevertCondition` | `FGameplayTag` | Narrative flag that triggers revert |
|
|
|
|
---
|
|
|
|
## Gameplay Tags
|
|
- Namespace: `RoomMutation.<Type>.<Name>` (e.g., `RoomMutation.Geometry.WallShift`)
|
|
|
|
---
|
|
|
|
## Validation Rules
|
|
- `MutationTag` must be unique
|
|
- `MutationChance` must be 0.0-1.0
|
|
|
|
---
|
|
|
|
## Example Data
|
|
|
|
| Field | Value |
|
|
|-------|-------|
|
|
| MutationTag | `RoomMutation.Geometry.CeilingDrop` |
|
|
| MutationType | Geometry |
|
|
| RequiredFearThreshold | Afraid |
|
|
| MutationChance | 0.3 |
|
|
|
|
---
|
|
|
|
## Consumed By
|
|
- [`BPC_AdaptiveEnvironmentDirector`](../10-adaptive/) |