Files
realms-in-ruin-dev/Documentation/Archaeology/07-AbilityMigrationMatrix.md
T
tedwardsandCursor aa0058a018 Document Pass 11 Phase 1 synthesis and close static archaeology.
Add executive summary and ability migration matrix; finalize evidence index, runtime validation plan, and Phase 1 handoff.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 23:40:52 -07:00

1519 lines
59 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 07 — Ability Migration Matrix
**Status: Complete**
- **Scope:** Final per-character and shared-system ability migration matrix for Phase 1 → Phase 2 handoff. Documentation only.
- **Inspection method:** Synthesis of docs `05`, `08`, `10`, `06`, `03`, `11`, `01`. No new Unreal archaeology except continuity.
- **Evidence classifications used:** Observed Implementation, Documented Intent, Observed Runtime Behavior, Inferred, Unknown.
- **Tool or visibility limitations:** CustomEvent Reliability = Unknown — Tool Limitation; notify trigger times = Requires Manual Editor Inspection.
- **Last updated:** 2026-07-16
- **Current phase:** Phase 1 — Static Architecture (complete)
- **Last completed pass:** Pass 11
- **Next pass expected to contribute:** Phase 2A/2B when authorized
---
## Disposition vocabulary (only)
- Preserve behavior, migrate implementation
- Reconstruct legacy behavior first, then migrate
- Replace directly with GAS
- Replace directly with native/shared framework
- Retain as cosmetic-only path
- Remove obsolete or dead path
- Defer pending runtime validation
- Defer pending design decision
---
## How to read rows
Every row fills all required fields. Where a value does not apply: `Not applicable`. Where static tools cannot resolve: `Unknown — Tool Limitation` or `Requires Runtime Inspection`. Where no interaction exists: `None observed`.
**Network path shorthand:** `Client IA → Server_Ability_*_Begin → [child] → Multicast_PlayMontage → AN → Authority UseAbility* / SetIsAttacking`.
**Shared parent path:** `/Game/_Main/Blueprints/Characters/PlayerCharacters/BP_PlayerCharacterBase`
---
## Shared systems
### S1 — BP_PlayerCharacterBase input routing
| Field | Content |
|-------|---------|
| Character/system | BP_PlayerCharacterBase |
| Slot | shared |
| Current status | Active |
| Exact entry point | IA_Ability_001004 Started → Server_Ability_N_Begin; Completed/Canceled → Server_Ability_N_End |
| Parent behavior | Not applicable (root BP of playables) |
| Network path | Client Enhanced Input → Server custom events |
| Reliability | Unknown — Tool Limitation |
| Validation | Not applicable at routing layer |
| Resource source | Not applicable |
| Cost mutation | None observed |
| Gameplay output | Routes to Begin/End only |
| Authority location | Server (Begin/End events) |
| Animation dependency | None observed at routing layer |
| Cleanup/end behavior | End events exist; base bodies empty |
| Connected assets | `/Game/_Main/Blueprints/Player/Inputs/` IMC/IA deps on base |
| Deprecated dependencies | None observed at routing layer |
| GAS interaction | None observed |
| Known static defect | None at routing; Ends mostly empty (Incomplete Refactor) |
| Runtime question | Requires Runtime Inspection — input binding completeness per class |
| Migration disposition | Replace directly with native/shared framework |
| Prerequisites | Phase 2A SoT; 2B activation contract |
| Migration complexity | Medium |
| Priority | P0 |
| Evidence confidence | High |
| Evidence source | 05 Shared architecture; 08 Ability flow |
### S2 — Base Ability 001004 Begin stubs
| Field | Content |
|-------|---------|
| Character/system | BP_PlayerCharacterBase |
| Slot | 001004 Begin |
| Current status | Stub |
| Exact entry point | Server_Ability_001004_Begin |
| Parent behavior | Not applicable |
| Network path | Client IA → Server Begin → PrintString `"Override Ability N"` |
| Reliability | Unknown — Tool Limitation |
| Validation | None observed |
| Resource source | None observed |
| Cost mutation | None observed |
| Gameplay output | PrintString only |
| Authority location | Server |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | BP_PlayerCharacterBase EventGraph |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Stub used by Wizard/Gunslinger/Amazonian 002004 |
| Runtime question | Not applicable |
| Migration disposition | Replace directly with GAS |
| Prerequisites | 2B shared activation |
| Migration complexity | Low |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Shared architecture |
### S3 — Base Ability 001004 End stubs
| Field | Content |
|-------|---------|
| Character/system | BP_PlayerCharacterBase |
| Slot | 001004 End |
| Current status | Stub |
| Exact entry point | Server_Ability_001004_End |
| Parent behavior | Not applicable |
| Network path | Client IA Completed/Canceled → Server End → then unconnected |
| Reliability | Unknown — Tool Limitation |
| Validation | None observed |
| Resource source | None observed |
| Cost mutation | None observed |
| Gameplay output | None observed |
| Authority location | Server |
| Animation dependency | None observed |
| Cleanup/end behavior | Missing (empty) |
| Connected assets | BP_PlayerCharacterBase EventGraph |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Incomplete Refactor — cleanup via AN_AttackComplete instead |
| Runtime question | Requires Runtime Inspection — release-cancel mid-ability |
| Migration disposition | Replace directly with native/shared framework |
| Prerequisites | 2B cleanup contract |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Shared architecture; 10 cleanup |
### S4 — Multicast_PlayMontage
| Field | Content |
|-------|---------|
| Character/system | BP_PlayerCharacterBase |
| Slot | shared |
| Current status | Active |
| Exact entry point | Multicast_PlayMontage |
| Parent behavior | Not applicable |
| Network path | Server child → Multicast → PlayMontage on Mesh |
| Reliability | Unknown — Tool Limitation |
| Validation | Not applicable |
| Resource source | Not applicable |
| Cost mutation | None observed |
| Gameplay output | Montage playback; enables AnimNotifies |
| Authority location | Multicast (presentation); gameplay via notify Authority gates |
| Animation dependency | Caller-supplied montage asset |
| Cleanup/end behavior | OnCompleted/OnBlendOut/OnInterrupted **unwired** |
| Connected assets | BP_PlayerCharacterBase; character montages |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Networking Risk — gameplay depends on notify evaluation; interrupt may skip AN_AttackComplete |
| Runtime question | Requires Runtime Inspection — interrupt cleanup; server notify fire |
| Migration disposition | Replace directly with native/shared framework |
| Prerequisites | 2B authority/cleanup contracts |
| Migration complexity | High |
| Priority | P0 |
| Evidence confidence | High |
| Evidence source | 05; 10 Shared animation architecture |
### S5 — PlaySFX
| Field | Content |
|-------|---------|
| Character/system | BP_PlayerCharacterBase |
| Slot | shared |
| Current status | Active |
| Exact entry point | Multicast_PlaySFX / PlaySFX helper |
| Parent behavior | Not applicable |
| Network path | Server/caller → Multicast SFX |
| Reliability | Unknown — Tool Limitation |
| Validation | Not applicable |
| Resource source | Not applicable |
| Cost mutation | None observed |
| Gameplay output | Audio presentation |
| Authority location | Multicast / client presentation |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | BP_PlayerCharacterBase |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | None observed |
| Runtime question | Requires Runtime Inspection — audibility on clients |
| Migration disposition | Retain as cosmetic-only path |
| Prerequisites | None observed |
| Migration complexity | Low |
| Priority | P3 |
| Evidence confidence | High |
| Evidence source | 05 Shared architecture |
### S6 — Multi_SpawnParticle
| Field | Content |
|-------|---------|
| Character/system | BP_PlayerCharacterBase |
| Slot | shared |
| Current status | Partial |
| Exact entry point | Multi_SpawnParticle |
| Parent behavior | Not applicable |
| Network path | Multicast particle spawn |
| Reliability | Unknown — Tool Limitation |
| Validation | Not applicable |
| Resource source | Not applicable |
| Cost mutation | None observed |
| Gameplay output | Particle presentation |
| Authority location | Multicast |
| Animation dependency | Optional with ability montages |
| Cleanup/end behavior | Not applicable |
| Connected assets | BP_PlayerCharacterBase; callers Paladin 004 / Cleric 002 with **empty EmitterTemplate** |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Partially Implemented FX hole on Paladin 004 / Cleric 002 |
| Runtime question | Requires Runtime Inspection — particle visibility |
| Migration disposition | Retain as cosmetic-only path |
| Prerequisites | Per-ability FX asset assignment |
| Migration complexity | Low |
| Priority | P3 |
| Evidence confidence | High |
| Evidence source | 05 Authority findings |
### S7 — PlayerDeath
| Field | Content |
|-------|---------|
| Character/system | BP_PlayerCharacterBase |
| Slot | death |
| Current status | Active |
| Exact entry point | PlayerDeath; Client_PlayerDeath; HandleDeath |
| Parent behavior | Not applicable |
| Network path | Server death → Client_PlayerDeath presentation |
| Reliability | Unknown — Tool Limitation |
| Validation | IsDead / health checks (call-site dependent) |
| Resource source | DEPRECATED health where callers write it (Amazonian AnyDamage) |
| Cost mutation | Sets IsDead / death presentation |
| Gameplay output | Death state; ABP IsDead → Death |
| Authority location | Server + Client presentation |
| Animation dependency | ABP Death states (per character) |
| Cleanup/end behavior | Server_RespawnPlayer path exists |
| Connected assets | BP_PlayerCharacterBase; character ABPs |
| Deprecated dependencies | DEPRECATED_CurrentHealth (Amazonian inbound) |
| GAS interaction | None observed (ASC Health not bridged) |
| Known static defect | Incomplete Refactor — dual health sources |
| Runtime question | Requires Runtime Inspection — death reachability vs ASC Health |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A shared death/damage SoT |
| Migration complexity | High |
| Priority | P0 |
| Evidence confidence | High |
| Evidence source | 05; 08; 06 |
### S8 — Server_RespawnPlayer
| Field | Content |
|-------|---------|
| Character/system | BP_PlayerCharacterBase / PC_Character |
| Slot | death |
| Current status | Active but Unverified |
| Exact entry point | Server_RespawnPlayer; PlayerRespawn BPI |
| Parent behavior | Not applicable |
| Network path | Server respawn |
| Reliability | Unknown — Tool Limitation |
| Validation | Not fully inventoried beyond event presence |
| Resource source | Requires Runtime Inspection |
| Cost mutation | Requires Runtime Inspection |
| Gameplay output | Respawn pawn/location |
| Authority location | Server |
| Animation dependency | Not applicable |
| Cleanup/end behavior | HUD re-init expected via Possessed delay path |
| Connected assets | BP_PlayerCharacterBase; PC_Character |
| Deprecated dependencies | Possible DEPRECATED HUD re-init |
| GAS interaction | None observed |
| Known static defect | Requires Runtime Inspection for attribute reset |
| Runtime question | Requires Runtime Inspection — Overlay recreation after respawn |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A death + 2E HUD |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | Medium |
| Evidence source | 03 PC_Character; 08 Possessed; 11 |
### S9 — Legacy resource validation
| Field | Content |
|-------|---------|
| Character/system | BP_PlayerCharacterBase + children |
| Slot | shared |
| Current status | Deprecated but Connected |
| Exact entry point | FCanUseMana; DEPRECATED_*ManaCost / Damage / Health comparisons |
| Parent behavior | Inherited by children |
| Network path | Server ability bodies |
| Reliability | Not applicable |
| Validation | Gate !CurrentlyAttacking && !IsDead; FCanUseMana (where wired) |
| Resource source | DEPRECATED_* floats |
| Cost mutation | Subtract/compare DEPRECATED mana/health |
| Gameplay output | Gate ability execution |
| Authority location | Server |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | BP_PlayerCharacterBase variables |
| Deprecated dependencies | All DEPRECATED_* resource vars |
| GAS interaction | None observed — ASC not read |
| Known static defect | Incomplete Refactor — dual with ASC |
| Runtime question | Requires Runtime Inspection — potion ASC vs DEPRECATED combat |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A canonical SoT |
| Migration complexity | Very High |
| Priority | P0 |
| Evidence confidence | High |
| Evidence source | 05 Resource inventory; 06 boundary |
### S10 — Legacy HUD update
| Field | Content |
|-------|---------|
| Character/system | BP_PlayerCharacterBase → BPI_PlayerController |
| Slot | HUD |
| Current status | Present but Unconnected |
| Exact entry point | Server_UpdateHUD → UpdatePlayerHUD |
| Parent behavior | Base calls; Amazonian after damage |
| Network path | Server → PC UpdatePlayerHUD |
| Reliability | Unknown — Tool Limitation |
| Validation | Not applicable |
| Resource source | DEPRECATED health/mana % |
| Cost mutation | None observed |
| Gameplay output | Intended HUD refresh — **receiver unimplemented** |
| Authority location | Server caller; PC receiver missing |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | BP_PlayerCharacterBase; BPI_PlayerController; PC_Character |
| Deprecated dependencies | DEPRECATED health/mana |
| GAS interaction | Conflicts with Overlay ASC path — no sync |
| Known static defect | Incomplete Refactor — UpdatePlayerHUD bIsImplemented=false |
| Runtime question | Requires Runtime Inspection — confirm no-op |
| Migration disposition | Remove obsolete or dead path |
| Prerequisites | 2A SoT + Overlay consolidation |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05; 11; 03 |
### S11 — AnimNotify UseAbility routing
| Field | Content |
|-------|---------|
| Character/system | Shared AN_Ability_001004 |
| Slot | shared |
| Current status | Active |
| Exact entry point | AN_Ability_00N Received_Notify → BPI UseAbility00N(GetOwner) |
| Parent behavior | Not applicable |
| Network path | Multicast montage → notify on evaluating machines → Authority Switch in UseAbility* |
| Reliability | Not applicable (notify) |
| Validation | Inside UseAbility* Authority gates |
| Resource source | Per-ability DEPRECATED damage/heal |
| Cost mutation | Per-ability |
| Gameplay output | Damage / heal / spawn |
| Authority location | Notify may fire multi-machine; gameplay Authority-gated |
| Animation dependency | Montage embedded notifies |
| Cleanup/end behavior | Paired with AN_AttackComplete |
| Connected assets | `/Game/_Main/Blueprints/Characters/PlayerCharacters/PlayerCharacterRelated/AN_Ability_001``004` |
| Deprecated dependencies | Per-ability DEPRECATED damage |
| GAS interaction | None observed |
| Known static defect | Networking Risk — server must evaluate montage notifies |
| Runtime question | Requires Runtime Inspection — multi-machine duplicate fire |
| Migration disposition | Replace directly with native/shared framework |
| Prerequisites | 2B hit-window contract |
| Migration complexity | High |
| Priority | P0 |
| Evidence confidence | High |
| Evidence source | 10 AnimNotify inventory; 05 Pass 8 note |
### S12 — AN_AttackComplete cleanup
| Field | Content |
|-------|---------|
| Character/system | Shared AN_AttackComplete |
| Slot | shared |
| Current status | Active |
| Exact entry point | AN_AttackComplete → BPI SetIsAttacking → Authority clears CurrentlyAttacking / CanMove |
| Parent behavior | Not applicable |
| Network path | Multicast montage notify → Authority SetIsAttacking |
| Reliability | Not applicable |
| Validation | Authority |
| Resource source | Not applicable |
| Cost mutation | Clears CurrentlyAttacking |
| Gameplay output | Attack lockout release |
| Authority location | Authority inside SetIsAttacking |
| Animation dependency | Must fire at montage end notify |
| Cleanup/end behavior | Primary cleanup for notify-driven attacks |
| Connected assets | `/Game/_Main/Blueprints/Characters/PlayerCharacters/PlayerCharacterRelated/AN_AttackComplete` |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | If interrupt skips notify, CurrentlyAttacking may stick (Inferred) |
| Runtime question | Requires Runtime Inspection — interrupted montage cleanup |
| Migration disposition | Replace directly with native/shared framework |
| Prerequisites | 2B interruption rules |
| Migration complexity | Medium |
| Priority | P0 |
| Evidence confidence | High |
| Evidence source | 10; 05 |
---
## Player_Paladin
**Path:** `/Game/_Main/Blueprints/Characters/PlayerCharacters/PlayerCharacterClasses/Paladin/Player_Paladin`
### P-001 — Ability 001
| Field | Content |
|-------|---------|
| Character/system | Paladin |
| Slot | 001 |
| Current status | Implemented |
| Exact entry point | Server_Ability_001_Begin; UseAbility001 via AN_Ability_001 |
| Parent behavior | Bypassed (no Parent call) |
| Network path | Client IA → Server Begin → Multicast_PlayMontage → AN_Ability_001 → Authority BoxOverlap ApplyDamage |
| Reliability | Unknown — Tool Limitation |
| Validation | NOT CurrentlyAttacking AND NOT IsDead |
| Resource source | None (no mana cost) |
| Cost mutation | None observed |
| Gameplay output | ApplyDamage(DEPRECATED_Ability001Damage) |
| Authority location | Server Begin; Authority UseAbility001 |
| Animation dependency | Attack_A/B/C/D_Fast_Montage + AN_Ability_001 + AN_AttackComplete |
| Cleanup/end behavior | AN_AttackComplete; no local End |
| Connected assets | `.../Paladin/AnimMontages/Attack_{A,B,C,D}_Fast_Montage`; AN_Ability_001; AN_AttackComplete |
| Deprecated dependencies | DEPRECATED_Ability001Damage |
| GAS interaction | None observed |
| Known static defect | No enemy health consumer (enemy-side defect); interrupt cleanup risk |
| Runtime question | Requires Runtime Inspection — hit registration vs enemy |
| Migration disposition | Preserve behavior, migrate implementation |
| Prerequisites | 2A damage SoT; 2B framework; enemy reception for end-to-end |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Player_Paladin; 10 |
### P-002 — Ability 002
| Field | Content |
|-------|---------|
| Character/system | Paladin |
| Slot | 002 |
| Current status | Partial |
| Exact entry point | Server_Ability_002_Begin; Server_Ability_002_End |
| Parent behavior | Bypassed |
| Network path | Client IA → Server Begin (block state); End clears state |
| Reliability | Unknown — Tool Limitation |
| Validation | Gate attacking/dead |
| Resource source | None observed |
| Cost mutation | None observed |
| Gameplay output | IsBlocking true; ABP Block; **hit absorb untraced** |
| Authority location | Server |
| Animation dependency | ABP_Paladin Block via IsBlocking (no Montage) |
| Cleanup/end behavior | Server_Ability_002_End clears attacking/CanMove/IsBlocking |
| Connected assets | `/Game/_Main/Animations/PlayerCharacters/Human/CharacterClasses/Paladin/ABP_Paladin` |
| Deprecated dependencies | None observed |
| GAS interaction | None observed (State.Blocking tag unused) |
| Known static defect | Partial — presentation only |
| Runtime question | Requires Runtime Inspection — does block absorb damage? |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A damage rules; design for block absorb |
| Migration complexity | High |
| Priority | P2 |
| Evidence confidence | High |
| Evidence source | 05 Paladin Ability 002; 10 |
### P-003 — Ability 003
| Field | Content |
|-------|---------|
| Character/system | Paladin |
| Slot | 003 |
| Current status | Implemented |
| Exact entry point | Server_Ability_003_Begin; Charge; Client_Charge; ChargeBox overlap |
| Parent behavior | Bypassed |
| Network path | Client IA → Server Begin → FCanUseMana → Charge + Client_Charge; ChargeBox Authority ApplyDamage |
| Reliability | Unknown — Tool Limitation |
| Validation | Gate + FCanUseMana |
| Resource source | DEPRECATED_Ability003ManaCost |
| Cost mutation | FCanUseMana / DEPRECATED mana |
| Gameplay output | ApplyDamage(DEPRECATED_Ability003Damage) via ChargeBox |
| Authority location | Server + Client_Charge presentation |
| Animation dependency | ChargeTimeline (not Montage); ABP Charge via IsCharging |
| Cleanup/end behavior | Not notify-driven; timeline/end path |
| Connected assets | Player_Paladin Charge nodes; ABP_Paladin |
| Deprecated dependencies | DEPRECATED_Ability003ManaCost; DEPRECATED_Ability003Damage |
| GAS interaction | None observed |
| Known static defect | Client_Charge numeric details Unknown — Tool Limitation |
| Runtime question | Requires Runtime Inspection — charge distance/damage timing |
| Migration disposition | Preserve behavior, migrate implementation |
| Prerequisites | 2A mana SoT; 2B |
| Migration complexity | High |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Paladin Ability 003 |
### P-004 — Ability 004
| Field | Content |
|-------|---------|
| Character/system | Paladin |
| Slot | 004 |
| Current status | Implemented |
| Exact entry point | Server_Ability_004_Begin; UseAbility004 via AN_Ability_004 |
| Parent behavior | Bypassed |
| Network path | Client IA → Server Begin → FCanUseMana → Multicast_PlayMontage → AN → Authority AoE |
| Reliability | Unknown — Tool Limitation |
| Validation | Gate + FCanUseMana |
| Resource source | DEPRECATED_Ability004ManaCost |
| Cost mutation | FCanUseMana |
| Gameplay output | Authority AoE ApplyDamage(DEPRECATED_Ability004Damage); empty particle |
| Authority location | Server Begin; Authority UseAbility004 |
| Animation dependency | Paladin_Ability004_Montage; AN_Ability_004; AN_AttackComplete; NS_Paladin_Ability004 may exist on montage |
| Cleanup/end behavior | AN_AttackComplete |
| Connected assets | `.../Paladin/AnimMontages/Abilities/Paladin_Ability004_Montage` |
| Deprecated dependencies | DEPRECATED_Ability004ManaCost; DEPRECATED_Ability004Damage |
| GAS interaction | None observed |
| Known static defect | Multi_SpawnParticle EmitterTemplate empty (FX hole) |
| Runtime question | Requires Runtime Inspection — AoE radius/damage |
| Migration disposition | Preserve behavior, migrate implementation |
| Prerequisites | 2A; 2B; optional FX fill |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Paladin Ability 004; 10 |
### P-melee — Basic attack
| Field | Content |
|-------|---------|
| Character/system | Paladin |
| Slot | melee |
| Current status | Implemented |
| Exact entry point | Same as Ability 001 |
| Parent behavior | Bypassed |
| Network path | Same as Ability 001 |
| Reliability | Unknown — Tool Limitation |
| Validation | Same as Ability 001 |
| Resource source | None |
| Cost mutation | None observed |
| Gameplay output | Same as Ability 001 |
| Authority location | Same as Ability 001 |
| Animation dependency | Same as Ability 001 |
| Cleanup/end behavior | Same as Ability 001 |
| Connected assets | Same as Ability 001 |
| Deprecated dependencies | DEPRECATED_Ability001Damage |
| GAS interaction | None observed |
| Known static defect | Same as Ability 001 |
| Runtime question | Same as Ability 001 |
| Migration disposition | Preserve behavior, migrate implementation |
| Prerequisites | Same as Ability 001 |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Basic attack =001 |
### P-passive — Passive
| Field | Content |
|-------|---------|
| Character/system | Paladin |
| Slot | passive |
| Current status | Missing |
| Exact entry point | None observed |
| Parent behavior | Not applicable |
| Network path | Not applicable |
| Reliability | Not applicable |
| Validation | Not applicable |
| Resource source | Not applicable |
| Cost mutation | None observed |
| Gameplay output | None observed |
| Authority location | Not applicable |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | None observed |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | None observed |
| Runtime question | Not applicable |
| Migration disposition | Defer pending design decision |
| Prerequisites | Design decision |
| Migration complexity | Low |
| Priority | P3 |
| Evidence confidence | High |
| Evidence source | 05 Passive Missing |
### P-death — Death
| Field | Content |
|-------|---------|
| Character/system | Paladin |
| Slot | death |
| Current status | Inherited |
| Exact entry point | Inherited PlayerDeath (no local AnyDamage) |
| Parent behavior | Inherited |
| Network path | Base death path |
| Reliability | Unknown — Tool Limitation |
| Validation | Base |
| Resource source | DEPRECATED health if damaged via shared path |
| Cost mutation | Base |
| Gameplay output | Base death |
| Authority location | Server |
| Animation dependency | ABP_Paladin Death |
| Cleanup/end behavior | Base respawn |
| Connected assets | ABP_Paladin |
| Deprecated dependencies | Possible DEPRECATED health |
| GAS interaction | None observed |
| Known static defect | Dual health SoT |
| Runtime question | Requires Runtime Inspection — how Paladin takes lethal damage |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | Medium |
| Evidence source | 05 Death Inherited |
### P-HUD — HUD/resource integration
| Field | Content |
|-------|---------|
| Character/system | Paladin |
| Slot | HUD |
| Current status | Inherited |
| Exact entry point | Inherited Server_UpdateHUD; native InitOverlay |
| Parent behavior | Inherited |
| Network path | Base DEPRECATED path + ASC Overlay |
| Reliability | Unknown — Tool Limitation |
| Validation | Not applicable |
| Resource source | DEPRECATED floats + ASC attrs |
| Cost mutation | None observed |
| Gameplay output | Dual unsynchronized UI paths |
| Authority location | Mixed |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | WBP_Overlay; WBP_PlayerHUD |
| Deprecated dependencies | DEPRECATED health/mana |
| GAS interaction | Overlay ASC only |
| Known static defect | Dual HUD Incomplete Refactor |
| Runtime question | Requires Runtime Inspection — Overlay vs combat resources |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A; 2E HUD |
| Migration complexity | High |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05; 06; 11 |
---
## Player_Amazonian
**Path:** `/Game/_Main/Blueprints/Characters/PlayerCharacters/PlayerCharacterClasses/Amazonian/Player_Amazonian`
### A-001 — Ability 001
| Field | Content |
|-------|---------|
| Character/system | Amazonian |
| Slot | 001 |
| Current status | Implemented |
| Exact entry point | Server_Ability_001_Begin; UseAbility001 via AN_Ability_001 |
| Parent behavior | Bypassed |
| Network path | Client IA → Server Begin → Multicast_PlayMontage → AN → Authority BoxOverlap ApplyDamage |
| Reliability | Unknown — Tool Limitation |
| Validation | Gate attacking/dead |
| Resource source | None |
| Cost mutation | None observed |
| Gameplay output | ApplyDamage(DEPRECATED_Ability001Damage) |
| Authority location | Server Begin; Authority UseAbility001 |
| Animation dependency | A_Hu_F_Combat_2H_Attack* montages; AN_Ability_001; AN_AttackComplete |
| Cleanup/end behavior | AN_AttackComplete |
| Connected assets | `.../Amazon/AnimMontages/A_Hu_F_Combat_2H_Attack01_Montage` (+ Attack02, Attack_Base, Attack) |
| Deprecated dependencies | DEPRECATED_Ability001Damage |
| GAS interaction | None observed |
| Known static defect | Interrupt cleanup risk; enemy reception missing for end-to-end |
| Runtime question | Observed Runtime Behavior: known working melee — preserve as reference |
| Migration disposition | Preserve behavior, migrate implementation |
| Prerequisites | 2A; 2B — use as Phase 2C reference |
| Migration complexity | Medium |
| Priority | P0 |
| Evidence confidence | High |
| Evidence source | 05 Amazonian; 08 Observed Runtime Behavior |
### A-002 — Ability 002
| Field | Content |
|-------|---------|
| Character/system | Amazonian |
| Slot | 002 |
| Current status | Stub |
| Exact entry point | Inherited Server_Ability_002_Begin |
| Parent behavior | Inherited stub |
| Network path | Client IA → Server PrintString |
| Reliability | Unknown — Tool Limitation |
| Validation | None observed |
| Resource source | None observed |
| Cost mutation | None observed |
| Gameplay output | PrintString only |
| Authority location | Server |
| Animation dependency | None observed |
| Cleanup/end behavior | Base empty End |
| Connected assets | None observed |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Stub |
| Runtime question | Not applicable |
| Migration disposition | Replace directly with GAS |
| Prerequisites | 2B; design decision for slot content |
| Migration complexity | Low |
| Priority | P2 |
| Evidence confidence | High |
| Evidence source | 05 Amazonian 002004 Stub |
### A-003 — Ability 003
| Field | Content |
|-------|---------|
| Character/system | Amazonian |
| Slot | 003 |
| Current status | Stub |
| Exact entry point | Inherited Server_Ability_003_Begin |
| Parent behavior | Inherited stub |
| Network path | Client IA → Server PrintString |
| Reliability | Unknown — Tool Limitation |
| Validation | None observed |
| Resource source | None observed |
| Cost mutation | None observed |
| Gameplay output | PrintString only |
| Authority location | Server |
| Animation dependency | None observed |
| Cleanup/end behavior | Base empty End |
| Connected assets | None observed |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Stub; PerformingWhirlwind may have been intended (Present but Unconnected) |
| Runtime question | Defer pending design decision — whirlwind intent |
| Migration disposition | Replace directly with GAS |
| Prerequisites | 2B; design for whirlwind |
| Migration complexity | Low |
| Priority | P2 |
| Evidence confidence | High |
| Evidence source | 05; whirlwind note |
### A-004 — Ability 004
| Field | Content |
|-------|---------|
| Character/system | Amazonian |
| Slot | 004 |
| Current status | Stub |
| Exact entry point | Inherited Server_Ability_004_Begin |
| Parent behavior | Inherited stub |
| Network path | Client IA → Server PrintString |
| Reliability | Unknown — Tool Limitation |
| Validation | None observed |
| Resource source | None observed |
| Cost mutation | None observed |
| Gameplay output | PrintString only |
| Authority location | Server |
| Animation dependency | None observed |
| Cleanup/end behavior | Base empty End |
| Connected assets | None observed |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Stub |
| Runtime question | Not applicable |
| Migration disposition | Replace directly with GAS |
| Prerequisites | 2B; design decision |
| Migration complexity | Low |
| Priority | P2 |
| Evidence confidence | High |
| Evidence source | 05 Amazonian Stub |
### A-melee — Basic attack
| Field | Content |
|-------|---------|
| Character/system | Amazonian |
| Slot | melee |
| Current status | Implemented |
| Exact entry point | Same as Ability 001 |
| Parent behavior | Bypassed |
| Network path | Same as Ability 001 |
| Reliability | Unknown — Tool Limitation |
| Validation | Same as Ability 001 |
| Resource source | None |
| Cost mutation | None observed |
| Gameplay output | Same as Ability 001 |
| Authority location | Same as Ability 001 |
| Animation dependency | Same as Ability 001 |
| Cleanup/end behavior | Same as Ability 001 |
| Connected assets | Same as Ability 001 |
| Deprecated dependencies | DEPRECATED_Ability001Damage |
| GAS interaction | None observed |
| Known static defect | Same as Ability 001 |
| Runtime question | Observed Runtime Behavior: known working |
| Migration disposition | Preserve behavior, migrate implementation |
| Prerequisites | Same as Ability 001 |
| Migration complexity | Medium |
| Priority | P0 |
| Evidence confidence | High |
| Evidence source | 05; 08 |
### A-passive — Passive / Whirlwind
| Field | Content |
|-------|---------|
| Character/system | Amazonian |
| Slot | passive |
| Current status | Partial |
| Exact entry point | PerformingWhirlwind Get (AnyDamage gate); never Set |
| Parent behavior | Not applicable |
| Network path | None observed for activation |
| Reliability | Not applicable |
| Validation | PlayerHitCheck when whirlwind (getter only) |
| Resource source | Not applicable |
| Cost mutation | None observed |
| Gameplay output | None observed (setter unconnected) |
| Authority location | Unknown — never activated |
| Animation dependency | Not in AnimBP/montages |
| Cleanup/end behavior | Missing |
| Connected assets | Player_Amazonian variable only |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Present but Unconnected setter |
| Runtime question | Defer pending design decision |
| Migration disposition | Defer pending design decision |
| Prerequisites | Design; then reconstruct or remove |
| Migration complexity | Medium |
| Priority | P3 |
| Evidence confidence | High |
| Evidence source | 05 Whirlwind; 10 |
### A-death — Death
| Field | Content |
|-------|---------|
| Character/system | Amazonian |
| Slot | death |
| Current status | Partial |
| Exact entry point | ReceiveAnyDamage → subtract DEPRECATED_CurrentHealth → Server_UpdateHUD → PlayerDeath if ≤0 |
| Parent behavior | Local override path to base PlayerDeath |
| Network path | Damage → local health → PlayerDeath |
| Reliability | Unknown — Tool Limitation |
| Validation | PlayerHitCheck when whirlwind |
| Resource source | DEPRECATED_CurrentHealth |
| Cost mutation | Writes DEPRECATED_CurrentHealth |
| Gameplay output | Death when ≤0 |
| Authority location | Server/local AnyDamage path |
| Animation dependency | ABP_Amazon Death |
| Cleanup/end behavior | Base |
| Connected assets | Player_Amazonian ReceiveAnyDamage; ABP_Amazon |
| Deprecated dependencies | DEPRECATED_CurrentHealth |
| GAS interaction | None observed — ASC Health unsynced |
| Known static defect | Partial legacy health; dual SoT |
| Runtime question | Requires Runtime Inspection — ASC vs DEPRECATED death |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A SoT |
| Migration complexity | High |
| Priority | P0 |
| Evidence confidence | High |
| Evidence source | 05 Amazonian Death |
### A-HUD — HUD/resource integration
| Field | Content |
|-------|---------|
| Character/system | Amazonian |
| Slot | HUD |
| Current status | Active |
| Exact entry point | Server_UpdateHUD after damage; native InitOverlay |
| Parent behavior | Calls shared base HUD |
| Network path | Server_UpdateHUD (receiver unimplemented) + Overlay |
| Reliability | Unknown — Tool Limitation |
| Validation | Not applicable |
| Resource source | DEPRECATED health + ASC |
| Cost mutation | None observed |
| Gameplay output | Dual path; legacy receiver dead |
| Authority location | Mixed |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | WBP_Overlay; base HUD |
| Deprecated dependencies | DEPRECATED_CurrentHealth |
| GAS interaction | Overlay ASC |
| Known static defect | UpdatePlayerHUD unimplemented |
| Runtime question | Requires Runtime Inspection |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A; 2E |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Amazonian HUD Active; 11 |
---
## Player_Cleric
**Path:** `/Game/_Main/Blueprints/Characters/PlayerCharacters/PlayerCharacterClasses/Cleric/Player_Cleric`
### C-001 — Ability 001
| Field | Content |
|-------|---------|
| Character/system | Cleric |
| Slot | 001 |
| Current status | Partial |
| Exact entry point | Server_Ability_001_Begin; AN_Ability_001 → UseAbility001 **unimplemented** |
| Parent behavior | Bypassed |
| Network path | Client IA → Server Begin → Multicast_PlayMontage → AN (dead receiver) |
| Reliability | Unknown — Tool Limitation |
| Validation | Gate attacking/dead; CanMove false |
| Resource source | None |
| Cost mutation | None observed |
| Gameplay output | Montage only — no hit |
| Authority location | Server Begin |
| Animation dependency | Cleric_PrimaryAttack_* montages; AN_Ability_001; AN_AttackComplete |
| Cleanup/end behavior | AN_AttackComplete still clears attacking |
| Connected assets | Cleric primary attack montages; AN_Ability_001 |
| Deprecated dependencies | None for damage (missing) |
| GAS interaction | None observed |
| Known static defect | Notify Present; Receiver Unimplemented |
| Runtime question | Requires Runtime Inspection — montage-only feel |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | Implement UseAbility001 or redesign; 2B |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Cleric Ability 001; 10 |
### C-002 — Ability 002
| Field | Content |
|-------|---------|
| Character/system | Cleric |
| Slot | 002 |
| Current status | Partial |
| Exact entry point | Server_Ability_002_Begin; UseAbility002 via AN_Ability_002 |
| Parent behavior | Bypassed |
| Network path | Client IA → Server Begin → FCanUseMana → Multicast → AN → Authority heal |
| Reliability | Unknown — Tool Limitation |
| Validation | Gate + FCanUseMana |
| Resource source | DEPRECATED_Ability002ManaCost |
| Cost mutation | FCanUseMana |
| Gameplay output | RecoverPlayerHealth(DEPRECATED_Ability002Damage as heal amount); empty particle |
| Authority location | Authority UseAbility002 |
| Animation dependency | Cleric_Ability002_Montage; AN_Ability_002; AN_AttackComplete |
| Cleanup/end behavior | AN_AttackComplete |
| Connected assets | `.../Cleric/AnimMontages/Abilities/Cleric_Ability002_Montage` |
| Deprecated dependencies | DEPRECATED_Ability002ManaCost; DEPRECATED_Ability002Damage; DEPRECATED_RecoverPlayerHealth |
| GAS interaction | None observed |
| Known static defect | FX hole (empty particle) |
| Runtime question | Requires Runtime Inspection — heal amount / target |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A heal SoT; 2B |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Cleric Ability 002 |
### C-003 — Ability 003
| Field | Content |
|-------|---------|
| Character/system | Cleric |
| Slot | 003 |
| Current status | Implemented |
| Exact entry point | Server_Ability_003_Begin/End; ConcentrateHandle; EndConcentrate |
| Parent behavior | Bypassed |
| Network path | Client IA → Server Begin → mana≥cost → DivineCircleActive + SetTimer 0.25 ConcentrateHandle → ApplyDamage; End → EndConcentrate |
| Reliability | Unknown — Tool Limitation |
| Validation | Mana≥cost |
| Resource source | DEPRECATED_Ability003ManaCost |
| Cost mutation | Mana compare/cost |
| Gameplay output | ApplyDamage in timer; ABP Divine Circle |
| Authority location | Server timer |
| Animation dependency | Cleric_Ability003_Montage (timer byproduct); ABP Divine Circle; **AN_Ability_003 vestigial** |
| Cleanup/end behavior | Server_Ability_003_End → EndConcentrate |
| Connected assets | Cleric_Ability003_Montage; ABP_Cleric |
| Deprecated dependencies | DEPRECATED_Ability003ManaCost; damage vars |
| GAS interaction | None observed |
| Known static defect | AN_Ability_003 → UseAbility003 dead/vestigial |
| Runtime question | Requires Runtime Inspection — tick damage rate |
| Migration disposition | Preserve behavior, migrate implementation |
| Prerequisites | 2A; 2B; remove vestigial notify or wire intentionally |
| Migration complexity | High |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Cleric Ability 003; 10 |
### C-004 — Ability 004
| Field | Content |
|-------|---------|
| Character/system | Cleric |
| Slot | 004 |
| Current status | Partial |
| Exact entry point | Server_Ability_004_Begin; UseAbility004 via AN_Ability_004 |
| Parent behavior | Bypassed |
| Network path | Client IA → Server Begin → FCanUseMana called but Branch Condition=**literal true** → Multicast → AN → SpawnActor |
| Reliability | Unknown — Tool Limitation |
| Validation | Gate; mana bypassed |
| Resource source | DEPRECATED_Ability004ManaCost **unused** |
| Cost mutation | Bypassed (literal true) |
| Gameplay output | SpawnActor Class **empty** — broken |
| Authority location | Authority UseAbility004 |
| Animation dependency | Cleric_Ability004_Montage; AN_Ability_004; AN_AttackComplete |
| Cleanup/end behavior | AN_AttackComplete |
| Connected assets | Cleric_Ability004_Montage |
| Deprecated dependencies | DEPRECATED_Ability004ManaCost unused |
| GAS interaction | None observed |
| Known static defect | Existing Baseline Defect — mana bypass + empty SpawnActor |
| Runtime question | Requires Runtime Inspection — confirms no projectile |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | Design projectile class; fix mana gate; 2B |
| Migration complexity | High |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Cleric Ability 004 |
### C-melee — Basic attack
| Field | Content |
|-------|---------|
| Character/system | Cleric |
| Slot | melee |
| Current status | Partial |
| Exact entry point | Ability 001 montage path |
| Parent behavior | Bypassed |
| Network path | Same as Ability 001 |
| Reliability | Unknown — Tool Limitation |
| Validation | Same as Ability 001 |
| Resource source | None |
| Cost mutation | None observed |
| Gameplay output | Missing hit |
| Authority location | Server Begin only |
| Animation dependency | PrimaryAttack montages |
| Cleanup/end behavior | AN_AttackComplete |
| Connected assets | Cleric_PrimaryAttack_* |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Same as Ability 001 |
| Runtime question | Requires Runtime Inspection |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | Same as Ability 001 |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05 Basic attack Partial |
### C-passive — Passive
| Field | Content |
|-------|---------|
| Character/system | Cleric |
| Slot | passive |
| Current status | Missing |
| Exact entry point | None observed |
| Parent behavior | Not applicable |
| Network path | Not applicable |
| Reliability | Not applicable |
| Validation | Not applicable |
| Resource source | Not applicable |
| Cost mutation | None observed |
| Gameplay output | None observed |
| Authority location | Not applicable |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | Unused locals EnemyFound/ClosestEnemy/IsBlocking declared |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Unused locals (Technical Debt) |
| Runtime question | Not applicable |
| Migration disposition | Defer pending design decision |
| Prerequisites | Design |
| Migration complexity | Low |
| Priority | P3 |
| Evidence confidence | High |
| Evidence source | 05 Passive Missing |
### C-death — Death
| Field | Content |
|-------|---------|
| Character/system | Cleric |
| Slot | death |
| Current status | Inherited |
| Exact entry point | Inherited PlayerDeath |
| Parent behavior | Inherited |
| Network path | Base |
| Reliability | Unknown — Tool Limitation |
| Validation | Base |
| Resource source | Base DEPRECATED/ASC dual |
| Cost mutation | Base |
| Gameplay output | Base death |
| Authority location | Server |
| Animation dependency | ABP_Cleric Death |
| Cleanup/end behavior | Base |
| Connected assets | ABP_Cleric |
| Deprecated dependencies | Possible DEPRECATED health |
| GAS interaction | None observed |
| Known static defect | Dual SoT |
| Runtime question | Requires Runtime Inspection |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A |
| Migration complexity | Medium |
| Priority | P1 |
| Evidence confidence | Medium |
| Evidence source | 05 Death Inherited |
### C-HUD — HUD/resource integration
| Field | Content |
|-------|---------|
| Character/system | Cleric |
| Slot | HUD |
| Current status | Inherited |
| Exact entry point | Inherited Server_UpdateHUD; InitOverlay |
| Parent behavior | Inherited |
| Network path | Dual path |
| Reliability | Unknown — Tool Limitation |
| Validation | Not applicable |
| Resource source | DEPRECATED + ASC |
| Cost mutation | None observed |
| Gameplay output | Dual unsynchronized |
| Authority location | Mixed |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | WBP_Overlay; GE_Cleric_DefaultAttributes **0 referencers** |
| Deprecated dependencies | DEPRECATED mana/health |
| GAS interaction | Overlay ASC; orphan GE |
| Known static defect | Dual HUD; orphan default GE |
| Runtime question | Requires Runtime Inspection |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A; 2E |
| Migration complexity | High |
| Priority | P1 |
| Evidence confidence | High |
| Evidence source | 05; 06; 11 |
---
## Player_Wizard
**Path:** `/Game/_Main/Blueprints/Characters/PlayerCharacters/PlayerCharacterClasses/Wizard/Player_Wizard`
### W-001 through W-004 — Abilities (identical stub profile)
| Field | Content |
|-------|---------|
| Character/system | Wizard |
| Slot | 001 / 002 / 003 / 004 (same) |
| Current status | Stub |
| Exact entry point | Inherited Server_Ability_*_Begin only |
| Parent behavior | Inherited |
| Network path | Client IA → Server PrintString |
| Reliability | Unknown — Tool Limitation |
| Validation | None observed |
| Resource source | None observed |
| Cost mutation | None observed |
| Gameplay output | PrintString only |
| Authority location | Server |
| Animation dependency | None observed (no Wizard ability montages) |
| Cleanup/end behavior | Base empty End |
| Connected assets | None for abilities; Present but Unconnected: NS_Wizard_Ability001, GE_Wizard_DefaultAttributes, BP_PlayerProjectile |
| Deprecated dependencies | None in ability graphs |
| GAS interaction | None observed (orphan GE not applied) |
| Known static defect | No Server_Ability child implementations |
| Runtime question | Defer pending design decision — do not infer from orphans |
| Migration disposition | Replace directly with GAS |
| Prerequisites | 2B; design decision for spell kit |
| Migration complexity | High |
| Priority | P2 |
| Evidence confidence | High |
| Evidence source | 05 Player_Wizard |
### W-melee — Basic attack
| Field | Content |
|-------|---------|
| Character/system | Wizard |
| Slot | melee |
| Current status | Stub |
| Exact entry point | Inherited Ability 001 stub |
| Parent behavior | Inherited |
| Network path | PrintString |
| Reliability | Unknown — Tool Limitation |
| Validation | None observed |
| Resource source | None observed |
| Cost mutation | None observed |
| Gameplay output | PrintString only |
| Authority location | Server |
| Animation dependency | None observed |
| Cleanup/end behavior | Base empty End |
| Connected assets | None observed |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Stub |
| Runtime question | Not applicable |
| Migration disposition | Replace directly with GAS |
| Prerequisites | 2B; design |
| Migration complexity | Medium |
| Priority | P2 |
| Evidence confidence | High |
| Evidence source | 05 |
### W-passive — Passive
| Field | Content |
|-------|---------|
| Character/system | Wizard |
| Slot | passive |
| Current status | Missing |
| Exact entry point | None observed |
| Parent behavior | Not applicable |
| Network path | Not applicable |
| Reliability | Not applicable |
| Validation | Not applicable |
| Resource source | Not applicable |
| Cost mutation | None observed |
| Gameplay output | None observed |
| Authority location | Not applicable |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | Unused locals EnemyFound, IsBlocking, ClosestEnemy |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Unused locals |
| Runtime question | Not applicable |
| Migration disposition | Defer pending design decision |
| Prerequisites | Design |
| Migration complexity | Low |
| Priority | P3 |
| Evidence confidence | High |
| Evidence source | 05 |
### W-death — Death
| Field | Content |
|-------|---------|
| Character/system | Wizard |
| Slot | death |
| Current status | Inherited |
| Exact entry point | Inherited PlayerDeath; BeginPlay **no Parent** (skips InitialSpawnLocation) |
| Parent behavior | Tick/Overlap call Parent; BeginPlay bypasses |
| Network path | Base |
| Reliability | Unknown — Tool Limitation |
| Validation | Base |
| Resource source | Base |
| Cost mutation | Base |
| Gameplay output | Base death |
| Authority location | Server |
| Animation dependency | ABP_Wizard Death |
| Cleanup/end behavior | Base |
| Connected assets | ABP_Wizard |
| Deprecated dependencies | Possible DEPRECATED health |
| GAS interaction | None observed |
| Known static defect | BeginPlay skips Parent InitialSpawnLocation |
| Runtime question | Requires Runtime Inspection — respawn location |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A; fix BeginPlay Parent call |
| Migration complexity | Medium |
| Priority | P2 |
| Evidence confidence | High |
| Evidence source | 05; 08 Wizard BeginPlay |
### W-HUD — HUD/resource integration
| Field | Content |
|-------|---------|
| Character/system | Wizard |
| Slot | HUD |
| Current status | Inherited |
| Exact entry point | Inherited dual HUD |
| Parent behavior | Inherited |
| Network path | Dual path |
| Reliability | Unknown — Tool Limitation |
| Validation | Not applicable |
| Resource source | DEPRECATED + ASC |
| Cost mutation | None observed |
| Gameplay output | Dual unsynchronized |
| Authority location | Mixed |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | WBP_Overlay; GE_Wizard_DefaultAttributes unreferenced |
| Deprecated dependencies | DEPRECATED floats |
| GAS interaction | Overlay ASC |
| Known static defect | Dual HUD; orphan GE |
| Runtime question | Requires Runtime Inspection |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A; 2E |
| Migration complexity | Medium |
| Priority | P2 |
| Evidence confidence | High |
| Evidence source | 05; 06 |
### W-orphans — Unconnected spell content (not ability slots)
| Field | Content |
|-------|---------|
| Character/system | Wizard |
| Slot | shared (orphans) |
| Current status | Present but Unconnected |
| Exact entry point | None observed |
| Parent behavior | Not applicable |
| Network path | Not applicable |
| Reliability | Not applicable |
| Validation | Not applicable |
| Resource source | Not applicable |
| Cost mutation | None observed |
| Gameplay output | None observed |
| Authority location | Not applicable |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | NS_Wizard_Ability001; GE_Wizard_DefaultAttributes; BP_PlayerProjectile |
| Deprecated dependencies | None observed |
| GAS interaction | Orphan GE Present but Unreferenced |
| Known static defect | Must not define final ability from these alone |
| Runtime question | Defer pending design decision |
| Migration disposition | Defer pending design decision |
| Prerequisites | Design review |
| Migration complexity | Medium |
| Priority | P3 |
| Evidence confidence | High |
| Evidence source | 05 Unwired assets |
---
## Player_Gunslinger
**Path:** `/Game/_Main/Blueprints/Characters/PlayerCharacters/PlayerCharacterClasses/Gunslinger/Player_Gunslinger`
### G-001 through G-004 — Abilities
| Field | Content |
|-------|---------|
| Character/system | Gunslinger |
| Slot | 001 / 002 / 003 / 004 (same) |
| Current status | Stub |
| Exact entry point | Inherited Server_Ability_*_Begin |
| Parent behavior | Inherited; BeginPlay/Tick/Overlap call Parent |
| Network path | Client IA → Server PrintString |
| Reliability | Unknown — Tool Limitation |
| Validation | None observed |
| Resource source | None observed |
| Cost mutation | None observed |
| Gameplay output | PrintString only |
| Authority location | Server |
| Animation dependency | None observed (no AnimBP) |
| Cleanup/end behavior | Base empty End |
| Connected assets | IsDataOnly=True; deps = base only |
| Deprecated dependencies | None observed |
| GAS interaction | None observed; no GE_Gunslinger |
| Known static defect | Data-only; missing from character select |
| Runtime question | Not applicable until selectable |
| Migration disposition | Replace directly with GAS |
| Prerequisites | Char-select entry (2E); 2B framework; design kit |
| Migration complexity | Very High |
| Priority | P2 |
| Evidence confidence | High |
| Evidence source | 05 Gunslinger; 08; 11 |
### G-melee — Basic attack
| Field | Content |
|-------|---------|
| Character/system | Gunslinger |
| Slot | melee |
| Current status | Stub |
| Exact entry point | Inherited stub |
| Parent behavior | Inherited |
| Network path | PrintString |
| Reliability | Unknown — Tool Limitation |
| Validation | None observed |
| Resource source | None observed |
| Cost mutation | None observed |
| Gameplay output | PrintString only |
| Authority location | Server |
| Animation dependency | None observed |
| Cleanup/end behavior | Base empty End |
| Connected assets | None observed |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | Stub |
| Runtime question | Not applicable |
| Migration disposition | Replace directly with GAS |
| Prerequisites | Design; 2B |
| Migration complexity | High |
| Priority | P2 |
| Evidence confidence | High |
| Evidence source | 05 |
### G-passive — Passive
| Field | Content |
|-------|---------|
| Character/system | Gunslinger |
| Slot | passive |
| Current status | Missing |
| Exact entry point | None observed |
| Parent behavior | Not applicable |
| Network path | Not applicable |
| Reliability | Not applicable |
| Validation | Not applicable |
| Resource source | Not applicable |
| Cost mutation | None observed |
| Gameplay output | None observed |
| Authority location | Not applicable |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | None observed |
| Deprecated dependencies | None observed |
| GAS interaction | None observed |
| Known static defect | None observed |
| Runtime question | Not applicable |
| Migration disposition | Defer pending design decision |
| Prerequisites | Design |
| Migration complexity | Low |
| Priority | P3 |
| Evidence confidence | High |
| Evidence source | 05 |
### G-death — Death
| Field | Content |
|-------|---------|
| Character/system | Gunslinger |
| Slot | death |
| Current status | Inherited |
| Exact entry point | Inherited PlayerDeath |
| Parent behavior | Inherited (Parent called on BeginPlay) |
| Network path | Base |
| Reliability | Unknown — Tool Limitation |
| Validation | Base |
| Resource source | Base |
| Cost mutation | Base |
| Gameplay output | Base death |
| Authority location | Server |
| Animation dependency | Inherited base only (no AnimBP) |
| Cleanup/end behavior | Base |
| Connected assets | None character-specific |
| Deprecated dependencies | Possible DEPRECATED health |
| GAS interaction | None observed |
| Known static defect | No AnimBP death presentation |
| Runtime question | Requires Runtime Inspection if ever playable |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A; AnimBP creation |
| Migration complexity | High |
| Priority | P2 |
| Evidence confidence | Medium |
| Evidence source | 05; 10 Gunslinger none |
### G-HUD — HUD/resource integration
| Field | Content |
|-------|---------|
| Character/system | Gunslinger |
| Slot | HUD |
| Current status | Inherited |
| Exact entry point | Inherited dual HUD |
| Parent behavior | Inherited |
| Network path | Dual path |
| Reliability | Unknown — Tool Limitation |
| Validation | Not applicable |
| Resource source | DEPRECATED + ASC |
| Cost mutation | None observed |
| Gameplay output | Dual unsynchronized |
| Authority location | Mixed |
| Animation dependency | None observed |
| Cleanup/end behavior | Not applicable |
| Connected assets | WBP_Overlay; no GE_Gunslinger |
| Deprecated dependencies | DEPRECATED floats |
| GAS interaction | Overlay ASC; Missing default GE |
| Known static defect | No GE_Gunslinger; not in select UI |
| Runtime question | Requires Runtime Inspection if selectable |
| Migration disposition | Reconstruct legacy behavior first, then migrate |
| Prerequisites | 2A defaults; 2E select UI |
| Migration complexity | Medium |
| Priority | P2 |
| Evidence confidence | High |
| Evidence source | 05; 06; 11 |
---
## Character reconstruction order (Phase 2C)
Evidence supports: **Amazonian Ability 001 → Paladin → Cleric → Wizard → Gunslinger**.
| Order | Why |
|-------|-----|
| 1 Amazonian 001 | Observed Runtime Behavior reference; simplest Implemented melee |
| 2 Paladin | Largest Implemented set to preserve |
| 3 Cleric | Richest surface + known defects; reconstruct before migrate |
| 4 Wizard | Stubs + design-gated orphans |
| 5 Gunslinger | Data-only + missing select UI |
---
## Shared-framework migration disposition summary
| Concern | Disposition |
|---------|-------------|
| Input → activation | Replace directly with native/shared framework |
| Cost / cooldown / targeting | Replace directly with native/shared framework (then GAS) |
| Multicast-driven gameplay | Replace directly with native/shared framework |
| AnimNotify hit timing | Preserve behavior references; migrate off cosmetic multicast evaluation |
| Dual resources | Reconstruct SoT first (2A) |
| Legacy HUD | Remove obsolete or dead path after Overlay consolidation |
| PrintString stubs | Replace directly with GAS |
| Cosmetic SFX/VFX helpers | Retain as cosmetic-only path |
---
## Cross-links
- Executive summary: [`01-ExecutiveSummary.md`](01-ExecutiveSummary.md)
- Detailed ability graphs: [`05-LegacyAbilityArchitecture.md`](05-LegacyAbilityArchitecture.md)
- Animation: [`10-AnimationDependencies.md`](10-AnimationDependencies.md)
- GAS boundary: [`06-PartialGASArchitecture.md`](06-PartialGASArchitecture.md)
- Runtime plan: [`13-Unknowns-And-RuntimeQuestions.md`](13-Unknowns-And-RuntimeQuestions.md)