0 of 0

File information

Last updated

Original upload

Created by

MajikalExplosions

Uploaded by

MajikalExplosions

Virus scan

Safe to use

About this mod

A collection of customizable quality-of-life smithing changes, including bulk refining, part unlocks/part selection algorithm changes, and infinite stamina.

Requirements
Permissions and credits
Changelogs
Donations
About
This mod is a collection of QOL tweaks for the smithing mechanics in Bannerlord. A list of features can be found below. I have tried to make it customizable (all features can be disabled, and some of the numbers can be tweaked), but if there's something you'd like to see changed, do let me know.


Features
Reminder: All features can be enabled/disabled, and most can be tweaked to fit your needs.
  • Bulk Refining: Recipes for bulk refining have been added. The modifier (i.e. how much more "bulky" those recipes are) is customizable.
  • Part Unlock Prices: Internally, Bannerlord has a part research system where every time a weapon of a type is smithed/smelted, you gain "research points" towards that weapon type. Once it reaches a specific "price", a new part is unlocked. This "price" depends on two factors: 1) the number of parts you have unlocked for that weapon type and 2) the number of total parts (unlocked and locked) for that weapon type. I've tweaked the formula so that it's easier to unlock new parts for weapon types with more total parts, so that those are less grindy. Additionally, there's a modifier for changing this price (e.g. a modifier of 2 will double the price, making it twice as hard to unlock a new part).
  • Research Point Gain: Currently, you gain research points ("RP") by smithing and smelting as mentioned earlier. I don't like the formula the game uses to calculate this, however. For example, crafting orders earns 10x the RP compared to "normal" crafting. I have increased normal crafting RP gain by 5x, so the difference is only 2x. Additionally, research point gain is highly dependent on the value of items. I have added an option to increase the base amount of points you get for smithing/smelting, which decreases its dependence on the value of items. Lastly, you now gain more XP by smithing and less from smelting as compared to vanilla. In my opinion, you learn much more from making a sword than melting some metal, and this change reflects that.
  • Part Selection: The current way that Bannerlord selects parts to unlock can be quite grindy. What it does is it finds the tier of the lowest-tiered locked part, and then looks for all the parts of that tier. Then it picks a random part from that tier, and unlocks it. As a result, you often get tons of pommels, and not so many of the other part types. I have made a couple of changes to this algorithm (each change can be enabled/disabled): 1) Guaranteed part type unlocks. When you have one or more part types (i.e. a handle) that you haven't unlocked yet, you are guaranteed to unlock a part type from one of them. For example, at the start of the game, you don't have access to any "handle" parts for javelins. Thus, when you smith enough javelins to unlock a new part, you are guaranteed to unlock a handle part first. If there are 2 or more part types with locked parts, one will be randomly chosen. 2) Balanced category unlocks. As implied previously, part types with few parts are hard to unlock, as you usually end up unlocking a bunch of pommels instead (there are more of them, so the random number generator lands on them much more often). I have addressed this by adding a step that first picks a part type, and then a part from that type. So, in a weapon with 4 total parts (blade, that guard thingy, handle, pommel), each one has a 25% chance of being picked (unless there are no parts left in that category). Then, out of all the pommels (for example), it picks one at random. This should balance out the number of parts you have in each category. 3) Flexible unlock tiers. Right now, you must unlock all tier 1 parts before getting a single tier 2 part. I added the possibility of getting parts above your tier, at a lower rate. Specifically, you can unlock parts up to x tiers higher than the lowest tier you haven't fully unlocked yet, where x is customizable. The probability of unlocking higher tier parts is also lower: if your current lowest tier is 2, and x is 2, then a tier 2 part has a weight of 3, a tier 3 part a weight of 2, and a tier 4 part a weight of 1. 
  • Infinite Stamina: I personally don't use this, but I know there are people who do. It's here if you want it.
  • World Map Stamina Regen: Lets you regen stamina while moving around. Amount is configurable.
  • Unlock All Parts: Unlocks all parts the next time you enter the smithy.
  • Out-of-settlement Stamina Gain: Lets you gain stamina at a reduced rate (configurable) when outside settlements.
  • Weapon Part Unlocks On Smelt: Unlocks the parts a weapon is made of when it is smelted. Two associated config options: 1) Enables tier limits. As with part selection, you will only be able to unlock parts x tiers higher than the lowest tier you haven't fully unlocked yet. 2) Hard tier limits, which limits you to the current tier (the lowest tier you haven't fully unlocked)
  • Maximum Stamina and Stamina Gain Rate: Adds a multiplier for both maximum stamina and stamina gain rate.
  • Part Size Slider: Allows you to configure how much smaller/larger parts are allowed to be scaled. Similar to this old mod whose name I will not type.


Save Compatibility
Make backups (as always) but this can probably be both added and removed from a save (no need to start a new campaign). All options can be changed mid-campaign, although a few of them will require a restart to take effect.

Steam Workshop Support
As much as I like Steam Workshop as a user, I haven't had the time to figure out how to upload mods onto it (specifically packaging), and I don't think I will have the time to do so in the near future, either. Personally, I also still use Nexus Mods for Bannerlord due to the whole beta/release branch deal, so there just isn't that much of an incentive for me.

Version Compatibility
Only compatible with 1.2.0. It seems to crash with 1.1.x.

I won't be backporting, as it's a lot of work to roll back my installation and reread TaleWorld's implementation of things. I just don't have time, and as I don't play Bannerlord too much anymore, it's not really worth it.


Mod Compatibility
Compatible with all mods that don't touch smithing. For those that do, I override DefaultSmithingModel, and patch a few methods in CraftingCampaignBehavior. So any mod that touches those probably won't work.


Roadmap
No idea. Mostly up to what I find I want the most as I play. I also don't have too much free time. Potential future changes, in no particular order:
  • Random name generation. Weapons are all named the same, and that sucks.
  • Bulk crafting/smithing. I don't like having to click the craft button a million times. Adding bulk crafting would probably help.
  • Something else...? If you have another idea, please let me know. I may be interested in it as well. Do keep in mind that I don't have too much time, though, so large changes are probably a no-go.


Translations
I have created a template for localization, which can be found under ModuleData/Languages/std_module_strings_xml.xml . It contains all the keys used in the options menu, so if you'd like to create a translation, please send the file to me and I will add it to the mod. You will be credited, of course.


Bug Reports
Bug reports tab. Please give me time to respond, though; I'm busy, and honestly I don't play Bannerlord too much. I will try my best to get things fixed though.


Source
I will release the source at some point in the future; as of right now, there's a lot of writing/rewriting/documentation going on, so it's a bit of a hassle to go open-source. I'd have to comment to make sure people know what's going on (for like the 1 person who reads my code). If you'd really like to see it *right now*, you can decompile the .dll (such as with dotPeek, which is what I use).


Credits
None at the moment; big thank you to the people who made MCM, though, as that made my life much easier.