武器大修兼容性修复

武器大修兼容性修复

兼容性修复,适用于《骑马与砍杀2:霸主》1.4.8版本上的武器大修/程序化武器战役。自动从生成的锻造物品中移除不受支持的阶级属性,使《骑马与砍杀2:霸主》1.4.8能够在启动时及后续MCM重新生成期间,根据其锻造部件正常计算每把武器的阶级,同时保留所有其他生成的武器数据。

描述

该兼容性修复专为 Mount & Blade II: Bannerlord 1.4.8 上的 Weapon Overhaul / ProceduralWeaponCampaign 设计。

Weapon Overhaul 会动态生成战役武器并将其写入 generated_campaign_weapons.xml。其当前生成器会直接向每个生成的 CraftedItem 添加一个 tier 属性。

在 Bannerlord 1.4.8 上,该属性并非定义 crafted weapon 等级的正确方式。Crafted weapon 的等级应由 Bannerlord 根据其武器设计(包括制作部件、材料以及最终战斗属性)来计算。

该兼容性补丁仅移除不受支持的生成 tier 属性,并保留 Weapon Overhaul 生成的其余武器数据不变。

该补丁还会保护未来的武器重新生成。如果你使用 Weapon Overhaul 的 MCM 选项重新生成战役武器,新生成的 XML 会在保存前被拦截并自动清理。

这取代了每次重新生成后手动编辑 XML 或使用外部批处理文件修复的需要。

安装说明

  1. 正常安装 Weapon Overhaul / ProceduralWeaponCampaign
  2. 将该兼容性修复作为单独的 Bannerlord 模块安装。
  3. 确保兼容性模块在 Weapon Overhaul 之后加载。

推荐的加载顺序:

ProceduralWeaponCampaign WeaponOverhaulCompatibilityFix148

  1. 正常启动 Bannerlord。

无需手动编辑 XML。

如果你使用 Weapon Overhaul 的 MCM 选项重新生成战役武器,兼容性补丁会在 XML 保存前自动从新生成的武器中移除不受支持的 tier 属性。

如果你之前使用手动批处理文件修复来移除 Weapon Overhaul 生成的 tier 属性,那么在安装此兼容性补丁后,该变通方法不再需要。

主要功能

  • 自动从 Weapon Overhaul 生成的 CraftedItem 条目中移除不受支持的 tier 属性。
  • 允许 Bannerlord 1.4.8 正常根据以下内容计算 crafted weapon 等级:
    • 制作部件,
    • 部件品质,
    • 材料,
    • 以及最终武器性能。
  • 不会将生成的 tier 替换为 tier_override,因此 Bannerlord 原生的 crafted-weapon 等级计算仍保持启用。
  • 如有必要,在启动时自动修复已生成的 generated_campaign_weapons.xml
  • 保护未来的 Weapon Overhaul MCM 重新生成。
  • 使用有针对性的 postfix 修补 Weapon Overhaul 的 GenerateXmlDocument() 方法,允许原始生成器正常运行,然后再移除无效属性。
  • 保留所有其他生成的武器数据,包括:
    • 武器 ID,
    • 名称,
    • 制作模板,
    • 文化,
    • 修饰符组,
    • 商品状态,
    • 武器部件,
    • 握柄,
    • 护手,
    • 刀身,
    • 配重球,
    • 以及 Weapon Overhaul 的正常程序化生成逻辑。
  • 不修改原始的 ProceduralWeaponCampaign.dll
  • 不重新分发或替换 Weapon Overhaul。

运行时测试使用实际的 Weapon Overhaul MCM 重新生成进行。

测试期间,Weapon Overhaul 生成了 1,500 件武器,并带有 1,500 个不受支持的 tier 属性。兼容性补丁拦截了生成的 XML,并在文件保存前移除了全部 1,500 个属性。

随后对生成的 XML 进行了验证,其中包含:

  • 1,500 件生成的武器
  • 剩余 0 个 tier 属性
  • 0 个重复物品 ID
  • 0 个缺失武器 ID
  • 0 个缺失名称
  • 0 个缺失制作模板
  • 0 个缺失文化
  • 0 个缺失修饰符组
  • 0 个缺失必需武器部件

重新生成的武器文件在结构上保持完整,并可正常加载。

需求

  • Mount & Blade II: Bannerlord 1.4.8
  • Harmony
  • Weapon Overhaul / ProceduralWeaponCampaign

Weapon Overhaul 必须保持安装并启用。

该兼容性修复是针对 Bannerlord 1.4.8 所使用的当前已测试 Weapon Overhaul / ProceduralWeaponCampaign 构建进行开发和运行时测试的。

该兼容性模块应在以下内容之后加载:

ProceduralWeaponCampaign

不要随此模组包含或替换 generated_campaign_weapons.xml。该文件由 Weapon Overhaul 生成,并且可能因安装和重新生成而有所不同。

不要替换 ProceduralWeaponCampaign.dll。这是一个单独的兼容性模块。

鸣谢

感谢 Weapon Overhaul / ProceduralWeaponCampaign 的作者创建了一个程序化武器系统,极大地扩展了 Bannerlord 战役中可用武器的多样性。

原始模组的程序化生成系统保持完全完整;此补丁仅修正其为 Bannerlord 1.4.8 写入生成的 crafted weapon 的方式。

同时感谢 Bannerlord 模组社区和 Harmony 项目,使这样的针对性兼容性修复成为可能。