Don’tStarve战车伤害图文一览


一直觉得战车伤害很高,经常可以轻鬆撞死贾斯特,与其攻击力,并不相符于是我开此贴,做一个测试,探究一下战车的真实伤害是怎样判定的
测试相关mod:
Don’tStarve战车伤害图文一览

Don’tStarve战车伤害图文一览
Don’tStarve战车伤害图文一览
Don’tStarve战车伤害图文一览
上战车,这里可以看到它的攻击力确实是45
Don’tStarve战车伤害图文一览
撞一下玩家,无论是远处沖过来还是近处撞,伤害都是45
Don’tStarve战车伤害图文一览
其他生物呢? 也是45
Don’tStarve战车伤害图文一览
Don’tStarve战车伤害图文一览

上图可以看到,当有很多生物比较聚集时,战车甚至打出了200伤害!


打开rook.lua
Don’tStarve战车伤害图文一览
这个200显而易见吧,不过这里代码具体意思是:生成一个掉到地上消失的武器,攻击200,攻击距离0,放到战车的物品栏里
Don’tStarve战车伤害图文一览
这是当战车碰到其他生物的处理代码
当碰到的是玩家,则停止这这条函数所有命令
如果 Vector3:LengthSq < 42 ,也停止生效,其实我也不知道这条代码是啥意思
Velocity 是速度, Length 是长度,Sq 是什幺鬼?反正应该是距离範围速度之内的要大于等于42才生效吧,然后振动萤幕
如果碰到的生物有 smashable 标籤,则直接秒杀,如果是可以破坏的,就直接破坏,如碰到的生物血大于0则…
Don’tStarve战车伤害图文一览
执行这个函数,具体意思是:
如果没有inst.recentlycharged ,就创建一个空的集,如果撞到的生物已经在这个集合里,就停止该函数
You’ve already done damage to this by charging it recently. 你已经造成了伤害,通过最近的充能
将撞到的生物加入inst.recentlycharged 集合里,在3s后将这个生物从inst.recentlycharged 里删去,用刚开始那武器造成的伤害200
也就是说,战车对生物200的冲撞伤害后有3s的冷却时间,战车在游戏里攻击到一个生物后就直接停下来了,并没有直接的躯体碰撞,也许就是单个生物伤害正常的原因吧。。。
远古犀牛也有类似的设定,不过更直接,满足条件后直接再造成一次伤害,而没有冷却时间,没有攻击距离限制,所以也就有了石虾被秒的情况了
Don’tStarve战车伤害图文一览
Don’tStarve战车伤害图文一览

令:远古犀牛即使被发条生物打了也不会吸引其仇恨,并且会有发条生物的集体仇恨