Files
realms-in-ruin-dev/Documentation/Archaeology/10-AnimationDependencies.md
T
tedwardsandCursor 0d045d142f 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>
2026-07-16 20:29:10 -07:00

94 lines
4.5 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.
# 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**.