《世嘉人類》快速刷人口軍隊方法介紹
《世嘉人類》中的人口和軍隊是遊戲裡非常重要的,而且可以透過一些修改快速刷出來,但是很多玩家都不太清楚快速刷人口和軍隊的方法是什麼,其實這個快速刷的方法就是解散部隊返還人口數量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;
相關攻略:不花金幣立即建造方法介紹
相關攻略文章
谷愛凌登《嘉人》雜誌:滑雪場外那無處安放的魅力!
《世嘉人類》全區域設施詳解 全文化奇觀國家專案公眾儀式
《世嘉人類》全科技詳解 全科技效果及解鎖條件
《世嘉人類》近代時代西班牙特點介紹
《世嘉人類》近代時代波蘭特點介紹
《世嘉人類》近代時代易洛魁特點介紹
《世嘉人類》近代時代明朝特點介紹
《世嘉人類》近代時代奧斯曼特點介紹
《世嘉人類》中世紀時代高棉特點介紹
《世嘉人類》中世紀時代阿茲特克特點介紹
《世嘉人類》中世紀時代諾斯特點介紹
《世嘉人類》中世紀時代蒙古特點介紹