Just for the sake of transparency, you can call this "dead for now". I've stopped playing Bannerlord and uninstalled it since I dont find it fun and short sighted. Taleworlds seems to want to take this game in the "hack and slash" direction with the depth of a puddle. I wanted to make mods to enhance the experience but find myself wanting to fix the very fundamentals of the game. This was a lightbulb moment that I want to love the game, but dont and would have to sink far more time fixing it than im willing to. If anyone is interested if picking this up, feel free.
@jtlane16 Brother you took the words out of my mouth. There are things fundamentally wrong with this game. If you complain about it on reddit people just defend the game for no reason. By the way I made some silly youtube videos on the same topic. You can find me @Accentrick on youtube.
@jtlane16 OMG I could not agree more. I got this game within a month of it being released EA and for a while I had high hopes that this could be one of the best games ever made. The graphics are beautiful, the character models are pretty good, the skill trees are nice, taking castles was (at first) awesome.... and then Failworlds seemed to stop caring, they made poor decision after poor decision. Modders like yourself (and thank you so much for all you and other modders did to make the game much better, it would not be worth a damn otherwise) had to or were making mods to correct, fix, improve on the crap that Failworlds was putting out in the patches. Yet almost everytime a great mod would improve the game, the idiots at Failworlds would put out a patch that not only made the base game worse but also made the mods (many of them) no longer work and so the modders had basically wasted their time, had to either redo/update their mods to work with the latest Failworlds crap knowing another patch would probably make that update not work or give up on modding the game.
I have nothing but respect and gratitude for Modders who time after time redid, updated or fixed their mods so they would work with Failworlds crap and I totally understand not wanting to continue wasting time. I think a solution if Failworlds devs weren't such idiots would have been to work WITH the modders who were helping make their game so successful so that patches could incorporate some of the mods (as long as the modders agreed of course). You wouldn't have modders getting disgusted hopefully and the game would work even better.
Failworlds shortsighted crap will be the reason this game ultimately dies and its such a shame.
Hopefully someone will do something with the code - it may be using it directly or it may be an inspiration (think something like what Serve as a Soldier did)
Im about to try this mod out as It seems like this is the type of mod to be in an absolute essential mod list. But unless stated elsewhere, I wanted to ask if this can be used with a current save or do you have to start a new campaign? Also, Im glad you stated that this mod works with diplomacy, but does it work with other mods like kingdom execution/annexation and Separatism?
Hi!, i´ve got this crash in 1.0.3. Sadly, I can´t say how to replicate it, I suspect it was caused in a AI vs AI battle or siege, as I´ve reloaded a save and it still crashed whether I did one thing or another
https://report.butr.link/401836.html - ExceptionException information Type: System.NullReferenceException Message: Object reference not set to an instance of an object. Source: TaleWorlds.CampaignSystem CallStack:
at float TaleWorlds.CampaignSystem.Party.MobileParty.GetTotalStrengthWithFollowers()
at void TaleWorlds.CampaignSystem.CampaignBehaviors.AiBehaviors.AiMilitaryBehavior.AiHourlyTick_Patch1(AiMilitaryBehavior this, MobileParty mobileParty, PartyThinkParams p)
at void TaleWorlds.CampaignSystem.MbEvent.InvokeList(EventHandlerRec list, T1 t1, T2 t2)
at void TaleWorlds.CampaignSystem.CampaignEvents.AiHourlyTick(MobileParty party, PartyThinkParams partyThinkParams)
at void TaleWorlds.CampaignSystem.CampaignEventDispatcher.AiHourlyTick(MobileParty party, PartyThinkParams partyThinkParams)
at void TaleWorlds.CampaignSystem.CampaignBehaviors.AiBehaviors.AiPartyThinkBehavior.PartyHourlyAiTick(MobileParty mobileParty)
at void TaleWorlds.CampaignSystem.MbEvent.InvokeList(EventHandlerRec list, T t)
at void TaleWorlds.CampaignSystem.CampaignEvents.TickPartialHourlyAi(MobileParty party)
at void TaleWorlds.CampaignSystem.CampaignEventDispatcher.TickPartialHourlyAi(MobileParty party)
at void TaleWorlds.CampaignSystem.CampaignPeriodicEventManager+PeriodicTicker.PeriodicTickSome(double timeUnitsElapsed)
at void TaleWorlds.CampaignSystem.CampaignPeriodicEventManager.TickPartialHourlyAi()
at void TaleWorlds.CampaignSystem.Campaign.Tick()
at void TaleWorlds.CampaignSystem.GameState.MapState.OnMapModeTick(float dt)
at void TaleWorlds.CampaignSystem.GameState.MapState.OnTick(float dt)
at void TaleWorlds.Core.GameStateManager.OnTick(float dt)
at void TaleWorlds.Core.Game.OnTick(float dt)
at void TaleWorlds.Core.GameManagerBase.OnTick(float dt)
at void TaleWorlds.MountAndBlade.Module.OnApplicationTick_Patch1(Module this, float dt)
- Enhanced Stacktrace
Frame: float TaleWorlds.CampaignSystem.Party.MobileParty.GetTotalStrengthWithFollowers() (IL Offset: 0)
When I activate this mod, the game starts fine and loads fine but as soon as I go to move around the map, it crashes instantly. What should I do? I'm at a loss here.
I know this mod seem to be abandoned, but in the next version if you could disable the ai getting troops from their garrison when they're defeated it would be nice because as soon as they escape they come back with elite troops they ''steal'' from their fiefs, so the whole ''ai don't get free troops anymore'' just doesn't work at all
thx man, I didn't saw there was an option for that... I got stressed out when I defeated Derthert's army and he came back 5 min later with a party of nothing but 130 banner knights
330 comments
Comments locked
The author has locked this comment topic for the time beingEDIT: I have released a (hopefully) working update at https://www.nexusmods.com/mountandblade2bannerlord/mods/5276
I have nothing but respect and gratitude for Modders who time after time redid, updated or fixed their mods so they would work with Failworlds crap and I totally understand not wanting to continue wasting time. I think a solution if Failworlds devs weren't such idiots would have been to work WITH the modders who were helping make their game so successful so that patches could incorporate some of the mods (as long as the modders agreed of course). You wouldn't have modders getting disgusted hopefully and the game would work even better.
Failworlds shortsighted crap will be the reason this game ultimately dies and its such a shame.
Hopefully someone will do something with the code - it may be using it directly or it may be an inspiration (think something like what Serve as a Soldier did)
It can be found here: https://www.nexusmods.com/mountandblade2bannerlord/mods/5276
Good ideas but bad execution.
Here you go.
do not like 1.1.2?
source code is available on the download page here. feel free to update it yourself. :)
https://report.butr.link/401836.html
- ExceptionException information
- at float TaleWorlds.CampaignSystem.Party.MobileParty.GetTotalStrengthWithFollowers()
- at void TaleWorlds.CampaignSystem.CampaignBehaviors.AiBehaviors.AiMilitaryBehavior.AiHourlyTick_Patch1(AiMilitaryBehavior this, MobileParty mobileParty, PartyThinkParams p)
- at void TaleWorlds.CampaignSystem.MbEvent.InvokeList(EventHandlerRec list, T1 t1, T2 t2)
- at void TaleWorlds.CampaignSystem.CampaignEvents.AiHourlyTick(MobileParty party, PartyThinkParams partyThinkParams)
- at void TaleWorlds.CampaignSystem.CampaignEventDispatcher.AiHourlyTick(MobileParty party, PartyThinkParams partyThinkParams)
- at void TaleWorlds.CampaignSystem.CampaignBehaviors.AiBehaviors.AiPartyThinkBehavior.PartyHourlyAiTick(MobileParty mobileParty)
- at void TaleWorlds.CampaignSystem.MbEvent.InvokeList(EventHandlerRec list, T t)
- at void TaleWorlds.CampaignSystem.CampaignEvents.TickPartialHourlyAi(MobileParty party)
- at void TaleWorlds.CampaignSystem.CampaignEventDispatcher.TickPartialHourlyAi(MobileParty party)
- at void TaleWorlds.CampaignSystem.CampaignPeriodicEventManager+PeriodicTicker.PeriodicTickSome(double timeUnitsElapsed)
- at void TaleWorlds.CampaignSystem.CampaignPeriodicEventManager.TickPartialHourlyAi()
- at void TaleWorlds.CampaignSystem.Campaign.Tick()
- at void TaleWorlds.CampaignSystem.GameState.MapState.OnMapModeTick(float dt)
- at void TaleWorlds.CampaignSystem.GameState.MapState.OnTick(float dt)
- at void TaleWorlds.Core.GameStateManager.OnTick(float dt)
- at void TaleWorlds.Core.Game.OnTick(float dt)
- at void TaleWorlds.Core.GameManagerBase.OnTick(float dt)
- at void TaleWorlds.MountAndBlade.Module.OnApplicationTick_Patch1(Module this, float dt)
- Frame: float TaleWorlds.CampaignSystem.Party.MobileParty.GetTotalStrengthWithFollowers() (IL Offset: 0)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.CampaignBehaviors.AiBehaviors.AiMilitaryBehavior.AiHourlyTick_Patch1(AiMilitaryBehavior this, MobileParty mobileParty, PartyThinkParams p) (IL Offset: -1)
- Module: WarAndAiTweaks
- Module: UNKNOWN
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.MbEvent.InvokeList(EventHandlerRec list, T1 t1, T2 t2) (IL Offset: 23)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.CampaignEvents.AiHourlyTick(MobileParty party, PartyThinkParams partyThinkParams) (IL Offset: 0)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.CampaignEventDispatcher.AiHourlyTick(MobileParty party, PartyThinkParams partyThinkParams) (IL Offset: 11)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.CampaignBehaviors.AiBehaviors.AiPartyThinkBehavior.PartyHourlyAiTick(MobileParty mobileParty) (IL Offset: 359)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.MbEvent.InvokeList(EventHandlerRec list, T t) (IL Offset: 22)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.CampaignEvents.TickPartialHourlyAi(MobileParty party) (IL Offset: 0)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.CampaignEventDispatcher.TickPartialHourlyAi(MobileParty party) (IL Offset: 11)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.CampaignPeriodicEventManager+PeriodicTicker.PeriodicTickSome(double timeUnitsElapsed) (IL Offset: 139)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.CampaignPeriodicEventManager.TickPartialHourlyAi() (IL Offset: 189)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.Campaign.Tick() (IL Offset: 310)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.GameState.MapState.OnMapModeTick(float dt) (IL Offset: 140)
- Module: UNKNOWN
- Frame: void TaleWorlds.CampaignSystem.GameState.MapState.OnTick(float dt) (IL Offset: 77)
- Module: UNKNOWN
- Frame: void TaleWorlds.Core.GameStateManager.OnTick(float dt) (IL Offset: 47)
- Module: UNKNOWN
- Frame: void TaleWorlds.Core.Game.OnTick(float dt) (IL Offset: 0)
- Module: UNKNOWN
- Frame: void TaleWorlds.Core.GameManagerBase.OnTick(float dt) (IL Offset: 0)
- Module: UNKNOWN
- Frame: void TaleWorlds.MountAndBlade.Module.OnApplicationTick_Patch1(Module this, float dt) (IL Offset: -1)
- Module: BetterExceptionWindow
- Module: UNKNOWN
- Module: UNKNOWN
- WarAndAiTweaks
- Method: static System.Void WarAndAiTweaks.PartyThinkPartyPatch::Postfix(TaleWorlds.CampaignSystem.Party.MobileParty mobileParty, TaleWorlds.CampaignSystem.PartyThinkParams& p)
- BetterExceptionWindow
- Method: static System.Exception BetterExceptionWindow.OnApplicationTickPatch::Finalizer(System.Exception __exception)
Type: System.NullReferenceException
Message: Object reference not set to an instance of an object.
Source: TaleWorlds.CampaignSystem
CallStack:
- Enhanced Stacktrace
Method: System.Single TaleWorlds.CampaignSystem.Party.MobileParty::GetTotalStrengthWithFollowers()HarmonyIssue: False
Method: static System.Void WarAndAiTweaks.PartyThinkPartyPatch::Postfix(TaleWorlds.CampaignSystem.Party.MobileParty mobileParty, TaleWorlds.CampaignSystem.PartyThinkParams& p)HarmonyIssue: False
Method: static System.Void TaleWorlds.CampaignSystem.CampaignBehaviors.AiBehaviors.AiMilitaryBehavior.AiHourlyTick_Patch1(TaleWorlds.CampaignSystem.CampaignBehaviors.AiBehaviors.AiMilitaryBehavior this, TaleWorlds.CampaignSystem.Party.MobileParty mobileParty, TaleWorlds.CampaignSystem.PartyThinkParams p)HarmonyIssue: False
Method: System.Void TaleWorlds.CampaignSystem.CampaignBehaviors.AiBehaviors.AiMilitaryBehavior::AiHourlyTick(TaleWorlds.CampaignSystem.Party.MobileParty mobileParty, TaleWorlds.CampaignSystem.PartyThinkParams p)HarmonyIssue: False
Method: System.Void TaleWorlds.CampaignSystem.MbEvent`2::InvokeList(TaleWorlds.CampaignSystem.EventHandlerRec`2 list, TaleWorlds.CampaignSystem.T1 t1, TaleWorlds.CampaignSystem.T2 t2)HarmonyIssue: True
Method: virtual System.Void TaleWorlds.CampaignSystem.CampaignEvents::AiHourlyTick(TaleWorlds.CampaignSystem.Party.MobileParty party, TaleWorlds.CampaignSystem.PartyThinkParams partyThinkParams)HarmonyIssue: False
Method: virtual System.Void TaleWorlds.CampaignSystem.CampaignEventDispatcher::AiHourlyTick(TaleWorlds.CampaignSystem.Party.MobileParty party, TaleWorlds.CampaignSystem.PartyThinkParams partyThinkParams)HarmonyIssue: False
Method: System.Void TaleWorlds.CampaignSystem.CampaignBehaviors.AiBehaviors.AiPartyThinkBehavior::PartyHourlyAiTick(TaleWorlds.CampaignSystem.Party.MobileParty mobileParty)HarmonyIssue: False
Method: System.Void TaleWorlds.CampaignSystem.MbEvent`1::InvokeList(TaleWorlds.CampaignSystem.EventHandlerRec`1 list, TaleWorlds.CampaignSystem.T t)HarmonyIssue: True
Method: virtual System.Void TaleWorlds.CampaignSystem.CampaignEvents::TickPartialHourlyAi(TaleWorlds.CampaignSystem.Party.MobileParty party)HarmonyIssue: False
Method: virtual System.Void TaleWorlds.CampaignSystem.CampaignEventDispatcher::TickPartialHourlyAi(TaleWorlds.CampaignSystem.Party.MobileParty party)HarmonyIssue: False
Method: System.Void TaleWorlds.CampaignSystem.PeriodicTicker`1::PeriodicTickSome(System.Double timeUnitsElapsed)HarmonyIssue: True
Method: System.Void TaleWorlds.CampaignSystem.CampaignPeriodicEventManager::TickPartialHourlyAi()HarmonyIssue: False
Method: System.Void TaleWorlds.CampaignSystem.Campaign::Tick()HarmonyIssue: False
Method: System.Void TaleWorlds.CampaignSystem.GameState.MapState::OnMapModeTick(System.Single dt)HarmonyIssue: False
Method: virtual System.Void TaleWorlds.CampaignSystem.GameState.MapState::OnTick(System.Single dt)HarmonyIssue: False
Method: System.Void TaleWorlds.Core.GameStateManager::OnTick(System.Single dt)HarmonyIssue: False
Method: System.Void TaleWorlds.Core.Game::OnTick(System.Single dt)HarmonyIssue: False
Method: System.Void TaleWorlds.Core.GameManagerBase::OnTick(System.Single dt)HarmonyIssue: False
Method: static System.Exception BetterExceptionWindow.OnApplicationTickPatch::Finalizer(System.Exception __exception)HarmonyIssue: False
Method: static System.Void TaleWorlds.MountAndBlade.Module.OnApplicationTick_Patch1(TaleWorlds.MountAndBlade.Module this, System.Single dt)HarmonyIssue: False
Method: System.Void TaleWorlds.MountAndBlade.Module::OnApplicationTick(System.Single dt)HarmonyIssue: False
- Involved Modules
Frame: void TaleWorlds.CampaignSystem.CampaignBehaviors.AiBehaviors.AiMilitaryBehavior.AiHourlyTick_Patch1(AiMilitaryBehavior this, MobileParty mobileParty, PartyThinkParams p) (IL Offset: -1)HarmonyIssue: False
Frame: void TaleWorlds.MountAndBlade.Module.OnApplicationTick_Patch1(Module this, float dt) (IL Offset: -1)HarmonyIssue: False