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:
@@ -8,8 +8,8 @@
|
||||
- **Tool or visibility limitations:** `GameplayEffectComponents` array unreadable via ObjectTools (cues/component tags Unknown on GE CDOs); BlueprintGeneratedClass CDO sometimes rejects duration/modifier property names depending on load path — modifiers recovered via successful GE CDO queries on Default__ / generated class where available; no PIE.
|
||||
- **Last updated:** 2026-07-16
|
||||
- **Current phase:** Phase 1 — Static Architecture
|
||||
- **Last completed pass:** Pass 7 (Batch 4B)
|
||||
- **Next pass expected to contribute:** Pass 9 (enemy) / Pass 10 (pickup graphs deep) / Pass 4 when authorized — not auto-started
|
||||
- **Last completed pass:** Pass 9 (Batch 4C)
|
||||
- **Next pass expected to contribute:** Pass 4 / Pass 10 when authorized
|
||||
|
||||
## Draft tracking
|
||||
|
||||
@@ -182,12 +182,15 @@ Defined in `Config/DefaultGameplayTags.ini` (ImportTagsFromConfig=True).
|
||||
|
||||
## 9. Enemy GAS compatibility table
|
||||
|
||||
| Consumer | Lookup method | Expected ASC owner | Static result | Potential impact | Runtime verification |
|
||||
|---|---|---|---|---|---|
|
||||
| `IAbilitySystemInterface` / `UAbilitySystemBlueprintLibrary::GetAbilitySystemComponent` | `ARIRBaseCharacter::GetAbilitySystemComponent` → `GetPlayerState<ARIRPlayerState>()` | Enemy self ASC | **nullptr** (no PlayerState ASC) | EffectActor early-out; any BP using library GetASC | Requires Runtime Inspection |
|
||||
| Enemy native code using `AbilitySystemComponent` member | Direct `TObjectPtr` on enemy | Self | Valid if used | Unknown consumers | Pass 9 |
|
||||
| Player EffectActor target | Library GetASC on player character | PlayerState ASC | Valid via character GetASC → PS | Potions work on players (static) | PIE authority |
|
||||
| Blueprint enemy GetASC | Inherited base | — | nullptr | Incomplete Refactor / Existing Baseline Defect | PIE |
|
||||
| Consumer | ASC lookup method | Expected owner | Static result | Null behavior | Potential impact | Runtime verification |
|
||||
|---|---|---|---|---|---|---|
|
||||
| `ARIREffectActor::ApplyEffectToTarget` | Library GetASC → base GetASC → PlayerState | Enemy self ASC | **nullptr** | Early return | Potions/effects skip enemies | PIE |
|
||||
| Enemy direct ASC member | Native TObjectPtr | Self | Valid if used | — | No combat consumer in enemy BP (Pass 9) | — |
|
||||
| Enemy BP combat / chase | N/A | — | **No ASC dependency** | — | GetASC defect **does not** cause chase/attack failure | — |
|
||||
| Player ApplyDamage → enemy | Engine TakeDamage (not ASC) | — | No enemy ReceiveAnyDamage / health mutation | Damage event may fire with no health consumer | Combat kill path missing on enemy | PIE |
|
||||
| Enemy AttributeSet Health | Direct | Self | Exists; Init defaults only | — | Scaffolding for combat | PIE |
|
||||
|
||||
**Pass 9 addition:** Enemy EventGraphs contain no ASC reads/writes. Chase/attack failure classification is **Implementation Missing**, independent of the GetASC Incomplete Refactor.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user