Skip to content

v1.0.3

Choose a tag to compare

@bingyang1132 bingyang1132 released this 12 Sep 07:19
· 19 commits to main since this release

对标的版本

版本 从哪拿
自动战斗求解器 0.36.3 工坊 / GitHub
观者(Boninall) 0.9.28 创意工坊
游戏 0.111.0

本 Mod 的清单里求解器写的是最低版本 0.32.0,不是精确版本。低于它、或者缺了某个登记入口,
本 Mod 会干净地拒绝加载并在日志里写明缺什么。

这一版改了什么

修好:抽牌堆空的时候预见算成了空操作

有人报「牌库没牌的时候预见会卡住」。查下来是我们的镜像少了一步。

观者 0.9.28 的预见(两个入口都一样)在取牌之前会先调 CardPileCmd.ShuffleIfNecessary
抽牌堆空、弃牌堆有牌时,把弃牌堆洗回去再看,洗完照常弹选牌页面。我们的镜像跳过了这一步,
直接当成「没牌可看」返回。

后果不是数值算错一点,而是路线和实机分叉:求解器以为这一步什么都没发生,实机却弹出一个
选牌页面,自动出牌停在那里等一个路线上不存在的选择。

当初跳过是有理由的——洗牌会触发美琅脂的洗牌后预见,原版那条路可能递归。但递归是有界的:
洗完抽牌堆就不空了,那次预见不会再洗第二遍。所以现在照原版洗,只会洗一次。

同一处还顺带修正了结算顺序:抽牌堆和弃牌堆空时,原版直接返回,不结算预见的连带效果;
我们以前会照样给涅槃的格挡、照样把弃牌堆里的迂回收回手里。现在这两样都挪到了那道门后面。

求解器侧的一条,本版还修不了:斋戒

斋戒(WatcherFasting2)挂的 EnergyDownPower 会让你每回合开始少一点能量。求解器在
「回合开始重置能量之后」这个时点的能力结算是一张写死的原版白名单,没有第三方登记入口,
所以本 Mod 想认也认不了:从打出斋戒的下一回合起,求解器每回合都以为自己多一点能量,
执行下来对不上,于是每回合重算。

更麻烦的是它连红字都不报——别的钩子漏登记会记一条「未镜像」风险,这个时点不经过注册表,
只是静默跳过。

已经给上游提了 PR 开这个登记点:CombatSolver#88。上游合并并发版之后,本 Mod 会跟一版把它登记上。
在那之前:牌组里有斋戒的话,那一局的路线会反复重算,别当成卡死。

已知不准的地方

2 处

  • 画符(WATCHER_DRAW_TALISMAN)的批量临时附魔。不会静默算错,求解器会在路线上打红字。
  • 斋戒的每回合减能量。会静默算错,见上。

完整清单在 docs/VERIFICATION.md

验收

  • Release 编译 0 警告 0 错误,对求解器 0.36.3。零警告同时说明观者 0.9.28 的哈希与钉死的
    那一版一致。
  • 验收矩阵从 32 条加到 33 条,新增 WATCHER-SCRY-SHUFFLES-EMPTY-DRAW:抽牌堆空、
    弃牌堆四张打击,天眼的预见仍然要开出选牌分支——洗牌没做的话看到的是 0 张,分支数为 0。
  • 反向对照做过:把那一句洗牌注掉重新构建,这条立刻挂;恢复后重新通过。
  • 全量 33 条全部通过(2026-09-12 01:51–02:12,求解器 0.36.3 + 观者 0.9.28 + 游戏 0.111.0)。
    0 失败、0 未运行,21 分钟跑完。跑的是求解器 v0.36.3 的本地 Release 构建。
  • 这一版没有原版角色的回归证据——矩阵只覆盖观者。发现不对请报 Bug。

报 Bug

求解器自带问题包导出。导出后开 issue 附上它,说明你装的是工坊版还是 GitHub 版。欢迎捉虫!