Files
Project-M/Assets/_Project/Scripts/Simulation/Combat
kronic 342a39a540 LANTERN P1 step 5 + §8: two-frame identity via FrameId + per-frame gym loadouts
FrameId (replicated frame/class signal) now WRITTEN server-side at spawn for all
players; the two class-HUD readers (ClassPrepPortal, MetaShop) read FrameId (with
an AbilityRef fallback for pre-FrameId players) instead of ClassForAbility. The
gym seeds a PER-FRAME default Spark loadout via ClassTraits.FrameLoadout —
Harpooner (Ranger slot): reel/mobility/skillshots; Bathynaut (Warrior slot):
pull-in/dash/zone-control. FrameId uses ecb.AddComponent (baked on the real
player; absent on the minimal MetaSeeding test prefab). 497 EditMode green.

Deferred to a focused pass (risky wholesale refactor, "still works" via the
transition): full removal of legacy AbilityRef/AbilityCooldown/EffectiveAbility
Stats (woven through equip/class/meta/StatRecompute + tests) and the CharacterId
Bathynaut/Harpooner rename.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-15 08:45:45 -07:00
..
2026-05-31 21:35:12 -07:00
2026-06-04 11:35:57 -07:00
2026-05-31 21:35:12 -07:00
2026-07-13 18:30:41 -07:00
2026-07-02 20:41:43 -07:00
2026-07-13 18:30:41 -07:00
2026-07-13 18:30:41 -07:00
2026-07-02 20:41:43 -07:00
2026-07-02 20:41:43 -07:00
2026-06-09 23:26:20 -07:00
2026-07-07 23:16:53 -07:00
2026-07-13 18:30:41 -07:00
2026-07-07 20:51:18 -07:00
2026-07-07 20:51:18 -07:00
2026-07-07 20:51:18 -07:00
2026-07-07 23:16:53 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-06-04 11:35:57 -07:00
2026-07-13 18:30:41 -07:00
2026-06-09 23:26:20 -07:00
2026-06-03 22:41:27 -07:00
2026-05-31 21:35:12 -07:00
2026-05-31 21:35:12 -07:00
2026-07-02 20:41:43 -07:00
2026-07-13 18:30:41 -07:00
2026-06-04 11:35:57 -07:00