正在阅读:世嘉人类要怎么快速刷人口军队【详情】世嘉人类要怎么快速刷人口军队【详情】

2023-03-15 16:57 出处:其他 作者:佚名 责任编辑:wenting

《世嘉人类》这款游戏当中有很多东西和内容可以展现出来很多新的东西,并且更是在这里面可以快速的去找到超多的东西,同时在这里面还有很多新的展示和内容。而且相对于刷新的方法更最好的办法就是解散部队并且返还整整人口数量5倍。让我们一起来看看最新的内容展示。

快速刷人口军队方法介绍

dnspy打开Amplitude.Mercury.firstpass.dll

找到Amplitude.Mercury.Simulation包下的DepartmentOfIndustry类

找这个方法private void ProcessOrderBuyoutConstructionAt(OrderBuyoutConstructionAt order)

其中有一行是this.majorEmpire.DepartmentOfTheTreasury.Pay(buyoutCost);

括号里给它改成this.majorEmpire.DepartmentOfTheTreasury.Pay(FixedPoint.Zero);

具体改法就是右键编辑IL指令(因为反编译会因为引用外部dll无法再次编译,为了省事直接干IL)

找到调用Pay的这句:

26 004E callvirt instance void Amplitude.Mercury.Simulation.DepartmentOfTheTreasury::Pay(valuetype [Amplitude.Framework]Amplitude.FixedPoint)

然后找它前面一句,就是加载buyoutCost的那句,应该是ldloc.3,如果不是就看看前面的一个函数GetBuyoutCost之后存到第几个位置了,应该有一句stloc.3和这个ldloc.3是对着的先存后读的。

把ldloc.3给改成

25 0049 ldsfld valuetype [Amplitude.Framework]Amplitude.FixedPoint [Amplitude.Framework]Amplitude.FixedPoint::Zero

就是加载了一个FixedPoint.Zero这个静态变量。如果怕写错就找一下这个变量,然后查它的引用,找一行读取的IL指令复制过来,我就是这么搞的。

保存进游戏,造个建筑,用金币直接买,然后金币不减少, 修改 成功。

再来一个,解散部队返还人口数量5倍。结合上面的免费金币雇佣就可以原地一回合炒人口/军队了

namespace Amplitude.Mercury.Simulation

internal class DepartmentOfDefense : Agency, ISerializable

private void ProcessOrderDisbandUnits(OrderDisbandUnits order)

这句

population = unit.UnitDefinition.PopulationInstantCostDefinition.Constant;

进IL编辑,找到这句

67 00CF ldfld int32 [Amplitude.Mercury.Data]Amplitude.Mercury.Data.Simulation.Costs.PopulationInstantCostDefinition::Constant

后面加两行

ldc.i4.5

mul

改好变成这样

population = unit.UnitDefinition.PopulationInstantCostDefinition.Constant * 5;

关注我们

最新资讯离线随时看 聊天吐槽赢奖品