Captures Blueprint hierarchy, legacy ability/RPC paths, animation dependency seeds, and handoff state without modifying Unreal assets. Co-authored-by: Cursor <cursoragent@cursor.com>
94 lines
4.5 KiB
Markdown
94 lines
4.5 KiB
Markdown
# 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 001–004 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) |
|
||
| 002–004 | 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**.
|