アップデート 2.37
2026/6/7
Monster AI Editor: PROVEN「HPがX%未満」の条件(IDA+corpus)+222個の名前付きプロパティフィールド(「フィールド 0xNN」の終わり)。 Halyson は IDA を使うように言い、「行が数値になる設定ファイルに違いない」と推測した — どちらも的中。RE を `FFX_recon.i64` で解析: ATEL のネイティブディスパッチ = `handler = (FuncspaceTables[funcId>>12] + 16(funcId&0xFFF))`(slot +0 CALLPOPA / +12 CALL); `readChrProperty`(0x700F)= `0x7A4D70` → `field→property` switch(`sub_7B2DD0`)。FFXDataParser/ScriptConstants.putBattleActorProperty(オーナーが直感した「config」)とコーパスを組み合わせた Cross-referenced の結果: フィールド 0x00 = HP(stat_hp、コーパスで most-read のプロパティ — 306回)、0x02 = maxHP(137回)、0x119 = NearDeath(= IDA case 281 `current<max/2`)。算術オペコードも実証済み(` 0x16` など)。#11 REAL を出荷: ガード付きスニペット 「HPがX%未満 → コマンドをforce」 = `HP100 < maxHPX` イディオム(corpus-proven fields 0/2)— 本物の boss-enrage であり、もう推測ではない(以前の v2.35.0 版は HP フィールドが未実証だったため汎用的だったが、現在は実証済み)。命名: 新しい `FfxLib/Ai/AiChrPropertyNames.cs`(222個の名前付きフィールド。codec の func-name テーブルと同じ公開由来)を buff/stat 検出器に接続し、status アクションが「ヘイスト/プロテス/StatusPoison/HP/maxHP…」と表示されるようにした(「フィールド 0xNN」から改善)。ゲート `--ai2`: HP%-enrage 346/346 + conditional 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
ノートを読む