战团音乐

收藏
战团音乐
总体评价(0)
  • 分类:骑砍2:霸主MOD - 霸主其他
  • 来源: 原创
  • 浏览:55 次
  • 下载:3 次
  • 大小:156m
  • 版本:v1.0.0
  • 作者:维庸化石
  • 时间:2026-09-13
详细内容
Warband_Music  v1.0.0
战团音乐(Warband Music)—— 把《骑马与砍杀:战团》的经典配乐接入《霸主》的音乐分类

=== 这是什么 ===
本模块让《霸主》在战斗、攻城、胜利/失败、竞技大会、战役地图等场景中播放
战团(Mount & Blade: Warband)时期的经典曲目。

本版为「战团主导」:除下列两个例外分类外,原版与 NavalDLC 曲目已全部停用,
你在各分类听到的几乎 100% 是战团音乐。
  例外 1:MapNaval(海战)           —— 池内没有任何战团曲目,保留原版
  例外 2:MapCampaignWar(战时地图) —— 同上,保留原版

共 41 首战团曲目,覆盖 13 个音乐分类:
  MainMenu / WarmupBattle / Battle / BattleVictory / BattleLose / Siege /
  Tournament / TournamentVictory / TournamentLose / MapCampaign / MapNaval /
  MapCampaignLose / MapCampaignWar

=== 安装 ===
1. 【重要】安装前请删除或移走原来的 BetterMusicManager 模块文件夹(见"注意事项"第 1 条)。
2. 解压后把 Warband_Music 整个文件夹放进:
     <游戏安装目录>\Modules\
3. 用游戏启动器勾选(Harmony 必须排在前面):
     Bannerlord.Harmony
     Warband_Music
4. 启动游戏即可,无需任何额外工具。

=== 依赖 ===
- Bannerlord.Harmony("四前置"之一)—— 必需
- NavalDLC —— 可选。仅海战(MapNaval)与战时地图(MapCampaignWar)用到其主题;
  未装则那两个分类自动跳过 NavalDLC 曲目(由 requires 属性生效)

=== 卸载 / 恢复原版音乐 ===
- 完全回到原版:在启动器里取消勾选 Warband_Music(或直接删除本文件夹)即可,音乐立即回到原版。
- 回到「战团 + 原版混入」:编辑 ModuleData\MusicCategories.xml,
  把所有 enabled="false" 改回 enabled="true" 即可。
本模块不改动任何原版文件,不写注册表。

=== 注意事项 ===
1. 【必须】不要与原 BetterMusicManager 模块共存。
   本模块的内部 Id 沿用 BetterMusicManager(原因见"技术说明"),两者会形成同名 Id。
   游戏不会因此崩溃,但 ModuleHelper 按目录扫描顺序取第一个匹配项,
   可能加载到旧模块的 MusicCategories.xml,表现为"音乐没变化"的静默失效。
   同理,原 Music_Profile_Vanilla + Warband 也不应再勾选(会导致 41 个主题重复注册)。
2. 存档牵连:本模块携带的 DLL 会注册一个战役行为 MapCampaignLoseBehavior,
   该行为会随存档序列化。若你之后移除本模块,
   读取旧存档时可能提示"未知类型"。开新档无此问题;读旧档请先备份存档。

=== 技术说明 ===
- 音乐分类 -> 曲目 的映射硬编码在 TaleWorlds.MountAndBlade.dll 的 MBMusicManager 中,
  游戏没有任何数据文件可以配置它,因此本模块必须携带 Harmony 补丁 DLL。
- Music\soundtrack.xml 由游戏音频中间件 PSAI(TaleWorlds.PSAI.dll)自动扫描,
  41 个主题(id 50002-50092)由此注册,无需代码。
- ModuleData\MusicCategories.xml 是 BetterMusicManager 的私有格式(游戏原生不读取),
  它告诉补丁 DLL 每个分类应当从哪些主题中抽曲。
- ModuleData\GeneralConfig.xml 指定当前生效的音乐配置档。
- 关于内部 Id:补丁 DLL 在静态初始化阶段硬编码调用
    ModuleHelper.GetModuleFullPath("BetterMusicManager")
  来定位 GeneralConfig.xml 与 MusicCategories.xml;该函数按模块 Id 查字典
  (_loadedModules[moduleId.ToLower()]),模块不存在会抛 KeyNotFoundException,
  进而使静态构造抛 TypeInitializationException,导致整层补丁失效(完全没有音乐)。
  因此本模块内部 Id 必须为 BetterMusicManager。
  玩家在启动器里看到的显示名是 Warband_Music,不受影响。
- 本模块只接管「分类 -> 曲目」这一层。战斗强度过渡主题(BattleTurns / BattleShock 等)
  由游戏 MBMusicManager 的其他方法决定,补丁 DLL 未对其打补丁,
  因此战斗强度变化时仍会播放原版曲目 —— 这是本方案的已知边界。

=== 来源与署名 ===
- 补丁 DLL:ModMusicManager.dll(Better Music Manager v2.105.0 / ModMusicManager v1.0.0)
- 曲目与主题定义:Music_Profile_Vanilla + Warband v1.0.0
- 本模块仅做整合与缺陷修复,未修改 DLL 本体。

=== 本版修复 ===
1. 补回 requires="NavalDLC"(10244 / 10246 / 10247 / 10248 / 10249 / 102410)
   原战团包丢失了全部 requires 属性,未装 NavalDLC 时池中会残留不存在的主题 id。
2. 修正错误主题 id 10250 -> 102410
   NavalDLC 主题真实 id = ModuleIdPrefix("1024") 字符串拼接 本地 id("10") = 102410;
   游戏 MusicTheme 枚举中没有 10250,原值指向不存在的主题。
3. 移除 profile 私有属性 IsMusicProfile,改为自包含单模块,不再依赖 XR Mod Manager。

=== 版本记录 ===
- 当前源码内容对应 v1.0.1「战团主导」:除 MapNaval / MapCampaignWar 外,
  非战团曲目一律 enabled="false";各分类战团占比由 52% 提升至约 100%。
- v1.0.0:首发 + 上述三项缺陷修复。
详见 更新日志.txt。
相关截图添加图片
暂无截图
点评
* 总体评价评分
*
Smilies
推荐下载more
热门下载more