Pues no es algo tan sencillo de hacer, tienes que manejar bien el ASM para poder realizar algo como esto.
Este es un tema viejo, pero quizás te ayude a aclarar dudas :
Tema
También hay un tutorial que te podría servir de guía, solo que es para
Pokémon Emerald, así que habría que hallar los offsets adecuados para Ruby, pero al menos ya tendrías una base de por donde comenzar.
Elimar intro Emerald
Sé que no es exactamente lo que buscabas, pero al menos espero que te sirva de punto de partida.
Saludos.