GithubHelp home page GithubHelp logo

pedro-ca / bannerlord-iron-will Goto Github PK

View Code? Open in Web Editor NEW
7.0 2.0 0.0 37.43 MB

💪 Collection of mods for the game Mount & Blade 2: Bannerlord that adds immersive utilities to aid the player and his party to survive. (NOT UPDATED)

C# 100.00%
bannerlord bannerlord-mod mount-and-blade-bannerlord mcm mod csharp

bannerlord-iron-will's Introduction

But what is the "Iron Will" project?

Iron Will is a collection of mods for the game Mount & Blade 2: Bannerlord that adds many utilities to aid the player and his party to survive even in the harshest, rock botton environments. The main objetive is add immersive actions to balance the game difficulty curve without decreasing the challenge. This modpack might be useful with any mods that makes the game harder and more punishing.

Current Mod List:


Iron Will - Wound Experience

alt text

The best way to get stronger is by struggle. The mod Wound Experience adds experience points to any troop which survives getting wounded. With inspirations from Kenshi, this true "survival of the fittest" experience makes your troop battle hardened by just the simple fact of not dying after a possible fatal blow.

This decreases the grind for upgrading low tier troops and actually rewards the player for letting his weak troopos risk their lives by fighting in battle. It also indirectly buffs Medicine skill, by making it kinda useful to upgrade troops.

The mod works not only for the player, but for any mobile NPC parties too! That's right, even for the poor and dirty Looters! It only show as a message for the player character, his companions and owned troops by default.

This mod is compatible with the amazing Mod Configuration Menu (MCM) by Aragasas. This is a SOFT dependency and thus entirely optional but highly recommended.

Download and Links

Features

  • Adds configurable Athletics Experience to any Hero wounded in battle (40xp by default) .
    • Hero XP scales with Learning Rate. Current: xpValue * learningRateBonus. (can be turned off)
  • Adds configurable Generic Experience to any Troop wounded in battle (40xp by default).
    • Generic Troop XP scales with troop tier. Current: xpValue * (troop.Tier +1). (can be turned off)
  • Player Character, Companions and Owned troops received XP appears in the ingame console. (can be turned off)
  • Works globally to all troops in game, both in battle and campaing map.
  • Optional in-game configurable values with Mod Configuration Menu (MCM). This is a soft dependency.
  • Configurable Experience value for Heroes and Generic Troops at "xxWoundXPSettings.xml". (note: MCM configuration takes priority and overrides this file)
  • NLogger for debugging reasons at "WoundExperienceLog.txt".
  • Only valid for real battles, so you can't cheese it by getting wounded in tournaments and arenas heh.

Settings

alt text

alt text

alt text

alt text

alt text

To-do

The mod is pretty much done :D

There might be some minor tweaks/bug fixes here and there in the future.

Custom Configurations

Downloading Mod Configuration Menu (MCM) by Aragasas is highly recommended for best quality of life by changing mod settings in game. This is a SOFT dependency and thus entirely optional by the player. MCM settings takes priority before the XML settings file. So if the player haves MCM, the code will load stored info from MCM and then override XML file on startup every time.

alt text

However, if you choose to not install Mod Configuration Menu for some reason, you can change the desired values of "xxWoundXPSettings.xml ". In this case during startup, the settings loads from the XML at "\Mount & Blade II Bannerlord\Modules\xxWoundXp\xxWoundXPSettings.xml".

Compatibility

Currently tested and working with e.1.4.2 and e1.4.3 version. Should be compatible with most mods.

If you have any issue, please adress it at the Bugs tab in the Nexus mod page.

Changelog

Versions

v1.1.0:

  • Changed the default experience value for both troops and heroes, from 20 to 80.
  • Added NLogger to debug and find problems.
  • Information manager messages are now yellow, to increased visibility.
  • Added initial sucess message on campaing start to inform the user that the module is working.

v1.2.0:

  • Allows customization of values with xxWoundXPSettings.xml, located at the mod folder
  • All player owned troops that receives xp appears in the Console and Nlogger
  • WoundExperienceLog.txt NLogger is now at the mod folder and some log are more informative
  • The Information manager now shows more clearly any mod error/exception

v1.3.0:

  • Changed default XP value for heroes and troops to 40
  • Hero XP scales with Learning Rate. Current: xpValue * learningRateBonus
  • Generic Troop XP scales with troop tier. Current: xpValue * (troop.Tier +1)
  • Player can change to not show received XP of heroes and troops on the console (Requested by NexusMod user dungeons0)
  • Compatibility with game version Bannerlord Beta Branch e1.4.3

v1.4.0

  • Minor code refactor
  • Added soft mod compatibility with Mod Configuration Menu v3(MCM)
  • If the player haves MCM, the code will now load stored info from MCM and then override XML file on startup .
  • If the player doesnt have MCM, the code will deserialize the settings from the XML like usual on startup.
  • Fixed some crashes for e1.5.2 and above

alt text

Kenshi, one of the major creative influences for this mod series.


Iron Will - Kleptomania

alt text

Being a criminal in Bannerlord is now more viable and flavorfull, with the mod Kleptomania's ability to steal trade goods and food from towns and villages. Although the interactions are limited to in-game menus, the goal is to create a Stealing mechanic with a feeling of risk vs reward similar from games like Skyrim, Kenshi, Fallout, Thief, and even Tabletop RPG.

After a simple Roguery skill check, you might be able to get an dynamic ammount of loot and leave without been seen by anyone. But BEWARE, if you get caught there will be consequences.

Keep in mind Stealing is different from the Native's Hostile Action "Force Peasants to give you supplies". The most important differences is that you dont have to fight the militia, chance to not get detected at all, can loot from towns, variable ammount of loot (sometimes more, sometimes less), amongst other things.

For now, only the player can interact with the steal menus.

This mod is compatible with the amazing Mod Configuration Menu (MCM) by Aragasas. This is a SOFT dependency and thus entirely optional but highly recommended.

alt text

Download and Links

Features

  • 3 new menus for stealing from Villages and Towns, which allows player to steal trading goods, food or animal.
  • Scalable Roguery XP on steal attempt, independent of the outcome. Current: 20 * learningRateBonus.
  • Can steal without being detected (Skill Check with modifiers)
  • If detected, decreases relationship with the settlement owner and settlement notables
  • If detected, applies criminal rating with faction.
  • If detected, player is confronted by civilian. The player can either bribe, persuade, call friendly gang leader support or give back.
  • Dynammic minimun received ammount of goods (Skill Check with modifiers).
  • Max ammount of availiable goods scales with settlement prosperity / hearth.
  • On steal, decreases settlement prosperity / hearth, affects the settlement loot pool and increase detection for consecutive steals atempt of the same Faction.
  • Optional in-game configurable values with Mod Configuration Menu (MCM). This is a soft dependency.
  • Configurable Experience value for Heroes and Generic Troops at "xxWoundXPSettings.xml". (note: MCM configuration takes priority and overrides this file)
  • NLogger for debugging reasons at "KleptomaniaLog.txt".

alt text

Modifiers

There are some conditions that can change the outcome of a steal attempt. To have the best outcome, you have to try to get as much bonuses and as little penalties as you can.

Probability of detection (75% by default. Less = Good)

  • Current Bonuses:
    • Roguery Skill (max bonus is 50%) = -(SkillLevel / 5)%
    • Night time = -10%
  • Penalties:
    • High Crime Rating = +20%
    • Recent steal attempt at same faction (Decays by -5% every day) = +(NumberOfAttempts * 10)%

Minimun ammount of Goods (30% by default. More = Good)

  • Current Bonuses: - Roguery Skill (max bonus is 30%) = +(SkillLevel / 10)%

alt text alt text alt text

Results and Consequences

Remember: there is always a risk. Once the Modifiers have been calculated and you have waited long enough to find a steal opportunity at the settlement, two Random numbers from 1 to 100 will be created. Think about this like two d100, dices with 100 faces being thrown. These values will be used to calcule your steal result.

For the detection check, if the value are smaller than your "Detection Chance" modifier you get detected while stealling. If you get detected, you will receive some consequences like:

  • Criminal rating with faction (25 for towns and 20 for villages by default)
  • Decreases relationship with settlement notables (-15 by default, 2x if the player is from the same faction)
  • Decreases relationship with settlement owner (-15 by default, 2x if the player is from the same faction)
  • Only if from the same Faction, decreases relationship with Faction leader ( -15 x 2 by default)

For the ammount of goods check, each settlement has a "storage with goods inside", which has a dynamic number of goods based on the settlement health/prosperity. The random "dice" number will never go below "Minimun ammount of Goods" and will be a porcentage of the items inside the storage. No matter the outcome, this will take place on on loot:

  • Penalty of +10% detection chance for each consecutive steal atempt for the same Faction. Consecutive steal atempt decays by -5% every day.
  • Decreases settlement prosperity / hearth.
  • Subtract items from the settlement item pool. (Be careful to not steal from settlement without any items, or you might get nothing.)
  • Roguery XP thats scales with Learning Rate. Current: 20 * learningRateBonus.

alt text alt text

To-do

  • Pickpocketing
  • Stealing from rich traders house
  • Bonus to detection and minimun goods from the party's best Bandit troops.
  • Stolen good fencing (aka not being able to sell to settlement it was stolen from).

Custom Configurations

Downloading Mod Configuration Menu (MCM) by Aragasas is highly recommended for best quality of life by changing mod settings in game. This is a SOFT dependency and thus entirely optional by the player. MCM settings takes priority before the XML settings file. So if the player haves MCM, the code will load stored info from MCM and then override XML file on startup every time.

alt text

However, if you choose to not install Mod Configuration Menu for some reason, you can change the desired values of "xxKleptomaniaSettings.xml ". In this case during startup, the settings loads from the XML at "\Mount & Blade II Bannerlord\Modules\xxKleptomania\xxKleptomaniaSettings.xml".

Compatibility

Currently tested and working with e.1.4.3 version.

If you have any issue, please adress it at the Bugs tab in the Nexus mod page.

Changelog

Versions

v1.1.0:

  • Fixed a crash because of horses in a settlement (Reported by NexusMod user aerosmei1).
  • Fixed a crash when settlement doesnt have anymore supplies.
  • Player can now steal any kind of animal (horse, pig cattle, etc.)
  • Added Scalable Roguery XP on steal attempt, independent of the outcome. Current: 20 * learningRateBonus.
  • Adds 10% detection chance penalty for each consecutive steal atempt for Faction.
  • Consecutive steal atempt decays by 5% every day.
  • Added Debug messages when DebugInfo is turned on in config.

v1.1.1

  • Fixed a major crash when that happens when you reach severe crime rating while inside a town
  • Fixed a bug that gives the player Athletics XP on steal attempt instead of the expected Roguery XP
  • Decreaased default TownStealCrimeRating from 35 to 25. Makes stealling more viable.
  • Decreased default VillageStealCrimeRating from 30 to 20. Makes stealling more viable.
  • TownStealCrimeRating and VillageStealCrimeRating cant go above 60 (fixes crash)
  • Substantial code refactor and more try catches, to understand any future exceptions

v1.2.0

  • MAJOR code refator to prevent future bugs and crashes
  • Added encounter game menu when detected. The player can either bribe, persuade, call friendly gang leader support or give back.
  • Persuade and Bribe values are configurable (XML file or MCM)
  • Added soft mod compatibility with Mod Configuration Menu v3(MCM)
  • If the player haves MCM, the code will now load stored info from MCM and then override XML file on startup .
  • If the player doesnt have MCM, the code will deserialize the settings from the XML like usual on startup.
  • Fixed a bug that made Consecutive Steal Penalty not affect detection chance modifiers
  • Fixed a bug that gave relationship penalty to Settlement's Gang Leaders Notables on detection. This was not supposed to happen.
  • Removed TownStealCrimeRating and VillageStealCrimeRating max of 60
  • Removed unecessary penalty for high crime rating
  • No penalty to prosperity / hearth if there is no steal quantity

v1.2.1

  • Recent Faction Steal Attempt Penalty is now stored in the current save file as it's supposed to
  • Fixed a bug that showed the wrong value of earned Roguery XP by not taking accounts the calculations with Learning Rate
  • Fixed a bug that made earned Roguery XP scale by Athletics Learning Rate instead of Roguery Learning Rate
  • User can configure to not show received roguery XP from steal attempts on the console (on MCM or XML settings)
  • User can configure its own value roguery XP from steal attempts. Always scales with learning rate. (on MCM or XML settings)

alt text

Kenshi, one of the major creative influences for this mod series.

bannerlord-iron-will's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

bannerlord-iron-will's Issues

Kleptomania ¬ Allow stealling from settlements

Acceptance Criteria:

  • Add option to "Steal Goods" from Towns and Villages.
  • Possible loot quantity based on RNG.
  • Possible detection outcomes : "undetected" and "detected"
  • Not able to steal if detected recently

BattlefieldScavenger ¬ Mod Pages

Acceptance Criteria:

  • Proper Nexus page for the mod
  • Proper ModDb page for the mod
  • Proper TaleWorlds forum page for the mod
  • Add Screenshot Thumbnails

Kleptomania ¬ "Encounter" on detection

Acceptance Criteria:

  • Sometimes when detected, the player should be confronted about stealling.
    • There might be options like bribing or giving back the goods, to give the player some control about the result.
    • Should be a menu, as this option is the most time effective.

Kleptomania ¬ Fix Crash when Settlement have horses

Acceptance Criteria:

  • Should investigate supposed crash happening when trying to loot a settlement with horses.

From NexusMod user aerosmei1 :
"looks like if your loot have something specific(horse ,weapon, armor etc),click loot will crash the game.
sadly because crash log dont show anything so I can not be sure.only thing I am sure is if you steal from a village do have horse to sell ,It will crash 100%.
I guess thats why sometime cilck loot will crash when you in the city.(market have horse too)"

BattlefieldScavenger ¬ Basic Battlefield Wasteland gamemenus

Acceptance Criteria:

  • 3 menus after interacting with the Battlefield Wasteland "interactive entity"
    • The first is the intro, which tells details from the previous battle and gives an average of the expected loot.
    • The second is the wait menus, where the player wait for the result and see any modifiers
    • The third is the result menu, that shows the ammount of loot that was sucessfully able to take.
  • All menus are conected via gamemenu options.

Kleptomania ¬ Steal from Rich Trader House

Acceptance Criteria:

  • New menu option: Steal from Rich Trader House
    • Used to luxury goods and jewelry from settlements.
    • More effective at Towns
    • No Minimun goods bonus (chance to not get loot at all), slightly higher crime rating penalty.

BattlefieldScavenger ¬ Mechanics of the gamemenus skillcheck

Acceptance Criteria:

  • Chance to not get anything or some loot (35% base?).
    • Increases chance by Scouting skill
    • Decreases chance by time in the map
  • Fix loot or variable?
  • Cant be acessed by anyone who participated in battle.
  • Should disappear after some game time
  • Should disappear after a sucessful loot

Kleptomania ¬ Pickpocket

Acceptance Criteria:

  • New menu option: pickpocket
    • Used to steal denars from the settlement
    • More effective at Towns
    • Less total reward value, but less chance of detection and less crime rating penalty.

Kleptomania ¬ Stolen good fencing

Acceptance Criteria:

  • Gives a "Stole from: [Settlement]" flag to stolen goods
  • Do not allow stolen goods to be sold on the same settlement and neighboring settlements it was stolen from

WoundXp ¬ Improvements to NLogger

Acceptance Criteria:

  • Check if NLogger should log every wound experience received or not
  • Refatorate some log messages to add a prefix
  • TXT NLogger should be in the mod folder

Kleptomania ¬ Penalties for getting detected

Acceptance Criteria:

  • On detection, receives criminal status. Based on value stolen
    • Criminal status penalty: city > village
  • On detection, receives relation penalty with owner.
  • On detection, receives relation penalty with all notables.
  • On detection and if is allied faction, relation penalty is x2 and receive the with Faction Leader.

Kleptomania ¬ Better Flavour Text

Acceptance Criteria:

  • All Penalties and possible results should be clear to the user from the start
  • Should show different messages based on the outcomes
    • Try to use % the least as possible, if something can be explained by other means. Use only when necessary.

WoundXp ¬ Disable in-game messages by user

Acceptance Criteria:

  • User can disable in-game messages from the mod of the information manager by changing value at settings

Feature requested by NexusMod user dungeons0

WoundXp ¬ Other mod pages

Acceptance Criteria:

  • Proper TaleWorlds forum page for the mod
  • Proper ModDB page for the mod
  • Thumbnails

Kleptomania ¬ Bandit troops bonus to Steal sucess

Acceptance Criteria:

  • If the party has bandit troops, 5 of the best bandit troops of the players party gives bonus to Undetected Chance and Minimum number of received goods.
    • Scales based on bandit troop tier. Higher tier gives stronger bonuses.
  • Loses one of the 5 troops on detection.

Reason for block:

  • Seems to not be possible with Native's code. not worth the trouble

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.