Update 2.32
6/9/2026
v2.32.0BETA
Seymour
Monster AI Editor: list ALL actions (⚔ command · 🛡 buff/status · 📊 stat) with a type filter + rename a nameless command (#6 and #7)
- Two more from the owner's list. #6 — list everything, not just commands: the "Monster actions" list now detects and edits buffs/status (
writeChrProperty 0x7018) and stats (setStatField 0x70AB) too, with a type-filter dropdown (All / ⚔ Commands / 🛡 Buffs / 📊 Stats). Each action shows an icon + friendly name (known status = "Haste/Protect/Reflect", else "campo 0xNN"; "(em si)" when the target is the self-ref; "= value" or "tirar" when 0). Move / Duplicate / Remove now work for ANY kind (generic stack-neutral removal of the[pushes…][call]run); Change / Force↔Queue stay command-only (guarded + a message). #7 — rename a nameless command: when aperformCommandid has no dictionary label (e.g.comando 0x60AB), an ✏ Rename field gives it a friendly name that is persisted (%LocalAppData%\FFXProjectEditor\ai-command-labels.json) and used across the whole editor, for any monster. New pure logic:FfxLib/Ai/AiAutomation.DetectActions(command+buff+stat;DetectCommandActionsis now a filtered view) +FfxLib/Ai/AiCommandLabels.cs(a store loaded on boot, saved on each edit; empty in the gate ⇒ no effect). Gate--ai3extended: detect buff/stat = 4020 buffs (3698 removable) + 4156 stats (4156), remove buff/stat 30/30 (generic removal shrinks by the exact run and re-parses), reorder 325/325 (now moves past a neighbour of any kind); add/rng/change/duplicate/toggle/self-buff/copy still PASS;--ai2PASS. Build 0 errors. Honest: structure proven offline; in-game effect = RT2. Only the 3 byte-proven status field-ids get a name (the rest = "campo 0xNN", honest)
v2.31.1