骑马与砍杀吧 关注:755,314贴子:15,145,667
  • 2回复贴,共1

提高叛乱概率的修改方法

取消只看楼主收藏回复

最近沉迷和平玩法,不自立也不加入国家,只等叛乱窃城,
然而引发叛乱并不容易,也看过网上有很多玩法可能是我太笨总是触发不了,
我这档有两个陷落的城忠诚度都很低了就是不叛乱,实在等不下去了,
翻了翻以前的记录文档发现修改的方法早就总结过,只是没在意一直被束之高阁了
先看下效果,不过我真担心打下来会不会再叛乱了,还没有测试过...


IP属地:河南1楼2024-02-12 12:00回复
    这个想达到比较明显的效果,需要改几个地方,并不复杂
    仍然是用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,
    这里是高叛乱风险和叛乱风险的阈值,可以根据需要去改.


    IP属地:河南2楼2024-02-12 12:02
    回复
      2025-07-31 02:08:11
      广告
      不感兴趣
      开通SVIP免广告
      这里总结一下叛乱的机制,当忠诚度低于叛乱阈值时,民兵力量大于驻军力量一定程度的时候,
      有概率引发叛乱事件,这里如果有领主部队进驻的时候,是算作驻军的,所以第一处修改我加了
      个条件是只有玩家部队的才累加,AI的不算.
      所以如果你还在苦等叛乱,先看一下是否有领主在镇场子,如果有就别傻等了


      IP属地:河南3楼2024-02-12 12:04
      回复