技能系统
虽然在我们习惯的中文语境中英雄的属性和技能是两个词,不过在游戏的英文原文描述中,英雄的攻击、防御、力量、知识四项属性被称为主要技能(Primary Skill),而 28 个英雄技能被称为次要技能(Secondary Skill)。
技能等级
技能分为初级(Basic)、高级(Advanced)和专家级(Expert)三个等级,不过简体中文使用的译法是初级、中级、高级。
技能分类
技能大致可以分为 3 类,战斗技能,魔法技能,冒险技能。
- 战斗技能:进攻、防御、箭术、战术、领导、幸运、抵抗、炮术、急救、弹道。
- 魔法技能:智慧、学术、鹰眼、气系、土系、水系、火系、魔力、智力、神秘。
- 冒险技能:后勤、寻路、航海、侦察、学习、理财、外交、招魂。
技能槽数量(8个)
每个英雄最多只能学习 8 个技能。一旦学满,后续升级将不再提供学习新技能的机会,只能提升已有技能的等级。每个英雄默认还自带 1~2 个技能。
技能获取方式
- 通常英雄通过升级来获取技能,每次升级时有两个选项,如果现有技能槽没填完并且现有技能都未达到高级,则会出现一个现有技能的升级选项,和一个新技能的选项,你需要在两个选项中选择一个。
- 那种监狱里的高等级英雄,或者战役里初始高等级的随机英雄,均是左脑选择左边的结果。
- 除此之外英雄还可以通过地图上的特殊建筑,比如:学院(四个供选),以及一次性的学者处获得技能。
- 女巫小屋:只要你的英雄技能槽未满,访问就会强制免费学习该小屋绑定的初级技能,如果英雄已掌握该技能则无事发生。可以突破英雄职业的技能学习限制。
- 学者:有几率免费教授英雄一个技能,可以突破英雄职业的技能学习限制。学者被英雄访问后会消失。
- 学院:随机提供四个技能(但开局后固定),允许访问英雄花费 2000金币/个的代价学习四个技能中的一个,无法突破英雄职业的技能学习限制。
- 魔法学院:元素城的特殊建筑,相当于是一个固定四系魔法技能的学院。
- 地图事件和潘多拉魔盒。
种族与职业限制
不同种族的英雄在学习特定技能上存在天然壁垒,这直接决定了英雄的流派定位。
- 墓园是唯一能在升级学习招魂术的种族,或者说权重表中招魂术大于 0 的职业,其他职业无法在升级时习得。
- 领导术:墓园英雄无法在升级时获得此技能。
- 急救术:墓园英雄无法在升级时获得此技能。
- 抵抗力:学院、地下城、要塞、元素城的法师英雄无法在升级时获得此技能。
- 水系魔法:地下城和据点的力量英雄无法在升级时获得此技能。
- 火系魔法:壁垒和要塞的力量英雄无法在升级时获得此技能。
- 航海术:据点魔法英雄无法在升级时获得此技能。
- 理财术:墓园力量英雄无法在升级时获得此技能。
强制技能出现规则
- 魔法英雄:每 3 级强制出现一次学习/升级【智慧术】和【四系魔法】的机会。
- 力量英雄:每 6 级强制出现一次学习/升级【智慧术】,每 4 级强制出现一次学习/升级【四系魔法】的机会。
- 元素英雄:均按力量英雄规则计算。
优先级顺序
- 智慧术强制出现(如果满足级差且未达到专家级);
- 四系魔法强制出现(如果满足级差);
- 已有技能升级(按概率权重随机选择);
- 新技能学习(按概率权重随机选择);
详细算法流程
已有技能升级阶段
- 判断智慧术强制升级:计算当前等级与上次智慧出现的等级差,若达到级差要求(魔法3/力量6)且智慧未达专家,则强制选择智慧术升级。
- 判断四系魔法强制升级:若智慧未强制触发,计算当前等级与上次四系出现的等级差,若达到级差要求(魔法3/力量4),则从已学的四系魔法中随机选择一个升级(机会均等)。
- 常规随机升级:若以上均未触发,从所有已学但未达专家的技能中随机选择,选择概率与各技能的权重成正比。
新技能学习阶段
- 判断智慧术强制学习:若未学会智慧且达到智慧级差要求,强制学习智慧术。
- 判断四系魔法强制学习:若智慧未强制学习且达到四系级差要求,优先从已学但未达专家的四系中选择,若无已学四系,则从未学的四系中按概率权重随机选择。
- 常规新技能学习:若以上均未触发,从未学的技能中按概率权重随机选择。
特殊机制说明
- 元素技能间隔:若在2级学到元素技能,后续在6、10、14、18、22级出现;若在4级学到,则在8、12、16、20级出现。
- 墓园英雄:拥有招魂术,四系规则从2级开始计算。
- 记录机制:每次出现智慧或四系技能,会记录当前等级,用于计算下次强制出现的时机。
- 升级与学习的关系:若在强制时机通过升级方式提升了四系技能,该次仍算作“出现元素技能”,重置计时。
随机数生成与技能选择算法
随机数生成
游戏开始时生成0-255的随机数种子 r,每次升级使用迭代算法生成随机序列:
每个英雄的技能随机种子都是独立的,并且在游戏开始时就已固定,包括那些尚未被任何玩家招募的英雄。因此,即使你重新加载游戏,以不同的顺序招募、再次招募和升级你的英雄,他们在升级时获得的技能顺序仍然相同。唯一可以改变这些技能顺序的方法是获得非正常升级途径的辅助技能,例如从女巫小屋或学院处获得。
- r0 = {r * 26497 + (等级+1) * 0x343fd + 0x259df} // 取后32位
- r1 = {r0 * 0x343fd + 0x269ec3}
- r2 = {r1 * 0x343fd + 0x269ec3}
- r3 = {r2 * 0x343fd + 0x269ec3}
(注:{}表示取后 32 位,十六进制数值)
技能选择算法
- 生成随机数k:取ri的高16位去掉最高位得di,di除以(n-m+1)得余数ki;
- 计算概率总和:
s1 = 所有已学但未成专家技能的学习可能值之和
s2 = 所有未学技能的学习可能值之和 - 概率判定:
从1-64生成k1,依次减去各属性的权重,当差值为负时选择对应属性
从1-s1生成k2,依次减去已学技能的权重,选择对应技能
从1-s2生成k3,依次减去未学技能的学习可能值,选择对应新技能
不同职业的技能权重
每个英雄职业 28 个技能的权重总和均为 112,在计算出现哪个技能时就会抽取可以出现的技能的权重相加,然后依权重在其中按算法获取一个。
| 进攻 | 防御 | 箭术 | 战术 | 领导 | 幸运 | 抵抗 | 炮术 | 急救 | 弹道 | 后勤 | 寻路 | 航海 | 侦察 | |
| 骑士 | 7 | 5 | 5 | 7 | 10 | 3 | 5 | 5 | 2 | 8 | 5 | 4 | 8 | 4 |
| 牧师 | 4 | 3 | 3 | 2 | 2 | 5 | 2 | 2 | 10 | 4 | 4 | 2 | 5 | 3 |
| 巡逻兵 | 5 | 8 | 8 | 5 | 6 | 6 | 9 | 6 | 3 | 4 | 5 | 7 | 3 | 7 |
| 德鲁伊 | 1 | 3 | 5 | 1 | 2 | 9 | 1 | 1 | 7 | 4 | 5 | 5 | 2 | 2 |
| 炼金术士 | 6 | 8 | 5 | 4 | 3 | 2 | 5 | 4 | 2 | 6 | 6 | 4 | 3 | 4 |
| 术士 | 1 | 1 | 2 | 1 | 4 | 4 | 0 | 1 | 7 | 4 | 2 | 2 | 1 | 2 |
| 魔鬼 | 8 | 7 | 6 | 6 | 3 | 2 | 6 | 5 | 2 | 7 | 10 | 4 | 4 | 5 |
| 异教徒 | 4 | 4 | 4 | 4 | 2 | 2 | 3 | 4 | 5 | 6 | 3 | 4 | 2 | 3 |
| 死亡骑士 | 7 | 5 | 5 | 5 | 0 | 1 | 5 | 5 | 0 | 7 | 5 | 4 | 8 | 4 |
| 巫师 | 3 | 2 | 2 | 2 | 0 | 1 | 1 | 3 | 0 | 5 | 4 | 6 | 5 | 2 |
| 地下领主 | 8 | 6 | 6 | 10 | 8 | 1 | 6 | 8 | 1 | 7 | 8 | 5 | 4 | 5 |
| 妖术师 | 1 | 1 | 2 | 1 | 3 | 2 | 0 | 1 | 6 | 6 | 2 | 2 | 4 | 2 |
| 野蛮人 | 10 | 6 | 7 | 8 | 5 | 3 | 6 | 8 | 1 | 8 | 7 | 8 | 2 | 8 |
| 战斗法师 | 8 | 4 | 4 | 5 | 4 | 2 | 4 | 4 | 4 | 6 | 9 | 4 | 0 | 4 |
| 驯兽师 | 5 | 10 | 7 | 6 | 5 | 2 | 5 | 8 | 6 | 7 | 8 | 8 | 8 | 7 |
| 女巫 | 2 | 4 | 3 | 1 | 1 | 4 | 0 | 1 | 8 | 8 | 3 | 2 | 6 | 2 |
| 元素人 | 9 | 5 | 8 | 8 | 3 | 2 | 2 | 8 | 1 | 8 | 8 | 6 | 5 | 6 |
| 元素使 | 1 | 1 | 2 | 1 | 3 | 2 | 0 | 1 | 4 | 4 | 2 | 2 | 4 | 2 |
| 智慧 | 气系 | 土系 | 水系 | 火系 | 魔力 | 智力 | 神秘 | 学术 | 鹰眼 | 学习 | 理财 | 外交 | 招魂 | |
| 骑士 | 3 | 3 | 2 | 4 | 1 | 1 | 1 | 2 | 1 | 2 | 4 | 6 | 4 | 0 |
| 牧师 | 7 | 4 | 3 | 4 | 2 | 5 | 6 | 4 | 6 | 6 | 4 | 3 | 7 | 0 |
| 巡逻兵 | 3 | 1 | 3 | 3 | 0 | 2 | 2 | 3 | 1 | 2 | 4 | 2 | 4 | 0 |
| 德鲁伊 | 8 | 2 | 4 | 4 | 1 | 6 | 7 | 6 | 8 | 7 | 4 | 3 | 4 | 0 |
| 炼金术士 | 6 | 4 | 3 | 2 | 1 | 3 | 4 | 4 | 3 | 3 | 10 | 4 | 3 | 0 |
| 术士 | 10 | 6 | 3 | 3 | 2 | 8 | 10 | 8 | 9 | 8 | 4 | 5 | 4 | 0 |
| 魔鬼 | 4 | 2 | 3 | 1 | 4 | 3 | 2 | 2 | 2 | 3 | 4 | 3 | 4 | 0 |
| 异教徒 | 8 | 3 | 4 | 2 | 5 | 6 | 6 | 10 | 5 | 4 | 4 | 2 | 3 | 0 |
| 死亡骑士 | 6 | 2 | 4 | 3 | 1 | 4 | 5 | 4 | 2 | 4 | 4 | 0 | 2 | 10 |
| 巫师 | 8 | 3 | 8 | 3 | 2 | 6 | 6 | 6 | 6 | 7 | 4 | 3 | 4 | 10 |
| 地下领主 | 3 | 1 | 3 | 0 | 2 | 2 | 1 | 3 | 1 | 2 | 4 | 4 | 3 | 0 |
| 妖术师 | 10 | 2 | 5 | 2 | 5 | 10 | 8 | 8 | 8 | 8 | 4 | 5 | 4 | 0 |
| 野蛮人 | 2 | 3 | 3 | 0 | 2 | 1 | 1 | 3 | 1 | 2 | 4 | 2 | 1 | 0 |
| 战斗法师 | 6 | 3 | 3 | 3 | 3 | 6 | 5 | 4 | 4 | 5 | 4 | 1 | 3 | 0 |
| 驯兽师 | 2 | 1 | 3 | 2 | 0 | 1 | 1 | 2 | 1 | 1 | 4 | 1 | 1 | 0 |
| 女巫 | 8 | 3 | 3 | 3 | 3 | 8 | 7 | 8 | 7 | 10 | 4 | 1 | 2 | 0 |
| 元素人 | 2 | 2 | 3 | 2 | 3 | 1 | 1 | 3 | 1 | 2 | 8 | 3 | 2 | 0 |
| 元素使 | 8 | 6 | 6 | 6 | 6 | 8 | 8 | 8 | 8 | 8 | 4 | 3 | 4 | 0 |