Ennoble Troops

If you liked this item, please rate it up on Steam Workshop page.

Author: MooOooN

Last revision: 23 Feb at 18:37 UTC

File size: 45.59 KB

On Steam Workshop

Description:

Ennoble Troops — Noble Troop Promotion Mappings

Attach noble troop promotion paths into normal culture promotion trees with minimal footprint and full compatibility with vanilla progression.


Features

  • Explicit mappings — Adds the exact noble -> noble promotion links defined in the mod for supported cultures (empire, aserai, sturgia, vlandia, battania, khuzait).
  • Fallback mappings — If a culture is not explicitly mapped, the mod will attempt a safe fallback link from a culture’s basic troop to its elite troop so noble progression is more discoverable.
  • Non-invasive — Preserves vanilla lists and only adds links when safe; methods include invoking existing add methods or appending to upgrade collections using reflection.
  • Validation logging — Optional validation log writes a report to your Documents path so you can confirm which links were added or skipped.
  • Lightweight — No heavy assets, just code that adjusts promotion trees at session launch.


How it works (technical summary)

  • On session launch the mod runs `EnnobleTroopSubModule` which ensures mappings:
    • Applies explicit mappings from the internal mapping table.
    • Runs generic fallback mapping for cultures that aren’t explicitly managed.
  • If `enableValidationLog` is true, a detailed validation log is written to:
  • DocumentsMount and Blade II BannerlordConfigsModLogsMnB_EnnobleTroop.validation.log
  • Configuration is read from `ennobletroop.settings.json`.


Compatibility

  • Game version: Tested against v1.3.15
  • Designed to be compatible with other mods that do not destructively rewrite the same upgrade lists. If another mod already modifies a troop’s upgrade targets in an incompatible way, the mapping may be skipped or reported in the validation log.


Configuration
Configuration file is ennobletroop.settings.json
To enable logging set

"enableValidationLog": true

otherwise keep it false


This Mod


Notes & Troubleshooting

  • If an explicit mapping references a character ID that does not exist in your current mod list or game data, that mapping is skipped and logged.
  • If you see unexpected behavior, enable validation logging and inspect the validation file in your Documents folder for details of added/skipped links.
  • This mod only runs on session/game launch; changes are not persisted to XML files, they are applied in-memory for the running session. Simple words, this is Save Friendly.