add blueprints
This commit is contained in:
58
docs/blueprints/14-data-assets/123_DA_ObjectiveData.md
Normal file
58
docs/blueprints/14-data-assets/123_DA_ObjectiveData.md
Normal file
@@ -0,0 +1,58 @@
|
||||
# DA_ObjectiveData — Data Asset
|
||||
|
||||
**Parent Class:** `UDataAsset`
|
||||
**Dependencies:** [`BPC_ObjectiveSystem`](../07-narrative/39_BPC_ObjectiveSystem.md), [`WBP_ObjectiveDisplay`](../06-ui/WBP_ObjectiveDisplay.md)
|
||||
**Purpose:** Defines objective content — objective text, requirements, completion conditions, linked narrative flags, and reward data.
|
||||
|
||||
---
|
||||
|
||||
## Variables / Structure
|
||||
|
||||
| Field | Type | Description |
|
||||
|-------|------|-------------|
|
||||
| `ObjectiveTag` | `FGameplayTag` | Unique tag for this objective |
|
||||
| `ObjectiveText` | `FText` | Display text for HUD/journal |
|
||||
| `ObjectiveCategory` | `EObjectiveCategory` | Main, Side, Hidden, Tutorial |
|
||||
| `PrerequisiteFlags` | `TArray<FGameplayTag>` | Narrative flags required before objective activates |
|
||||
| `CompletionFlags` | `TArray<FGameplayTag>` | Flags set when objective completes |
|
||||
| `bIsOptional` | `bool` | Objective can be skipped |
|
||||
| `ObjectiveLocation` | `FVector` | World location for marker |
|
||||
| `RewardItems` | `TArray<FPrimaryAssetId>` | Items granted on completion |
|
||||
| `RewardExperience` | `int32` | XP awarded |
|
||||
| `LinkedEndingWeight` | `float` | Score contribution to ending evaluation |
|
||||
|
||||
---
|
||||
|
||||
## Gameplay Tags
|
||||
- Namespace: `Objective.<Category>.<Name>` (e.g., `Objective.Main.FindKey`, `Objective.Side.RescueNPC`)
|
||||
|
||||
---
|
||||
|
||||
## Validation Rules
|
||||
- `ObjectiveTag` must be unique
|
||||
- `ObjectiveText` must not be empty
|
||||
- At least one `CompletionFlag` required (unless narrative-driven)
|
||||
|
||||
---
|
||||
|
||||
## Example Data
|
||||
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| ObjectiveTag | `Objective.Main.EscapeHospital` |
|
||||
| ObjectiveText | "Escape the abandoned hospital" |
|
||||
| ObjectiveCategory | Main |
|
||||
| CompletionFlags | `Narrative.EscapedHospital` |
|
||||
| RewardExperience | 500 |
|
||||
|
||||
---
|
||||
|
||||
## Consumed By
|
||||
- [`BPC_ObjectiveSystem`](../07-narrative/39_BPC_ObjectiveSystem.md)
|
||||
- [`WBP_ObjectiveDisplay`](../06-ui/WBP_ObjectiveDisplay.md)
|
||||
- [`BPC_EndingAccumulator`](../07-narrative/BPC_EndingAccumulator.md)
|
||||
|
||||
## Reuse Notes
|
||||
- Objectives are data-driven; no blueprint logic changes needed for new objectives
|
||||
- `PrerequisiteFlags` gate objective activation behind narrative flags
|
||||
- `LinkedEndingWeight` feeds into ending evaluation system
|
||||
Reference in New Issue
Block a user