作者:mobiledu2502852457 | 来源:互联网 | 2023-09-25 17:32
因为Steam打折所以入的这款游戏,评价还是不错的。入手之后感觉挂机的过程过于枯燥,卡关的感觉很难受,因此考虑使用修改器来让这个游戏变得“爽”一点。在网上没有找到可用的修改器,但是
因为Steam打折所以入的这款游戏,评价还是不错的。入手之后感觉挂机的过程过于枯燥,卡关的感觉很难受,因此考虑使用修改器来让这个游戏变得“爽”一点。在网上没有找到可用的修改器,但是发现了有关修改教程:
https://bbs.3dmgame.com/thread-5856105-1-1.html
由于对于整个过程还是蛮有兴趣的,并且希望完成游戏的修改,因此开始了相应的尝试。
1、下载安装Reflector v10以及reflexil 1.6(或更高版本)
因为游戏的编写使用的C#版本较高,Reflect v8并不能对其完成解析,因此使用了当前最新的v10。
2、找到游戏DLL所在位置
这一步可以通过Steam中的“管理”——>“打开文件所在位置”完成,或是找到进入到SteamLibrary下所在路径:SteamLibrary\steamapps\common\Dragon Cliff。打开后就是游戏文件的所在位置。游戏的DLL则是在游戏目录下的 \game_Data\Managed\Assembly-CSharp.dll文件。
3、打开Reflector并将该文件拖入界面中
这就是需要对其进行修改文件。
4、找到关键词所在位置并修改
由于代码还是很庞大的,需要使用关键词对于有关文件进行定位。(相关的关键词附在文章末尾)
以修改等级判定(一般稀有史诗传说远古)为例,所在函数Type:GenerationDistribution
Member:GetGrade
使用搜索功能找到相关位置。
这便是生成随机等级判定的函数(或者说品质更为合适)。主要是通过生成一个随机数,对其数值所在区间进行判定实现品质的随机。以下是修改后的文件,不论生成什么数值都会返回QualityGrade.Ancient。
public QualityGrade GetGrade()
{
float num = Random.Range((float) 0f, (float) 1f);
return ((num <(((this.RareChance + this.LegendaryChance) + this.EpicChance) + this.AncientChance)) ? ((num <((this.LegendaryChance + this.EpicChance) + this.AncientChance)) ? ((num <(this.LegendaryChance + this.AncientChance)) ? ((num }
如果可以修改代码就可以修改为返回远古品质不需要再进行判定,很可惜的是不能完成相应的操作。因此使用Tools——>reflexil来完成。
在Instruction(指令)一栏中可以看到最终生成底层代码,找到返回指令所在位置
这是修改过的文件,ldc.i4.5所在位置便是该函数的返回值。将所有的返回值修改为远古品质的值ldc.i4.5即可完成生成的英雄、居民以及制造的武器均为远古品质。
5、完成修改并覆盖游戏中的原文件,以下为输出方法
将生成的DLL文件覆盖掉原文件即可,如果对于操作没有信心可以备份原文件后进行覆盖。如果游戏报错闪退可以将原文件重新写入后修改,或者使用Steam中的“检测游戏完整性”功能来实现修复。
以下为游戏中测试图片:
以下为一些搜索关键词:
Type:GenerationDistribution
Member:GetGrade
作用:等级判定(一般稀有史诗传说远古)
Type:AttributePotentialDescriptor
Member:GetMean
作用:随机装备属性
Type:DifficultyLevelMeasurement
Member:GetStarChance
作用:装备星辰率
Type:GemGeneratorBase
Member:GetRandomCoeff
作用:随机宝石属性
Type:UnitGrowthProfile
Member:GetRandomAttributeValue
作用:升级英雄的属性随机
Type:UnitExtensions
Member:GenerateGradeQualitySettingValueForAdventurer
作用:英雄评分随机
Type:DifficultyLevelMeasurement
Member:GetAdvancedCommodities
作用:粉尘物品价格
Type:Shop
Member:GetCommodities
作用:异界钥匙价格