From 9ab1e3cbf8f02498c72cfc1116f2288114666986 Mon Sep 17 00:00:00 2001 From: ZHU MINCHAO <48154958+MinchaoZhu@users.noreply.github.com> Date: Wed, 4 Nov 2026 20:26:28 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E9=94=81=E6=97=B6=E7=9F=BF=E6=9E=B6?= =?UTF-8?q?=E6=94=BE=E8=BF=9B=E6=9C=BA=E5=99=A8=E5=8C=BA=EF=BC=9B=E5=9C=A8?= =?UTF-8?q?=E5=B9=B2=E5=87=80=E5=AD=98=E6=A1=A3=E8=B5=B0=E9=80=9A=E4=B8=89?= =?UTF-8?q?=E9=A1=B9=20Web3=20=E5=8D=87=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 5.5 --- CHANGELOG.md | 1 + src/Decentralized/Items.cs | 11 +++++++++++ src/Decentralized/Unlock.cs | 2 +- 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b014279..cccc8d3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,7 @@ - 真伪依据改版:检视面板最前面四行是风扇数、供电口、背面丝印、序列号,四项全部符合标称型号才是正品,任何一项不符即为假冒;其后是型号和四项成色。风扇数、供电口各自独立(假卡不再固定两项都对不上),假卡四项各自露出破绽,至少一项,平均约 1.5 项(`Tuning.FakeSignChance`)。去掉检视面板和指南里的“卖家的说法”,该机制只在后台生效。指南里不再用“档次”,改称型号;背面图上画出序列号。 - 矿架改版:图 4×4 格(原 3×3;5×4 放不进任何容器,改回 4×4);去掉升级槽位,改成把电子元件拖到矿架上就投入升级(每次一件,和游戏里别的机器一致);原升级槽位那一栏换成只读的状态面板(显卡数、耗电、算力);不显示显卡磨损外观。 - 修正:电子元件拖到矿架上原来会被元件自己的判断否决(游戏取三方判断的与),改为在原版电子元件(普通、稀有)上追加“作用于矿架”的判断,升级才真正可触发。升级流程用探查命令和真实鼠标拖拽都走通(4 次拖拽解锁第 3 槽):普通 ×4 解锁第 3 槽,稀有 ×1 第 4 槽,稀有 ×2 第 5 槽,满级后不再收;5 张卡放满窗口显示 5/5。 +- 解锁“Web3 治理社区”时,矿架优先放进机器区(没有位置才退回原来的送货位置)。在干净存档里走通:人脉网络 Web3 页买下 400 / 700 / 1500 三项,扣 2600,终端、显卡、鉴定指南、Web3 手册到手,矿架在机器区,终端里混币器和商店页签出现。 - 检视面板的型号鉴定只留一个“指出型号”按钮(第一行,型号);风扇数、供电口、背面丝印、序列号四行只读,四项全部符合才是正品。 - 检视面板的型号行右侧显示“标签价”(当前报价,随指出和改标签实时变化),鉴定客户的估价框同步。 - 显卡鉴定指南的鉴定示例由 1 个增至 5 个(成色很差、假冒、轻微使用、全新),共 13 页。 diff --git a/src/Decentralized/Items.cs b/src/Decentralized/Items.cs index b88b436..4507783 100644 --- a/src/Decentralized/Items.cs +++ b/src/Decentralized/Items.cs @@ -635,6 +635,17 @@ namespace Decentralized /// 放进储藏区(游戏 EmporiumTryAdd 的默认目标,放不下时游戏自己找位置)。 /// 不放柜台:测试中柜台上的物品过夜后会消失(未在正常流程中确认);ModHelper.MoveItemTo* 放满时会静默失败。 /// + /// 优先放进机器区(machine_bay*)的格子里,没有位置时退回 。矿架这类机器该待在机器区。 + public static void GiveToMachineBay(GameItem item) + { + GeneralHelper.SetItemOwned(item, true); + var e = EmporiumEntry.Instance; + if (e?.invElement != null) + foreach (var box in e.invElement.childItems.Where(i => i.identifier != null && i.identifier.StartsWith("machine_bay")).ToList()) + if (GraphUtils.CanAccept(box, item) && GraphUtils.TryAcceptAll(box, item) == 0) return; + Give(item); + } + public static void Give(GameItem item) { GeneralHelper.SetItemOwned(item, true); diff --git a/src/Decentralized/Unlock.cs b/src/Decentralized/Unlock.cs index 6ff8f93..f87a138 100644 --- a/src/Decentralized/Unlock.cs +++ b/src/Decentralized/Unlock.cs @@ -41,7 +41,7 @@ namespace Decentralized private static void OnPurchased() { Items.Give(ModHelper.SpawnItem(Items.Terminal)); - Items.Give(ModHelper.SpawnItem(Items.Rig)); + Items.GiveToMachineBay(ModHelper.SpawnItem(Items.Rig)); Items.Give(ModHelper.SpawnItem(Items.GpuId("RTX60"))); Items.Give(ModHelper.SpawnItem(Items.Guide)); Items.Give(ModHelper.SpawnItem(Items.Web3Guide));