Bueno, si fuera Ruby te costaría bastante más, admito que en Fire Red es más fácil, al menos se agradece que hayas puesto las direcciones.
Edito:Ese método No es inventado por ti, mucha gente lo hizo hace tiempo, cmo yo inspeccionando en Fire Red, peor lo voe algo innecesario, prefiero hacerlo a mi manera, lo llamría un poco de trampas