3.3 KiB
AA cycle / star settlement investigation
The reported King in Check win displayed zero consumed cycles and no completed star conditions. This is not yet a verified complete fix.
Confirmed evidence
- The original win report has 36 battle turns,
RoundCnt=0and stage 30501021. The cached native PVEGameStatistics hadtotalBattleRounds=0,challengeTurnCount=0,challengeTurnLeft=7. A battle turn is not a cycle; the meaning and wire mapping of the additional counters remain unverified. finishChallengeBattlecopiesRoundCntinto PeakCyclesUsedand never suppliesFinishedTargetList. This accounts for the displayed values, but does not prove that the battle used zero cycles or earned no stars.- The original start packet had
RoundsLimit=40: Peak 104 was configured through the separate ChallengeMaze table with the same numeric ID. - Read-only captures from the running Client's ConstValueClientExcelTable
contain
ChallengePeak_Mob_Turn_Limit=6,ChallengePeak_Boss_Turn_Limit=6, andChallengePeak_HardBoss_Turn_Limit=2. - Native BattleTargetConfigExcelTable rows referenced by the installed Peak
tables are preserved in
resources/PeakBattleConfig.json, together with Client version, GameAssembly SHA-256 and capture SHA-256. Boss targets 3003/3004/3005 have thresholds 6/4/2; 3000 is a death-count condition. These are BattleTargetConfig rows, not ChallengeTargetConfig rows.
The ignored evidence directory is battle_diagnostics/peak-cycle-20261019.
Player.native-tables.log is the source for the new resource. Temporary
probes inspect named types/tables with bounded work per heartbeat. A missing
BattleTargetExcelTable was corrected to the observed
BattleTargetConfigExcelTable; no assembly-wide reflection is used.
Changes made
- Peak start and restart use an explicit AA battle type and the native normal/boss/hard limit, independent of the ChallengeMaze ID namespace.
- Rules reject a mismatching Client version, missing provenance, unknown event or missing native limit. No guessed fallback is installed.
- Full PVEBattleResult requests are archived under
battle_diagnostics, including obfuscated and unknown protobuf fields that the aggregate damage report does not retain. JSON is for inspection; binary preserves unknowns. tools/peak_result_snapshot.luareads the six named native counters and target lists for comparison with the next server packet. Its temporary copy in scripts must be removed after reproduction.
Focused Peak configuration and battle capture tests pass; a game-server build passes. This does not verify Client battle loading, cycle display, stars, medals or persistence. The existing unconditional unlock/medal response in GetChallengePeakData has not been rewritten in this patch.
Pending Client reproduction
The user agreed to complete another AA battle and leave the result screen open. Compare its full result packet with native counters before assigning semantic names to obfuscated fields or calculating FinishedTargetList. Do not derive cycles from TotalBattleTurns, subtract from a guessed initial counter, or grant every target merely because EndStatus is WIN.
The Main chat is concurrently repairing login in the same workspace and restarting the shared servers. Stop additional restarts from this chat while that deployment is in progress; both builds included the Peak source changes.