Si, la respuesta mas correcta siempre fue ASM, pero hay unas cuantas otras maneras de hacer eso.
Por desgracia, solo tengo como hacer eso en FireRed, pero no debe ser mucho dificil hacer el mismo en Ruby. Me voy a investigar eso. Pero, para firered, es lo siguiente:
La primera manera:
Con...