The tournament rewards on the list of nearby tournaments might be inconsistent and it's intentional. The game first determines the reward for the tournament when it is created. The prize is based on the number of nobles currently present in the city. It is then redefined either when the tournament is automatically resolved without a player participating, or when the player joins the tournament. In both cases, the game checks the current number of able nobles in the settlement and, if it differs from the one that was at the time the tournament was created, a new prize is selected. The reasoning behind this is that prizes are determined based on the number of nobles who are going to participate in the tournament - the higher it is, the more chances for more valuable prizes, and at some point the pool from which the prizes are selected is changed to "elite" one, which allows you to win some of the best items in the game (literally so if prize scaling is enabled and player's clan reached tier 6).
While I personally think that rerolling prizes is based on good reasons, I understand that it can be frustrating, so as of version 1.1.0 of the mod, there is a setting that determines whether and in what cases the tournament prize should be redefined. Check the 'Prize reroll condition' setting, it can be set to one of the following preferences:
Never - Tournament prizes are only set when the tournament is created and never change afterwards.
When prize tier can be improved - Tournament prizes will be overridden if the current number of able nobles in the settlement at the time the player joins the tournament or it's automatically resolved is higher than when the tournament was created, and this allows the prize to be selected from the elite reward pool. This is the recommended setting.
When chances for better prize are improved - Tournament prizes will be overridden if the current number of able nobles in the settlement at the time the player joins the tournament or it's automatically resolved is higher than when the tournament was created, meaning that chances to get more valuable prize are higher.
When situation changed - Tournament prizes will be overridden if the current number of able nobles in the settlement has changed since the tournament was created. This is the vanilla setting.
Message: Object reference not set to an instance of an object.
Source: ArenaOverhaul.1.0.0
CallStack: at void ArenaOverhaul.CampaignBehaviors.AOArenaBehavior.AddLoadoutDialogues(CampaignGameStarter campaignGameStarter, Settlement settlement) in C:/Users/brand/Desktop/Dev/BL Mods/Bannerlord.ArenaOverhaul/src/ArenaOverhaul/CampaignBehaviors/AOArenaBehavior.cs:line 170 at void ArenaOverhaul.CampaignBehaviors.AOArenaBehavior.OnSessionLaunched(CampaignGameStarter campaignGameStarter) in C:/Users/brand/Desktop/Dev/BL Mods/Bannerlord.ArenaOverhaul/src/ArenaOverhaul/CampaignBehaviors/AOArenaBehavior.cs:line 81 at void TaleWorlds.CampaignSystem.MbEvent<T>.InvokeList(EventHandlerRec<T> list, T t) at void TaleWorlds.CampaignSystem.CampaignEvents.OnSessionStart(CampaignGameStarter campaignGameStarter) at void TaleWorlds.CampaignSystem.CampaignEventDispatcher.OnSessionStart(CampaignGameStarter campaignGameStarter) at void TaleWorlds.CampaignSystem.Campaign.OnSessionStart(CampaignGameStarter starter) at void TaleWorlds.CampaignSystem.Campaign.DoLoadingForGameType(GameTypeLoadingStates gameTypeLoadingState, out GameTypeLoadingStates nextState) at void StoryMode.CampaignStoryMode.DoLoadingForGameType(GameTypeLoadingStates gameTypeLoadingState, out GameTypeLoadingStates nextState) at bool TaleWorlds.Core.GameType.DoLoadingForGameType() at void SandBox.SandBoxGameManager.DoLoadingForGameManager(GameManagerLoadingSteps gameManagerLoadingStep, out GameManagerLoadingSteps nextStep) at bool TaleWorlds.Core.GameManagerBase.DoLoadingForGameManager() at void TaleWorlds.MountAndBlade.GameLoadingState.OnTick(float dt) at void TaleWorlds.Core.GameStateManager.OnTick(float dt) at void TaleWorlds.MountAndBlade.Module.OnApplicationTick_Patch1(Module this, float dt)
1.2.9, no crash when its the only mod I load, and I have a LARGE modlist so any insight as to what *might* be conflicting would be fantastic.
Is it possible to make tournament rewards only if player wins himself? As an option in config I mean. the problem is when you have governors with 200 skill they start to win tournaments in their city and shower you with 16k gold payouts. Not really a big issue just asking.
EDIT: Woops. Nope. The mods are just incompatible. Looks like when a tournament starts, having both mods installed will cause a crash.
There's a fixable compatibility snag with Realistic Battle Mod when starting a new game. Workaround seems to be to simply disable Arena Overhaul, launch game, start new game, enter an arena, save & quit, re-enable Arena Overhaul, launch and load previous save.
Warlord Pack's Warband Tournament Gear feature (changes arena gear with default equipment set of a culture) doesn't apply to team tournaments. Singles is okay. Is it possible for this mod to incorporate a similar feature? Cheers.
Thank you very much for your mod. It works without any problem and is a big improvement over the native arena and tournaments gameplay.
Would it be possible to add an option for the teams tournaments to have the team size and number of teams fixed instead of a max value? For some reason I get low values most of the times despite setting both to high values. It would be nice to be able to have all my companions in one team instead of having them randomly distributed into other teams (I use a mod to increase the companions limit).
Noticed and error message on startup and checked the created log in ModLogs. I have no idea how to read it or troubleshoot but I'll share it here in case it helps. If anyone has a solution I would greatly appreciate it.
[04.04.2024 11:16:44] - OnSubModuleLoad. Initialization error - HarmonyLib.HarmonyException: Patching exception in method null ---> System.ArgumentException: Undefined target method for patch method static System.Boolean ArenaOverhaul.Patches.FightTournamentGamePatch::CachePossibleEliteRewardItemsPrefix(TaleWorlds.CampaignSystem.TournamentGames.FightTournamentGame __instance) at HarmonyLib.PatchClassProcessor.PatchWithAttributes(MethodBase& lastOriginal) at HarmonyLib.PatchClassProcessor.Patch() --- End of inner exception stack trace --- at HarmonyLib.PatchClassProcessor.ReportException(Exception exception, MethodBase original) at HarmonyLib.PatchClassProcessor.Patch() at HarmonyLib.CollectionExtensions.Do[T](IEnumerable`1 sequence, Action`1 action) at ArenaOverhaul.Helpers.HarmonyHelper.PatchAll(Harmony& harmonyInstance, String sectionName, String logMessage, String chatMessage) in C:\Users\brand\Desktop\Dev\BL Mods\Bannerlord.ArenaOverhaul\src\ArenaOverhaul\Helpers\HarmonyHelper.cs:line 15
Thank you for the mod. Would love to use it but I'll just disable for now.
What version are you on? What's the error message on startup? Is it a crash? I need more info. Post the crash log if it's a crash.
EDIT: I just looked and FightTournamentGame.CachePossibleEliteRewardItems is definitely a method in 1.2.9, so you'd only be crashing on a wrong version.
Again, What version are you on? What's the error message on startup? Is it a crash? I need more info. Post the crash log if it's a crash. I just looked and FightTournamentGame.CachePossibleEliteRewardItems is definitely a method in 1.2.9, so you'd only be crashing on a wrong version.
"Arena Overhaul failed to load! See details in the mod log." That's the error that showed in the main menu log. The game doesn't crash with the error. I checked the mod log like it suggests and that's what I posted. I tried to attach dnSpy but it wouldn't pick anything up and Better Exception window didn't pop up because there was no crash, I assume.
I made a new mod list to play with a new save. I wasn't trying to use it on an existing save
When you say "on a wrong version" is the one file labeled "For v1.2.9" not the right file for 1.2.9.3x? Any feedback you give, I'll try to follow through.
EDIT: If you need to know the mod list as well, I'll post it online and link it here.
478 comments
The tournament rewards on the list of nearby tournaments might be inconsistent and it's intentional. The game first determines the reward for the tournament when it is created. The prize is based on the number of nobles currently present in the city. It is then redefined either when the tournament is automatically resolved without a player participating, or when the player joins the tournament. In both cases, the game checks the current number of able nobles in the settlement and, if it differs from the one that was at the time the tournament was created, a new prize is selected. The reasoning behind this is that prizes are determined based on the number of nobles who are going to participate in the tournament - the higher it is, the more chances for more valuable prizes, and at some point the pool from which the prizes are selected is changed to "elite" one, which allows you to win some of the best items in the game (literally so if prize scaling is enabled and player's clan reached tier 6).
While I personally think that rerolling prizes is based on good reasons, I understand that it can be frustrating, so as of version 1.1.0 of the mod, there is a setting that determines whether and in what cases the tournament prize should be redefined. Check the 'Prize reroll condition' setting, it can be set to one of the following preferences:
Message: Object reference not set to an instance of an object.
Source: ArenaOverhaul.1.0.0
CallStack:
at void ArenaOverhaul.CampaignBehaviors.AOArenaBehavior.AddLoadoutDialogues(CampaignGameStarter campaignGameStarter, Settlement settlement) in C:/Users/brand/Desktop/Dev/BL Mods/Bannerlord.ArenaOverhaul/src/ArenaOverhaul/CampaignBehaviors/AOArenaBehavior.cs:line 170
at void ArenaOverhaul.CampaignBehaviors.AOArenaBehavior.OnSessionLaunched(CampaignGameStarter campaignGameStarter) in C:/Users/brand/Desktop/Dev/BL Mods/Bannerlord.ArenaOverhaul/src/ArenaOverhaul/CampaignBehaviors/AOArenaBehavior.cs:line 81
at void TaleWorlds.CampaignSystem.MbEvent<T>.InvokeList(EventHandlerRec<T> list, T t)
at void TaleWorlds.CampaignSystem.CampaignEvents.OnSessionStart(CampaignGameStarter campaignGameStarter)
at void TaleWorlds.CampaignSystem.CampaignEventDispatcher.OnSessionStart(CampaignGameStarter campaignGameStarter)
at void TaleWorlds.CampaignSystem.Campaign.OnSessionStart(CampaignGameStarter starter)
at void TaleWorlds.CampaignSystem.Campaign.DoLoadingForGameType(GameTypeLoadingStates gameTypeLoadingState, out GameTypeLoadingStates nextState)
at void StoryMode.CampaignStoryMode.DoLoadingForGameType(GameTypeLoadingStates gameTypeLoadingState, out GameTypeLoadingStates nextState)
at bool TaleWorlds.Core.GameType.DoLoadingForGameType()
at void SandBox.SandBoxGameManager.DoLoadingForGameManager(GameManagerLoadingSteps gameManagerLoadingStep, out GameManagerLoadingSteps nextStep)
at bool TaleWorlds.Core.GameManagerBase.DoLoadingForGameManager()
at void TaleWorlds.MountAndBlade.GameLoadingState.OnTick(float dt)
at void TaleWorlds.Core.GameStateManager.OnTick(float dt)
at void TaleWorlds.MountAndBlade.Module.OnApplicationTick_Patch1(Module this, float dt)
1.2.9, no crash when its the only mod I load, and I have a LARGE modlist so any insight as to what *might* be conflicting would be fantastic.
There's a fixable compatibility snag with Realistic Battle Mod when starting a new game. Workaround seems to be to simply disable Arena Overhaul, launch game, start new game, enter an arena, save & quit, re-enable Arena Overhaul, launch and load previous save.
Would it be possible to add an option for the teams tournaments to have the team size and number of teams fixed instead of a max value? For some reason I get low values most of the times despite setting both to high values. It would be nice to be able to have all my companions in one team instead of having them randomly distributed into other teams (I use a mod to increase the companions limit).
Thanks again
I have no idea how to read it or troubleshoot but I'll share it here in case it helps.
If anyone has a solution I would greatly appreciate it.
[04.04.2024 11:16:44] - OnSubModuleLoad.
Initialization error - HarmonyLib.HarmonyException: Patching exception in method null ---> System.ArgumentException: Undefined target method for patch method static System.Boolean ArenaOverhaul.Patches.FightTournamentGamePatch::CachePossibleEliteRewardItemsPrefix(TaleWorlds.CampaignSystem.TournamentGames.FightTournamentGame __instance)
at HarmonyLib.PatchClassProcessor.PatchWithAttributes(MethodBase& lastOriginal)
at HarmonyLib.PatchClassProcessor.Patch()
--- End of inner exception stack trace ---
at HarmonyLib.PatchClassProcessor.ReportException(Exception exception, MethodBase original)
at HarmonyLib.PatchClassProcessor.Patch()
at HarmonyLib.CollectionExtensions.Do[T](IEnumerable`1 sequence, Action`1 action)
at ArenaOverhaul.Helpers.HarmonyHelper.PatchAll(Harmony& harmonyInstance, String sectionName, String logMessage, String chatMessage) in C:\Users\brand\Desktop\Dev\BL Mods\Bannerlord.ArenaOverhaul\src\ArenaOverhaul\Helpers\HarmonyHelper.cs:line 15
Thank you for the mod. Would love to use it but I'll just disable for now.
EDIT: I just looked and FightTournamentGame.CachePossibleEliteRewardItems is definitely a method in 1.2.9, so you'd only be crashing on a wrong version.
[04.04.2024 21:34:40] - OnSubModuleLoad.
Initialization error - HarmonyLib.HarmonyException: Patching exception in method null ---> System.ArgumentException: Undefined target method for patch method static System.Boolean ArenaOverhaul.Patches.FightTournamentGamePatch::CachePossibleEliteRewardItemsPrefix(TaleWorlds.CampaignSystem.TournamentGames.FightTournamentGame __instance)
at HarmonyLib.PatchClassProcessor.PatchWithAttributes(MethodBase& lastOriginal)
at HarmonyLib.PatchClassProcessor.Patch()
--- End of inner exception stack trace ---
at HarmonyLib.PatchClassProcessor.ReportException(Exception exception, MethodBase original)
at HarmonyLib.PatchClassProcessor.Patch()
at HarmonyLib.CollectionExtensions.Do[T](IEnumerable`1 sequence, Action`1 action)
at ArenaOverhaul.Helpers.HarmonyHelper.PatchAll(Harmony& harmonyInstance, String sectionName, String logMessage, String chatMessage) in C:\Users\brand\Desktop\Dev\BL Mods\Bannerlord.ArenaOverhaul\src\ArenaOverhaul\Helpers\HarmonyHelper.cs:line 15
Text above from ArenaOverhaul.log
"Arena Overhaul failed to load! See details in the mod log."
That's the error that showed in the main menu log. The game doesn't crash with the error. I checked the mod log like it suggests and that's what I posted. I tried to attach dnSpy but it wouldn't pick anything up and Better Exception window didn't pop up because there was no crash, I assume.
I made a new mod list to play with a new save. I wasn't trying to use it on an existing save
When you say "on a wrong version" is the one file labeled "For v1.2.9" not the right file for 1.2.9.3x?
Any feedback you give, I'll try to follow through.
EDIT: If you need to know the mod list as well, I'll post it online and link it here.
https://imgur.com/a/pdMf8qE