• 技术交流 | 坠落伤害深度解析
  • 楼主: yty |查看: 8673|回复: 3
yty 管理员

主题

好友

2104

积分
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。

坠落伤害开启失败

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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?新虫注册

x
只言片语也是一种鼓励
返回板块
回帖列表

主题

好友

1568

积分
百战pp虫 发表于 2012-6-15 14:47:54 |显示全部楼层
这真是高端的公式-_-

使用道具 举报

主题

好友

478

积分
逆天小虫 发表于 2012-6-18 23:34:37 手机频道 |显示全部楼层
百战pp虫 发表于 2012-6-15 15:47
这真是高端的公式-_-

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

点评

把你再叫过来而已…你的帖子至今也就赛跑那篇还稍微有点智商,完全没有精品,和他差太多,一看就知道,怎么会看错…  发表于 2012-6-19 19:17
这不是我的帖子- -  发表于 2012-6-19 09:53

使用道具 举报

主题

好友

1568

积分
百战pp虫 发表于 2012-6-20 13:34:36 |显示全部楼层
逆天小虫 发表于 2012-6-18 23:34
学计算机的?强大的数据啊!

本身我也没写过什么太高端的贴子,我打虫都比较水的

使用道具 举报

您需要登录后才可以回帖 登录 | 新虫注册

本版积分规则

 
返回顶部