Document Batch 2–3 Phase 1 archaeology: shared player-base architecture and per-character ability inventories.

Captures Blueprint hierarchy, legacy ability/RPC paths, animation dependency seeds, and handoff state without modifying Unreal assets.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-16 20:29:10 -07:00
co-authored by Cursor
parent ff5640a020
commit 0d045d142f
11 changed files with 1106 additions and 463 deletions
@@ -2,11 +2,11 @@
**Status: Draft**
- **Scope (Batch 1 seed):** Native enemy class only + Blueprint child path seeds. No Behavior Tree assumption. No deep enemy Blueprint graph walk yet.
- **Inspection method:** Read `ARIRBaseEnemyCharacter`; calibration prior (no BT/BB/custom AIController assets); subclass path search.
- **Scope:** Native enemy class (Batch 1) + Pass 3 structural Blueprint inventory. Deep Tick/overlap/AI graph walk deferred to Pass 9.
- **Inspection method:** Native read; Batch 2 AssetTools tags + BlueprintTools list_graphs/events/variables/deps.
- **Last updated:** 2026-07-16
- **Current phase:** Phase 1 — Static Architecture
- **Last completed pass:** Pass 2 (Batch 1)
- **Last completed pass:** Pass 3 (Batch 2) — structural only
- **Next pass expected to contribute:** Batch 4 Pass 9
## Draft tracking
@@ -14,12 +14,13 @@
### Completed sections
- Native enemy ASC ownership and highlight interface
- Confirmation: no chase/attack/MoveTo in native C++
- Blueprint child paths
- Blueprint child paths + Pass 3 structural sheets
- BPI_EnemyCharacter API surface
### Pending sections
- BP_EnemyCharacterBase / BP_Enemy_Skeleton graphs (Tick, overlaps, MoveTo, timers)
- AIControllerClass / AutoPossessAI on CDOs
- Reconfirm BT asset absence
- Connected Tick / overlap / timer / MoveTo graphs on enemy BPs
- AIControllerClass / AutoPossessAI on CDOs (reconfirm)
- Consumers of GetASC on enemies
### Evidence still required
- Where chase/attack was intended to live (Blueprint vs missing)
@@ -40,6 +41,36 @@
**Calibration (prior Observed Implementation):** Stock `/Script/AIModule.AIController`; AutoPossessAI PlacedInWorld on skeleton instance; no project BehaviorTree assets.
**Issue:** Existing Baseline Defect (enemy chase/attack nonfunctional per project brief). Static native code alone cannot confirm root cause.
**Issue:** Existing Baseline Defect (enemy chase/attack nonfunctional per project brief).
**Blueprint seeds:** `BP_EnemyCharacterBase`, `BP_Enemy_Skeleton`.
---
## Pass 3 Blueprint structure (not Pass 9 deep dive)
### `BP_EnemyCharacterBase`
| Field | Value |
|-------|--------|
| Path | `/Game/_Main/Blueprints/Characters/Enemies/BP_EnemyCharacterBase` |
| Parent | `RIRBaseEnemyCharacter` |
| IsDataOnly | True |
| Graphs | UserConstructionScript, EventGraph |
| Variables | [] |
| Implemented events | ReceiveBeginPlay, ReceiveTick, ReceiveActorBeginOverlap |
| Deps | `/Script/REALMSINRUIN` only |
### `BP_Enemy_Skeleton`
| Field | Value |
|-------|--------|
| Path | `/Game/_Main/Blueprints/Characters/Enemies/Skeleton/BP_Enemy_Skeleton` |
| Parent | `BP_EnemyCharacterBase_C` |
| Interface | `BPI_EnemyCharacter` (`GetEnemyREF`) |
| Graphs | UCS, EventGraph, GetEnemyREF |
| Variables | [] |
| Implemented events | ReceiveBeginPlay, ReceiveTick, ReceiveActorBeginOverlap |
| Deps | SKM_Skeleton_Guard_Body, BPI_EnemyCharacter, BP_EnemyCharacterBase, ABP_Skeleton, REALMSINRUIN |
### `BPI_EnemyCharacter`
Graphs: `GetEnemyREF`, `AddPlayerTarget`, `EnemyMeleeAttack`**Documented Intent** surface for targeting/melee; connected implementations on Skeleton/base **not traced in Batch 2** (Pass 9).