更新 2.185
2026/6/30
v2.185.0.0BETAMINOR
Seymour2026年6月27日
Overdrive: "LAB" tag removed + per-step target selector
- Removed "LAB" from all user-visible Overdrive block strings. Each finisher sequence step now has its own target ComboBox (Random frontline / Lowest HP).
AddOverdriveFinisherSequencelosttemplateandfallbackTargetparams — each command carries its own target.OverdriveFinisherStepVM class. Build 0 errors. RT0 gate 330/330 PASS
v2.184.1.0
v2.185.1.0BETAPATCH
Wakka2026年6月26日
競技場+ cross-map 延遲還原:不要破壞隨機遭遇數據區塊
- 在
ArenaPlus_ArmDeferredFileRestore中新增ArenaPlus_TickDeferredFileRestore+ dllmain.cpp。在 cross-map 781D60 啟動成功後,啟動一個約30秒計時器(1800影格)。當超時時,將.spiraforge.bak還原到組合後的數據區塊上。根因:cross-map 部署(e.g. Macalania 森林)將暗黑召喚獸寫入mcfr00_00.bin,該處也是隨機遭遇編組——隨機遭遇因此產生了暗黑召喚獸而非普通怪物。DLL 已構建並部署
v2.185.0.0
v2.185.4.0BETAPATCH
Sin2026年6月27日
Sin Curse 實驗室 v2:AiQueryProperty 已移除,SinScaleInject v2 CLI,文件
- AiQueryProperty 掛鉤(RVA 0x3B2DD0)已移除 — 原本是 FFX_Battle_AggregateActorProperty,繞路導致選單崩潰。F7 區域子選單已還原。g_sinPreset[93] VAR 保留。SinScaleInject v2 CLI:--area, --seed, --intensity, --save-clean, --restore, --dry-run, XorShift32 RNG, HP/屬性縮放。ATEL 注入已停用(等待 AiInstruction 重寫)。文件:SIN_CURSE_LAB_SESSION_2026-06-27.md(13 個章節),SIN_CURSE_V2_BIN_FIRST_PLAN_2026-06-27.md(.bin-first 計畫)。【前一個:
v2.185.3.0】
v2.185.5.0BETAPATCH
Sin2026年6月27日
Sin Curse 實驗室 v2:SinScaleInject 工作 + 掛鉤已簡化
- SinCurseHook.cpp: MonsterLoad, SetScaleAxis, AiQueryProperty, LaunchRestore 已移除. btlmap 過濾器. CREATE_NO_WINDOW. SinScaleInject v2 使用 Monster_StatSheet.ReadSingle/WriteSingle. 從儲存庫重新產生乾淨的二進位檔. 已部署 62 個受管理的 DLL
v2.185.4.0
v2.185.6.0BETAPATCH
Sin2026年6月27日
Sin 實驗室 v2.1:程式碼審查 + 錯誤修正 + 威脅同步
- SinScaleInject:內核名稱現在在每次
--area前從乾淨狀態恢復(ProcessArea、SaveClean、RestoreAll)。SaveClean 和 RestoreAll 現在涵蓋 kernel/monster*.bin。RNG 與 C++ 對齊:seed = seed ^ (seed << 16)。已移除 g_sinPreset[93](死代碼)。已從種子中移除 time(nullptr)(確定性 RNG)。kAreaTable(C++)和 AREA_T(C#)已與 CSV 威脅上限同步:修正了14個值,tMin=0 永遠成立,新增區域(zanarkand, postgame, thunder_plains_cross, macalania_bosses)
v2.185.5.0
v2.185.7.0BETAPATCH
Rikku2026年6月28日
UI 優化:較柔和的調色板 + 可見的選擇
- StudioTokens.axaml 強調色
#5DD0B4→#2A9D8F,較平和的填充/邊框,StudioTheme.axaml ListBox 選擇#15323B→#1A3040帶有可見的1像素邊框。選擇/頁籤/展開器/狀態標記已更新。發佈版本 0 錯誤
v2.185.6.0
v2.185.8.0BETAPATCH
Sin2026年6月28日
SIN 補丁審查 follow-up:CLI 強化 + hook-build 合理性閘門
SinScaleInject:--restore-area現在需要一個 ID;無效的--seed、--t和--intensity會提前失敗並顯示明確訊息;負數--t被拒絕;--intensity限制為0..100;MonsterStatSheetStruct.StatSheet現在有預設初始化以移除可空性警告。build_hooks.ps1:保持version.res透過cl.exe嵌入,並且現在拒絕 PolyHook 建置,當最終ffx-hooks.dll出現可疑地小時,防止無聲的成品回歸。審查/follow-up 記錄於docs/ai/SIN_PATCH_REVIEW_2026-06-28.md
v2.185.7.0
v2.185.9.0BETAPATCH
Sin2026年6月28日
SinScaleInject 乾淨部署至 `modules\\tools`
- 新的
RuntimeTools/SinScaleInject/deploy-sinscaleinject.ps1將SinScaleInject發佈到一個乾淨的資料夾,並用一個最小的獨立承載體(modules\\tools\\SinScaleInject\\,SinScaleInject*,SinCoreLib.dll)取代Xe.BinaryMapper.dll,移除了遊戲資料夾中意外的FFXProjectEditor.exe/Avalonia 拖動。Program.cs現在從GameRoot執行時,會從AppContext.BaseDirectory推導出modules\\tools\\SinScaleInject,因此不再依賴硬編碼的SteamLibrary\\...來取得 in-game 資料路徑。本地驗證:發行版建置0 errors / 0 warnings、乾淨發佈,以及對遊戲路徑的實際部署。狀態:Needs Testingin-game;儲存庫路徑(clean-base/roster-dir)按設計保持 machine-local
v2.185.8.0
v2.185.10.0BETAPATCH
Lulu2026年6月28日
怪物 AI 階段旋轉:穩定的變數 ID + 即時 battle-start 開啟器
Phase Rotation Manager不再從文字var[N]解析中衍生IndexLabel:AiPhaseVariableAuditRow現在攜帶一個穩定的數值VariableIndex,而且 UI 直接顯示ID###,因此無法將別名/文字誤認為真實的變數 ID。使用As soon as the battle starts的階段現在會發出forcePerformCommand (0x705A)而非performCommand (0x700B),這樣開啟器在啟動時就不會依賴一般動作佇列。RuntimeTools/AiScriptLab --phase-rotation-rt0現在包含一個 battle-start 開啟器案例,並且仍 通過319/319;編輯器 Release 版本以 0 個錯誤 關閉。狀態:Needs Testingin-game,尤其是開啟器順序/動畫以及真實的m020案例
v2.185.9.0
v2.185.11.0BETAPATCH
Lulu2026年6月28日
Monster AI 階段旋轉:可攜式創作 ID + non-destructive 變數具體化
Phase Rotation Manager現在將每個變數的real ID與其authoring/template ID分離:UI 顯示兩者,將偏好的 ID in 儲存在本地元數據中,並允許配方請求更高的var[N],而不會將別名與真實運算元混淆。在套用期間,編輯器會在必要時透過為相同儲存/插槽附加別名來具體化額外的描述符,而不會覆寫現有變數;如果請求的ID已被其他變數佔用,則配方會移至下一個可用索引。階段守衛也會重新映射到具體化的索引。RuntimeTools/AiScriptLab --var-grow維持 PASS185/185,而--phase-rotation-rt0維持 PASS319/319;編輯器的 Release 建置以 0 個錯誤 結束。狀態:Needs Testingin-game,特別是跨不同變數表的怪物之間的配方匯入/匯出
v2.185.10.0
v2.185.12.0BETAPATCH
Lulu2026年6月28日
怪物 AI 階段輪換:實際 top-insert battle-start + `forcePerformCommand` round-trip
Phase Rotation Manager現在將As soon as the battle starts步驟處理為在進入點的實體頂部插入,而不僅僅是在程式碼末尾鏈接一個新區塊。這使得開啟器實際上位於舊處理器主體之上,並減少了m020失敗模式,在該模式中,即時動作可能在剩餘開啟器之前消耗該次通行。草稿讀取器現在也能識別forcePerformCommand (0x705A),因此重新開啟/重新套用開啟器配方不再忽略那些區塊。RuntimeTools/AiScriptLab --phase-rotation-rt0保持 PASS319/319,且編輯器發布版本以 0 個錯誤 關閉。狀態:Needs Testingin-game,尤其是實際的m020 - Teste Não Funcional 2.bin開啟順序
v2.185.11.0
v2.185.13.0BETAPATCH
Lulu2026年6月28日
怪物 AI 階段旋轉:AI battle-start 已停用;誠實觸發器移至待處理的執行時期/CTB 邊緣工作
Phase Rotation Manager不再假裝As soon as the battle starts是AiFile內部的安全遊戲觸發器。寫入器現在拒絕BattleStart的應用嘗試,UI 將該路徑重新標記為CombatHandler init (disabled LAB),而警告則指向正確的路線:在 CTB 邊緣上設置一個執行時期掛鉤,以實現所需的「任何有效回合之後」行為。RuntimeTools/AiScriptLab --phase-rotation-rt0已恢復為完全onTurn的配方,且仍然通過;本地的m020.bin測試檔案已還原至儲存庫外部的乾淨基準線
v2.185.12.0
v2.185.14.0BETAPATCH
Lulu2026年6月29日
怪物 AI 階段輪換:在 `AfterAnyValidTurn` 邊緣上的真實 CTB 調度
PhaseTurnEdgeHook不再是 probe-only:執行期回呼現在解析邊緣角色,推導出即時m###,針對該怪物掃描所有相符的側車條目,並透過結構橋接器 (resolveTargetMask -> queue script command) 在相同的 CTB-edge 上下文中排入已編寫的命令。執行期針對每個onlyOnce保持entry x actorSlot狀態,在戰鬥簽章變更時重置該狀態,並且現在記錄真實的調度成功/失敗,而非僅記錄探測行。在編輯器中,當專案可以解析AfterAnyValidTurn時,modules\\config側車現在會被匯出到遊戲的GameInstallRoot,並且 UI/警告已強化以反映真實範圍:運行時 v1 = 立即命令調度,最佳用法為 one-shot;guardVar仍然是元數據,而不是 out-of-turn 變數變異路徑。RuntimeTools/PhaseTurnEdgeLab已同步至真實的n6/a2日誌格式。狀態:Needs Testingin-game — 離線建置均為綠色,RT2 仍待處理
v2.185.13.0
v2.185.15.0BETAPATCH
Seymour2026年6月29日
Obsidian 筆記庫 + 文件前端資料 + 工具基礎設施
- Obsidian 筆記庫配置在儲存庫根目錄:graph.json, 包含 11 個按資料夾/標籤區分的顏色羣組、CSS 程式碼片段(colorful-graph、colorful-folders),並帶有圖表發光效果與鮮豔色彩。docs/obsidian-vault/ 目錄下有 30 多篇相互連結的筆記(樞紐、RE 筆記、戰鬥 AI、Spira 重鑄、工作階段、參考資料)與 4 張 Mermaid 圖表(SinScaleInject 架構、階段輪轉流程、ATEL VM、怪物 Worker 結構)。DeepSeek 整理器處理了約 1900 個 .md 檔案,加入前端資料(標籤、別名、日期),以豐富圖表視圖。建立了 5 個 FFX 專業技能(monster-ai-specialist、runtime-hooks-engineer、wpf-module-architect、re-ida-analyst、data-diff-patch-engineer),並於 auto-routing 中帶有 AGENTS.md。GitHub MCP 使用環境變數權杖配置,並更新了 .bashrc。.gitignore 已更新(已納入 .mcp.json)。標準化前端資料已新增至 AGENTS.md
v2.185.14.0
v2.185.16.0BETAPATCH
Seymour2026年6月29日
怪物能力/Gil/AP 重新平衡:Macalania、Bikanel、Calm Lands + 7 個 OD 設計
- Iguion (m026) 與 Mafdet (m004) 根據家族模式進行強化。Cactuar (m208) 獲得強化 (HP 800→1500, AGI 24→40, MDEF 255 保持不變)。Calm Lands:AGI 與次要屬性為 10 隻怪物獲得強化。Gil/AP 在 3 個區域(Macalania、Bikanel、Calm Lands)中增加,並帶有 OD 加成。APovk 標準化為 2 倍。7 個超驅動設計:Mushussu(沙之吐息)、Zu(音速風暴)、Cactuar(一萬根針)、Coeurl(爆裂加農砲)、Chimera Brain(Mighty Guard + 念力風暴)、Ogre(Ogre 粉碎×2)。四目標同步 (repo/steam/extract/clean-bins) 已記錄為專案規則
v2.185.15.0
v2.185.17.0BETAPATCH
Seymour2026年6月30日
怪物 AI 相位旋轉 P1+P2 + Seymour RE 第二層 + IDU 可編輯性提案
- Branch-sensitive 讀取器 P1+P2:
AiDetectedBranchAction現在攜帶TargetProvenance/CommandProvenance,並由遍歷器保留 path-local 來源(PUSHV/POPV,findMatchingChr)。Monster AI EditorUI 顯示 multi-line read-only 區塊,帶有指令/目標/標籤來源。0 個建置錯誤,RT0 PASS。Seymour m124:second-layer RE 完成 — 操作碼 0x6051(SetupWaitTimer)透過 CTB 倒數識別,0x604D(MenuAnimationKind)已對應,0x604B(BattleEventString)結構化為包含內部機器碼的字串表。CTB 設定流程已調查:battle-start 事件 0x01→0x704A(QtMG/引擎腳本層),非純 ATEL。間接分派單元:研究完成 — 57 個間接表,147 個分派操作,視覺化編輯器提案。Home(Gundappo):azit03 陣型已提交。知識庫 + FastEntrypoints + 工作階段交接已同步
v2.185.16.0
v2.185.18.0BETAPATCH
Seymour2026年6月30日
Seymour 開場證明已升級至聖典/地圖集 + in-app 護欄
Shell/Protect before the party acts開頭現已關閉,無外部勾點:mcyt06_00 ?StartEndHooks2::HookStart設定AllMonsters.FirstStrike = true、AllMonsters.CurrentTurnDelay = 0、Monster#01.CurrentTurnDelay = 1,並將隊伍/後備推後+2;配合實際陣型slot0=m141、slot1=m124、slot2=m141、slot3=m125,這證明開場是 encounter-driven 原生配置,而非隱藏的本機 SeymourperformCommand技巧。該發現已納入耐久文檔(ATEL Bible、Monster AI Corpus Atlas)以及 in-appBIBLE OF SPIRA中,透過AiBibleCatalog,並設定了明確的產品邊界:Battle Corpus Crosswalk/Aurora可能展現出此 read-only,但HookStart/ 初始 CTB 種子創作仍非公開的書寫介面。整合後的 Seymour 原生證明文檔已隨套件進行版本控制
v2.185.17.0