Actually... I/we might have to rework the routine altogether...
I wrote it into the ROM I'm working with and the results are... Less than perfect.
Cid charges at the target, hits it, jumps back, then explodes.
I EA'ed out the
$03/E15D 8D C5 33 STA $33C5 [$7E:33C5] A:0032 X:0000 Y:0000 P:envMxdizc - Store A in Audiovisual.
$03/E160 20 44 CD JSR $CD44 [$03:CD44] A:0032 X:0000 Y:0000 P:envMxdizc - Jump to after the Audiovisual check has been looked at in the Spell Routine.
And that makes the explosion go away, but it still says "explode" at the top of the screen.
Also, when Cid is critical, for some reason he stays crouching instead of "walking" when he charges at the target, so I might have to make it so it fails automatically if he's critical, too.
Also, my routine is long. One byte shorter than the AV routine for Land. That makes sense, since it's based off of the same routine, but it's longer than the amount of empty space in the 02 block, so I had to use some of the empty space in the 03 block, too (the empty space at the end, not any part of Peep or Cry).
Anyway, I think I have to stop for the day.
Hmm, I'm not sure of a way to repress the name of the spell used. I know there are some spells which are set not to display their name. DullSong, the Vanishes, Monster Command, and other event ones do not display their names for instance. We could work on this together, yeah. I am glad to see you have a working model though! I suspect you may want to look at the notes on Charm I have on characters walking independently of their status...
$02/DBE7 FA PLX A:0000 X:0000 Y:0000 P:envMxdIZc - Pull X.
$02/DBE8 BD CE EF LDA $EFCE,x[$7E:EFCE] A:0000 X:0000 Y:0000 P:envMxdIZc - Load A from 7EEFCE.
$02/DBEB 29 0F AND #$0F A:0001 X:0000 Y:0000 P:envMxdIzc - Get rid of Bits.
$02/DBED 9D CE EF STA $EFCE,x[$7E:EFCE] A:0001 X:0000 Y:0000 P:envMxdIzc - Store A in 7EEFCE.
$02/DBF0 BD C5 EF LDA $EFC5,x[$7E:EFC5] A:0001 X:0000 Y:0000 P:envMxdIzc - Load A from 7EEFC5.
$02/DBF3 C9 B0 CMP #$B0 A:00B0 X:0000 Y:0000 P:eNvMxdIzc - It is B0? (When set to other values will be closer or further away when they move to join the enemy)
$02/DBF5 F0 4F BEQ $4F [$DC46] A:00B0 X:0000 Y:0000 P:envMxdIZC - Branch if so.
---------------------
------------------------
$02/DC46 BD CE EF LDA $EFCE,x[$7E:EFCE] A:00B0 X:0000 Y:0000 P:envMxdIZC - Load A from 7EEFCE
$02/DC49 09 01 ORA #$01 A:0001 X:0000 Y:0000 P:envMxdIzC - Get rid of Bits. (When set to 02 Character will face enemies)
$02/DC4B 9D CE EF STA $EFCE,x[$7E:EFCE] A:0001 X:0000 Y:0000 P:envMxdIzC - Store A in 7EEFCE
$02/DC4E 60 RTS A:0001 X:0000 Y:0000 P:envMxdIzC - Return
It is all somewhere in there, likely dealing with th 7E:EFCE sequence of bytes, as that is also pose. You may just plain be able to manipulate his pose with ...
$02/DF71 A9 04 LDA #$04 A:0010 X:0000 Y:0000 P:envMxdIzc - Load Crouching into A.
$02/DF73 9D D0 EF STA $EFD0,x[$7E:EFD0] A:0004 X:0000 Y:0000 P:envMxdIzc - Store A in Pose Byte
If your AV routine is using X as the character's placement ID this should do the trick.