Files
noname-shuying/mengsan/docs/map-only-save-and-defeat-20261004.md
T
Diuse 94a2a6724b fixed # 补全部分卡牌
fixed # 修复部分已知BUG
2026-10-04 19:32:38 +08:00

36 lines
2.6 KiB
Markdown

# 地图存档与阵亡处理规则(2026-10-04)
本说明修正此前的战斗重试、持久化待领奖与失败恢复规则,以当前源码为准。
## 存档位置
- 自动存档保存征程角色、成长、牌组、金币和已经提交的地图进度。
- 不保存当前战斗、重试节点、重试遭遇、未确认的奖励选择或本场助战到场状态。
- 战斗结算候选与已选结果只在内存保存。过关并完成奖励选择后,一次性提交奖励、战后成长与完成节点。
- 战斗中卡牌带来的永久成长先更新内存,随过关结果保存,不单独覆盖地图存档。
- 战斗中或领奖确认前读档,回到上一次保存的地图;未完成节点仍可重新选择。
- 读取旧存档时忽略 `battleFlow`、`bondBattle` 与战斗临时卡牌效果 `sharedBattleCardEffects`,不自动进入旧战斗或失败弹窗。以后写入存档也不保留这些字段。
## 角色阵亡
阵亡后显示两个选项,无倒计时,也不自动提交失败:
1. **重新开始**:结束旧征程,以阵亡角色重新创建第一章征程,初始牌组、金币、生命、先天羁绊等按该角色的新征程配置初始化,不再次选择武将。
2. **返回主菜单**:结束旧征程、清除当前征程存档,并打开游戏模式选择菜单。
只在玩家点击其中一个选项后提交变更。等待选择期间,上一次地图存档一直保留,玩家无需抢在失败写档前读档。阵亡界面不提供绕过这两个选项的额外流程菜单。
旧征程的结束记录与存档替换或清除在同一事务中写入。写入失败时保持旧存档;内存中已选的新征程和奖励结果不重新计算,重试保存不会重复发奖或重复创建征程。重复提交使用同一已提交结果。
## 核对入口
- `progression/map-checkpoint.js`、`progression/mode-storage.js`:地图存档字段清理、旧档读取与事务写入。
- `battle/battle-settlement.js`:内存结算、同角色重开与最终提交。
- `battle/battle-flow.js`:阵亡等待选择及结算、清理顺序。
- `mode.js`:阵亡按钮、地图恢复、主菜单及战斗中成长延后保存。
- `ui/flow-ui.js`:阵亡界面关闭额外流程菜单。
实机验收建议:战斗中读档应回地图;阵亡弹窗停留后读档仍可继续原征程;点击重新开始应沿用当前角色从头开始;点击返回主菜单后旧征程应结束;过关奖励选择或跳过后再次读档不应重复发奖。
本次仅核对实际源码、语法和差异,未启动游戏或运行行为测试。