引晶修飾欄位詞彙表 CombatSkillCore · 「中文效果文字 -> 公式 -> 代碼」的可用詞彙 · 純掃描產出

掃描時間 2026-08-28 19:05 (掃描起點) ~ 19:23 · 顯示 259 / 259 欄位 · ⚠ SupportGemEffects.javasupport_gems.txt 在掃描當下有另一個 agent 正在改(連鎖引晶的 PENDING 閘門),那兩處可能已與本頁不一致

一、摘要

259修飾欄位總數(6 個容器)
22只寫不讀(算了但沒人用)
12只讀不寫(讀取端做好、沒引晶餵)
216讀寫都有

實際的類別名(不是 GemModifiers 一個而已)

ProjectileMods 不是容器,是一支「用反射從 GemModifiers 讀投射物欄位、組出 ProjectileSpec」的橋。⚠ 它的 build() / applyLook() / pointBlankMultiplier() 全服沒有任何呼叫端(只有 missingFields()/combatskill proj 診斷指令用到)。實際消費投射物欄位的是 SkillProtoBow / SkillProtoProjAttack / SkillProtoGenericSpell / SkillProtoVaal / DeployablePayload,各自寫了一份。

運算類型:increased 與 more 一定要分開

二、死欄位(這份表最重要的產出)

只寫不讀 —— 引晶算好了數字,全服沒有任何地方讀它(22)

只讀不寫 —— 讀取端做好了,沒有任何引晶餵值(12)

三、引晶狀態 vs 實作 交叉比對

144IMPLEMENTED 已啟用
106PENDING 待機制
4LOCALIZED 本地化替代
7NOT_RECOMMENDED 建議不做

共 261 顆(另有 35 顆標為絕版 RETIRED,與狀態是兩件事)。⚠ SupportGemStatus.java 的註解仍寫著舊數字(47 / 196 / 9 / 9),與資料表現況不符 —— 那是註解沒跟上,不是資料錯。

A. 有 case 分支、但狀態不是 IMPLEMENTED —— 實作在、閘門沒開(23)

閘門在 SupportGemEffects.java:187if (!def.status.isActive()) { inactiveNotes.add(...); return; }。WuxingSupportGems / CritSupportGems / SummonGemEffects / AuraReservation 全部在這一行之後才被呼叫,所以這些 case 永遠跑不到。

B. 狀態 IMPLEMENTED、但 SupportGemEffects 的 switch 裡沒有 case(0)

這三顆不是空殼:它們在 AuraReservation.java 有自己的 case,由 CritSupportGems.applyIfHandled() 轉呼叫進去。也就是「顯示已啟用、實際什麼都沒做」的引晶 目前是 0 顆

四、有中文效果、但沒有欄位承接

做法:把 IMPLEMENTED 引晶的 F| / G| 效果句斷詞,拿每一個概念去掃全部 215 個 .java(先看含註解、再看去掉註解的純程式碼)。去掉註解後零命中 = 沒有任何程式碼在處理這件事

確認零命中(純程式碼)

有欄位、但寫入端缺席(=上面「只讀不寫」那批的資料面對照)

※ 這一節只列「有把握的部分」。斷詞式掃描還吐出 100 多個長句片語,絕大多數是斷詞噪音(整句當然不會逐字出現在 Java 裡),沒有列進來。要做全面盤點的話,正確做法是逐顆比對 F| / G| / Q| 行,不是靠關鍵字。

五、全欄位表(259)

「誰寫入」欄:綠 = 該引晶狀態 IMPLEMENTED、黃 = PENDING(case 在但閘門關著)、灰 = 寫入它的 .java 檔。

程式欄位名容器型別 / 運算中文語意(取自原始碼註解)誰寫入誰讀取狀態