rimworld的mod制作——技能不減


該講講怎么編寫C#了。
在游戲本體中,玩家技能變成高等級之后,經(jīng)驗會不斷的下降與衰減,讓我期望能夠升到滿級20級的愿望無法達成。我打算改掉這個功能。
我在def中找了半天,沒找到技能衰減的相關參數(shù)。然后在網(wǎng)上找到了madskill這個mod。他實現(xiàn)了這幾個功能:
1,他設置了一個系數(shù),讓技能衰減經(jīng)驗乘以這個系數(shù)。當這個系數(shù)設置為0的時候,技能經(jīng)驗就不會衰減了。真是巧妙的解決方案!
2,他順帶更改了過目不忘天賦。本來過目不忘是讓玩家技能衰減下降。衰減成0該天賦就沒用了,所以他成了提高學習效率。
3,他可以設置游戲每日經(jīng)驗上限。也可以修改超限后的乘數(shù)。
他代碼寫得挺好的。我給他的代碼加上了注釋。
值得一提的是他引用的0Harmony.dll是1.2版本的。這個文件可以從他的mod中提取。也可以從我新的OrientTrailblazers mod的Assemblies目錄下找到這個文件。
然后在你的項目中引用這個0Harmony.dll。
Harmony是一個 C# 庫,可以幫助對 RimWorld 進行熱重載,即在不重啟游戲的情況下,重新加載代碼,以確保對其進行正確的補丁操作。Harmony是一個極其強大和靈活的工具,可用于解鎖在編譯代碼后似乎無法訪問或編輯的代碼區(qū)域,極大地提升了 RimWorld 的可定制性和可擴展性。關于Harmony有空我會專門介紹一下。
現(xiàn)在說一下項目文件結構。
主要由5個文件組成。
主文件你們可以自己命名。默認會是Class1.cs。
代碼如下:
后面幾個文件我都沿用madskill的源代碼。主要的功能設置文件modSettings.cs代碼如下“
修改技能文件Patch_SkillRecordInterval.cs。代碼如下:
修改經(jīng)驗飽和度文件Patch_LearningSaturation.cs。代碼如下:
修改經(jīng)驗飽和度UI相關文件Patch_LearningSaturationUI.cs。代碼如下:
還有一個本地化xml文件。我的文件放在在mod目錄下OrientTrailblazers\Languages\ChineseSimplified\Keyed\OrientTrailblazers_Keyed_cn.xml
代碼如下:
然后可以VS編輯器中,選擇生成-->生成解決方案。如果你的目錄是按wiki建議設置的話,在Assemblies目錄下就會看到(你的項目名稱).dll與(你的項目名稱).pdb。2個文件。我這里是OrientTrailblazers.dll與OrientTrailblazers.pdb。還有0Harmony.dll。
另外,如果沒有0Harmony.dll,看下引用0Harmony.dll的設定。要選復制本地。再不行就從我mod中復制過來吧。

我今天上傳了新的steam創(chuàng)意工坊。查找OrientTrailblazers可以下載
