Giter Site home page Giter Site logo

butr / mnb2-bannerlord-communitypatch Goto Github PK

View Code? Open in Web Editor NEW
86.0 13.0 26.0 2.82 MB

This is going to be a mod that just fixes up some things in Mount & Blade 2: Bannerlord before the Devs & QA team can get to them. They have priorities and a process.

License: MIT License

C# 97.48% C++ 2.38% CMake 0.08% C 0.01% Batchfile 0.06%
bannerlord bannerlord-community jetbrains-rider jetbrains-clion

mnb2-bannerlord-communitypatch's Introduction

Mount & Blade II: Bannerlord Community Patch

Mount & Blade II: Bannerlord Community Patch module

This is going to be a mod that just fixes up some things in Mount & Blade 2: Bannerlord before the Devs & QA team can get to them. They have priorities and a process.

Supported by JetBrains Open Source Development Program

JetBrains

We love JetBrains!

We receive free licenses to JetBrains products via their open source development program. JetBrains Toolbox manages all of their products and keeps them up to date, and updating is seamless.

JetBrains Rider for C# / .NET

JetBrains Rider

Our C# projects are designed to work best in JetBrains Rider. We also use ReSharper with Visual Studio, dotPeek, dotCover, dotMemory and dotTrace.

JetBrains CLion for C / C++

JetBrains CLion

Our C++ projects are designed to work best in JetBrains CLion. We also use ReSharper C++ with Visual Studio.

Current Fixes

Athletics Perks
  • Extra Arrows Deleted as from e1.4.3
  • Extra Throwing Weapon Deleted as from e1.4.3
  • Peak Form Deleted as from e1.4.3
Leadership Perks
  • Disciplinarian Fixed in e1.0.6
  • Ultimate Leader Changed to Ultimate Leader II in e1.4.1
  • Ultimate Leader II Fixed in e1.4.2
Scouting Perks
  • Healthy Scout
  • PathFinder
  • Night Vision
  • Navigator
  • Investigator
  • Farsighted
  • Eye for Ambush
  • Forest Lore
  • Desert Lore
  • Hills Lore
  • Marshes Lore
  • Forced March
  • Grassland Navigator
  • Lay of the land
Riding Perks
  • Spare Arrows Deleted as from e1.4.3
  • Spare Throwing Weapon Deleted as from e1.4.3
  • Bow Expert Deleted as from e1.4.3
  • Conroi Deleted as from e1.4.3
  • Crossbow Expert Deleted as from e1.4.3
  • Filled To Brim Fixed as from e1.4.3
  • Squires Deleted as from e1.4.3
  • Trampler Deleted as from e1.4.3
  • Nomadic Traditions Fixed as from e1.4.3
  • Horse Grooming Deleted as from e1.4.3
Bow Perks
  • Mounted Archer Deleted as from e1.5.0
  • Spare Throwing Weapon Deleted as from e1.4.3
  • Large Quiver Deleted as from e1.5.0
  • Merry Men Fixed as from e1.5.0
  • Horse Master
Crossbow Perks
  • Crossbow Cavalry Deleted as from e1.5.0
  • Mounted Crossbowman
Throwing Perks
  • Fully Armed Deleted as from e1.5.1
  • Concealed Carry Deleted as from e1.5.1
  • Battle Ready Deleted as from e1.5.1
  • Skirmishers Deleted as from e1.5.1
Trade Perks
  • Mercenary Trader
  • Influential Merchant
Steward Perks
  • Agrarian
  • Assessor
  • Bannerlord
  • Enhanced Mines
  • Food Rationing
  • Logistics Expert
  • Man-At-Arms
  • Nourish Settlement
  • Prominence
  • Prosperous Reign
  • Reconstruction
  • Reeve
  • Ruler
  • Supreme Authority
  • Swords As Tribute
  • Tax Collector
  • Warmonger
  • War Rations
Engineering Perks
  • Ballistics
  • Construction Expert
  • Improved Masonry
  • Good Materials
  • Everyday Engineer
  • Builder
  • Scavenger
  • Armorcraft
  • Wall Breaker
  • Imperial Fire
  • Resolute
Roguery Perks
  • Party Raiding
  • Eye for Loot
  • For the Thrill
  • Slip into Shadows
  • Briber
  • Negotiator
  • Bribe Master
  • Escape Artist
  • Slave Trader
  • Merry men
  • Concealed Blade
Two Handed Perks
  • Quick Plunder Deleted as from e1.4.1
  • Eviscerate Deleted as from e1.4.1
Tactics Perks
  • Companion Cavalry
  • Tactical Superiority
  • Elusive
  • Bait
  • Logistics
  • Ambush Specialist
  • Phalanx
  • Hammer and Anvil
  • Trusted Commander
Policies
  • Land Grants For Veterans
Feats
  • Aserai Cheap Caravans Fixed in e1.3.0
  • Battanian Forest Agility
  • Khuzait Cavalry Agility
  • Sturgian Snow Agility
Miscellaneous
  • Learning Rate explanation Fixed in e1.3.0
  • Item Comparison perk-based coloring
  • Party Morale bonus being too low for >10 food variety Fixed as from e1.4.3
  • Fixed crash that occurs when the Neutral clan gains a clan tier Disabled as from Community Patch v.0.1.1
  • Warn user that early story quests will timeout
  • Fix detection of snowy terrain and apply snow movement debuff as a factor of snow density

Current Features

  • Enable and Disable the Intro Video
  • Enable and Disable Menu when encountering a neutral or enemy army. Added to the game in e1.4.2
  • Generate Diagnostic Report
  • Toggle recording First Chance Exception info (don't use unless troubleshooting bugs)
  • Automatically capture Diagnostic Info to the Clipboard when an Unhandled Exception crash occurs

Modders

<DelayedSubModule> support is being separated out to a dedicated module, the DelayedSubModules project.

How To Contribute

If you'd like to collaborate on the project, please contact me via discord (ฬ‘๐Ÿ… #4344) on the TW Forums - Modding discord or the Mount and Blade discord.

Links

NexusMods: https://www.nexusmods.com/mountandblade2bannerlord/mods/186

Bannerlord Mod.IO: https://bannerlord.mod.io/community-patch

Building

This repo should be placed in the folder Modules\CommunityPatch under your Bannerlord installation, and it will build out-of-the-box. Just open the *.sln in an applicable IDE (JetBrains Rider, Visual Studio, etc) and build normally.

The default location for Bannerlord is C:\Program Files (x86)\Steam\steamapps\common\Mount & Blade II Bannerlord.

If your Bannerlord or local repo are in a different place, you can change the property MnB2BannerlordDir in Directory.Build.props to your bannerlord install. When editing the file be sure to use &amp; in place of an & if the path has one. If you do move the repo, then installing the mod will require copying it to Modules\CommunityPatch. Take care that the folder name is correct else problems may occur.

Credits

Contributors
Others
  • Xaphedo for providing the banner art

mnb2-bannerlord-communitypatch's People

Contributors

ajseavey avatar alejandro-y avatar bmountney avatar fnzr avatar ipherian avatar joefwd avatar miguelcjalmeida avatar skau avatar tyler-in avatar tynakuh avatar wonkotron avatar zagganoth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mnb2-bannerlord-communitypatch's Issues

Delayed loading, referencing other module's assemblies

The BMTournamentXP mod released a version that had an assembly reference to the SandBox.dll assembly in the SandBox module.
So for BMTournamentXP, to use this feature and load properly, the SubModules.xml would be the following.

<?xml version="1.0" encoding="utf-8"?>
<Module>
  <Name value="Tournament XP"/>
  <Id value="BMTournamentXP"/>
  <Version value="e1.1.2"/>
  <SingleplayerModule value="true"/>
  <MultiplayerModule value="false"/>
  <Official value="false"/>
  <DependedModules>
    <DependedModule Id="Native"/>
    <DependedModule Id="SandBoxCore"/>
    <DependedModule Id="Sandbox"/>
    <DependedModule Id="CustomBattle"/>
    <DependedModule Id="StoryMode" />
    <DependedModule Id="CommunityPatch" />
  </DependedModules>
  <SubModules/>
  <DelayedSubModules>
    <SubModule>
      <Name value="BMTournamentXP"/>
      <DLLName value="BMTournamentXP.dll"/>
      <SubModuleClassType value="BMTournamentXP.BMTournamentXPMain"/>
      <Tags>
        <Tag key="DedicatedServerType" value="none" />
        <Tag key="IsNoRenderModeElement" value="false" />
      </Tags>
    </SubModule>
  </DelayedSubModules>
  <Xmls/>
</Module>
  • The additions are <DependedModule Id="CommunityPatch" /> and <DelayedSubModules> element.

About the DependedModules: Stop doing this.

I recognized that you show contempt on the people who are adding <DependedModules> to your mod's Submodules.xml file. I see that you think emptying that will guarantee your mod to stay on the top on the loading list, right after the native modules.
However, as I observed the default launcher's behavior, I saw that leaving the DependedModules entry empty does NOT guarantee that your mod is loaded before any other mods. The launcher only checks if all the modules have their depended modules loaded before them, nothing more. Having no depended modules has nothing to do with the load order between the mods. In order to have your desired behavior correctly, all of the mods on the Bannerlord Nexus should contain your mod in their depended modules list, not the other way around.
You see, in a multi-participant project, it is really critical to use functions as intuitive as possible. Your approach is, with all due respect, downright confusing. Sure, the launcher assures any non-native modules to load after native modules, but that is a safeguard mechanism. Since your mod actually depends on the native modules, it is much more desirable for your mod's DependedModules list to contain the native modules. That's intuitive. That's how it should be working and how everybody else is expecting it to be working.
I do understand that there is no way to persuade all of the thousands of the modders to add your mod on their DependedModules list. I do see why you tried that approach. However, since it is not working as intended, it has no gains but it loses the intuitivity. Please stop that. Instead, direct the people to use the FixedLauncher Mod which allows the people to change load order manually.
Perhaps the best solution to this is Taleworlds adding a tag in the Submodules reader function such as {{{HighPriority = "yes"}}} or so. However, until that happens, it is best to follow the way things are intended to be in.

CTD on game start

Game version is 1.0.5 and mod at 0.0.1

Tried to load alone or with other mods, always CDT.

Fix Perk "One Step Ahead"

The third perk in the Tactics branch, "One Step Ahead", does not work as of e1.0.5. Any chance you could patch it in?

Gameplay Enhancement - Leadership

So far there isn't really any way to increase leadership in the early game, right now the main method for leveling leadership is by creating an army, which you cannot do unless you are a vassal, or have made an independent kingdom,though there's some really useful skills in the leadership tree(like the disciplinarian perk) there's a few methods I can think of to increase leadership that would probably work;

recruitment - I swear this already increases leadership in the vanilla game, as I am fairly certain I leveled up leadership like once through recruiting new soldiers, but it's super rare, so increasing the exp gain would probably work.

upgrading troops-not in vanilla(as far as I am aware), but leveling a tier 1 to tier 2 to tier 3 etc could give leadership exp, this would tie in pretty well with the leadership perks too.

renown gain-also not in vanilla, wanted to keep it separate from tactics, so rather than simply gaining exp from winning battles, the amount of exp would be based on renown gained in the battle, so winning against looters would naturally give less renown than winning against an army, so there would be less leadership exp in that situation. The nice thing is this would likely work with quests that raise renown.

morale- the description of the leadership skill says high morale increases the skill, but I'm not sure how high the bar is. I feel like I've managed to get my morale to like 80-85 and there is no level ups for the skill, maybe lower the bar or increase exp gain from this or something?

One thing I'm not sure of is how much exp each of these ideas should give, so some fine tuning may be required. I wanted to try to keep leadership as a separate thing from tactics with these ideas.

Merry Men perk.

Could you possibly fix the Merry Men perk in the Roguery tree currently does not work. It is a perk that lets you just recruit bandits instead of fighting them.

Diagnostic information gathering, for all mods

On the main menu, you should see a new option, "Mod Options"
image

This will open a dialog where you can select "Copy Diagnostics to Clipboard"
image

You can then paste the diagnostic output into a new issue.

Consent

Have you given your consent for your mod to be placed on NexusMods by a person named JackQW?

If so then great glad to hear it if not I reported it that he didn't create the mod and you should do the same. I wasn't going to put your work on a site without permission. BTW the mod works great from what i have tested. Not one issue from upgrading the bandits so far.

Thank you for fixing the issue so quickly from before.

Nourish Settlement doesn't work

Settlements should quadruple in prosperity gain when you're waiting there. (Should this be personal or governor? But this perk shouldn't stack if its personal and you must be owner of that settlement)

Stand United doesn't work

Wording is:
If you are leading a siege, any party leaving or entering must engage first.

I have no idea what the above actually means.

Enhanced Mines doesn't work

Doesn't increase income from mines by 50%

I'm going to assume mines are villages with mines in them. (Iron/Silver)

Mercenary Contract does not expire:

Merc contract does not expire, as such leaving the contract incurs -20 penalty with every lord of the faction.
Quick work around this, is to provide a +25 relation with the faction for the contract, thus yielding a +5 positive for enlisting as a merc.

Clan tier bonus bonus increase

Began as an idea to attempt to get closer to what it was in the last game:
Suggestion: Doubling or tripling bonuses

If the bonus says +1, to make it more than +1, perhaps a +2 or +3.

Bonus suggestions to increase, or to add:
Companion limit increased.
Workshop limit increased.

Addendum: I tried to make this work with console commands, hence why I am posting it here since I failed. Apparently companions added through console crash the game when used in leadership roles (to be exact, caravan leaders)

Balancing: Prosperity kills food production

Food production of existing buildings should be increased x 5-10 times
Aqueducts could provide substantial food production bonuses as well.
Caravans leave behind food for towns, food items should provide x2 the bonus to stockpiles as usual.

Prosperous Reign doesn't work

Villages don't 'grow' at double rate. Question of what is growth exactly. I'd imagine it's Hearth per daily tick.

Governor

Maybe also investigate the governor.
By checking all city values, it seems like the position is without any impact on the city besides -2 Loyalty due to "wrong culture" from the governor.

greets

Fix trait/perk: Mounted Archer

Same issue as with disciplinarian, So I will list them off here, unless you want me to do a separate link to each?

If these don't then I assume, many others don't either.

Trait confirmed not to work.

Mounted Archery trait: allowing any bow to be used on horseman.
Mounted Crossbows: allowing reloading on horseback

Appraiser/Whole Seller (Tier 1 perk in trading tree) removes the tooltip when comparing weapons/armor/horses

This is a vanilla bug.

Picking either Appraiser or Whole Seller in the trading skill tree removes the highlighting for items in the inventory screen, the ones used to compare whenever or not an item is an upgrade.

image no perks taken

image notice how the compare now works, the green/red numbers

image either perk taken

image compare is now broken, not showing either green/red numbers.

I'm also pretty sure the perk bonuses emself are not implemented or broken (show profit when trading)

Castle food production

Food production is heavily tied to caravans unloading supplies.
Caravans cannot reach castles, they do not have markets.

Fixes?
Castle buildings to provide abnormally high food production

Allow caravans to reach castles/enable trading market in castles as well as stash.

Honestly this one is tricky, I don't have a clear suggestion to fix this. Castles can't trade, they can't receive food...they are killed by prosperity so I do not know.

Steward Perk Lvl 250 "Ruler" is not working.

It is supposed to grant 1 Companion per town you own. I own 4 towns and finally hit the 250 Steward needed and no go. Figure since the mod is already fixing other perks this is right up the same alley.

Agriculture doesn't work

Should give 30% more production from farms.
It also applies to 'Personal' when it should probably apply to Governor

Bannerlord Perk doesn't work

Should give +2 to party size for each fief owned. (It's personal but should probably be clan leader, as they are the only ones who can own fiefs?)

Warmonger doesn't work

Warmonger doesn't reduce the influence required to summon vassals for War.
'Less' is debatable here, perhaps should be configurable as its ambigious.

Community outreach

If it helps Tyler there are mods that do some of the things we request but they are not grouped into one mod and there only sort of working they way they are supposed to.

Unit Grouping

Is there a way to get the units ie troops your assign to the different unit groups ie: Scouts to Light Cavarly (7), Knights to Heavy Cavalry(8), Skirmishers to Skirmishers(5) etc to stay where they are assigned until reassigned. If you assign a unit to a particular group it only stays for a short time then it goes back to the standard defaults, (1) Infantry (2) Archers (3) Cavalry (4) Mounted Archers and nothing else... why have the extra options if there not being used and saved.

If you press the 3 key the wrong unit is said in the characters voice, instead of Cavalry you get something like soldiers or something else but not the words Cavalry. This is more an annoyance then anything else for now.

The Grouping issue is really nice to have for tactics.

Thanks for the great work.

Mount Expert doesn't work

Doesn't reduce trade penalty for horses, also it applies to 'Surgeon' which is extremely odd, should probably be 'Personal'

Prisoner Recruitment only allows Tier 4 or lower.

Looking at the code:

if (!IsPrisonerRecruitable(characterAtIndex) || characterAtIndex.Tier > 6)
{
      continue;
}

So Tier 6 shouldn't be recruitable, that's fine but the DefaultPrisonerRecruitmentCalculationModel returns the following:

	public override float[] GetDailyRecruitedPrisoners(MobileParty mainParty)
	{
		return new float[5]
		{
			1f,
			0.5f,
			0.3f,
			0.2f,
			0.1f
		};
	}

Which is the 'probability' that each tier gets recruited.

However Tier 0 isn't a thing (Well it is, applies to Heroes actually) for troops.
So it's an off by one error, just need to replace that list with something like:

	public override float[] GetDailyRecruitedPrisoners(MobileParty mainParty)
	{
		return new float[5]
		{
			1f,
                        1f,
			0.5f,
			0.3f,
			0.2f,
			0.1f
		};
	}

for the mod, (Proper fix is of course just decrement the Tier by 1 in the actual code or use a different structure like a Dictionary to determine this, also the method name is a bit confusing...)

Logistics Expert doesn't work

Armies do not gain speed from this perk. The amount is ambigious so should probably be configurable or discussed.

Increase cost of upgrades for those units that require horses

Suggestion to lower the micro management:

Units that require a special item (war horses for example) to increase their upgrade cost, while removing the requirement of having said item.

Reasoning being, the whole point of paying for the unit is for the "fee" its equipment, or logistical burden. Why is there an additional step to get a warhorse.

Reconstruction doesn't work

Villages should recover 'faster' than normal after being raided.

The actual number isn't stated, so should probably be configurable or discussed.

Getting the bytes and/or hash of some IL to make a patch

image

image

image

Copied: 28AE01000A6FB001000A6FBF02000A2C1F722771017028AE01000A6FBA01000A6FBB01000A28D602000A16280D02000A28AE01000A6FBA01000A6FD702000A2C3C28B000000A6FB001000A28AE01000A6FB001000A332628AE01000A6FBA01000A28B000000A6FBA01000A2E1028B000000A6FBA01000A6F6402000A2A162A

Now to get the hash - if you don't have a tool for that, you can use https://www.fileformat.info/tool/hash.htm

image

image

SHA256: 3181472b6adec8263768b3810a4757513730a4a4b3dea7591a75908a18dfa72b

Converted to C# byte array: byte[] hash = {0x31,0x81,0x47,0x2b,0x6a,0xde,0xc8,0x26,0x37,0x68,0xb3,0x81,0x0a,0x47,0x57,0x51,0x37,0x30,0xa4,0xa4,0xb3,0xde,0xa7,0x59,0x1a,0x75,0x90,0x8a,0x18,0xdf,0xa7,0x2b};

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.