先计算抗性
抗性最高加到90%封顶,也就是无论如何都会有10%的伤害漏过去
假设进攻方拥有100武器伤害
防守方拥有10特殊保护,10物理抗性,20魔法抗性,30火焰抗性
那么计算就是100×(1 - 10%特保 - 10%物抗)= 80
如果进攻方是带火焰的物理攻击
那就是100×(1 - 10%特保 - 10%物抗 - 30%火抗)= 50
如果进攻方是带魔法的魔法攻击
那就是100×(1 - 10%特保 - 20%魔抗)= 70
如果进攻方是带火焰的魔法伤害
那就是100×(1 - 10%特保 - 20%魔抗 - 30%火抗)= 40
接下来加入护甲机制
护甲机制是百分比减伤
减伤百分比为随机值,最小值=护甲值÷2,最大值=护甲(100封顶,即100%减伤),故期待值为75%护甲
只作用于“非破甲伤害”,不管是魔法、火焰、物理都会减
顺便,即使100%减伤也会掉血,因为每次攻击至少1伤害
假设进攻方有100点伤害,其中50破甲,50基础伤害
防守方护甲为80点
防守方最大减伤80%,最小减伤40%,平均减伤60%
那么攻击方最大伤害值 = 50破甲 + 50×0.6 = 80,最小伤害值 = 50 + 50×0.2 = 60
期待伤害值为50 + 50×40% = 70
接下来把护甲、抗性结合
假设进攻方有100点伤害,其中50破甲,伤害类型为带火焰的物理伤害
防守方有80点护甲,特保10%,物理10%,魔抗20%,火抗30%
那么进攻方最大伤害为[50破甲×(1 - 10%特保 - 10%物抗 - 30%火抗)=25] + [50基础×(1 - 10%特保 - 10%物抗 - 30%火抗)×(1 - 40%)= 15] = 40
最小伤害为25 + 5 = 30
接下来带入反大、反步兵加成
反大、反步兵的加成,将按原先破甲占总伤害值的百分比,分配
假设进攻方有100点伤害,其中50破甲,伤害类型为带火焰的魔法伤害,反大型加成50点
那么在攻击大型单位的时候,伤害就是150点,其中破甲为50+25,基础为50+25