Hola Mundo!!
Aprovechando que GBC esta estrenando seccion de investigaciones les hablare de mi trabajo actual.
Como sabran (o no), en los cartuchos de I y II generacion, el numero total de "cosas" esta limitado a 255 y los Ataques no son la excepcion. Debido a que incluir nuevos pokemon o fakemons requere tambien de ampliar sus learnsets he decidido ampliar los movimientos por diversidad.
Teoria:
Asi como una vez KBC propuso usar un bit sin usar en los datos del Nivel de cada pokemon, yo propongo usar el ultimo BIT dentro de los PP de cada movimiento del pokemon en la party para diferenciar entre dos tipos de tablas (255 movimientos en cada una).
Practica:
Estas son algunas de las rutinas que he tenido que intervenir y una breve descripción de ellas:
- PpUp: Se limita el uso de un PP UP a 1 por movimiento, similar al PP Max para evitar que altere los movimientos. El unico inconveniente es que este nuevo proceso aumenta el PP un 50%, a diferencia del 60% del PP Max de las nuevas generaciones.
- UpdateMoveData: Rutina encargada de cargar los datos de cada movimiento a la RAM cada vez que entramos a un turno de batalla.
- GetMoveName: Ahora tendra que leer 2 tablas para darnos el nombre.
- GetMoveData: idem.
- ListMoves: Una rutina un poco compleja. Carga todos los movimientos de nuestro pokemon en una caja de texto. Usada generalmente cuando se va a aprender un nuevo movimiento.
- LearnMove: idem.
- MoveInfoBox: Se encarga de definir los atributos de cada movimiento asi como su descripcion.
Resultados:
De momento he usado como segunda tabla los datos de los objetos, pero ya se puede observar que es funcional los cambios hechos en las rutinas. Datos de los movimientos de los pokemon: