Então, em se tratando de velocidade de movimento, o buraco é mais embaixo. São muitas as funções que usam a velocidade de movimento, cada uma aplica uma fórmula diferente, então quanto maior a alteração de velocidade, quanto mais esse valor se distancia do zero, mais catastrófico é seu impacto. Por exemplo:
Game_CharacterBase.prototype.distancePerFrame = function() {
return Math.pow(2, this.realMoveSpeed()) / 256;
};
Essa função calcula quantos tiles o evento se moverá em um frame. realMoveSpeed retorna a velocidade do jogador e + 1 caso ele esteja correndo. Assim sendo, a partir da velocidade 16 o evento estaria andando mais do que um tile por frame.
Game_CharacterBase.prototype.animationWait = function() {
return (9 - this.realMoveSpeed()) * 3;
};
Já a função acima calcula quanto tempo perdurará um frame da animação de movimento. A partir da velocidade 9, o tempo seria nulo ou negativo, daí das duas uma: ou o jogo travaria, ou; o jogador não perceberia a animação.
Fora estas existem muitas outras funções que usam a velocidade de movimento, mas percebe o quão sensível é esta variável? Mudar um ponto já causaria uma anomalia muito grande, portanto, ao se visar ter mais velocidades e movimento, deve se ter ciência que muitas funções terão de ser rescritas para funcionarem sob as novas circunstâncias. Infelizmente não lembro de nenhum plugin que já faça isso.