欢迎光临散文网 会员登陆 & 注册

红警2中被攻击单位是否在射程范围内的判断方法

2022-06-04 08:00 作者:第三代战争之圣  | 我要投稿

射程同为5.5,为什么苏军矿车在某些位置可以白嫖地堡?

当光棱坦克位于战车工厂右上方12格(从战车工厂的中心格子开始数)时,为什么可以打到战车工厂,却无法打到站在战车工厂前面的步兵?

看完本文,你会得到答案。

本文默认游戏中地形为平地,不讨论以高打低等可能造成射程变化的情况。所有数据均通过严格实践检验,可以确保精确到0.01格以内的真理性。

第一节 步兵、车辆和建筑的位置

每个格子有3个可以容纳步兵的点,分别位于格子的左、下、右三个角落,与所临两边的距离均为0.25格,即图中的蓝点。

每个格子有1个可以容纳车辆的点,位于格子的正中心,即图中的红点。

步兵和车辆的位置

请注意,步兵和车辆是没有体积的。若不考虑空降车辆、恐怖机器人杀死步兵、步兵进运输船前瞬间停止移动等特殊情况(这些情况下车辆可能位于步兵点,步兵可能位于车辆点),步兵和车辆都严格位于某一个上述的点上。

建筑的计算位置为建筑所占矩形地面的几何中心(当船厂作为被攻击对象时,计算位置存在偏移,即本人上一篇文章中提到的“主瞄准点”,以rules(md).ini中专门指定的位置为准,本文不讨论)。即便建筑受到导弹攻击,使用副受击点结算伤害,计算射程时仍采用主瞄准点。

第二节 步兵或车辆作为被攻击单位时的计算

当步兵或车辆作为被攻击单位时(即步兵打步兵、车辆打步兵、建筑打步兵、步兵打车辆、车辆打车辆、建筑打车辆),只需简单地使用勾股定理即可算出两个单位之间的距离,可直接用于判断是否在射程范围内。

第三节 建筑作为被攻击单位时的计算

当建筑作为被攻击单位时(即步兵打建筑、车辆打建筑、建筑打建筑),需要把攻击分为弧线攻击和非弧线攻击分别讨论。

弧线攻击:如主战坦克、巨炮、驱逐舰等。这类攻击的[Projectile]中有“Arcing=true”代码。
非弧线攻击:如光棱坦克、幻影坦克,基础步兵、磁爆线圈、自爆类武器和用于释放子单位的武器(ASWLauncher、HornetLauncher、V3Launcher、DredLauncher、CruiseLauncher)等。这类攻击的[Projectile]中没有“Arcing=true”代码。

当攻击为弧线攻击时,计算方法与非建筑作为被攻击单位时相同(见第二节)。
当攻击为非弧线攻击时,攻击单位可以获得一定量的射程增益,增益=0.25*(建筑的长+建筑的宽)。

例如:占地4*4的建造厂,增益为2;占地5*3的战车工厂,增益为2;占地4*3的矿石精炼厂,增益为1.75,占地3*2的盟军兵营,增益为1.25,占地1*1的机枪碉堡,增益为0.5。

也就是说,对于某个射程为5的非弧线攻击:在攻击建造厂时,射程为7(攻击单位的位置与建造厂中心的距离≤7即可发动攻击);在攻击矿石精炼厂时,射程为6.75;在攻击机枪碉堡时,射程为5.5。

或者可以换个角度来理解:以建造厂中心为圆心,画一个半径为2的圆,只要能打到这个圆内的任何一个点,非弧线攻击就可以对建造厂发动攻击。

到此为止,开头提出的两个问题也就迎刃而解了。

苏军矿车在打地堡时射程从5.5变成了6。

以战车工厂中心为圆心画半径为2的圆,可以看到光棱坦克刚好可以打中战车工厂。而圆的一部分将超出战车工厂的建筑范围,这部分区域内的兵就打不到了。


心灵控制器的控制范围不适用本文所述的计算方法,如有发现其它特殊情况欢迎在评论区补充。

红警2中被攻击单位是否在射程范围内的判断方法的评论 (共 条)

分享到微博请遵守国家法律