骑马与砍杀中文站论坛

 找回密码
 注册(Register!)

QQ登录

只需一步,快速开始

搜索
购买CDKEY 衣谷三国
查看: 8150|回复: 17

[MOD相关] 骑砍2修改DLL文件,改变领主死亡率初探

[复制链接]

42

主题

582

回帖

252

积分

见习骑士

Rank: 3

UID
2357061
第纳尔
1044
精华
0
互助
11
荣誉
1
贡献
0
魅力
32
注册时间
2014-12-12

霸主正版勋章

鲜花(15) 鸡蛋(0)
发表于 2023-3-23 13:25:08 | 显示全部楼层 |阅读模式
本帖最后由 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  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下
srcscooipk00t  在2023-4-12 14:33  送朵鲜花  并说:我非常同意你的观点,送朵鲜花鼓励一下

42

主题

582

回帖

252

积分

见习骑士

Rank: 3

UID
2357061
第纳尔
1044
精华
0
互助
11
荣誉
1
贡献
0
魅力
32
注册时间
2014-12-12

霸主正版勋章

鲜花(15) 鸡蛋(0)
 楼主| 发表于 2023-3-24 05:54:18 | 显示全部楼层
dnSpy百度盘下载
https://pan.baidu.com/s/1bazGjBgJfp9LNjR5u1mpDQ
提取码:jgux
您需要登录后才可以回帖 登录 | 注册(Register!)

本版积分规则

Archiver|手机版|小黑屋|骑马与砍杀中文站

GMT+8, 2025-10-19 06:43 , Processed in 0.100487 second(s), 21 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表