使用dnSpy修改BadNorth小隊人數(shù)
Bad North游戲中一個小隊最初只有9個人, 太少. 但是這個人數(shù)變量即使改了也沒法觸發(fā)生成新的士兵, 所以Cheat Engine (CE) 怕是不行了, 而且CE似乎要按搜索次數(shù)收費了, 對鐵公雞玩家不是很友好. [1]使用了dnSpy在Bad North中實現(xiàn)了多種玩法邏輯, 而本文介紹使用dnSpy工具修改小隊生成函數(shù), 這樣在一開始部署小隊的時候就可以生成更多士兵了(如下圖以及視頻所示) . 然而小隊人數(shù)的增加會導致找不到足夠大的船逃離, 以及大大延長進房子補充士兵的過程 (都這么多人了應該不會需要補充了吧) 等問題, 這些問題理論上可以通過修改更多代碼解決.?

1. 從Github [2]下載dnSpy的壓縮包, 解壓并打開
2. (可選) 備份Assembly-CSharp.dll文件,?復制一份改個名或者右鍵打個壓縮包什么的,?dll文件路徑為BadNorth\BadNorth_Data\Managed\Assembly-CSharp.dll.?
3. 在dnSpy中打開(文件->打開)BadNorth安裝目錄下的Assembly-CSharp.dll文件, 路徑為BadNorth\BadNorth_Data\Managed\Assembly-CSharp.dll.?
4. 在dnSpy的程序集資源管理器窗口中找到Assembly-CSharp >?Assembly-CSharp.dll > Voxels.TowerDefence > SquadSpawner并點開, 找到SpawnEnglishSquad函數(shù), 在其中插入一行代碼(158行), 如下圖※處所示, 此處的100是生成的小隊人數(shù), 可以根據(jù)需要修改

插入代碼需要右鍵點擊要插入的位置附近, 然后在右鍵菜單中選擇"編輯方法"或"編輯類"[3], 然后在彈出的新窗口中編輯, 編輯結束后點擊右下角"編譯"來保存更改. 此時很可能遇到編譯錯誤, 通常情況下刪除報錯的代碼就行[3,4], 但有些情況可能需要另外判斷.?
5. 編譯完成后在文件菜單保存更改就完事啦, 打開游戲看看吧
參考:
[1]?https://tieba.baidu.com/p/6002410372
[2]?https://github.com/dnSpy/dnSpy/releases
[3]?https://www.dandelioncloud.cn/article/details/1517821101769093122
[4] https://blog.csdn.net/weixin_38110122/article/details/120323589