Document Batch 4C Pass 9 enemy AI archaeology: missing chase and attack implementation.

Records empty enemy EventGraphs, stock AIController possession, orphan attack montage, and separates GetASC defect from chase/attack failure.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-16 21:46:08 -07:00
co-authored by Cursor
parent e50c8032ef
commit 53315574a4
8 changed files with 354 additions and 216 deletions
+15 -28
View File
@@ -2,46 +2,33 @@
**Status: Draft**
- **Scope:** Compact cross-model index of material findings. Full analysis lives in linked docs.
- **Scope:** Compact cross-model index of material findings.
- **Last updated:** 2026-07-16
- **Current phase:** Phase 1 — Static Architecture
- **Last completed pass:** Pass 7 (Batch 4B)
- **Last completed pass:** Pass 9 (Batch 4C)
- **Next pass expected to contribute:** Every batch
## Draft tracking
### Completed sections
- Batch 13 evidence rows
- Batch 4A Pass 8 AnimBP / Montage / AnimNotify rows
- Batch 4B Pass 7 GAS / GE / tag / cue / grant rows
- Batch 13; Pass 7; Pass 8; **Pass 9 enemy AI rows**
### Pending sections
- Enemy AI graph rows (Pass 9)
- Session flow rows (Pass 4)
---
| System | Subsystem | Finding | Evidence type | Classification | Exact source | Exact symbol | Blueprint path | Graph | Node/event | Asset/config | Doc | Confidence | Remaining verification |
|--------|-----------|---------|---------------|----------------|--------------|--------------|----------------|-------|------------|--------------|-----|------------|------------------------|
| GAS | Player ASC | ASC on PlayerState; Mixed replication | Observed Implementation | Active | RIRPlayerState.cpp | CreateDefaultSubobject ASC | BP_PlayerState | — | — | — | 06 | High | — |
| GAS | Enemy ASC | ASC on enemy; Minimal; Init(this,this) | Observed Implementation | Active | RIRBaseEnemyCharacter.cpp | AbilitySystemComponent | BP_EnemyCharacterBase | — | — | — | 06 | High | — |
| GAS | GetASC defect | Base GetASC → PlayerState only | Observed Implementation | Existing Baseline Defect | RIRBaseCharacter.cpp | GetAbilitySystemComponent | — | — | — | — | 06,13 | High | PIE enemy |
| GAS | Attr Init | Health75 MaxHealth100 Mana25 MaxMana50; Stamina not Init | Observed Implementation | Partially Implemented | RIRAttributeSet.cpp | InitHealth | — | — | — | — | 06 | High | PIE |
| GAS | Default GE prop | BP_PlayerState DefaultAttributes=None | Observed Implementation | Scaffolding Only | ObjectTools CDO | defaultAttributesGameplayEffect | BP_PlayerState | — | — | — | 06 | High | — |
| GAS | Default GEs | 4 character GEs orphaned; 0 referencers | Observed Implementation | Present but Unreferenced | get_referencers | GE_*_DefaultAttributes | — | — | — | .../GameplayEffects/PlayerCharacters/... | 06 | High | — |
| GAS | Default values | Paladin H/M 100/100; Amazon H/S 100/100; Cleric 50/200; Wizard 100/150; no Max* | Observed Implementation | — | GE CDO Modifiers | Override | GE_*_DefaultAttributes | — | — | — | 06 | High | |
| GAS | Amazon naming | Folder/asset Amazon vs Player_Amazonian | Observed Implementation | Technical Debt | asset path | GE_Amazon_DefaultAttributes | — | — | — | — | 06,08 | High | — |
| GAS | Consumable GE | PotionHeal +25 Health Instant; wired to BP_HealthPotion | Observed Implementation | Active | CDO + DSL | ApplyEffecttoTarget | BP_HealthPotion | EventGraph | OnComponentBeginOverlap | GE_PotionHeal | 06,12 | High | Authority PIE |
| GAS | Consumable GE | PotionMana +30; HoT 0.5/0.1s; MoT 0.25/0.1s | Observed Implementation | Active | CDO + refs | — | BP_ManaPotion / OrangeSlice / ManaCrystal | — | — | GE_* | 06,12 | High | DSL confirm Pass 10 |
| GAS | Ability class | URIRGameplayAbility only; no project GA assets | Observed Implementation | Scaffolding Only / Missing | search_subclasses; find_assets GA_ | — | — | — | — | | 06 | High | — |
| GAS | Grant/activate | No GiveAbility/TryActivateAbility/AbilitySet | Observed Implementation | Missing | Source grep; find_assets | — | — | — | — | — | 06 | High | — |
| GAS | Tags | 12 INI tags; zero native/asset referencers | Observed Implementation | Present but Unreferenced | DefaultGameplayTags.ini | State.* Disable.* Effect.* | — | — | — | Config/DefaultGameplayTags.ini | 06 | High | — |
| GAS | Cues | No project cue notifies; no GC_ assets | Observed Implementation | Missing | find_assets; search_subclasses | — | — | — | — | — | 06 | High | — |
| GAS | MMC/Exec | No project subclasses | Observed Implementation | Missing | search_subclasses | — | — | — | — | — | 06 | High | — |
| GAS | AttrSet clamp | No PostGameplayEffectExecute | Observed Implementation | Scaffolding Only | RIRAttributeSet.h/cpp | — | — | — | — | — | 06 | High | — |
| UI | Overlay path | WBP_Overlay under Overlay/ folder | Observed Implementation | Intended Behavior | get_dependencies | — | WBP_PlayerHUD | — | — | /Game/_Main/UI/Widgets/Overlay/WBP_Overlay | 11 | High | Binding walk |
| UI | Stamina debt | OnStamina* typed as Mana signatures | Observed Implementation | Technical Debt | OverlayWidgetController.h | OnStaminaChanged | — | — | — | — | 11,06 | High | — |
| UI | Dual HUD | ASC Overlay + DEPRECATED UpdatePlayerHUD | Observed Implementation | Incomplete Refactor | RIRHUD; BP base | InitOverlay; Server_UpdateHUD | — | — | — | — | 06,11 | High | PIE |
| Boundary | Combat vs potion | Abilities ApplyDamage/DEPRECATED; potions ASC GE | Observed Implementation | Incomplete Refactor | Pass 57 | — | — | — | — | — | 05,06 | High | PIE |
| Continuity | Editor | PIE=false; Test01; Skeleton_C_1 | Observed Implementation | — | EditorApp/SceneTools | IsPIERunning | — | — | — | Test01 | 15 | High | — |
| Repo | Git | Clean at Batch 4B start | Observed Implementation | — | git status | — | — | — | — | — | 15 | High | — |
| Enemy | EventGraph | BeginPlay/Tick/Overlap present; bodies empty | Observed Implementation | Present but Unconnected | read_graph_dsl | EventTick | BP_Enemy_Skeleton | EventGraph | EventTick | — | 09 | High | — |
| Enemy | Chase | No MoveTo/GetPlayer/target store | Observed Implementation | Implementation Missing | DSL + searches | — | BP_Enemy* | — | — | — | 09 | High | — |
| Enemy | Attack | EnemyMeleeAttack unimplemented; montage 0 refs | Observed Implementation | Implementation Missing / Present but Unreferenced | interface; get_referencers | EnemyMeleeAttack | BPI_EnemyCharacter | — | — | Anim_SkeletonAttackMontage | 09,10 | High | |
| Enemy | Controller | Stock AIController; AutoPossessAI PlacedInWorld | Observed Implementation | Partially Implemented (possession only) | ObjectTools CDO+instance | aIControllerClass | BP_Enemy_Skeleton | — | — | /Script/AIModule.AIController | 09 | High | PIE possess |
| Enemy | AI frameworks | No BT/BB/StateTree/EQS/Perception assets | Observed Implementation | Missing | find_assets; search_subclasses | — | — | — | — | — | 09 | High | — |
| Enemy | Nav Test01 | No NavMeshBoundsVolume/RecastNavMesh | Observed Implementation | Missing (secondary) | find_actors | — | — | — | — | Test01 | 09 | High | — |
| Enemy | Damage in | No ReceiveAnyDamage; no health mutation | Observed Implementation | Implementation Missing | list_events | ReceiveAnyDamage | BP_Enemy* | — | — | — | 09,05 | High | PIE hit |
| Enemy | Death ABP | Death state + anims; SetIsDead(false) every Update | Observed Implementation | Connected but Incomplete | read_graph_dsl | SetIsDead | ABP_Skeleton | EventGraph | BlueprintUpdateAnimation | Anim_Monster_Dead_* | 09,10 | High | Transition pins |
| Enemy | GetASC | Defect does not explain chase/attack | Observed Implementation | Existing Baseline Defect (separate) | RIRBaseCharacter.cpp | GetAbilitySystemComponent | — | — | — | — | 06,09 | High | |
| Enemy | Highlight | Native custom depth ITargetInterface | Observed Implementation | Active | RIRBaseEnemyCharacter.cpp | HighlightActor | — | — | — | — | 09 | High | — |
| Continuity | Editor | PIE=false; Test01; sel Skeleton_C_1 | Observed Implementation | — | EditorApp/SceneTools | IsPIERunning | — | — | — | Test01 | 15 | High | — |
| Repo | Git | Clean at Batch 4C start | Observed Implementation | — | git status | — | — | — | — | — | 15 | High | — |