
全是bug!之前我有开一个帖子分析为什么小帮手无人机会在打架的时候集体右转。但其实当时我的bug还没有找全。作者除了在HWIIntercepterController.java和HSIWingManAI.java写了一堆明显是笔误的低级bug之外,在 HSIWingManAI.java 的 manuver() 函数里还有一个完全是没考虑到位的bug。 这里,当母舰被敌方光束武器击中时,代码会记录 beamThreatSource,使得 hasThreat() 返回真,触发战斗游走逻辑。但在生成目标点时,如果碰巧没有常规投射物威胁(threat 为空),且随机抽取的潜在目标(potentialThreatHolder)也为空,此时变量 activeThreat 就会变成 null。紧接着的代码试图读取 activeThreat.getLocation(),这会导致底层的空指针异常,然后就会乱飘。
在修改好这个bug之后,我刷贴吧还刷到有人吐槽它自爆会有友军伤害。仔细查看代码发现:

懒惰作者直接写了个导弹爆炸的效果,没有去管伤害碰撞层的事情!
修改后的代码我会丢到论坛(那边方便传文件)
真没想到玩个游戏还得要我去改代码,难绷。不过从侧面来说至少作者没有用ai去写代码,纯人力手敲
沉默的约书亚











