卖俘虏到自己城 dnspy 修复方式
骑马与砍杀吧
全部回复
仅看楼主
level 13
帽子狗 楼主
https://tieba.baidu.com/p/9674761783
这个老哥要修一下这个 bug, 我就翻了下。
见 SellPrisonersAction
主要逻辑大致逻辑是判断城镇所属是否与英雄俘虏阵营开战
如果和平 -> 释放
否则判断卖方阵营和买方(城镇)阵营是否相同,相同则不算钱同时转移英雄俘虏到地牢
这个代码好就好在加了一个判断,如果是玩家,则还是会算钱。
所以我们的家族部队卖英雄俘虏到自己城镇,不会算钱。
同时还有个细节就是我们卖英雄俘虏到他的敌对阵营也会打入大牢。
那最好就是修改成玩家出售,判断阵营,如果是玩家自己的或者和平阵营则释放,其他敌对城镇则打入地牢。
dnspy 修改的话,打开 TaleWorlds.CampaignSystem.dll
找到 TalwWorlds.CampaignSystem.Actions
找到 SellPrisonersAction
右键,编辑类,找到 TransferPrisonerAction.Apply(character, sellerParty, buyerParty);
把这一句改成
if(sellerParty != PartyBase.MainParty)
{
TransferPrisonerAction.Apply(character, sellerParty, buyerParty);
}
else
{
EndCaptivityAction.ApplyByRansom(character.HeroObject, null);
}
这样玩家出售俘虏就会释放而不是进地牢了
2025年04月30日 03点04分 1
level 15
[滑稽]
2025年04月30日 06点04分 2
level 1
哇!!太好辣
2025年04月30日 09点04分 3
level 11
大佬[滑稽]
2025年05月01日 07点05分 4
1