技能算法 - Abilities` Efficiency
录入时间:2011-10-19 19:33:01 最后修改时间:2018-02-12 09:42:04
技能/能力算法
这部分讲述的是英雄能力和兵种能力的效果算法,比如魔法伤害范围,buff/debuff的强度,效果持续时间等等。
在资料中会出现如下这样的效果描述:
- X/Y/Z,资料中出按声誉等级分别 X/Y/Z的代表:X为无声誉等级时(基础职业),Y为一阶声誉时(250点+声誉转职后),Z为二阶声誉时(1000点满转职后)的参数;
- +数量加成(+num),或者就说是×该队兵种的数量,当为英雄时计为1;
- +指数加成(+stats),英雄对应的属性给予的加成;
- +英雄等级加成(+level ),英雄的等级给予的加成;
- +总生命加成(+power),对应部队整支军队的总生命值影响,和指数加成一起出现;
- +防御加成(+power2 ),物理或者力量防御属性的影响,和指数加成一起出现;
通常说明里的格式会是这样:基础值(+修正1, +修正2...)
比如火矢的伤害介绍就是:对目标发射一束火焰,按声誉等级分别造成652/750/862(+指数加成, +等级加成)点火焰伤害。
也就是这魔法在无血系声誉等级/一阶血系/二阶血系的英雄身上基础伤害分别是652/750/862。然后还要受到双方英雄指数的影响(施放方修正×目标方修正),以及英雄等级的加成。
英雄等级加成算法
0.101 + 0.031 ×( 当前英雄等级 - 1)
大约也就是基础10%,每级3%,满级30级为100%。
指数加成算法
施放方修正×目标方修正;结果取值范围为0.5 ~ 2;
- 施放方修正,施放英雄的物理/魔法力量指数的影响修正,算法:(1+力量/100)^2.5;这里的力量值,在力量系能力里用物理力量属性,魔法系则是对应的魔法力量值;
- 目标方修正,目标方英雄或者兵种的防御属性修正,算法:1÷[(1+防御/100)^2.5];这里的防御属性,当目标是兵种时,为兵种本身对应防御属性+英雄属性叠加(打野兵则英雄属性为0),当目标是本方部队或者在召唤元素时,使用的是敌方英雄的对应防御属性;
结合起来的公式就是:
[(100+力量)÷(100+防御)]^2.5
附注1:这部分其实和兵种直接攻击的伤害算法一样。
附注2:游戏显示的兵种防御百分比其实是兵种的防御系数,而不是这里使用的防御值,两种指数的算法见这里,本站兵种资料里防御属性有两个值,|前的防御值,|后的是防御系数百分比。
总生命加成算法
只对兵种能力有效,只有在先有指数加成的情况下才会出现,有此参数时,加成算法变为:
施放方修正×目标方修正×生命值修正
- 施放方修正的目标方修正同上;
- 生命值修正为:主动方总生命值÷被动方总生命值;
- 加上这一段修正后,最后的修正值取值范围依然是0.5 ~ 2;
防御加成算法
只对兵种能力有效,只有在先有指数加成的情况下才会出现,有此参数时,加成算法变为:
指数加成=目标方修正
目标方修正为指数加成算法中的目标方修正,也就不计施放方修正。加上这一段修正后,最后的修正值取值范围依然是0.5 ~ 2。
整体公式
基础效果×数量修正×等级修正×指数修正×其它影响
以上修正值描述中没有提到均视为1,后面其它的影响包括比如宝物或者其它能力的加成;
不过游戏里显示的数字很多都是一方加成算过的,比如英雄魔法书里显示的是加成过施放方修正的,而兵种显示的防御抗性也是计算过目标方修正的;所有又有:
最终结果=技能描述效果×(100% - 目标方抗性)
举例如下:
一个等级7的英雄,魔法力量属性为6,一级血系进阶,使用闪电魔法攻击一队野外的劲弩手(魔法防御为3也就是7%);闪电的伤害为:847/975/1121(+指数加成, +英雄等级加成), 那么:
- 基础伤害为975点;
- 等级修正为:0.101+0.031×( 7−1) = 0.287;
- 施放方修正为:(1+6÷100)^2.5=1.157;
- 目标方修正为:1÷[(1+3/100)^2.5]=0.929;
- 所以指数修正为:1.157×0.929=1.07;在0.5 ~ 2的范围内,不需要限制;
- 那么在施放方的右键描述里应该显示为:957×1×0.287×1.157=324;
- 算上目标方加成后:957×1×0.287×1.07=300.64≈301 ( 四舍五入);
本方英雄带领一队140的魅魔(升级过的),对一队180的禁卫(升级过的)使用迷惑能力;
英雄的魔法力量属性为19,并且点了3级的源力魔法,源力系有效魔法力量+9;
目标英雄魔法防御为7,二级血系进阶,三级强壮(战争系加兵种生命值的被动能力,这里总共+6%),也就是禁卫的生命值为36;
迷惑的描述:目标生物无法移动,攻击和使用任何能力,持续0.9(+指数加成, +总生命值加成) 回合,如果目标受到伤害效果消失。
那么:
- 基础效果0.9,数量修正1,等级修正1;
- 施放方修正:[1+(19+9)÷100]^2.5=1.854;
- 目标方修正:1÷【[1+(5+7)/100]^2.5】=0.753;
- 总生命值修正:(24×140)÷(36×180)=0.519;
- 所以指数加成为:1.854×0.753×0.519=0.724;
- 最终结果:0.9×1×1×0.724=0.652≈1 回合( 四舍五入);
附注
游戏里将指数修正的上下限定义0.5和2,结果值四舍五入,意味着像基础值为0.9的能力最终效果持续时间范围是0.9×[0.5~2]=[0.45~1.8]≈[0~2]回合,而像时间停滞这种设定为1.4回合的则为1.4×[0.5~2]=[0.7~2.8]≈[1~3]回合,也就是至少1回合。