原版 displacer 的 aiType: PHASE_DISPLACER 对应引擎类 com.fs.starfarer.combat.ai.system.voidsuper。
它在激活前要做一次落点净空判定,遍历场上每一艘舰船(只跳过战机、穿梭舱、自身):
- 判定①:落点到该船距离 < 该船碰撞半径 + 本舰碰撞半径 + 50 → 判为不净空,直接返回;
- 判定②:该船前方 30° 锥内含落点、且与本舰同属主 → 阈值再加 500。
这个循环没有排除本舰自己的模块。星之迹的 5 个模块是独立舰船实体,挂点全为 [0,0]
(见 data/hulls/mimikko_kasutariri_radiant_1.ship 里 WS0008~WS0012 的 "type":"STATION_MODULE","locations":[0,0]),
引擎会把模块摆在与本体同位置、同朝向:
| 项目 | 数值(均取自 mod 自身数据文件) | | 闪现落点距本体 | range = 300 | | 本体碰撞半径 | 200.5 | | 5 个模块碰撞半径 | 165 / 159 / 179.5 / 154.5 / 181.5 | | 判定①阈值 | 模块半径 + 200.5 + 50 = 405 ~ 432 |
300 < 405 → 判定①每次必然失败 → AI 每次评估都在这一步返回,永远到不了「激活系统」。
原版 Radiant 是单舰、没有模块,落点干净,所以正常。 |