前几天因为敏捷应该加多少的事情,搜遍了论坛和百度,花了大约8小时的时间,根据玩家提供的测试数据,去做参考,没有一点收获,前晚实在受不了,下载一个魔力的外泄服务端,拿来做分析,得到以下结论。
小小提示一下:240理论没错,但是其实是241才对,伤害的基本计算公式为(数值为241理论之后):
(攻击方攻击力
×攻击方攻击力)/(攻击方攻击力/3 +防守方防御),之后去乘以属性种族等等等修正
最终总结放在最前面,再看不懂没办法,表示无能为力:
1、闪躲最高为70%,1级GBL打百闪也能百分之30命中
2、敏捷有240理论,大于241部分要乘以0.3,411敏捷的人物(411-241)×0.3+241,为真实敏捷。
3、战斗中扣血魔会加敏捷,这样会间接影响命中率。而且影响很厉害,可能开始和你打的时候百闪,最终扣血魔后去到170闪躲,很正常,不过程序修正后最多还会是70%闪躲率最高。
4、百闪之后加阳炎,无意义,除非对方命中很高,阳炎转克高命中,不过最终也只能修正到70%
5、70%的最高闪躲实用中其实很恐怖的,PK中就那么几个回合,可能别人还没办法摸到你一下,因为连续出现10次以上闪躲在百次测试中,不少见
6、乾坤之后,就算百闪,依旧是最高70%闪躲
7、闪躲和命中敏捷的计算公式,需要知道的请老实看完全文
8、必定命中的概率不存在,是我之前误解了,其实是存在各种状态,例如咒术,或者防御护卫等,是必定命中的,所以最高为70%闪躲率不会错
9、求扣血魔增加敏捷的公式,解密很耗时,这个公式没有敏捷闪躲这么好分析。项目忙没那么多时间,时间都拿来练级去了。几个号,每天要花掉很多时间不然卡用不完,如果没有其他玩家的正确公式也麻烦告知一下,我忙完项目继续解密出来。联系方式QQ82200631
正文
首先
无论多少闪,最大的闪躲概率为70%
闪躲计算公式为
敏捷比 =
防守方敏捷(241修正之后)/攻击方敏捷(241修正之后) ×10
敏捷比去查表得到闪躲修正,表为:
闪躲概率=防守方闪躲+N+闪躲修正-M-攻击方的命中
1、最终闪躲率如果大于70,例如为100,也会被修正为70。
2、最终闪躲率如果小于1, 会被修正为1,也就是最低闪躲率为1
3、N为技能加的闪赌
4、M为技能加的命中
N和M这个两个值,没有详细研究,因为研究整个过程的数据追踪要花的时间太多了,还必须运行程序才可以看到不然只能靠推理,我估计是受伤之类的导致的属性影响吧
举例:
241敏捷的人打600敏捷的人,
([(600 -241)
×0.3 +241] /241) ×10
=([107.7+241]/241) ×10
=(348.7/241)
×10
=14.6468879668049792531120331950207
14.6
进位为15
15敏捷比得到的闪躲加成查表之后为25,以下是分析各种情况:
双方无加命中以及闪躲的情况:
防守方闪躲概率百分之25也就是命中率为百分之75
攻击方+25命中的情况,则命中率为百分之99
防守方百闪,攻击方不加命中的情况,防守方闪躲率为70%,命中率为30%
防守方为百闪,攻击方为50命中的情况,(100+25)-50,防守方的闪躲为70%,攻击方命中为百分之30
防守方70闪,攻击方50命中,(70+25)-50
防守方闪躲率为45%,命中率为55%
防守方50闪,攻击方50命中,(50+25)-50
闪躲25%,75%
防守方30闪,攻击方50命中,(30+25)-50
闪躲5%,95%
如果防守方25闪躲以下,攻击方50命中,命中率为99%
PS:敌人扣魔扣血之后会加敏捷,所以,这里只是满血魔状态的计算,也就是第一次出手之后,必须计算扣血魔的加成敏捷了
闪躲率计算公式详情
第一步(加上其他的敏捷加成):
攻击方敏捷 = 攻击方现有敏捷+(战斗中属性修正× 0.01 × 现有敏捷)
例如:100 ,战斗中提升百分之20的敏捷,就是 400+(400 * 0.01 *
20)
防守方敏捷= 防守方现有敏捷+ (战斗中属性修正× 0.01 ×
现有敏捷)
例如:防守方敏捷为200,战斗中提升百分之10 ,就是
200+(200 * 0.01 * 10)
第一步(修正敏捷):
攻击方241修正之后的敏捷
2种情况,小于241保持不变,大于241的情况:
攻击方241修正之后的敏捷 = (现有攻击方敏捷 -241) × 0.3 +
241
例如按照以上的情况,那么
400+(400 * 0.01 * 20) = 480
(480 - 241) × 0.3 +241
= 239 × 0.3 +241
=71.7+241
=312.7
防守方计算241修正计算公式与以上相同
第三步(计算闪躲率):
敏捷比
= 防守方敏捷/攻击方敏捷 ×10
得到的敏捷比结果有19种
(注意,敏捷比如果有小数点,那么四舍五入,这个四舍五入和我们平时不同,叫做四舍六入五成双。
不同之处在于,例如7.5,那么等于8,如果是8.5那么也是等于8,
计算方式是这样的,如果整数部分为奇数则,后面的小数点,大于等于0.5则进1,7.5进位之后为8
如果8.5,整数部分为偶数,则舍去小数部分,偶数必须小数点大于等于0.6才进位。8.6结果为9
但是偶数,如果8.5后面还有大于0的小数,例如8.5000000001,则也进位,结果为9
简单总结,结果整数部分为奇数的时候,按照我们平时的四舍五入来计算
如果,整数部分为偶数,那么小数点部分必须大于0.5才会进位。否则不进位。
)
敏捷比得到的结果有19种:
如果小于等于10
闪躲修正 =
1
结果11
闪躲修正= 5
结果12
闪躲修正=
10
结果20之前。每大1
则递增5(结果19,闪躲修正=50)
结果20之后。每大1
则递增2.5
结果等于21
闪躲修正=52.5
结果等于21
闪躲修正=55
直到28为最大,大于28的后面被忽略
结果为28
闪躲修正=70
闪躲修正最大的结果为70
下面为以上表格:
得到的闪躲修正为攻击对象闪躲的概率。
闪躲概率=防守方闪躲+技能加成的闪躲+闪躲修正-技能加成的命中-攻击方的命中
闪躲概率最大被修正为百分之70,无论多少闪躲都是这样
源程序的操作为 默认一个70的闪躲,之后如果计算出来的闪躲率小于70则覆盖整个闪躲
之后,闪躲率去进行逻辑运算 return 闪躲率 >=
rand(1,100);
如果随机数大于70的,返回的值就是1,接下去就不进行伤害运算。
还有几种情况是必定命中的,因为数值含义不明,我没有进行研究,我将它列出来
定义攻击方为A
定义防守方为B,以下数据没加0x开头的均为10进制数据,0x开头为16进制数据
1、BATTLE_GetDamageReact(a2) 函数得到的返回值大于0
2、B[0x470]& 0x40 结果大于0
3、B[0x458] 等于1 或者42或者43 或者44
4、B[0x458] 等于60的时候 (BATTLE_checkEquipmentEffect(a2, a2)
& 8) 等于0也为必定命中
5、A[0x458]
等于42的时候
根据以上必命中的条件来看,
0x458这个位置的数据很有可能是状态
另外,我需要一些怀旧的装备以及一些极限数据,例如最高敏捷等等数据,做加点策略分析,知道的玩家请告知,QQ82200631谢谢
PS:最终结论,闪躲率最高百分之70不到。不信可以自己去测试,几分钟的事情,如果为加点看这个文章的人,请仔细研究,仔细分析本文
再逛逛>>