2.3 KiB
Currency Wars route continuation audit
The captured route 2801 contains these node types after the first boss:
| Chapter | Sections in order |
|---|---|
| 2 | CampMonster, Supply, EliteBranch, Monster, Boss |
| 3 | CampMonster, Supply, EliteBranch, Monster, Boss |
These names are joined from CurrencyWarsCatalog.json stage routes and
CurrencyWarsReferenceNodes.json templates. They describe the template, not
necessarily a run's dynamically substituted node display.
cwAdvanceRouteNode currently calls cwGenerateReferenceEnemyLayer for every
destination. That factory accepts only Boss and CampMonster; it rejects Supply,
EliteBranch, and Monster. cwSelectSupply also requires an exact captured
transition. Consequently a successful 2-1 battle does not establish that 2-2
or later rooms can be played. Constructing the remaining node layers, pending
actions and rewards needs their corresponding native/reference rules and a
current-Client check; copying the first Supply's randomized inventory would not
prove the later rooms correct.
cwCapturedSupplyLayer derives the empty Supply node container from the
revision-bound transition capture and validates that it has no camp or enemy
branches. It neither copies the captured option list nor modifies a run. It is
not yet connected to route advancement: FFGO's gfPendingSupplyOf and
gfPendingFillSupplyOptions also choose a chapter/state-dependent offer,
including distinct roles and random equipment. That pending offer remains
unmapped; advancing without it would strand the player in Supply.
After the final node, cwAdvanceRouteNode returns CW route has no next node.
At zero HP, finishCurrencyWarsBattle returns CW defeat settlement requires terminal-run handler. Neither path currently settles the run. FFGO's extracted
descriptor names settlement reasons Quit=1, HpZero=2, and Finish=3; the current
Client's obfuscated enum has matching numeric slots, but only Quit=1 has been
confirmed for the current implementation. The reference gfSettleSend builds
and archives a settlement record before sending the settlement notification.
The names and fields of its rank/reward/archive components must be mapped to
the current Client before a completion handler can safely persist rewards and
clear the active run. No saved run has been modified by this audit.