- 好友
- 7
- 在线时间
- 141 小时
- 最后登录
- 1970-1-1
见习骑士

- UID
- 2357061
- 第纳尔
- 1044
- 精华
- 0
- 互助
- 11
- 荣誉
- 1
- 贡献
- 0
- 魅力
- 32
- 注册时间
- 2014-12-12
 鲜花( 15)  鸡蛋( 0)
|
本帖最后由 SUNNYFATHER 于 2023-3-23 13:40 编辑
首先下载dnSpy,打开dnSpy.exe,我正在上传我用的,可能是文件太大,附件上传可能失败,下个软件应该对大伙说不是问题
在游戏目录\bin\Win64_Shipping_Client\TaleWorlds.CampaignSystem.dll里修改
图1黄色是dll文件的一级目录,绿色是二级目录,找到TaleWorlds.CampaignSystem.GameComponents
图2打开“搜索程序集“”,搜getsurvivalchance
图3找到下方
public override float GetSurvivalChance(PartyBase party, CharacterObject character, DamageTypes damageType, PartyBase enemyParty = null)
{
if (damageType == DamageTypes.Blunt || (character.IsHero && CampaignOptions.BattleDeath == CampaignOptions.Difficulty.VeryEasy) || (character.IsPlayerCharacter && CampaignOptions.BattleDeath == CampaignOptions.Difficulty.Easy))
{
return 1f;
}
ExplainedNumber explainedNumber = new ExplainedNumber(1f, false, null);
float result;
if (((party != null) ? party.MobileParty : null) != null)
{
MobileParty mobileParty = party.MobileParty;
SkillHelper.AddSkillBonusForParty(DefaultSkills.Medicine, DefaultSkillEffects.SurgeonSurvivalBonus, mobileParty, ref explainedNumber);
if (((enemyParty != null) ? enemyParty.MobileParty : null) != null && enemyParty.MobileParty.HasPerk(DefaultPerks.Medicine.DoctorsOath, false))
{
SkillHelper.AddSkillBonusForParty(DefaultSkills.Medicine, DefaultSkillEffects.SurgeonSurvivalBonus, enemyParty.MobileParty, ref explainedNumber);
SkillLevelingManager.OnSurgeryApplied(enemyParty.MobileParty, false, character.Tier);
}
explainedNumber.Add((float)character.Level * 0.02f, null, null);
if (!character.IsHero && party.MapEvent != null && character.Tier < 3)
{
PerkHelper.AddPerkBonusForParty(DefaultPerks.Medicine.PhysicianOfPeople, party.MobileParty, false, ref explainedNumber);
}
if (character.IsHero)
{
explainedNumber.Add(character.GetTotalArmorSum(false) * 0.01f, null, null);
explainedNumber.Add(character.Age * -0.01f, null, null);
explainedNumber.AddFactor(50f, null);
就是说英雄AddFactor=50f,意思是领主,随从自带+50倍的存活率,
士兵被锐器致死概率公式也在里面(第一二条公式),那个单位的死亡率就是普通小兵的死亡率。只不过小兵计算死亡率只看医术和等级,而npc除了这两个,护甲和年龄都会影响其死亡率,还有一个极大的系数降低其死亡率(你可以默认为点了医术75 基本打不死英雄了),50f时,我医术150,还是死了流浪者英雄
把50f,右键点“编辑方法”,改成0.1f,死亡率极高,暗杀用,改为2.5f,就是比较稳定的,和《完美处决》MOD的死亡率相仿
感谢百度贴吧 真奇怪 原贴《1.80战死率详解(重发)》
想改别的参考贴吧Atura1 的《关于游戏文件txt及dll修改,包括游戏难度调整,游戏元素修改》
幻月食云的《一些小的修改,通过dll文件修改》
博客chen_328_的《[自用]Mount & Blade II Bannerlord(骑砍2) dll简易修改代码位置》
改TXT和DLL文件不影响成就,亲测可行,没闪退
祝大家玩的愉快!
|
鲜花鸡蛋乱心の鬼舞 在2024-1-21 09:20 送朵鲜花 并说:我非常同意你的观点,送朵鲜花鼓励一下
|