暗黑2中存在着一些威力强大的怪物。
而这其中比较令人印象深刻的,当属秒人比超级Boss还快的“bug蛇”了。
至于它为什么有如此威力,今天就试着通过解析数据文件来分析一下。
bug蛇令人忌惮的招数是它发射的毒弹,此技能作用方式与亚马逊的毒标枪一样。
被飞行的毒弹击中并没多大危险,而弹头飞行过后留下的毒雾,才是威力所在。
一旦毒雾出现,千万不要去“蹚”,一些有经验的玩家都会等待毒雾消失,否则走在毒雾中会连续听到人物被击中的声音,瞬间死亡。
解析这毒雾为什么有这么大的威力,要把蛇毒放一边,先去看看另一些怪物制造的毒雾 --
比如木乃伊在死后留下的毒雾。
人物在触碰毒雾后会陷入中毒状态。这个毒雾的属性是单一的,就只有毒素伤害。
而且,这种毒伤害,遵循的是“毒素基本作用机理” -- 相同毒素Rate下伤害不会叠加,不同Rate下只算最高伤害。说句白话就是,怪物同时扔出100个这种毒气,玩家受到的也只是一次中毒,伤害属性只是毒,而且是在接下来的时间内逐步施加。
现在说回bug蛇。
看一下bug蛇的怪物数据与其导弹数据 --
可以看到,bug蛇的A1(攻击方式1)的物理伤害为45~60,且定义了A1可以发射一个导弹。
这个导弹的飞行方式是一直向前飞,射程有限,顶多碰撞人物一次。
而这个毒弹在数据文件中包含了下级衍生物,即毒雾。
要命的点来了 --
这个毒雾的“SrcMissDmg”字段定义了它完全继承毒弹碰撞时的物理伤害。
而它会在空中停留2.4秒的时间,在此期间如果人物移动,则每一帧都重新检定导弹碰撞,虽然毒素伤害不会叠加,但物理伤害是每次瞬间立即施加的。
把同样方式的亚马标枪毒雾换个模型,就更好理解了 --
蛇毒就好比那些铰刀,只要再次碰撞就会不断的受到伤害。
另外,毒雾的导弹性质代码列设定了它不是“弓箭”,而是跟火球、冰弹一样的“魔法弹”,必中且无法被盾牌格挡。
游戏中每一秒有25帧,每片毒雾每一帧如果造成45~60点物理伤害,每秒就会造成 1125~1500 的伤害。而蝰蛇通常都是几只同时释放毒气,几片云雾重叠的话每帧就是几千伤害……
人物就是这么被秒掉的。
现在回到标题,为什么说这个怪物不是bug?
这就要提另一个十分厉害的毒素怪 -- 莉莉丝
她的毒气数据设定就与bug蛇完全不同。虽然也附加了物理伤害,但只会附加在毒素伤害之“后”,在中毒过程中逐步生效;
而蝰蛇毒雾的物理伤害则是发生在毒素伤害之“前”,立即起效且可发生多次还没有间隔。
在导弹文件中,共有680+种发射物,只有蝰蛇的毒雾使用了刚才说的 SrcMissDmg 字段属性,其余所有的导弹都没有用到。
古墓蝰蛇是1.10版本才更新出来的“客串怪物”,也就是说,这个伤害生效方式是1.10更新时才出现的,暴雪的程序员特意为古墓蝰蛇设计的。
这可能是想用来提示玩家们 -- 号练得再厉害,也有需要小心的时候。
最后,怪物的原名实为古墓“蝰蛇”,“蝮蛇”是错误翻译。
[
本帖最后由 watcher_1 于 2022-1-6 09:03 编辑 ]