Files
UE5-Modular-Game-Framework/docs/blueprints/14-data-assets/115_DA_AdaptationRule.md
Lefteris Notas 411edea8ce add blueprints
2026-05-19 13:22:27 +03:00

53 lines
1.6 KiB
Markdown

# DA_AdaptationRule — Data Asset
**Parent Class:** `UDataAsset`
**Dependencies:** [`BPC_DifficultyManager`](../10-adaptive/62_BPC_DifficultyManager.md)
**Purpose:** Defines adaptation rules for dynamic difficulty adjustment — thresholds, modifiers, and response curves.
---
## Variables / Structure
| Field | Type | Description |
|-------|------|-------------|
| `RuleTag` | `FGameplayTag` | Unique rule identifier |
| `AdaptationDomain` | `EAdaptationDomain` | EnemyCount, EnemyAggression, ResourceScarcity, EnvironmentalHazard |
| `ThresholdCheck` | `EThresholdType` | PlayerDeathCount, ClearTime, HealthLost, AmmoUsed |
| `ThresholdValue` | `float` | Trigger value for adaptation |
| `ModifierCurve` | `UCurveFloat*` | Response curve for modifier scaling |
| `ResponseMultiplier` | `float` | Base modifier strength |
| `MaxModifier` | `float` | Cap on total modifier |
| `CooldownMinutes` | `float` | Min time between adaptations |
| `bCanRevert` | `bool` | Adaptation can reverse |
---
## Gameplay Tags
- Namespace: `Adaptation.<Domain>.<Rule>` (e.g., `Adaptation.EnemyCount.IncreaseOnLowDeaths`)
---
## Validation Rules
- `RuleTag` must be unique
- `ModifierCurve` must be valid
---
## Example Data
| Field | Value |
|-------|-------|
| RuleTag | `Adaptation.EnemyAggression.IncreaseOnSpeed` |
| AdaptationDomain | EnemyAggression |
| ThresholdCheck | ClearTime |
| ThresholdValue | 300.0 |
| ResponseMultiplier | 1.5 |
---
## Consumed By
- [`BPC_DifficultyManager`](../10-adaptive/62_BPC_DifficultyManager.md)
## Reuse Notes
- Rules are composable — multiple rules apply simultaneously
- Curves allow non-linear adaptation responses