add blueprints

This commit is contained in:
Lefteris Notas
2026-05-19 13:22:27 +03:00
parent f71bc678b2
commit 411edea8ce
138 changed files with 23330 additions and 0 deletions

View 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