舰队无法落地bug修复。

05/1975 浏览综合 包含 AI 合成内容
问题原因
玩家反馈的「做任务时舰队无法落地」,根因是 离线/单机/ Electron / Capacitor 读档时没有做舰队航行结算。
在线服在 loadSnapshot 里会调用 settleSnapshotFleetStates,到达时间过后会把 moving / returning 更新为 idle 并写入目标坐标。
离线运行时只 cloneValue(this.snapshot),从不结算。结果是:
舰队 UI 一直显示「飞行中」
地块操作要求 status === "idle" 且坐标一致(见 executeWorldTileAction),会报 「舰队必须停驻在目标地块,才能执行现场操作」
第二章「异常回声」、空域侦察、遗迹探索等任务都会卡住
修复内容
新增 prepareLoadedGameSnapshot()(world-fleet-utils.ts),统一:hydrate → 舰队结算
在线服 loadSnapshot 改为使用该函数
离线运行时 在 loadSnapshot / loadSnapshotOrThrow / loadKernelForUser / 初始读档 / withKernel 等路径都走结算,有变化则写回本地存档
已重新构建 public/offline-runtime.js
任务流程验证(测试全部通过)
环节 状态
新手任务发放与职业分支
通过
第二章:舰队任务补发、异常空域生成、story-contact 战斗推进
通过
第三章~终章自动推进节点
通过
NPC 区:进入 → 攻城 → 装货 → 返航
通过
新增:离线读档后舰队落地 + 地块任务可执行
通过
共 121 项测试通过。
TapTap
3
1