这个想达到比较明显的效果,需要改几个地方,并不复杂
仍然是用DnSpy修改TaleWorlds.CampaignSystem.dll
找命名空间
// TaleWorlds.CampaignSystem.CampaignBehaviors.RebellionsCampaignBehavior


这里有两个方法要改(图1上标红点的),打开方法CheckRebellionEvent,这个是检查叛乱的必要条件,
原理咱最后再说,这里在第二个if中添加条件 && mobileParty.Owner.IsHumanPlayerCharacter
(图2上划线的),另外返回值(注意这里是bool型,我们目的要返回true)判断语句后面改成num * 0.5f;
这里是民兵力量大于驻军一半就可以引发了,也可以改更小根据你的需要.

然后第二个,打开方法DailyTickSettlement,这个是触发叛乱事件的判断逻辑(个人理解可能不太准确),
这里图3划线的地方改成 MBRandom.RandomFloat < 0.5f
这里是每天触发叛乱的概率(前提是符合必要条件),原本是25%,修改后就是50%,也是根据需要改.
最后,触发叛乱的第一个条件是忠诚度要达到叛乱阈值,就是图1的第一个if语句那里
这个两个阈值在另一处
// TaleWorlds.CampaignSystem.SandBox.GameComponents.DefaultSettlementLoyaltyModel

图4上标红点的两个属性打开,这个就不截图了,返回值分别是15和25,我这里改成25和30,
这里是高叛乱风险和叛乱风险的阈值,可以根据需要去改.