本模块作者为lhw (qq:1771472041)。
没错,现在这个东西就是隔壁胜率计算程序的竞品()
本程序基于Rust进行打包发布(GitHub),需要对应的运行环境。
本程序用于计算两个角色在各种典型场景下战斗的主要战斗结果期望:
- 单次战斗:击杀率、反杀率、双方均存活时的各自残余血量;
- 最终决战(10回合):胜率、平率、败率;
- 持续追打的战斗:开战有利度。
[Hp1][Atk1][Def1][Evd1] vs [Hp2][Atk2][Def2][Evd2]
示例输入:
411-1 vs 41-12
示例输出:
【411-1 vs 41-12】 (Hp/Atk/Def/Evd)
击杀率 : 0.25
反杀率 : 0.06
残余血量(双方均幸存时) : 2.7 / 2.8
最终决战(10回合,胜/平/负) : 0.67 / 0.00 / 0.33
开战有利度 : 0.26
SoraBot对接了本程序。
- 击杀率:单次战斗角色1一击击倒角色2的概率;
- 反杀率:单次战斗角色1被角色2击倒的概率,会因击杀率升高而降低;
- 残余血量(双方均幸存时):在双方均未被击倒的情况下,各自残余血量的期望值(如果100%被击倒,则期望值置于0);
- 最终决战:相当于最大程度模拟游戏中使用卡牌“最终决战”的效果,双方在一张战斗中攻击/反击最多10次,若最终无人倒下则视为战平;
- 开战有利度:角色1强制持续主动挑战角色2,如击倒角色2计1分但是被反杀则扣1分,每迟一个回合分出胜负,则加减分均减半。在上述情景中,得分的期望值即为开战有利度。注意与最终决战不同的是,开战有利度的计算没有10回合的限制(虽然差别极小),并且部分被动在最终决战模式和追打模式有所不同(如Iru的被动,在追打模式中每轮都触发,而最终决战里只触发一次)。
本程序面对攻击骰的防闪判断非常简单,按优先级从高到低:
- 更高的生存概率;
- 更高的残余血量期望;
- 防御。
截至2023/5/30,仅支持不考虑任何被动和buff的白板属性计算。