(I know this script is messy but it does everything I want it to do, edit of Scene_Battle 3 and some parts of 4)
https://pastebin.com/0A2DqCT7The real problem really is about the battle turn update.
Of course MP Shield is doing weird things, as I realised when a character gets hit by a foe that uses an attack that eats up all their MP, and has a skill cued beforehand, no animation for the cued skill plays, but its effect still persists, such as using Heal, the enemy is faster and takes my character's MP down. However, the Heal animation would not play because it should not when a character has 0 MP, as expected, but the target of Heal still gets healed anyways
It is even funnier with Revive, as a downed character is revived, but comes off with no sprite.
I think the problem here is, one turn is defined as every single actors and enemies in the scene must act before everything is updated. This is also a thing when status such as stun, which should only last one turn, has its status icon listed even after the turn ends, but disappears as soon as I make an action in the next turn. I suspect it is something in Scene_Battle 4 that determines this. Is there a way so that every single individual action by individual characters forces an update on the battle scene or do I stick with such buggy battle mechanics?