批量船员晋升

批量船员晋升

批量船员晋升添加了右键菜单功能,可一键晋升和重新分配多名飞行员/船长至玩家飞船。

用户界面

批量船员晋升

批量船员晋升为许多玩家船只添加了地图右键点击操作,可以一次性提升和重新分配飞行员/船长。

原版地图中已经有一个有用的一键行动:用舰上最合适的船员替换当前飞行员。该MOD保留了这一精神,但为大型帝国增加了批量工具,避免需要逐艘操作而变为繁琐菜单工作。

游戏版本兼容性

  • 9.00 版本 - 已支持
  • 9.00 测试版和候选发布版 - 支持
  • 8.00 版本 - 已支持

要求

  • SirNukes Mod支持API (链接)。这是一个硬性依赖;它提供了Lua加载器、交互菜单API以及简单的菜单/选项辅助工具。

动作

  • 提升最佳船员已选择的舰船。 在每艘已选择的舰船上提升最佳的船上服务/陆战队员。
  • 所有船只晋升最佳船员 — *整个帝国。*与局部晋升流程相同,但适用于每位玩家的船只。
  • 重新分配舰长,帝国池已选舰船。 使用宽松默认值立即重新分配。保留原有的快速行为。
  • 使用配置、帝国池刷新舰长已选舰船。 打开刷新配置窗口,然后对已选舰船执行操作。
  • 重新任命所有舰船的船长全帝国范围内 打开重新任命配置窗口,然后对所有符合条件的玩家舰船执行操作。也可以包含空间站管理员(见下文)。

选中舰船操作会在右键点击玩家舰船时显示,或者在选中玩家舰船后右键点击自由星域空间时显示。全帝国操作默认显示在玩家总部。

模组级别的扩展选项菜单包含几个模组级别的选项:

  • 仅在地球总部显示全体帝国行动。 默认启用。关闭后将在每个玩家拥有的空间站显示全体帝国行动。
  • 调试日志记录。 可选项;对排查重排决策问题很有用。原因日志可按决策分组、逐条记录或完全禁用。

晋升与改组

  • 晋升 — 候选池:各舰自身服役人员 + 海军陆战队。移动方式:无,同舰晋升。最适合:快速局部清理。
  • 重组 — 候选人池:玩家帝国服役人员 + 海军陆战队 + 未分配船员。移动方式:通过AssignHiredActor跨舰分配。最佳用途:将最优秀的飞行员调至需要他们的舰船。

提升不会在不同船只间调动船员。重组则会构建一个帝国范围内的候选人池,并向目标舰长职位分配更合适的候选人。

现有的船长、经理、船舶商人以及其他特定岗位的NPC不会作为轮换候选者使用。

配置重洗

配置重排会在移动任何人之前打开一个运行选项窗口。同样也可以通过扩展选项打开此窗口,以编辑用于未来配置运行的默认值。

立即重新洗牌已选船只时,读取这些选项。它使用宽松的Lua默认设置,因此旧一键操作行为保持快速且宽泛。

已实现的配置选项:

  • 目标飞船用途过滤器。 包含或排除军事、采矿、贸易、建造、打捞、辅助/补给及其他用途的飞船。
  • **捐赠飞船目的筛选器。**与上述目的筛选器相同,但针对可能捐赠候选船员的飞船。
  • **目标和捐赠者尺寸过滤器。**分别包含或排除小型、中型、大型和超大型船只,针对目标和捐赠者双方。
  • **候选人角色筛选。**允许或禁止将服务人员、海军陆战队员以及未分配人员作为候选人。
  • 捐赠者保护。 在民用捐赠者和军用捐赠者上分别保持最低比例的船员和陆战队员。
  • **接收方安全。**要求目标舰船高于设定的船体和护盾百分比。
  • **改进阈值。**要求最低原始驾驶改进值和/或最低综合飞行员分配分数改进值。
  • 舰队筛选器。 可选限制候选为同一指挥官下的船只,或仅针对没有指挥官的船只。
  • **额外目标筛选器。**可选择仅针对没有船长的船只。
  • 海军保护。 保留登船技能达到或超过设定阈值的海军。

站长重组

全帝国重新洗牌配置窗口包含一个尝试重排所有空间站管理人员复选框。此选项仅出现在总部菜单中——而非选定飞船的菜单中——因为当前游戏不支持选择多个空间站。启用后,空间站管理职位将被纳入重排目标,与飞船船长名额并列:系统将使用相同的全帝国候选人池,但候选人将根据管理技能而非驾驶技能进行排名。如果所有目标飞船因用途或尺寸过滤器被排除,则重排将仅针对空间站管理人员进行。

重洗详情

  1. 目标槽位根据行动来源于选定的舰船或所有玩家舰船。
  2. 当前飞行员已满驾驶技能(15/15)的船只将被跳过。
  3. 没有非飞行员船员容量且已指定船长的船只将被跳过。
  4. 候选者从允许的捐助飞船和允许的角色中收集。
  5. 候选人首先按原始驾驶技能排序。对于aipilot的综合指派技能作为平局决胜因素。
  6. 对于每个目标,脚本会向引擎查询候选者在特定飞行员岗位上的综合技能,并且仅应用已配置的改进。
  7. 大型洗牌会在 onUpdate 中逐次针对一个目标槽位执行,因此游戏能保持响应,而不会因一次长时间同步操作而卡死。

满员船只

当目标舰船满载时,重排会尝试一个小技巧:

  1. 在目标舰船上选择一名低价值服务/船员。
  2. 将该人员转移至捐赠船,尽可能保留其角色。
  3. 稍等一下。
  4. 重试将选定的候选人指定为目标队长。

如果捐赠者没有空间,该捐赠者将被跳过当前目标,脚本会继续搜索。如果目标没有可移动的服务员/船员,该槽位将被跳过。

这是刻意保守的设计。它不会移除现有的船长、经理、船舶交易员或其他特殊岗位的NPC。

注意事项

  • 重新洗牌不可撤销。 它将船员沿着与正常人员分配相同的引擎路径移动。
  • 选定范围包括右键点击的目标。 Lua 会去除右键点击对象与选定舰船的重叠部分,然后在触及敏感的 C API 调用前,过滤掉无效的星区/自由空间目标。
  • 繁忙的飞行员将被重新尝试连接。 如果引擎报告 previouspilotbusy,任务将被排队并在延迟的时间表后重新尝试(10秒后,然后60秒,然后120秒)。只有在最后一次重试后飞行员仍然繁忙时,才会跳过目标飞船。
  • **调试日志默认为关闭状态。**如果需要进行故障排除并输出相关信息,请从扩展选项中启用它。默认的分组模式会汇总捐赠跳过、目标跳过、候选跳过、延迟重试以及分配情况,而不会使日志内容过多。

致谢

  • 部分灵感来源于Zoinks Captain Shuffle
  • 基于 SirNukes 模组支持接口 构建。
  • 作者:VasiliyTemniy。

来源

https://github.com/VasiliyTemniy/x4-foundations-bulk-crew-promotion