写在前面:本文讨论的是ja2 gold,源码调用关系比较复杂,我不能保证没有看漏一些东西,所以请大家批判性的参考吧。7wm铁资网 - 欧美硬游戏基地
7wm铁资网 - 欧美硬游戏基地
本文的计算只列出了最正常的情况,子弹行进路线上有障碍,子弹可能被挡住,也可能穿透物体后击中目标,但穿透后击中有一个较复杂的修正量,在此不予讨论。目标是坦克、动物、机器人时,或者人坐在车里,计算会略有差别,为行文明了,文中未讨论此类情况。7wm铁资网 - 欧美硬游戏基地
7wm铁资网 - 欧美硬游戏基地
7wm铁资网 - 欧美硬游戏基地
在计算出子弹的命中率(1~99)后,系统产生一个最大为100的随机数,如果随机数小于命中率,则击中。7wm铁资网 - 欧美硬游戏基地
而命中率减去这个随机数就是伤害力的一个主要修正量,命中率加成sHitBy。(HeresachQin在某个帖上的结论:精瞄会加大伤害,来源就是此处,精瞄提高了命中率,也就加大了命中率加成。但命中率已经是99了,精瞄也不能带来更多的伤害)7wm铁资网 - 欧美硬游戏基地
7wm铁资网 - 欧美硬游戏基地
1 霰弹枪每射击一次发射9个弹丸,但每个弹丸命中率加成只有一半7wm铁资网 - 欧美硬游戏基地
2 无意射中目标(障碍),没有命中率加成7wm铁资网 - 欧美硬游戏基地
3 击中无法看到的目标,命中率加成减半7wm铁资网 - 欧美硬游戏基地
4 子弹原始伤害=子弹额定伤害×(100+随机数(-25到25)+命中率加成/2)/1007wm铁资网 - 欧美硬游戏基地
5 减掉盔甲保护(异型攻击无视盔甲),盔甲保护在下文详述。7wm铁资网 - 欧美硬游戏基地
6 如果此时的伤害太小则进行最小伤害修正:HP子弹和DART的伤害将不被修正,而其余子弹至少造成(原始伤害+5)/107wm铁资网 - 欧美硬游戏基地
7 HP子弹伤害乘以1.77wm铁资网 - 欧美硬游戏基地
8 击中头部乘1.5,击中腿除47wm铁资网 - 欧美硬游戏基地
9 击中头部或胸,7格以内造成55以上伤害,无论是否剩余生命点,立毙,并有机会爆头或击飞7wm铁资网 - 欧美硬游戏基地
10 击中腿,如果伤害超过10,目标倒地,如果超过5,有1/2随机几率倒地7wm铁资网 - 欧美硬游戏基地
11击中头或胸,有机会使目标损失智力、DEX或STR,计算方法是先计算伤害临界值,伤害临界值=(伤害/2+精瞄点×5),如果伤害临界值大于30,有机会使目标损失指标,而且伤害临界值越大机会越大。损失的点数是最大为(伤害/2+1)最小为1的随机数。击中头部掉智力,击中胸部一半机会掉DEX,一半机会掉STR。7wm铁资网 - 欧美硬游戏基地
12 击中腿,有机会使目标损失AGI,计算方法是先计算伤害临界值,伤害临界值=(伤害+精瞄点×5),击中腿伤害临界值只要大于30就会有机会使目标损失AGI,而且伤害临界值越大机会越大。损失的点数是最大为(伤害+1)最小为1的随机数。7wm铁资网 - 欧美硬游戏基地
13 一般情况下,子弹对气值的影响:(子弹额定伤害×0.5×(最大气值-当前气值)+ 200)/1007wm铁资网 - 欧美硬游戏基地
7wm铁资网 - 欧美硬游戏基地
盔甲保护计算方法:(盔甲的保护计算有些意思,设计者没有用状态值直接乘以保护力,而是认为盔甲的状态不好,会造成某些部位薄弱,如果没打中这些薄弱部位,是不受防护力惩罚的)7wm铁资网 - 欧美硬游戏基地
1 护具保护值=(额定防护值-状态惩罚)×子弹类型修正7wm铁资网 - 欧美硬游戏基地
2 状态惩罚:每种护具(包括陶瓷片)都用一个最大为100的随机数减去状态值,如果此值大于0,则以此值作为状态惩罚7wm铁资网 - 欧美硬游戏基地
3 子弹类型修正:HP(1.5),AP、HEAT(0.75),SAP(0.5) 7wm铁资网 - 欧美硬游戏基地
4 按击中部位计算保护值,头计算头盔,腿计算护腿,胸部计算胸甲和陶瓷片。7wm铁资网 - 欧美硬游戏基地
7wm铁资网 - 欧美硬游戏基地
7wm铁资网 - 欧美硬游戏基地
7wm铁资网 - 欧美硬游戏基地
个人心得:7wm铁资网 - 欧美硬游戏基地
1 说实话,我在读完这段源码后有些沮丧,随机数在计算中占的比例很大,同一发子弹,即使保证命中率为99,最后造成的原始伤害差距可能差一倍还多(0.75到1.75),看来关键时刻还得看人品。7wm铁资网 - 欧美硬游戏基地
2 HP在有盔甲的情况下实在够逊(废话),要靠掉气打倒敌人,初步估算要10多枪7wm铁资网 - 欧美硬游戏基地
3 要取得高伤害,需要枪支的高伤害、打头、AP弹、保证高命中率,都是常规经验。7wm铁资网 - 欧美硬游戏基地
4 在每个距离范围内都有特定的适用枪支,一把好枪应该是在适用范围内用最少的AP保证99命中率,然后考虑武器伤害。这个还需要做更深入的研究才行。
|