标签:
杂谈 |
本文介绍了魔兽争霸3中技能的一些规则以及各种作用方式的计算公式,作者研究较为深入,值得收藏!
作者:Danny(台湾)
一、技能叠加方式:
1.
a.
Buff(强化法术)相同者,于各部分效果不可叠加,各自取最大值 例:单位A的邪黑气+10%速度,+1.0每秒回血;单位B的邪黑气+5%速度,+3.0每秒回血,若二种邪黑气Buff相同,C单位同时受到二种邪黑气的影响,则C单位+10%速度,+3.0每秒回血
b.
若一单位拥有Base ID相同的二种技能(例如二招都用Blizzard改的),则不叠加 例:某英雄穿2双+60速度的跑鞋,穿2双+80速度的跑鞋,结果+80速度
2.
少数技能即使ID相同,也可以互相叠加。这些技能主要是物品技能,已知的有:+dmg、+Armor、+HP、+mana、+HP regen、+Mana Regen(%)、+攻速、+英雄属性。例如:某英雄拿3把+18dmg的剑,就+54dmg
3.
某些效果就是不能互相叠加,即使是二种ID不同的技能。如:物品加速、魔法抗性。设计地图时最好不要有多种此类技能,否则会造成混乱。以下列出笔者的测试结果:
a.
每秒回血率(泉水,补血棒)不叠加,只取最大值。 b.
每秒回魔率(泉水)不叠加,只取最大值。 c.
预设物品加速(加固定值)不叠加,取最大值。但可以修改游戏常数使它变成可叠加。 d.
艾鲁恩的优雅(Elune's Grace。好烂的翻译-o-)、物品抗魔、举盾等技能的魔法抗性、Pierce抗性不互相加成。效果取最大值。
物品抗魔只能抗法术,其它二者可抗Magic或Spell属性的攻击e.
失误率的计算是各失误率取联集。但被动技Miss效果(暴击/重击/ 醉拳、闪躲)不累加,只取最大值 f.
二种灵魂连结的Buff会互相覆盖,故无法并存 g.
二种Berserk(猎头族的狂暴)的Buff会互相覆盖,故无法并存
4.
a.
碎裂击、加农炮、震波、爆裂弹、瘟疫可与其它被动技完全相容,各自有自己的效果。(以下b项的被动技皆不包括此三者)
-
碎裂击:扩散伤害无视装甲、防御加与任何防御性被动技能。可与暴击和拆除相乘。但不会吸血或反弹
-
加农炮:扩散伤害属性与攻击者同,考虑目标装甲及各被动技。可吸血或反弹。
-
震波:附加伤害为法术(Spell),但是对魔法免疫者有效并对虚空单位无效。
b.
无论一个单位有多少种被动技,各被动技的发动机率互不影响。但当二者或以上的被动技同时发动时,会互相覆盖导致只有其中一种被动技能发挥效果,发动的优先度是暴雪内定的;如果这些技能的优先度相同,则以较晚获得的技能优先。例如当一个英雄有被动技20%机率4倍暴击,并拿了一个15%机率2倍暴击的物品时,发动暴击机率为: 4倍暴击=20%*(1-15%)
2倍暴击=(1-20)%*15%
同时发动=20%*15%(通常是先学到技能才拿物品,所以物品技能较晚获得,故2倍暴击优先;当然,如果你先拿物品再学暴击,就是4倍优先)
总计暴击机率=二个物品联集=1-(1-20%)*(1-15%)
暴击/重击/醉拳:对近战单位而言,附加伤害属性为Spell(但是对魔法免疫者有效,对虚空单位无效);远程单位则先乘再加。多个暴击同时发动会跳出很多数字,但只有一个有效。附加伤害可吸血但不反弹。 拆除(Demolish):附加伤害可吸血和反弹。可与暴击类累乘。多个拆除技同时发动时也可以累乘。 有些人可能会问:那到底被动技的优先度是怎么看的,笔者测试后看不出任何规则-o-",不过既然知道其中一个会被覆盖掉,那么只要记得避免会被覆盖的情形就好了,谁先谁后应该不重要吧?如果读者有兴趣,可参考[其他研究资料]内的测试资料。
二、伤害的计算:
(累加符号:∑x = x1 + x2 + x3 +
...;累乘符号:∏(1-x) = (1-x1) * (1-x2) *
(1-x3) * ...
-
伤害和生命为实数值,你扣0.1滴血就是0.1滴血,只是扣10次才会显示少1罢了
1.
http://www.ourga.com/ftp/wenziding/img/war3/1.jpg
- 最低攻击力:基本伤害 + 主要属性 * 1 + 骰子数
- 最高攻击力:基本伤害 + 主要属性 * 1 + 骰子数 * 骰子面数
- 攻击力期望值:1/2 * (最低攻击力 +
最低攻击力) = 基本伤害 + 主要属性 *
1
+ 骰子数 * 1/2 * ( 1 + 骰子面数 ) - 附加攻击力:( 攻击力期望值 + ∑主要属性 * 1 ) * ( ∑技能或物品加成% ) + ∑主要属性 * 1 + ∑技能或物品加成
-
- 攻击力为整数(小数点四舍五入,但各技能的效果至少会加1或减1),因此有时会与计算结果不同。
- 攻击力期望值:( 攻击力期望值 + 主要属性 * 1 ) * ( 1 + ∑技能或物品加成% ) + ∑技能或物品加成
- 随机取值(EX: 244+1d11):244 + 1颗11面骰掷出的点数和
http://www.ourga.com/ftp/wenziding/img/war3/2.jpg
- 随机取值(EX: 243+2d6):243 + 2颗6面骰掷出的点数和
http://www.ourga.com/ftp/wenziding/img/war3/3.jpg
2.
http://www.ourga.com/ftp/wenziding/img/war3/4.jpg
- 原始输出伤害:攻击力 * ∏伤害输出率(Elune)% * 幻影伤害倍率%
- 输出伤害:原始输出伤害经过被动技加成
- 命中率= (1-Max被动闪射率%) * (1-地形失误%) * ∏(1-失误率%)
- 反射伤害(Spell):原始输出伤害* ∑反射率% + ∑反射量
3.
http://www.ourga.com/ftp/wenziding/img/war3/5.jpg
- 承受伤害:(输出伤害(物理) - 硬化外皮) * 伤害倍率(狂暴)% * (1 - Max抗性%) * 装甲相克 * 防御力减成 * 幻影受伤倍率%
- 装甲相克:
http://www.ourga.com/ftp/wenziding/img/war3/6.jpg
- 防御力减成:(实数,但游戏中只显示出小数点以下二位(xx%),以下四舍五入)
Armor > 0:1/ ( 1 + Armor * 0.06 ) ≈ 1- 伤害减成%(游戏显示)
Armor < 0:2 - ( 1 - 0.06 )[-Armor] ≈ 1- 伤害减成%(游戏显示)
Armor下限-20
P.S:一点装甲(正值)≡增加6%HP
- 英雄防御力=基本防御力 + -2 + Agility * 0.3(实数,但游戏不显示小数点,以下四舍五入)
- 吸血量:承受伤害(物理) * ∑吸血率%
- 灵魂连结(分担x%;连结y人):
主单位额外伤害:输出伤害 * x%
所有单位分担伤害(Spell):输出伤害 * (1-x%)/y
|
三、其它计算公式:
1.攻击冷却时间(Cooldown, CD):
- 极快(Very
Fast):
CD < 1.0 -
快(Fast):
1.0 <= CD < 1.5 - 中等(Average):
1.5 <= CD < 2.0 -
慢(Slow):
2.0 <= CD < 3.0 - 极慢(Very Slow): 3.0 <
CD
加成前CD=原始CD / ( 1 + Agility * 2% )
加成后CD=原始CD / (1+Agility*2% + ∑技能或物品加成% )
- 20%≦(1+Agility*2% + ∑技能或物品加成% )≦500%,多退少补
2.攻速(Attack Rate):基本上就是CD的倒数,计算上用这个比较方便看出加成的情形
加成前攻速(Attack Rate/ ATR)= 1 / 加成前冷却时间(CD) = ( 1 + Agility * 2% ) / 原始CD
加成后攻速(Attack Rate/ ATR)= 1 /
加成前冷却时间(CD) = ( 1 + Agility * 2% +
3.移动速度(Movement Speed):
- 极快(Very Fast): 350 < 速度
-
快(Fast):
280 < 速度 <= 350 - 中等(Average):
220 < 速度 <= 280 -
慢(Slow):
175 < 速度 <= 220 - 极慢(Very
Slow):
速度 <= 175
移动速度:( 原始移动速度 + Agility * 0 ) * ( 1 +
∑技能或物品加成%
移动速度上限400,下限150
4.每秒回血量=日夜回血速率 + ( Strength * 0.05 ) + ∑技能或物品加成 + 每秒回血率% * 生命上限
5.每秒回魔量=( Intelligence * 0.05 + 回魔速率 )* ( 1 +
∑技能或物品加成%
- 如果魔力上限(Mana Maximum)设为0(内建的英雄大都如此),则回魔速率不计入,但是物品回魔率会把它乘进去(也许是b社的疏忽,谁知道呢?)
每秒回魔量=Intelligence *
0.05 * ( 1 +
∑技能或物品加成%
注释:(黑色:未加成;绿色:加成部分;粉红:未加成+加成 ;套绿色:可藉由改游戏常数调整)
(累加符号:∑x = x1 +
x2 + x3 +
...;累乘符号:∏(1-x) = (1-x1) *
(1-x2) * (1-x3) * ...