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
@@ -0,0 +1,93 @@
# 10 — Animation Dependencies
**Status: Draft**
- **Scope:** Montage and AnimInstance seeds discovered during Pass 6 ability-path reconstruction. Not a full AnimBP / notify archaeology pass.
- **Inspection method:** Connected subgraphs on character ability events; AssetTools dependency paths when visible on Multicast_PlayMontage pins.
- **Evidence classifications used:** Observed Implementation, Inferred, Unknown.
- **Tool or visibility limitations:** Montage section names, play rate, start position, and AnimNotify tracks not deep-inspected — Defer Pass 8. Root-motion requirements Unknown without Montage asset inspection.
- **Last updated:** 2026-07-16
- **Current phase:** Phase 1 — Static Architecture
- **Last completed pass:** Pass 6 (Batch 3)
- **Next pass expected to contribute:** Batch 4 Pass 8
## Draft tracking
### Completed sections
- Per-character Montage asset paths tied to Ability 001004 Begin paths
- AnimBP class references from character deps (structural)
- Notes on UseAbility* vs Montage timing (inferred notify dependency)
### Pending sections
- AnimNotify → UseAbility* wiring
- Montage section / blend / root-motion details
- ABP state machines reacting to IsBlocking / CurrentlyAttacking
### Evidence still required
- Exact notify names that call UseAbility001 / UseAbility002 / UseAbility004
- Whether End events stop montages (most Ends missing)
---
## Shared helper
| Helper | Owning BP | Behavior |
|---|---|---|
| Multicast_PlayMontage | BP_PlayerCharacterBase | Multicast → PlayMontage on mesh AnimInstance |
Gameplay effects (ApplyDamage / heal / spawn) observed **after** Montage Begin in separate UseAbility* or timer/overlap events — typically **during** Montage if notify-driven. Exact notify wiring: **Unknown — Requires Manual Editor Inspection / Pass 8**.
---
## Player_Paladin
| Ability | Montage path(s) | AnimInstance | Gameplay vs Montage | End stops Montage? |
|---|---|---|---|---|
| 001 | `/Game/_Main/Animations/PlayerCharacters/Human/CharacterClasses/Paladin/AnimMontages/Attack_A_Fast_Montage` (+ B, C, D_Fast) via `Ability001Montages` array random | ABP_Paladin | UseAbility001 ApplyDamage separate Authority path | Unknown (no local End) |
| 002 | None in Begin subgraph | ABP_Paladin | IsBlocking state only — AnimBP reaction Inferred | End clears IsBlocking; Montage stop Unknown |
| 003 | ChargeTimeline (not Montage) | ABP_Paladin | ChargeBox ApplyDamage during charge | No local 003 End |
| 004 | `/Game/_Main/Animations/PlayerCharacters/Human/CharacterClasses/Paladin/AnimMontages/Abilities/Paladin_Ability004_Montage` | ABP_Paladin | UseAbility004 AoE + SFX separate | Unknown |
SFX: `MagicSpell_01_Cue` via Multicast_PlaySFX on Ability 004 UseAbility path.
---
## Player_Amazonian
| Ability | Montage path(s) | AnimInstance | Gameplay vs Montage | End stops Montage? |
|---|---|---|---|---|
| 001 | `/Game/_Main/Animations/PlayerCharacters/Human/CharacterClasses/Amazon/AnimMontages/A_Hu_F_Combat_2H_Attack01_Montage` (+ Attack02, Attack_Base, Attack) via `Ability001Montage` array | ABP_Amazon | UseAbility001 Authority damage separate | Unknown (no local End) |
| 002004 | None (inherited stubs) | — | — | — |
**Observed Runtime Behavior:** Amazonian melee (Ability 001 path) is the known working combat baseline.
---
## Player_Cleric
| Ability | Montage path(s) | Notes |
|---|---|---|
| 001 | Cleric_PrimaryAttack_* via Ability001Montages | Montage only — no UseAbility001 |
| 002 | Cleric_Ability002_Montage | Heal in UseAbility002 |
| 003 | Cleric_Ability003_Montage | Played inside ConcentrateHandle timer loop |
| 004 | Cleric_Ability004_Montage | Spawn broken; montage still plays |
Exact `/Game/...` Cleric montage folder paths: recorded as class-named montages under Cleric AnimMontages in deps — full absolute paths Require Manual Editor Confirmation if not pinned in subgraph (Observed Implementation of PlayMontage call; path strings from character asset deps).
---
## Player_Wizard / Player_Gunslinger
No ability Montage invocations. No character-local Multicast_PlayMontage callers for abilities.
---
## Cleanup / End dependency summary
| Character | Ability End stops Montage? |
|---|---|
| Most slots | **Unknown / Missing End** — Server_Ability_*_End not overridden; base End empty |
| Paladin 002 | Clears IsBlocking / CurrentlyAttacking / CanMove — Montage stop not observed |
| Cleric 003 | EndConcentrate clears timer / DivineCircleActive — Montage stop not observed |
Root motion required: **Unknown — Defer Pass 8**.