Any attack in Final Fantasy 6 has its own internal structure. It includes many flags which determines the attack behavior. The short version of the structure can be viewed at Data Crystal, in the Attack subsection:http://datacrystal.romhacking.net/wiki/Final_Fantasy_VI:RAM_map
The hit system uses that structure to determinate if the attack hits or fails in battle. The algorithm has fixed priorities over the flags. Status are considered by the algorithm, and they have fixed priorities with the attack flags.
I was talking about the effect of status in the hit determination. I wasn't talking about the spells themselves.
I agree with the “Vanish Bug”. In summary, if you cast Vanish and Doom in the target, the Doom spells always hits and kills the target.
The Doom spell, however, isn't a common attack. It has the “Defense based in stamina” flag.
The Vanish status is considered by the algorithm. If the target has Vanish status, all physical attacks against the target will miss. However, all magical attacks will hit.
If you use the Doom spell against the target and the target doesn't have the Vanish status, the “Defense based in stamina” flag has priority. It has priority over the default behavior of the algorithm, like a special case. In this special case, the spell can miss the target.
If you use the Doom spell against the target and it has the Vanish status, the “Vanish status” case has priority over the “stamina based” flag. In this case, all magic attacks must hit, and Doom is a magical attack. It is the source of the bug.
When I said that common attacks always hits against monsters, I used the word “common” as attacks without special flags. As example, the spell “Fire 2” doesn't have special flags. If a monster uses “Fire 2” against a character, the character can block the attack based in his magical block. However, if the character uses the spell against a monster, it will never dodge it based in its magical evasion alone.
The hit system algorithm is based in many attack flags and status conditions. It has complex and sometimes questionable priorities over themselves.
I will list only the relevant flags and status which can make a target hit or miss in battle:
- Miss if target immune to death
- Only target dead or undead monsters
- Stamina is used as defense
- Can't dodge attacks
- Lv X spells
- Miss if target is immune to inflicted status
- Vanish: Physical attacks will miss and magic attacks will hit.
- Image: Physical attacks will miss.
- Sleep, Stop, Freeze: All attacks will hit against the target, but I am not sure about their priorities with the other flags or status.
- Reflect: Magic attacks will miss and be reflected.
As a note, the attack structure has the special effect field, namely the $11A9 variable. In short, it is used as a index for a table of pointers. They practically can alter anything in the attack structure and related structures, without restrictions. It includes the determination if the attacks hit or miss, based in his own code referenced by the pointers.