真实战斗模组 - 玩家AI禁用器

真实战斗模组 - 玩家AI禁用器

阻止真实战斗模组(RBM)覆盖你的手动战斗指令。下达直接命令时,不再强制单位移动或进行不需要的重新部署!完全兼容RBM AI,可使用F6(委派指挥)。

💢 关于此情况

如果你游玩时使用了 Realistic Battle Mod(AI 模块),你可能已经注意到 AI 经常会覆盖你的手动战场指令。例如,当你命令弓箭手重新部署位置时,RBM 战术引擎可能会迫使你的步兵或骑兵跟着他们移动,完全无视你明确的选择。

这个轻量级的 Harmony 补丁彻底修复了该问题,仅在你下达手动控制指令时禁用玩家阵营的 RBM 战术重算。


🛠️ 这个独立补丁的功能

  • 完全战术自由:你的单位将严格遵循你的手动命令(F1–F4),RBM 不会再“保姆式”地干预或在你不知情的情况下改变他们的阵型。
  • 弓箭手修复:命令弓箭手进行游击或前进时,你的步兵不再会跟着他们一起奔跑。
  • 完全支持 F6:如果你希望 RBM AI 接管,只需按下 F6(委派指挥)。模组会立即检测到并交还控制权给 RBM。
  • 敌方 AI 保持活跃:敌军和中立盟友仍将 100% 使用 RBM 的高级战斗战术和决策逻辑。

⚠️ 前置要求

  • Bannerlord Software Extender (BLSE) 或官方启动器
  • Harmony
  • 需要安装原版 Realistic Battle Mod。
  • 重要:此文件严格针对 Bannerlord v1.4.7 版本的 RBM 构建并测试。

📦 安装方法

  • 下载压缩包。
  • RBMAI_Player_AI_Disabler 文件夹直接解压到游戏的 Modules 目录中: ...\Mount & Blade II Bannerlord\Modules\
  • 在启动器中启用 RBM AI Player Disabler。
  • 在加载顺序中将其置于 Harmony 和 RBM 之下。

💻 源代码

我们相信开放且整洁的代码。 出于透明度和方便其他模组作者,以下是为此模块编译的独立补丁准确代码,它直接覆盖了有偏向的逻辑……

RBMAI 代码修复:

using TaleWorlds.MountAndBlade;

namespace RBMAI_Player_AI_Disabler
{
    internal static class DisableRBMAIForPlayerPatch
    {
        [HarmonyLib.HarmonyPrefix]
        [HarmonyLib.HarmonyPatch(typeof(BehaviorAdvance), "TickOccasionally")]
        private static bool DisableAdvance(BehaviorAdvance __instance)
        {
            return IsEnemyOrAI(__instance.Formation);
        }

        private static bool IsEnemyOrAI(Formation formation)
        {
            if (formation == null || Mission.Current == null)
                return true;

            return formation.Team != Mission.Current.PlayerTeam;
        }
    }
}

📜 鸣谢

所有功劳归功于原 RBM 团队创造了这个出色的战斗大修。这只是为了方便社区在 1.4.7 版本上使用而分享的一个小功能调整。