For 1.1.6 players, I managed to make it work on 1.1.6 by turning the select skills randomly to true. I think the culprit that causes the crash on promotion is that setting, it might or might not work for you but worth a try.
It seems that his version uses the Settings.xml from the original distinguished service mod, so edit that Settings.xml to <select_skills_randomly>true</select_skills_randomly> and on the launcher : turn the original distinguished service mod off and this version on
If you ever update the mod to 1.1.5, maybe you could fix a bug I have found? I am currently playing with the mod in that version, and everything had been working great up until I tried to award lordship to a companion who I gained via Distinguished Service. Once I give them their new clan name, the game crashes. Here is the crash report log: https://report.butr.link/C3EEBE.html
Sorry for getting back after so damn long. I am playing on campaign and yes I was using Warlord at the time. For one reason or another, I stopped playing soon after I made this post (hence why I took so long to get back to this) but yeah, warlord was probably causing it
Playing with warlord in 1.1.5. I just upgraded a imperial legionary into a companion and all was good. I will check if crashes when I tell him to govern a castle.
You can keep playing if you attempt to continue but the skill point get randomly put around. Its Def a problem for 1.1.6. I just reverted back to .5 and it works fine again.
How do you keep playing? For me it's an instant crash when clicking Done after choosing a troop to promote. playing on 1.1.6. Damn, I wish this mod worked on this version of the game.
ok, so for those playing on 1.1.6. I managed to fix the crash issue and it seems to be working now, what I did was put Distinguished Service 1.1.0 at the bottom of the load order and Distinguished service under it.(after all the other mods).
For those on 1.1.6 who wants a workaround, you can revert back to 1.1.5, promote your troops, and go back to 1.1.6.
What I did was first leveling a troop I wanted to promote to the second highest level, with enough XP to upgrade to the highest.
Then I reverted to 1.1.5 by going to my M&B in my library -> properties -> betas -> selecting 1.1.5.
Then, with Distinguished Service installed, I went to Program files(x86) (Or wherever Bannerlord is installed for you)\steam\steamapps\workshop\content\261550\2952807291\Settings.xml. There, I changed <upgrade_to_hero>false</upgrade_to_hero> to <upgrade_to_hero>true</upgrade_to_hero>. This makes any troop into a companion when promoted to the highest level.
Then, I launched the game, upgraded my troop of choice, and got the promotion dialogue.
Alternatively, you could use the console command dservice.uplift_soldier [6] to promote any party member. Then, you don't have to edit the settings.xml.
When I had promoted the troops I wanted, I opted out of the 1.1.5 "beta" and uninstalled the mod.
Of course, this isn't as immersive as promoting troops after a battle, but it's quick and convenient. The update between 1.1.5 and 1.1.6 is very small, so it's more like downloading a mod than reinstalling the game. I also had a weird bug where a single promotion would give me two companions, but it's easy enough to dismiss one of them.
Here is the workaround: get this mod above the original in the load order, and put them both on the bottom(after all the other mods) Also get the fix from github and apply it. Let me know if it works for you.
When I promote a solider after a fight all of his gear turns to "rusty" or "worn" versions. Seems cool for those units that's been in many battles, but just leveled a unit and it was his first battle lol. Dude killed 5 enemies.
Is this simply part of the mod? No big issues or anything, but liked the old method better.
I guess it's to balance you getting a fully equipped companion. Usually you they start in rags and you have to equip them. So the rusty euqipment tries to balance that a bit.
That's something the original mod author put in so that you can't just promote a high rank unit to companion and sell all their gear - as it could give you equipment worth tens of thousands of denars. Just their little effort to balance the economy of the mod.
Then add this into the SubModule.xml <XmlNode> <XmlName id="ItemModifiers" path="npc_modifiers"/> <IncludedGameTypes> <Gametype value = "Campaign"/> <Gametype value = "CampaignStoryMode"/> <GameType value = "EditorGame"/> </IncludedGameTypes> </XmlNode>
I've done as you said but it doesn't work, the companions still get worn armor and rusty weapon, and re-equip them everytime I promote a new guy become annoying real quick.
They meant you do that so that the rusty or worn modifiers don't affect price, you can just sell the rusty stuff and buy the same gear but without the modifiers
well that bring up new problem, high tier troop usually have high tier gear that are not easy to find, even if I have money, I can't buy them, during early game it's not a problem but when in late game I promote quite a lot of companion so they can lead more party for me, I don't want to have to go to several town just to re-equip one dude. Do you know any way to remove the debuff modifiers ?
exaclty. Having more than 10 Companions is cumbersome enough to manage their gear and skill, imagine how boring it would be to gear up hundreds of companions. For the balance of the game, just don't sell their high value gear. duh. I never even thought about it when I played a year ago. lol
where's the ModuleData/ds_item_modifiers.xml file ? I wan't to remove the gear debuff my companion have cause I'm in late game and it annoying having to manually re-equip my companion every time I promoted a new one
96 comments
It seems that his version uses the Settings.xml from the original distinguished service mod, so edit that Settings.xml to <select_skills_randomly>true</select_skills_randomly> and on the launcher : turn the original distinguished service mod off and this version on
Are you playing a campaign or a sandbox?
Playing with warlord in 1.1.5. I just upgraded a imperial legionary into a companion and all was good. I will check if crashes when I tell him to govern a castle.
https://www.nexusmods.com/mountandblade2bannerlord/mods/6007?tab=files
Just download the .zip from the release, extract and place it in your Modules folder
Haven't tested it for 1.1.6 so don't expect it to work for that
playing on 1.1.6.
Damn, I wish this mod worked on this version of the game.
I managed to fix the crash issue and it seems to be working now, what I did was put Distinguished Service 1.1.0 at the bottom of the load order and Distinguished service under it.(after all the other mods).
What I did was first leveling a troop I wanted to promote to the second highest level, with enough XP to upgrade to the highest.
Then I reverted to 1.1.5 by going to my M&B in my library -> properties -> betas -> selecting 1.1.5.
Then, with Distinguished Service installed, I went to Program files(x86) (Or wherever Bannerlord is installed for you)\steam\steamapps\workshop\content\261550\2952807291\Settings.xml. There, I changed <upgrade_to_hero>false</upgrade_to_hero> to <upgrade_to_hero>true</upgrade_to_hero>. This makes any troop into a companion when promoted to the highest level.
Then, I launched the game, upgraded my troop of choice, and got the promotion dialogue.
Alternatively, you could use the console command dservice.uplift_soldier [6] to promote any party member. Then, you don't have to edit the settings.xml.
When I had promoted the troops I wanted, I opted out of the 1.1.5 "beta" and uninstalled the mod.
Of course, this isn't as immersive as promoting troops after a battle, but it's quick and convenient. The update between 1.1.5 and 1.1.6 is very small, so it's more like downloading a mod than reinstalling the game. I also had a weird bug where a single promotion would give me two companions, but it's easy enough to dismiss one of them.
Here is the workaround:
get this mod above the original in the load order, and put them both on the bottom(after all the other mods)
Also get the fix from github and apply it.
Let me know if it works for you.
When I promote a solider after a fight all of his gear turns to "rusty" or "worn" versions. Seems cool for those units that's been in many battles, but just leveled a unit and it was his first battle lol. Dude killed 5 enemies.
Is this simply part of the mod? No big issues or anything, but liked the old method better.
Say adding a file "npc_modifiers.xml"
<?xml version="1.0" encoding="utf-8"?>
<ItemModifiers>
<ItemModifier modifier_group="ItemModifierGroup.companion"
id="companion_horse"
name="{=y3TvYqhG}Elite {ITEMNAME}"
loot_drop_score="0"
production_drop_score="0"
price_factor="0.001" />
<ItemModifier modifier_group="ItemModifierGroup.companion"
id="companion_weapon"
name="{=l7QEpVwU}Elite {ITEMNAME}"
loot_drop_score="0"
production_drop_score="0"
price_factor="0.001" />
<ItemModifier modifier_group="ItemModifierGroup.companion"
id="companion_armor"
name="{=5yVgXqQr}Elite {ITEMNAME}"
loot_drop_score="0"
production_drop_score="0"
price_factor="0.001" />
</ItemModifiers>
Then add this into the SubModule.xml
<XmlNode>
<XmlName id="ItemModifiers" path="npc_modifiers"/>
<IncludedGameTypes>
<Gametype value = "Campaign"/>
<Gametype value = "CampaignStoryMode"/>
<GameType value = "EditorGame"/>
</IncludedGameTypes>
</XmlNode>
How to undo that randomization completely?
For the balance of the game, just don't sell their high value gear. duh. I never even thought about it when I played a year ago. lol
Inner exception callstack: at TaleWorlds.Core.InquiryElement.HasSameContentWith(Object other)at TaleWorlds.Core.MultiSelectionInquiryData.HasSameContentWith(Object other)
at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source, Func`2 predicate)
at TaleWorlds.MountAndBlade.GauntletUI.GauntletQueryManager.CreateMultiSelectionQuery(MultiSelectionInquiryData data, Boolean pauseGameActiveState, Boolean prioritize)
at DistinguishedService.PromotionManager.AssignSkills(Hero specialHero, Int32 skill_points_to_assign, Int32 num_skills_to_select, String title_prefix, String prev)
at DistinguishedService.PromotionManager.PromoteUnit(CharacterObject co, Int32 kills, Boolean pick_skills)
at DistinguishedService.PromotionManager.OnNomineeSelect(List`1 ies)
at TaleWorlds.MountAndBlade.ViewModelCollection.Inquiries.MultiSelectionQueryPopUpVM.ExecuteAffirmativeAction()Outer exception callstack: at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at TaleWorlds.Library.Common.InvokeWithLog(MethodInfo methodInfo, Object obj, Object[] args)
at TaleWorlds.Library.ViewModel.ExecuteCommand_Patch1(ViewModel this, String commandName, Object[] parameters)
at TaleWorlds.GauntletUI.Data.GauntletView.OnCommand(String command, Object[] args)
at TaleWorlds.GauntletUI.BaseTypes.Widget.EventFired(String eventName, Object[] args)
at TaleWorlds.GauntletUI.BaseTypes.ButtonWidget.HandleClick()
at TaleWorlds.GauntletUI.BaseTypes.ButtonWidget.OnMouseReleased()
at TaleWorlds.GauntletUI.EventManager.MouseUp()
at TaleWorlds.GauntletUI.UIContext.UpdateInput(InputType handleInputs)
at TaleWorlds.ScreenSystem.ScreenManager.Update()
at TaleWorlds.ScreenSystem.ScreenManager.Tick_Patch1(Single dt, Boolean activeMouseVisible)