Mount & Blade II: Bannerlord

File information

Last updated

Original upload

Created by

KNT_Mods

Uploaded by

zkajota

Virus scan

Safe to use

About this mod

Revolutions adds additional mechanics to the game, aiming to increase realism and reflect the harsh realities of medieval society. Civil wars, revolts, and plots are all on the table! - All done by nearly 6.000 lines of source code!

Requirements
Permissions and credits
Translations
  • Turkish
  • Spanish
  • Mandarin
  • German
  • French
Changelogs
Donations
WARNING!
This is an early system that needs a lot of balancing. Stick to your version if you aren't up for some experimenting.
This mod replaces the game's default loyalty system, hence it is incompatible with mods that also replace it. It might work and not crash, but will provide a different experience. Use such mods at your own risk together with Revolutions.

Revolutions is built with compatibility in mind, and the only thing the mod overrides is Town Loyalty model. We should be compatible with almost everything, provided it doesn't destroy or meddle with the assets our mod creates (kingdoms, parties and characters). One of the people on our team runs over 75 mods with Revolution and has had no issues.

REVOLUTION SAVE DATA
Settings: Documents\Mount and Blade II Bannerlord\Configs\ModSettings\Revolutions
Saves: Documents\Mount and Blade II Bannerlord\Configs\Revolutions\Saves

RECOMMENDATIONS
We recommend using the Civil War mechanic with other mods which make relations between lords change more organically. We have noticed a better player experience with the following mods and recommend that players consider using them with with the following settings:
Defection Overhaul [Global Settings: ON]
Fighting Together Relationship [AI Relations Change: ON; Negative Relations for fighting: ON; Negative relations modifier: 2,5]
Evilnobleman's Executioner Edit and AI Values Life
Matchmaker
Relations with Lords in Politics
Save Overhaul
Diplomacy Fixes
Improved Garrisons
Distinguished Service
Calradia Expanded

Current
Revolts aim to slow down snowballing by adding an additional challenge: Conquered towns will now fight back against an occupying kingdom.

When you first launch the mod, each town will be loyal to its current owner. When towns are conquered by a different faction, daily loyalty decreases by a base of -5.  Once town loyalty is low enough, the local nobility will start plotting a revolt against the occupying force! Eventually, a revolt will appear outside of the city and assault it. If the kingdom the population is loyal to is at war with the current owner, a party belonging to the loyal kingdom will spawn. 

Should the Minor Faction mechanic be turned on and the original faction is at peace with the current holder, a new noble will step up to lead the revolt which will form its own kingdom if its successfully defeats the garrison!

Each city is loyal to a single kingdom, meaning that even after a successful revolt, another clan from the city may revolt against the current holder!

The revolting army has a base of 100 soldiers. The existing city militia migrates to the revolutionary army and on top of that, the revolting army receives soldiers which equal 10% of the town's prosperity by default.

Maintaining high city daily loyalty will prevent revolts. By default, the player receives a boost to loyalty to prevent early-game rebellions. Also, when the owner of a town stays at the settlement overnight, the city will receive +5 loyalty flat boost.

This feature works best with a new game or a game where one faction hasn't dominated yet.

Current
With Civil Wars enabled, Lords will no longer be passive participants in the diplomatic landscape of Calradia. From now on, Kings must be careful to keep their Vassals content or face the risk of a Noble uprising against their rule!

Lords with poor relations with their liege have a chance to start conspiring. Over time, these plots can grow if more lords become disgruntled. 

The decision to plot is influenced by many factors including the honor of the lord and how many of the lord’s friends happen to already be plotting.
 
Plot Leaders will become increasingly more likely to declare open war against their King as more plotters join their ranks. All plotters will then form a new Kingdom! 

The decision to declare war is a complex formula taking into account factors ranging from troop strength of both factions, personality traits of both kings and more!

If a King successfully mends his relationship with a plotting lord, this lord will back out of the plot, prompting his friends to reconsider their involvement with the plot as well.
 
The player character now has full control over his/her involvement in the Civil War feature thanks to a built in event system from our very own KNT Library

The mechanics of this feature are fully customizable allowing each user to tailor his or her experience.

Planned
- Give full control to players over Civil War decisions ✔
- Allow Leaders to discover plots and create consequences for failed plots
- Implement a plotting GUI
- Allow plots to have various resolutions based on certain outcomes
- Create multiple available types of plots that lords and players can interact with


Current
Our mod features the creation of new Kingdoms, and with that in mind the Revolutions team has created a new tool to allow for even more customization and immersion!

With the custom banners tool, newly created factions created by the Revolutions mod will now receive a random custom banner from among a list located within easily editable text files.

This tool allows the user to select how, when and where each banner will be used by the mod.

Banners can be tagged as Revolt or Civil War specific as well as usable according to character, clan, culture, settlement or kingdom. With this tool, the user will be able to fully customize his campaign experience!

Create your own banners or use existing submods such as Pseudohistorical Heraldry Change by jesusinbox!


Imperial Loyalty Mechanics
Current
Citizens are weary of a never ending Civil War. When a town loyal to the empire is occupied by one of the Empire kingdoms, it will receive a base loyalty boost, hence it's less likely to revolt. However, when a non-imperial town is occupied by the empire, it receives an additional malus to loyalty.

If an imperial faction loses against a revolt, the clan which owned the settlement will lose renown.

Planned:
Once an imperial faction no longer holds any towns, towns currently loyal to it change loyalty to the current owner.

Overextension Mechanics
Current:
For every settlement above their initial number, AI and Player Kingdoms will get a penalty to loyalty.

Minor Factions
Current
Should the Minor Faction mechanic be activated and the original faction is at peace with the current holder, a new kingdom will spawn, trying to carve out its place on the map.

Successful revolts of this kind grant renown to the clan leading it.

Lucky Nations
Current
You can enable lucky nations in the options. There can be up to three lucky nations in the game chosen from all kingdoms in the campaign. This also includes kingdoms other mods create.

Lucky nations don't suffer overextension penalties and gain a loyalty boost, meaning they're more likely to hold their territories. This way you can end up with a challenging faction later on in the game. Disabling all lucky nation tickboxes in the options will remove them from the campaign. Enabling them again will select new ones.

The KNT Library is a library developed by us. It helps to manage most of the relevant game data and encapsulate calls to the Game Engine for a smoother programming experience. It's pretty straight forward designed without much overhead, so even newly developers will understand how it functions.
A example usage of this library can be found inside Revolutions, as it is used there as a core library. All of our source code is available at the bottom at GitHub.

Planned:
Get rid of the UpdateInfos methods for our different GameObject Managers. To do that we want to use Harmony, so we can attach on all needed events, when game objects are added and removed. Unfortunately TaleWorlds isn't providing public available Callback Events for most of GameObjects, for example the creation and deletion of Factions and Settlements.

-------------------------------------------------------------------------------------
Console Commands
You're able to use console commands for Revolutions with the Developer Console Mod.


REVOLUTIONS
revolutions.set_loyal_to_player [Settlement Name]
Sets the loyal faction for the given settlement to the player's faction.

revolutions.set_loyal_to_current_owner [Settlement Name]
Sets the loyal faction for the given settlement to the current owning faction.

revolutions.set_loyal_to -s [Settlement Name] -f [Faction Name]
Sets the loyal faction for the given settlement to the given faction.

revolutions.set_loyal_owner_to_player [Settlement Name]
Sets the current faction, loyal faction and clan for the given settlement to the player's clan and his faction.

revolutions.set_loyal_owner_to -s [Settlement Name] -c [Clan Name]
Sets the current faction, loyal faction and clan for the given settlement to the given clan and his faction.

revolutions.show_loyalty_of -s [Settlement Name]
Sets the current loyalty of the given settlement to it's current owner.

REVOLTS
revolts.start [Settlement Name]
Starts a revolt for the given settlement.

revolts.end -s [Settlement Name] -w [Win (true|false)]
Ends a revolt for the given settlement (as won or lost for the revolt).

revolts.show_lucky_nations
Shows the current lucky nations.

CIVIL WARS
civilwars.show_plotting_state_of [Kingdom Name]
Shows the plotting state of each clan leader inside the given kingdom.

-------------------------------------------------------------------------------------

Community: Discord 
Source Code: GitHub
Team: zkajota (Leader), TH3UNKN0WN (Developer), DrunkenFrenchman (Creative)