How the findings were reversed
Every number on this site comes from the game's own compiled code, not from guesses or play-testing alone.
What was done
Bannerlord is written in .NET, so its logic ships as assemblies (DLL files). Two tools read them:
- rea, a static analysis tool, lists each type's members, which methods call which, which fields they touch, text literals, and where each method body sits. It does not turn code back into readable source and it leaves out floating-point constants.
- An IL decoder reads the raw method bodies and recovers the instructions and the constants rea omits. It checks every body against rea's fingerprint of that method, and only verified bodies are used as evidence.
Together they show the exact formula a game system applies, such as a price factor or a skill threshold.
Why snapshots
The assemblies of each game version are copied into a per-version snapshot. A patch can change a constant without changing any visible data, so each finding is tied to the version it was read from, and a new version can be compared against the old one.
Things checked on every finding
- Large assemblies, such as the campaign system, exceed rea's size budget unless a single type is requested, so types are looked up by name first.
- Compiler-generated and nested types are inspected separately, since much behavior hides in them.
- Before crediting a behavior to the default game model, the active modules are checked, naval DLC especially, because a module can replace the model.
- Perk skill thresholds come from the tier cost function: 25 times the tier.