yty 发表于 2012-6-15 01:45:29

坠落伤害深度解析

本帖最后由 yty 于 2012-6-15 01:45 编辑

坠落伤害公式

FDCoef=(FDByte*50) mod 256

Damage=Int(((VSpeed-8+1/65536)*FDCoef+18)/18)

FDByte为模式文件中偏移0A处那一字节的值,参见模式文件格式剖析。
mod是取模运算符,a mod b结果是a除以b的余数。
FDCoef含义为坠落伤害系数。
VSpeed为竖直降落速度,单位为像素每帧。普通情况下,该值最大为32px/frame。
Int是取整函数,取整方法为舍弃小数部分。
Damage为最终造成的坠落伤害。

备注:当FDCoef=0时,按此公式计算的坠落伤害为1。但是末日浩劫把FDCoef=0作特殊处理,此时不会有任何坠落伤害。
根据上述公式,坠落伤害只与速度有关,与距离无关。

根据上述公式,普通情况下造成的最大坠落伤害为Damage = Int(((32 - 8 + 1/65536) * 50 + 18) / 18) = 67。

坠落伤害开启失败

如果当一只虫子受到爆炸攻击的一瞬间与地图碰触,那么坠落伤害将不会计算。请注意,只有爆炸攻击能造成这种情况,拳击或者箭不会造成这种情况。

下面的录像展示了受到爆炸攻击的两种不同情况。第一发子弹将虫子打飞,计算坠落伤害。第二发子弹是直接朝地面射击,爆炸的瞬间虫子贴地,不计算坠落伤害。

百战pp虫 发表于 2012-6-15 14:47:54

这真是高端的公式-_-

逆天小虫 发表于 2012-6-18 23:34:37

百战pp虫 发表于 2012-6-15 15:47
这真是高端的公式-_-

学计算机的?强大的数据啊!

百战pp虫 发表于 2012-6-20 13:34:36

逆天小虫 发表于 2012-6-18 23:34 static/image/common/back.gif
学计算机的?强大的数据啊!

本身我也没写过什么太高端的贴子,我打虫都比较水的
页: [1]
查看完整版本: 坠落伤害深度解析