R-Vaccari / bannerlord-banner-kings

BSD 3-Clause "New" or "Revised" License
71 stars 1.34k forks source link

Crashing late game after going near Lageta #57

Open Apperceptiv opened 1 year ago

Apperceptiv commented 1 year ago

I'm in the year 1101, didnt have this problem all game, visited the entire map aside from Aserai territory. After I get near Lageta it instantly causes the game to crash no matter what direction I go. If I can add anything else to help lemme know. Thanks for any help!

In the crash it says:

Involved Modules: BannerKings Method: static System.Void BannerKings.Patches.TownMarketDataPatches::GetPricePostfix(TaleWorlds.CampaignSystem.Settlements.TownMarketData instance, System.Int32& result, TaleWorlds.Core.EquipmentElement itemRosterElement, TaleWorlds.CampaignSystem.Party.MobileParty tradingParty, System.Boolean isSelling, TaleWorlds.CampaignSystem.Party.PartyBase merchantParty) Frame: int TaleWorlds.CampaignSystem.Settlements.TownMarketData.GetPrice_Patch1(TownMarketData this, EquipmentElement itemRosterElement, MobileParty tradingParty, bool isSelling, PartyBase merchantParty) (IL Offset: -1) HarmonyIssue: False

Exception: Exception information Type: System.NullReferenceException Message: Object reference not set to an instance of an object. Source: TaleWorlds.CampaignSystem CallStack: at int TaleWorlds.CampaignSystem.Settlements.TownMarketData.GetPrice_Patch1(TownMarketData this, EquipmentElement itemRosterElement, MobileParty tradingParty, bool isSelling, PartyBase merchantParty) at void TaleWorlds.CampaignSystem.TournamentGames.TournamentManager.GivePrizeToWinner(TournamentGame tournament, Hero winner, bool isPlayerParticipated) at void TaleWorlds.CampaignSystem.TournamentGames.TournamentManager.ResolveTournament(TournamentGame tournament, Town town) at void TaleWorlds.CampaignSystem.TournamentGames.TournamentCampaignBehavior.ConsiderStartOrEndTournament(Town town) at void TaleWorlds.CampaignSystem.TournamentGames.TournamentCampaignBehavior.DailyTickSettlement(Settlement settlement) at void TaleWorlds.CampaignSystem.MbEvent.InvokeList(EventHandlerRec list, T t) at void TaleWorlds.CampaignSystem.CampaignEvents.DailyTickSettlement(Settlement settlement) at void TaleWorlds.CampaignSystem.CampaignEventDispatcher.DailyTickSettlement(Settlement settlement) at void TaleWorlds.CampaignSystem.CampaignPeriodicEventManager+PeriodicTicker.PeriodicTickSome(double timeUnitsElapsed) at void TaleWorlds.CampaignSystem.CampaignPeriodicEventManager.PeriodicDailyTick() at void TaleWorlds.CampaignSystem.CampaignPeriodicEventManager.TickPeriodicEvents() 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)

R-Vaccari commented 1 year ago

The issue seems to be a tournament without a prize, maybe an item from a mod that was removed. It happens to fail on the price fetching that BK patches.