DSPProliferatorTweak
Used to modify the Proliferator for the GenesisBook
模組介紹 作者原文
DSP Proliferator Tweak
戴森球計劃(DSP)BepInEx 插件:在運行時擴展全局 Cargo 增產查表、寫入自定義檔位,並可選擇把《創世之書》指定增產劑的 Ability(增產檔位)與 HpMax(噴塗次數)改爲配置值,無需改創世源碼或 JSON。
作者: Kawaayi
插件 GUID: DSP.Kawaayi.ProliferatorTweak
功能特性
- 自定義增產檔位:在 Cargo.incTable / accTable / powerTable 及 Milli、powerTableRatio 等表上新增或覆蓋一格,數值由配置決定(與原版存表方式一致)。
- 突破原版等級上限:用 Harmony 將組裝廠、研究站、噴塗機裏聚合增產等級的字面量 10 改爲可配置上限,使 Ability > 10 的檔位參與實際計算。
- 物品說明防崩:在 ItemProto.GetPropValue 前檢查並擴容表,避免 UI 訪問 Cargo[this.Ability] 時越界。
- 創世之書(可選):軟依賴 org.LoShin.GenesisBook;可將默認物品 1143 的 Ability、HpMax 寫成配置值。
- 配置熱更新:保存配置後會重新應用(大改數值建議自行評估存檔兼容性)。
安裝說明
- 安裝 BepInEx 5(含 Harmony)到遊戲目錄。
- 將 DSPProliferatorTweak.dll 放入 Dyson Sphere Program/BepInEx/plugins/(可再套一層子文件夾)。
- 啓動遊戲一次後,在 BepInEx/config/ 下會生成 DSP.Kawaayi.ProliferatorTweak.cfg,按需編輯或使用 Configuration Manager。
配置說明
配置文件路徑:BepInEx/config/DSP.Kawaayi.ProliferatorTweak.cfg
[CustomSlot] 自定義檔位
| 鍵名 | 默認值 | 說明 |
|------|--------|------|
| AbilityIndex | 11 | 與 ItemProto.Ability 一致。>10 會擴容相關數組;≤10 只覆蓋該格。 |
| ExtraOutputTenths | 250 | 額外產出:Cargo.incTable 整數,×0.1 = 顯示百分數(250 → +25.0%)。 |
| SpeedBonusTenths | 1000 | 製造速度:同上(1000 → +100.0%)。 |
| ExtraPowerCostTenths | 1500 | 額外耗電:同上(1500 → +150.0%)。 |
[GenesisBook] 創世物品(可選)
| 鍵名 | 默認值 | 說明 |
|------|--------|------|
| SetGenesisItemAbility | true | 是否把 ItemId 對應物品的 Ability 設爲 AbilityIndex。 |
| ItemId | 1143 | 要改寫的物品 ID。 |
| SetItemSprayTimesHpMax | true | 是否改寫該物品的 HpMax(噴塗機用其作爲噴塗次數基準)。 |
| SprayTimesHpMax | 60 | 寫入的 HpMax(原版三檔增產常見量級約 12 / 24 / 60)。 |
示例: 只改噴塗次數、不改 Ability → 將 SetGenesisItemAbility 設爲 false,保留 SetItemSprayTimesHpMax 爲 true。
注意事項
- 增產表是全局靜態數據:同一 Ability 下標會被所有使用該檔位的物品/邏輯共享,勿與其他 mod 搶同一自定義下標,除非你清楚後果。
- 軟依賴創世:未安裝創世時仍可改表;改寫指定物品在找不到對應 ID 時會靜默跳過。
- 從舊 GUID 升級:若曾使用 ai.local.DSPProliferatorTweak,配置會變爲新文件名,需手動遷移或重新調參。
技術說明
- 基於 BepInEx 5、.NET Framework 4.7.2、Harmony。
- Harmony 目標:AssemblerComponent.InternalUpdate、LabComponent.InternalUpdateAssemble、SpraycoaterComponent.InternalUpdate、ItemProto.GetPropValue、GameMain.Start(詳見源碼註釋)。
- 從源碼編譯:打開 DSPProliferatorTweak.csproj,或用 MSBuild 指定 DSPRoot、BepInExCore(見 csproj 內說明)。輸出爲 bin/Release/DSPProliferatorTweak.dll。
發佈與許可證
- r2modman:manifest.json 中 namespace 與 name 自行與站點規則對齊;依賴項請聲明 BepInEx;若面向創世用戶,可對 GenesisBook(org.LoShin.GenesisBook)聲明軟依賴。
- 許可證:發佈包請自行附帶 LICENSE(如 MIT/GPL 等),本倉庫未默認包含。
English summary
DSP Proliferator Tweak extends global Cargo proliferator tables with a configurable tier, raises vanilla hard-coded inc caps for assemblers/labs/spraycoaters, guards item tooltips, and optionally rewrites a Genesis Book item’s Ability / HpMax. GUID: DSP.Kawaayi.ProliferatorTweak. Soft dependency: org.LoShin.GenesisBook. Config: BepInEx/config/DSP.Kawaayi.ProliferatorTweak.cfg.
安裝與使用 安裝:BepInEx 外掛
- 本站下載的壓縮包就是模組本體,通常是 BepInEx 外掛(解壓後得到 .dll 或外掛資料夾)。
- 建議流程:用社群模組管理器(如 r2modman)選中本遊戲後匯入該模組,管理器會自動裝好 BepInEx 前置並處理依賴。
- 手動流程:先在遊戲目錄裝好 BepInEx 載入器,再把解壓出的 .dll 或外掛資料夾放進 BepInEx/plugins/。
- 啟動遊戲,BepInEx 控制台會列印載入日誌;確認這個模組出現在日誌裡即為安裝成功。
帶「前置依賴」的模組需要一併安裝,否則不會載入。功能開關通常在遊戲內或外掛自帶的設定檔裡調整。
下面這些內容需要先安裝,否則該模組不會生效: