更新 2.37
2026/6/7
怪物 AI 編輯器:一個 PROVEN「如果 HP 低於 X%」條件 (IDA+語料庫) + 222 個已命名屬性字段(「campo 0xNN」結尾)。 Halyson 說要使用 IDA,並猜測「它一定是個組態檔,其中每一行等於一個數字」——兩者都完全正確。RE 在 `FFX_recon.i64` 中:ATEL 原生調度 = `handler = (FuncspaceTables[funcId>>12] + 16(funcId&0xFFF))`(插槽 +0 CALLPOPA / +12 CALL);`readChrProperty` (0x700F) = `0x7A4D70` → 一個 `field→property` 開關 (`sub_7B2DD0`)。Cross-referenced 搭配 FFXDataParser/ScriptConstants.putBattleActorProperty(擁有者直覺到的「組態」)加上語料庫:字段 0x00 = HP(stat_hp,語料庫的 most-read 屬性 — 306 次),0x02 = maxHP(137 次),0x119 = NearDeath(= IDA 案例 281 `current<max/2`)。算術操作碼已證實(` 0x16` 等)。#11 REAL 已發布: 一個受保護的程式碼片段 「如果 HP 低於 X% → 強制指令」 = `HP100 < maxHPX` 慣用語 (corpus-proven 字段 0/2) — 真正的 boss-enrage,不再是猜測(先前的 v2.35.0 版本是通用的,因為 HP 字段未被證實;現在已證實)。命名: 新的 `FfxLib/Ai/AiChrPropertyNames.cs`(222 個已命名字段,與編碼器的 func-name 表格相同公開來源)接入增益/狀態檢測器 → 狀態動作現在顯示「Haste/Protect/StatusPoison/HP/maxHP…」而不是「campo 0xNN」。門 `--ai2`:HP%-狂怒 346/346 + 條件式 346/346;`--ai3` PASS。文件:`docs/reverse/FFX_AI_NATIVE_DISPATCH_AND_CHRPROPERTY_FIELDMAP_2026-06-07.md`(+ rename-queue 用於 `.i64`)。老實說: 結構已離線證實,in-game 效果 = RT2; 0xDA/218=HP%×256 的量表存在於 IDA 中,但語料庫並未使用它(I 採用的是 AI 實際使用的路徑,0/2)。由於 Sphere Grid 工作線的 WIP(無關),編輯器建置呈現紅字;我的所有檔案皆為 FfxLib、gate-validated。[先前:`v2.36.0.1`] — Jarvis-MAGIC
閱讀說明