考虑赎金囚犯的变通方案

考虑赎金囚犯的变通方案

修复了在RansomOfferCampaignBehavior.ConsiderRansomPrisoner方法执行时偶尔发生的崩溃问题。

实用工具

这不是一个异常的解决方案。该模组负责处理异常并忽略它们,而非导致游戏崩溃。

兼容版本:1.0.0(稳定版)

问题

如果你同时使用多个模组,其中一些模组可能会因数据不同步而破坏你的游戏数据。例如,俘虏事件使用了原版游戏中不包含的英雄。当你俘虏他们作为囚犯时,会调用此方法并尝试向你提出赎金要求。但这些英雄没有任何家族或家庭。在这种情况下,你会遇到以下异常:

在 TaleWorlds.CampaignSystem.CampaignBehaviors.RansomOfferCampaignBehavior.ConsiderRansomPrisoner(Hero hero) 在 TaleWorlds.CampaignSystem.CampaignBehaviors.RansomOfferCampaignBehavior.DailyTickHero(Hero hero) 在TaleWorlds.CampaignSystem.MbEvent1.InvokeList(EventHandlerRec1列表, T t) 在TaleWorlds.CampaignSystem.CampaignEvents.DailyTickHero(Hero hero) 在TaleWorlds.CampaignSystem.CampaignEventDispatcher.DailyTickHero(Hero hero) 在TaleWorlds.CampaignSystem.CampaignPeriodicEventManager.PeriodicTicker`1.PeriodicTickSome方法中(已过去的时间单位为Double类型) 在 TaleWorlds.CampaignSystem.CampaignPeriodicEventManager.PeriodicDailyTick() 在TaleWorlds.CampaignSystem.CampaignPeriodicEventManager.TickPeriodicEvents() 在 TaleWorlds.CampaignSystem.Campaign.Tick() 在 TaleWorlds.CampaignSystem.GameState.MapState.OnMapModeTick(Single dt) 在TaleWorlds.CampaignSystem.GameState.MapState.OnTick(Single dt) 在 TaleWorlds.Core.GameStateManager.OnTick(Single dt) 在 TaleWorlds.Core.Game.OnTick(Single dt) 在TaleWorlds.Core.GameManagerBase.OnTick(Single dt) 在TaleWorlds.MountAndBlade.Module.OnApplicationTick_Patch1(模块 这个, 单精度 dt)

安装

  1. 安装模组。
  2. 确保它在Harmony和Native模块之后加载。

源代码

enisn/RansomOfferCampaignBehaviorWorkaround:修复了RansomOfferCampaignBehavior.ConsiderRansomPrisoner方法执行时的崩溃问题。(github.com)