Files
realms-in-ruin-dev/Documentation/Archaeology/13-Unknowns-And-RuntimeQuestions.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

8.1 KiB
Raw Blame History

13 — Unknowns and Runtime Questions

Status: Draft

  • Scope: Unresolved questions after Batches 13. Separates confirmed static findings from questions needing further Blueprint, runtime, or config inspection.
  • Inspection method: Consolidation of Batches 13; Batch 3 resolved per-character ability path unknowns.
  • Evidence classifications used: Observed Implementation, Documented Intent, Observed Runtime Behavior, Inferred, Unknown.
  • Tool or visibility limitations: Semantic Search unavailable; CustomEvent FunctionFlags not readable; comment-box membership limited; no PIE this batch.
  • 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 4 / 7 / 8 / 9 — only when authorized)

Draft tracking

Completed sections

  • Batch 1 unknowns grouped by verification method
  • Batch 2 resolutions: WBP_PlayerHUD class; BP_PlayerState DefaultAttributes=None; legacy ability routing documented
  • Batch 3 resolutions: per-character Ability 001004 connected paths; Wizard/Gunslinger stub confirmation; UseAbility* presence matrix
  • Enemy ASC accessor defect still confirmed static

Pending sections

  • Frontend/session/enemy AI/animation unknowns (Batch 4)
  • Runtime test procedures after static ability archaeology

Evidence still required

  • AnimNotify → UseAbility* wiring (Pass 8)
  • Live ASC vs DEPRECATED HUD coexistence in PIE
  • Enemy BP AI connected graphs (Pass 9)
  • GE/cue referencer map (Pass 7)

Resolved in Batch 2 (no longer Unknown)

Question Resolution Classification Doc
Is WBP_PlayerHUD a Widget or AHUD? Parent is RIRHUD; AHUD Blueprint; WBP_ name misleading Observed Implementation 03, 11
Does BP_PlayerState assign DefaultAttributes GE? CDO defaultAttributesGameplayEffect = None Observed Implementation 03, 06
How are abilities routed/networked on base? IA_Ability_* → Server_Ability_* stubs/overrides; Multicast FX helpers Observed Implementation 05, 08

Resolved in Batch 3 (Pass 6)

Question Resolution Classification Doc
Full Ability 001004 paths per playable Documented per character in tables Observed Implementation 05, 08
Does Wizard implement Server_Ability_*? No local implementations; inherit PrintString stubs Observed Implementation 05, 08
Is Gunslinger data-only? IsDataOnly=True; deps only base; inherited stubs Observed Implementation 05, 08
Amazonian working melee path Ability 001 Begin → Multicast montage → UseAbility001 Authority BoxOverlap ApplyDamage Observed Implementation + Observed Runtime Behavior 05
Are UseAbility* still invoked? Present and connected on Paladin 001/004, Amazonian 001, Cleric 002/004; caller of UseAbility* itself Unknown (likely AnimNotify) Observed Implementation / Unknown caller 05, 10
Who calls PlayerDeath from Amazonian? ReceiveAnyDamage → DEPRECATED_CurrentHealth ≤0 → PlayerDeath Observed Implementation 05, 08
Parent calls on ability overrides? Paladin/Amazonian/Cleric: No Observed Implementation 05

Confirmed static defects with runtime questions

Confirmed finding Evidence classification Issue classification Exact evidence Runtime question
Enemy ASC on self vs GetASC from PlayerState Observed Implementation Incomplete Refactor RIRBaseEnemyCharacter.cpp; RIRBaseCharacter.cpp Which systems fail when interface ASC lookup is null for enemies?
Dual HUD attribute paths (ASC Overlay vs DEPRECATED floats) Observed Implementation Incomplete Refactor RIRHUD InitOverlay; BP Server_UpdateHUD Do both run? Which drives visible bars in PIE?
DefaultAttributesGameplayEffect unused (C++ and BP_PlayerState=None) Observed Implementation Partially Implemented RIRPlayerState.h; BP_PlayerState CDO What sets initial Health/Mana at spawn?
Cleric Ability 004 SpawnActor Class empty + mana CanUse unwired Observed Implementation Existing Baseline Defect Player_Cleric UseAbility004 / Begin Does 004 appear to fire but do nothing in PIE?
Multi_SpawnParticle empty EmitterTemplate (Paladin 004, Cleric 002) Observed Implementation Partially Implemented UseAbility graphs Visible missing VFX only?

Requires Blueprint / animation inspection (remaining)

Question Why insufficient Paths Method Priority Dependency
Who calls UseAbility*? Events connected; callers not in EventGraph Character AnimMontages / AnimBP Pass 8 notify walk High Pass 6 bodies done
Enemy chase/attack Blueprint logic Structural only in Pass 3 BP_EnemyCharacterBase, BP_Enemy_Skeleton, BPI_EnemyCharacter Pass 9 connected graphs High Pass 3 structure
Do EffectActor children call ApplyEffectToTarget? Native mechanism only BP_HealthPotion etc. Pass 10 Medium Batch 1
Is CommonUI used by live content? Plugin enabled; no native refs /Game/_Main/UI Widget parent inspection Low Batch 1
Paladin Ability 002 block absorb IsBlocking set; no damage absorb path traced ABP_Paladin / PlayerHitCheck Pass 8 + hit graphs Medium Pass 6
Amazonian PerformingWhirlwind Get without Set Player_Amazonian Search all graphs / macros Low Pass 6

Requires runtime inspection / PIE

Question Why Method Priority
Enemy ASC accessor impact Static mismatch; need consumers PIE + AbilitySystemInspector High
Default attribute values after spawn No apply path found PIE attribute values after possess High
Dual HUD coexistence Two static paths Observe both overlay and UpdatePlayerHUD Medium
Session create/find/join Latent online ops Network test after Pass 4 Medium
Ability Server RPC reliability / prediction feel Flags unread Multi-client ability press Medium
Wizard BeginPlay skipping Parent May leave InitialSpawnLocation unset Spawn Wizard → death/respawn location Medium

Requires broader filesystem/configuration inspection

Question Search Priority
OnlineSubsystem / Steam settings location Config/, Plugins//Config, Saved/Config Medium
GameInstance class assignment outside DefaultEngine sample INI + referencers of GI_Dungeoneer Medium

Requires manual editor inspection

Question Why Paths
Montage notify timings Registry tags limited Character montages
DEPRECATED comment-box visual regions find_nodes Comment returned [] BP_PlayerCharacterBase / children EventGraphs
CustomEvent Reliable vs Unreliable ObjectTools on node failed Server_/Multicast_ events

Tool and environment limitations

Item Detail Impact
Semantic Search HTTP 401 / no API key No semantic discovery
CustomEvent FunctionFlags list_properties failed on event nodes RPC reliability Unknown
Comment boxes find_nodes(title=Comment) empty Visual DEPRECATED regions Unknown
Git Available (baseline commit exists) Dirty-tree gate works
No PIE in Batch 3 Constraint honored Runtime questions deferred

Naming ambiguities

Item Status
Amazon vs Amazonian Still open for GE folder naming (Pass 7)
WBP_PlayerHUD Resolved — AHUD named like a widget

Conflicting evidence

Conflict Current resolution Remaining
Enemy ASC ownership vs accessor Confirmed static defect PIE impact
Default attributes present vs unused BP_PlayerState=None; C++ unused; character GEs orphaned Who applies GEs if anyone
URIRGameplayAbility "all abilities" vs legacy BP Legacy active; GA scaffolding only Pass 7 reconfirm
Dual HUD systems Both connected PIE which is authoritative for bars

Priority order for later verification

  1. Batch 4 Pass 7 — GE/cue/tag inventory
  2. Pass 8 — AnimNotify → UseAbility wiring
  3. Pass 9 — enemy Blueprint AI
  4. Pass 4 — sessions / frontend
  5. Controlled PIE for ASC, attributes, dual HUD, enemy GetASC, Cleric 004 / Wizard spawn