The reason all canceling is done in MSC is because all Action coding is in MSC. Everything that controls ahat subaction and action to play after reading the controller is in msc. So since ACMD never handles switching moves, it never needed allow interupts.
The way the jump cancels and stuff work in MSC isnt through a command either. The MSC script checks what move your currently in and then constantly polls the controller for input changes, if an input was pressed it cgecks if the move that youbwould do from pressing that button is ALLOWED, and if it is, changes to the jump action
MSC is the source code for fighters and controls everything. Everything is done by reading inputs. For example it does things like:
Code:
While(true){
If(buttonsPressed){
if(player.OnGround){
var btn = getInputs();
if(btn == buttons.A && btn != buttons.A | buttons.LeftStick){
CallACMD("Attack11");
}
else{
CallACMD("Wait1");
}
}
}
}