摘要
Simulator 是本项目自己实现的战斗规则引擎。本批在用户授权下新增规则版本 Core383:黑洞法术改用与绝望、脆弱等控制法术相同的“施法中心”校验;奈拉之吻在反击完成后对目标做完整刷新。同时为场地障碍物(水晶、树人死后留下的石块)补上合法生命周期测试。全量回归新增坏节点 0。另发现黑龙攻击障碍物时漏伤后方单位,用 2 个严格预期失败(已知缺陷测试,修好后会报警,不计为通过)固定,本批未修复。
要回答的问题
哪些格子可以作为法术中心?障碍物在创建、被打碎、到期后是否正确阻挡和放行?奈拉之吻的二次攻击会不会用旧的单位对象覆盖新状态?
方法
- 新建私有的中心选择模块,集中处理地图有效格、结构阻挡、占据单位/尸体和施法免疫;菜单、预览、执行共用同一判断。地图外、障碍物、完全魔免单位不能作中心;“伤害免疫”不会被错误升级为“施法免疫”。不把所有法术一概改成同一目标规则。
- 奈拉之吻:致死时不触发第二击,四级减速保留,护盾不会被旧对象恢复;上一批 45 组候选配对迁移到真实的 380/381/382 与 383 引擎。
- 障碍物:真实施法创建水晶、真实击杀树人生成石块;检查一/两次攻击摧毁、到期、冷却独立、移除后可移动、黑洞中心恢复、再次创建重新阻挡;每步 JSON 续算,最终完整回放。
设置
BattleCatalog.load 加相应开关选择 Core383;380–382 仍按原语义回放。新建 Web 服务采用 383,已有进程未重启,旧存档按原版本重建。
结果
- 聚焦 485 通过、2 严格预期失败;公共边界/依赖/AI/索引专项 48 通过;障碍物生命周期 6 项通过。
- Simulator 全量 12095 通过、65 失败、2 跳过、152 严格预期失败(408.39 秒)。与上一批逐节点比较:新增坏节点 0、遗漏 0,新增 60 通过与 2 个严格缺口;65 个失败是此前未完成的来源门禁。
- 上一批保存的 45 份 380/381/382 真实对局用本次引擎重放全部通过;另存 15 份 Core383 对局、194 次操作。自然 AI 对战 0。
- 消费者全量 11327 通过、3 失败、20 跳过(1286.81 秒)。3 个失败都是 Arena 一个 Node 测试夹具只提取了调用方、漏了真实的范围预览函数;补载后相关 36 项串行重跑全部通过,没有修改产品代码或放宽断言。
失败与负结果
- 黑龙攻击水晶/石块后方的单位不掉血。原因定位:物件攻击分支只在形状查询返回已审阅绑定时进入有序结算,而该查询当时只收录凤凰;黑龙落入“只扣一次耐久”的分支。不能简单在全局查询里加绑定,因为那会改变旧版本行为;模板中后格的延迟值为 0.1,且有一个方向后格索引先于主目标,需先核对延迟调度。
- 串行全量因耗时改为每组 8 个 worker,未完成日志单独保留,不计入结果。
局限
复用共享判断能减少重复实现错误,但不能证明另一个法术必然正确;每条绑定仍需独立校验 ID、倍率、标签、持续时间和顺序。
结论与下一步
Core383 的两项修正已验证。黑龙龙息的物件锚点随后在 Core384 接入(见实验 0334 的进度记录)。
Comments