英雄联盟(LOL)作为MOBA类游戏里极具代表性的一款作品,它的数值也颇具拆解价值(英雄联盟色剂丝!!!)。
本着科学严谨的态度,我对数值进行了细致认真的测试,一些结论是没有办法通过搜索直接得到的。(例如在这里提一个小问题:穿甲、护甲穿透、固定数值护甲削减、百分比护甲削减的区别和结算顺序是怎样的?)
本文适用于对数值感兴趣的玩家阅读,因为预计的工作量较大、测试数据较多,因此难免有错误,恳请批评指正~(每一节后面随机掉落思考题,应该还是比较有意思的,嗯)
首先从游戏本身开始进行数值拆解:
第一章 游戏内数值:战斗数值
在英雄详情界面,可以看到如下基础战斗属性词条:
这些词条是构筑英雄联盟战斗数值的基础。下面将依据这些基础词条,将战斗数值拆解为若干个部分。
在战斗数值拆解过程中,除了这些显性词条,也会涉及到经济经验词条(如等级等)、DEBUFF(如护甲削减等)、子词条(如攻击速度收益等)、隐性词条(如攻击前摇、碰撞半径等)。
1.1 物理攻防数值
1.1.1 基础计算公式(攻击力、护甲)
在进行攻击时,使用的是标准乘法公式:
若是造成物理伤害的技能,则只需要将上述己方攻击力替换成面板伤害即可:
后续的计算均在此公式的基础上进行演绎。
关于上述公式的注意点:
边界问题:一般认为攻击力和护甲都为非负数值。但在游戏过程中,由于BUFF、DEBUFF等因素的存在,上述值未必均为非负数值,如果为负数,遵循以下处理规则:
(1)面板伤害(含普通攻击)为负:不造成伤害,也不会给对方回复生命值。但会触发野怪仇恨,受到反甲的伤害,且不会中断他人回城;面板伤害为0时也为此效果。
(2)护甲为负:遵循和上述公式类似的计算法则,仅仅是将减少伤害修改为增加伤害,即
例如当对方的护甲为-100时,目标所受到伤害为面板伤害的150%;当护甲趋于负无穷时,目标所受伤害趋于面板伤害的2倍。
在对公式进行扩充前,还需要对公式中的变量进行更深入的拆解:
1.1.2 护甲(护甲、穿甲、护甲穿透、护甲削减)
在基础公式中,护甲的计算还要受穿甲、护甲穿透、护甲削减等词条的影响。为此,先要对其中的部分词条作一说明
1.1.2.1 护甲
护甲是一个成长属性,所谓成长属性是指绝大部分英雄随等级提升的属性(崔丝塔娜随等级提升攻击距离,赛娜不随等级提升攻击力,但他们都是个例),并且表现为随等级线性增长,这些属性包括攻击力、护甲、魔法抗性、攻击速度、生命回复、法力回复、生命值、法力值。他们都满足
*注:在很多地方会将“1级属性“称为”基础属性“,实际意义不同,这里作严格区分。(特别是需要区别基础攻击力的时候)
对于护甲而言,则是
来源于装备、符文、技能、BUFF等的护甲都称为额外护甲。当存在额外护甲时,该属性对应高亮。一个单位的最终护甲(后续护甲如无特殊说明,都是这里的最终护甲)是
有几点需要特别注意:
(1)在后续穿甲、护甲穿透、护甲削减的计算中,考虑的都是最终护甲。
(2)在计算百分比护甲提升时,以(基础护甲+额外护甲中的固定数值)作为基数进行乘算。在13.1版本前,乘算关系彼此动态叠加,因此会导致护甲异常增大;13.1版本后,由于千变者贾修的出现,这个问题得到了部分修复,但在波比、塔里克、雷恩加尔三个英雄上,此问题仍存在。(可见后面思考题)但就正常情况而言,百分比护甲应是静态乘算。
1.1.2.2 穿甲
穿甲满足以下规则:
(1)按固定数值计算;
(2)不同来源的穿甲按加法计算;
(3)穿甲的收益随等级提升,实际收益称为无视护甲。以10点穿甲为例,在1级时无视6点护甲,在18级时则无视10点护甲。
(4)仅在你的伤害结算时起效,对对方的实际护甲没有影响,也就不能让队友享受这一效果。
1.1.2.3 护甲穿透
护甲穿透满足以下规则:
(1)按百分比数值计算;
(2)不同来源的护甲穿透按乘法计算;
例如,你同时拥有来自神圣分离者神话被动提供的15% 护甲穿透和凡性的提醒提供的30%护甲穿透,那么实际的护甲穿透为
(3)护甲穿透的收益与等级无关。
(4)仅在你的伤害结算时起效,对对方的实际护甲没有影响,也就不能让队友享受这一效果。
(5)先结算护甲穿透,再结算穿甲。
(6)穿甲和护甲穿透的收益至多等于目标的护甲。(即不能通过使穿甲和护甲穿透大于护甲的方式实现额外增伤,最多造成面板伤害,这与负护甲是不同的)
1.1.2.4 护甲削减
护甲削减并不是基础属性,它是一种DEBUFF,将直接作用在对方的护甲上。满足以下规则:
(1)既存在固定数值削减(如库奇【E】格林机枪),又存在百分比削减(如黑色切割者)。
(2)不同来源百分比护甲削减按乘法计算。
(3)这是一个DEBUFF,因此对对方的实际护甲有影响,队友也能享受到这一加成。
(4)与穿甲/护甲穿透不同,先结算固定数值削减,再结算百分比削减。
(5)护甲削减可以使目标成为负护甲。
注:关于穿甲的结算顺序:在较旧版本中是先结算穿甲(固定数值削减),再结算护甲穿透(百分比削减),随后更改为如今的结算顺序;但是没有一同更改护甲削减的结算顺序。
1.1.2.5 关于穿甲的计算公式
综1.1.2.1~1.1.2.4所述,考虑原始公式,可以得到攻防结算时的护甲为
前面较大括号内的内容恰为对方状态栏中所显示的护甲值;护甲穿透和穿甲涉及的小于等于0的情况遵从1.1.2.3(6)中的描述;此处的穿甲为实际无视的护甲量。
思考题:
1.(有效生命值问题)有效生命值的定义为
一个生命值为1000的英雄,如果他的护甲为100,按照护甲的计算方法,他的物理伤害减伤比例为50%,从而他的有效生命值为2000。
有如下两个过程:
①护甲从125提升到225
②护甲从225提升到325
请问上述两个过程中哪一个带来的有效生命值提升更大?
2.如1.1.2.2所述,穿甲的收益随等级提升,试分析这样设计的目的?
3.前面提到的护甲计算中,存在百分比动态乘算的情况。以下是关于山脉亚龙和塔里克【W】的部分描述:
山脉亚龙(单BUFF)
提升9%的护甲和魔法抗性
塔里克【W】坚毅堡垒
被动:【W】坚毅壁垒可提升护甲(塔里克10/11/12/13/14%的护甲)。
试填写表格(目前的护甲值):
注:塔里克【W】坚毅堡垒遵循动态乘算的规则,即每间隔一段很短的时间就进行一次迭代计算;但山脉亚龙带来的护甲提升则是静止的。