这里不算闪避率。命中率与回避率差值在17就能伤害最大化±19.53%
会心一击(打空了、间不容发)
回避率和防御力变为0
基本伤害
命中率:玩家的命中率在下车时为战斗等级,在上车时为驾驶等级。怪物有单独的命中率
原版玩家下车命中率上限为99,使用兴奋剂后强制变更为100
原版玩家上车命中率上限为99,使用雷达后+50变更为149
回避率:玩家的回避率与命中率一致,但不会被兴奋剂和雷达影响。怪物有单独的回避率
根据命中率是否大于回避率,对伤害增益或削弱
在程序中有这样一个逻辑:Math.min(50, rateDiff * 3)
其中,50为上限,下限则为命中率与回避率的差值 * 3
由此可算出命中差值上限:50/3=16..2,16*3=48,(16+1)*3=17*3=51
只要差值能达到17,就能得到最大化的伤害增幅或削弱
差值0~17的增幅或削弱(%)
从上方表可以看出来,差值最多两级就能增幅或削弱5%的伤害,而差值在17时,最大能增幅或削弱50%的伤害
命中率大于或等于(>=)回避率时对伤害进行增幅:攻击力+(攻击力*增幅)
命中率小于(<)回避率时对伤害进行削弱:攻击力-(攻击力*削弱)
接下来由attack来表示这个基本攻击力
防御力
如果是玩家乘坐战车,使用战车底盘防御力
防御力会除以2后再进行计算:defense / 2
如果attack大于或等于(>=)defense:attack - defense
如果defense小于(<)attack:随机强制伤害0~3
接下来由damage来表示这个基本攻击力
伤害乱数
该乱数会增幅或削弱伤害,±19.53125%
计算出1点会增幅或削弱多少伤害:
127*102=12954
12954/256=50.6015625%
50.6015625/127=0.3984375%
0~127增幅,每增加1点+0.3984375%的伤害
127*0.3984375%≈50
50/256≈19.53125%伤害
128~255削弱,每增加1点-0.3984375%的伤害
255*0.3984375%-51≈101.60
101.60-51≈50
50/256=19.53125%伤害
计算:damage(+|-)(damage*乱数)
属性耐性
MM1对伤害有影响的属性只有火焰和冷气
如果是通常攻击,不会进行耐性计算
耐性共四个等级
零级:100%伤害
一级:50%伤害
二级:0%伤害
三级:200%伤害
计算:damage*耐性等级
防御模式
如果怪物或玩家进行防御,damage减半
计算:damage/2
坦克类
攻击坦克类时,伤害会变成1/5,玩家乘坐战车时和坦克类怪物会生效
计算:damage/5
将以上计算方式顺序计算就能得到攻击伤害
----------------
实验1
玩家白刃对电脑墙
玩家数据为:攻击力15、命中率1、通常攻击
电脑墙数据为:防御力1000、回避率55、坦克属性
玩家的命中率小于电脑墙的回避率55,差值为:55-1=54,修正为17,得到伤害削弱50%
攻击力15-(15*50%)=15-7=7
攻击力7-(防御力1000/2)=7-500=-493,修正为0,并随机伤害0~3
由于随机最高伤害3*119.53%=还是等于3,防御模式还会减半,这里就不继续算下去了
实验2
电脑墙对白刃玩家
玩家数据:防御力23、回避率1、防御模式
电脑墙数据:攻击力800、命中率127
电脑墙的命中率大于玩家的回避率,差值为:127-1=126,修正为17,伤害增幅50%
攻击力800+(800*50%)=800+400=1200
攻击力1200-(防御力23/2)=1200-11=1189
伤害乱数设定为最大削弱,减少19.53%伤害
1189*(1-19.53%)=1189*80.47%≈956
玩家防御模式,减少一半伤害956*50%=478
通常攻击,属性攻击不进行计算
还是1189,乱数设定为最大增幅,增幅19.53%的伤害
1189*(1+19.53%)=1189*119.53%≈1421
玩家防御模式,减少一半伤害1421*50%≈710
会心一击
为了方便测试,用的钢弹攻击(效果一样)
玩家乘坐战车数据为:攻击力80、命中率1
电脑墙数据为:防御力1000、回避率55、坦克属性
会心效果:防御力变为0、回避率变为0
玩家的命中率1大于电脑墙的回避率0,差值为:1-0=1,没有伤害增益
攻击力80-(防御力0/2)=80
乱数设定为增益增益,增幅19.53%的伤害
80*(1+19.53%)=80*119.53%≈95
电脑墙为坦克类,伤害变为1/5:95*20%=19
有问题欢迎指出!
会心一击(打空了、间不容发)
回避率和防御力变为0
基本伤害
命中率:玩家的命中率在下车时为战斗等级,在上车时为驾驶等级。怪物有单独的命中率
原版玩家下车命中率上限为99,使用兴奋剂后强制变更为100
原版玩家上车命中率上限为99,使用雷达后+50变更为149
回避率:玩家的回避率与命中率一致,但不会被兴奋剂和雷达影响。怪物有单独的回避率
根据命中率是否大于回避率,对伤害增益或削弱
在程序中有这样一个逻辑:Math.min(50, rateDiff * 3)
其中,50为上限,下限则为命中率与回避率的差值 * 3
由此可算出命中差值上限:50/3=16..2,16*3=48,(16+1)*3=17*3=51
只要差值能达到17,就能得到最大化的伤害增幅或削弱
差值0~17的增幅或削弱(%)
从上方表可以看出来,差值最多两级就能增幅或削弱5%的伤害,而差值在17时,最大能增幅或削弱50%的伤害
命中率大于或等于(>=)回避率时对伤害进行增幅:攻击力+(攻击力*增幅)
命中率小于(<)回避率时对伤害进行削弱:攻击力-(攻击力*削弱)
接下来由attack来表示这个基本攻击力
防御力
如果是玩家乘坐战车,使用战车底盘防御力
防御力会除以2后再进行计算:defense / 2
如果attack大于或等于(>=)defense:attack - defense
如果defense小于(<)attack:随机强制伤害0~3
接下来由damage来表示这个基本攻击力
伤害乱数
该乱数会增幅或削弱伤害,±19.53125%
计算出1点会增幅或削弱多少伤害:
127*102=12954
12954/256=50.6015625%
50.6015625/127=0.3984375%
0~127增幅,每增加1点+0.3984375%的伤害
127*0.3984375%≈50
50/256≈19.53125%伤害
128~255削弱,每增加1点-0.3984375%的伤害
255*0.3984375%-51≈101.60
101.60-51≈50
50/256=19.53125%伤害
计算:damage(+|-)(damage*乱数)
属性耐性
MM1对伤害有影响的属性只有火焰和冷气
如果是通常攻击,不会进行耐性计算
耐性共四个等级
零级:100%伤害
一级:50%伤害
二级:0%伤害
三级:200%伤害
计算:damage*耐性等级
防御模式
如果怪物或玩家进行防御,damage减半
计算:damage/2
坦克类
攻击坦克类时,伤害会变成1/5,玩家乘坐战车时和坦克类怪物会生效
计算:damage/5
将以上计算方式顺序计算就能得到攻击伤害
----------------
实验1
玩家白刃对电脑墙
玩家数据为:攻击力15、命中率1、通常攻击
电脑墙数据为:防御力1000、回避率55、坦克属性
玩家的命中率小于电脑墙的回避率55,差值为:55-1=54,修正为17,得到伤害削弱50%
攻击力15-(15*50%)=15-7=7
攻击力7-(防御力1000/2)=7-500=-493,修正为0,并随机伤害0~3
由于随机最高伤害3*119.53%=还是等于3,防御模式还会减半,这里就不继续算下去了
实验2
电脑墙对白刃玩家
玩家数据:防御力23、回避率1、防御模式
电脑墙数据:攻击力800、命中率127
电脑墙的命中率大于玩家的回避率,差值为:127-1=126,修正为17,伤害增幅50%
攻击力800+(800*50%)=800+400=1200
攻击力1200-(防御力23/2)=1200-11=1189
伤害乱数设定为最大削弱,减少19.53%伤害
1189*(1-19.53%)=1189*80.47%≈956
玩家防御模式,减少一半伤害956*50%=478
通常攻击,属性攻击不进行计算
还是1189,乱数设定为最大增幅,增幅19.53%的伤害
1189*(1+19.53%)=1189*119.53%≈1421
玩家防御模式,减少一半伤害1421*50%≈710
会心一击
为了方便测试,用的钢弹攻击(效果一样)
玩家乘坐战车数据为:攻击力80、命中率1
电脑墙数据为:防御力1000、回避率55、坦克属性
会心效果:防御力变为0、回避率变为0
玩家的命中率1大于电脑墙的回避率0,差值为:1-0=1,没有伤害增益
攻击力80-(防御力0/2)=80
乱数设定为增益增益,增幅19.53%的伤害
80*(1+19.53%)=80*119.53%≈95
电脑墙为坦克类,伤害变为1/5:95*20%=19
有问题欢迎指出!