#经验分享 #战法机制 #战法搭配 #进阶
一个常见的误解 很多人给武将分配两个主动战法时,会想当然地认为"两个战法各自按自己的发动率摇骰子,谁摇中打谁的"——比如甘宁带上 A 战法(发动率 65%)和 B 战法(发动率 40%),以为每回合是两个独立事件,运气好甚至可能都不发动,运气差也不至于互相影响。但战斗引擎的真实规则完全不是这样:一个武将一回合最多只会命中一个"常规主动战法",而且判定是按 tacticsoverride 列表里战法的先后顺序、逐个尝试的——排在前面的战法先抛骰子,只要它中了,排在后面的战法当回合就完全没有机会,哪怕它标出的发动率比前面那个还高。 引擎到底怎么判定 战斗引擎在武将的"常规行动阶段"会按顺序遍历这个武将的战法列表:先检查第一个战法是否满足触发条件(兵种限制、主副将限制、回合限制等),满足则抛一次它自己的概率骰子;如果没中,才会轮到第二个战法抛它自己的骰子;只要有一个战法命中,本回合就不会再检查后面的战法了。换句话说,战法位的顺序等于判定的优先级顺序——不是"同时开奖",而是"排队开奖,开中即止"。需要强调的是,这条规则只针对"主动"(active)类战法之间的竞争,下面会讲一个重要例外。 数学上会发生什么:后面的战法被打了折 排在第一位的战法,实际触发率就是它自己标出的发动率(65% 就是 65%);但排在第二位的战法,实际触发率会打折扣——需要先等第一位"没摇中"(概率是 1-第一位发动率),然后才轮到自己抛骰子。如果第一位发动率是 p1、第二位是 p2,第二位的实际触发率就是 (1-p1)×p2,永远小于等于 p2 本身。举例:p1=65%、p2=40%,第二位的实际触发率只有 (1-0.65)×0.4=14%,而不是它标出的 40%——足足打了 3.5 折。位置越靠后,被稀释得越厉害。 实测:同一武将、同一战法组合,只换顺序,跑 300 场 为了验证这不是纸面推导,我们用甘宁实际跑了模拟对局:给他分配同样两个主动战法——草船借箭(发动率 65%)和形机军略(发动率 40%)——分别用两种顺序各模拟 300 场 8 回合战斗(固定对手为关羽/张飞/赵云,seed 从 1 到 300),从战报里精确统计这两个战法真正"命中并执行"的次数。 结果: - 顺序【草船借箭排第一,形机军略排第二】:草船借箭 300 场里一共命中 1351 次(场均 4.503 次),形机军略只命中 289 次(场均 0.963 次)。 - 顺序【形机军略排第一,草船借箭排第二】:形机军略命中 865 次(场均 2.883 次),草船借箭命中 770 次(场均 2.567 次)。 同一个武将、同一组战法,仅仅调换了两个战法在列表里的顺序,草船借箭的实际命中次数就从场均 4.5 次骤降到 2.6 次——降了 43%;形机军略则从场均 0.96 次涨到 2.88 次——涨了近 2 倍。这组实测数字和 (1-p1)×p2 公式算出来的理论值几乎完全吻合(理论值:0.14×约7个有效回合≈0.98,实测0.963;0.39×约7个有效回合≈2.73,实测2.567),说明"排队开奖、开中即止"就是引擎的真实规则,不是巧合或运气。 重要例外:突击战法不占这个队列 这条"排队规则"只适用于"主动"(active)类战法之间的竞争。"突击"(strike)类战法走的是完全不同的判定通道——它们绑定在"普通攻击之后"这个事件上,每次普通攻击后单独判定一次,不占用、也不参与上面这个"战法位排队"。实测中我们让甘宁带上草船借箭(主动)+当锋摧决(突击),无论把当锋摧决放在第一位还是第二位,草船借箭的命中次数都是完全相同的 1369 次(300 场)——因为当锋摧决压根不在同一个队列里排队,它是普攻之后自动摸一次奖,互不干扰。这意味着"1个主动战法+1个突击战法"的组合,两者都能拿到接近各自标出发动率的真实触发率,比"2个主动战法"堆在一起更划算——没有谁被稀释谁。 实战建议 配置一个武将的两个战法位时,可以用这几条判断标准: 1. 如果两个都是"主动"类战法,一定要想清楚优先级——真正想要更高出场率的核心战法,放在战法位第一位;发动率较低、或者"锦上添花"性质的战法放第二位,并接受它会被明显稀释这个事实。 2. 不要指望"两个主动战法都能按各自标称发动率独立触发"——这在引擎里不成立,排第二位永远吃亏,而且吃亏程度取决于第一位的发动率有多高。 3. 优先考虑"1主动+1突击"或"1主动+1被动/指挥"的组合,而不是"2主动"堆在一起——突击、被动、指挥类战法大多走独立的判定通道,不会挤占主动战法的判定机会,触发率更接近标称值,练度不会被白白浪费。 4. 如果确实需要两个高价值主动战法(比如一个控制、一个爆发),可以接受"核心控制放第一位、爆发放第二位"这种取舍,但要清楚这是在主动牺牲第二个战法的出场率,而不是随手排列。 参考来源 本文的战法判定规则来自战斗引擎 core/engine/battle.py 的实际逻辑(战法位遍历、每回合最多命中一个常规主动行动效果、突击类战法独立走事件通道),触发次数数据来自 2 组 x 300 场的真实模拟战斗记录统计,非理论推算或第三方资料。