招魂术算法

录入:EvilP 作者: 翻译:
录入时间:2010-10-19 03:33:12 最后修改时间:2026-02-11 21:30:45
报错页面:传送门

招魂术可以将阵亡敌军驱役为骷髅兵,所有被击杀的敌方生物都计入在内,包括被牺牲的,镜像的,召唤的,甚至是战争机器。

机制

  • 如果战后队伍满 7 队,且只有骷髅战士没骷髅兵,则会招得骷髅战士。
  • 有宝物亡灵护身符、吸血鬼披风、死神靴分别增加 5% / 10% / 15% 的驱役比例。
  • 三件宝物可以组合成鬼王斗蓬,合成此宝后,招魂的生物不再仅是骷髅,而是根据招魂术等级变为行尸、幽灵或尸巫。计算规则不变,但需用新生物的生命值进行生命值计算,因此实际数量会减少。
  • 如果部队的 7 个格子已满,且其中已有招魂生物的升级形态(如骷髅勇士),则招魂出的会是升级兵种,但数量会变为正常数量的 2/3(向上取整)。这与生命值无关,是直接的数量惩罚。
  • 在有鬼王斗蓬的情况下,无招魂术的英雄也能按 30% 招魂出骷髅兵。

算法

  1. 基础计算:招魂术的效果百分比由技能等级、英雄特长、建筑和宝物共同叠加,上限为100%。
  2. 分队计算:战场上的每支敌方部队都会单独计算可招魂的数量,最后将各队结果相加。
  3. 双重限制与生命值效率:每支队伍的招魂数量受以下两种算法约束,并取其中数值较小的一个作为结果:
  4. 按数量计算:招魂数量 = 该部队死亡数量 × 招魂效果百分比。计算结果向下取整。
  5. 按生命值计算:招魂数量 = (该部队总生命值 × 招魂效果百分比) ÷ 骷髅兵生命值(6点)。计算结果向下取整。
  6. 对于生命值低于6的生物(如农民HP=1),会有一个效率惩罚,即上述公式中的生命值效率修正。

具体计算示例

假设英雄拥有高级招魂术(基础30%),无其他加成。

对战高生命值部队:消灭一队100个十字军(HP=35)。

按数量计算:100 × 30% = 30个

按生命值计算:(100 × 35 × 30%) ÷ 6 = 1050 ÷ 6 = 175个

最终招魂30个骷髅兵(取较小值)。

如果这100个十字军分为三队(34, 33, 33):

第一队:34 × 30% = 10.2→ 10个

第二队:33 × 30% = 9.9→ 9个

第三队:33 × 30% = 9.9→ 9个

最终招魂 10 + 9 + 9 = 28个骷髅兵。可见分队导致收益降低。

对战低生命值部队:消灭100个农民(HP=1)。

按数量计算:100 × 30% = 30个

按生命值计算:(100 × 1 × 30%) ÷ 6 = 30 ÷ 6 = 5个

最终仅招魂5个骷髅兵(取较小值)。