Holi. Hoy actualizaremos la habilidad Pickup para que funcione como en Pokémon Emerald y los juegos que vinieron despues.
Antes de comenzar, hay que decir que los creditos van para DoesntKnowHowToPlay quien diseñó este cambio que es de publico acceso.
Requisitos:
-Leer mi tema de introducción a Pokeruby.
-Editor de texto (yo usaré Notepad++)
Instrucciones:
1) Abriremos el archivo pokeruby\ld_scripts.txt con nuestro editor de texto.
Allí buscaremos "src/battle/battle_4.o(.text);" usando Ctrl+F, y justo debajo añadiremos una nueva linea que diga:
Guardamos y pasamos al siguiente archivo.
2) Ahora nos iremos a pokeruby\src\battle\battle_4.c, aquí terminaremos con el tutorial.
Buscamos mediante Ctrl+F "static const u16 sPickupItems[] =", lo que nos llevará a la Linea 1164 donde veremos esto:
Pues a eso lo reemplazaremos con esta lista de objetos.
Luego de eso nos iremos a la Linea 15577 (previamente Linea 15390), donde veremos esto:
Pues lo reemplazaremos por esto:
Unas 13 o 14 lineas mas abajo, podemos ver:
Pues lo reemplazaremos con:
Y para terminar, 2 lineas mas abajo veremos:
Y lo vamos a reemplazar con:
Aquí una muestra del resultado:
Si por algun motivo no entendieron este tutorial, pueden echarle un vistazo al commit donde se modificaron estos archivos que está enlazado al inicio del post.
Y eso fue todo.
Antes de comenzar, hay que decir que los creditos van para DoesntKnowHowToPlay quien diseñó este cambio que es de publico acceso.
Requisitos:
-Leer mi tema de introducción a Pokeruby.
-Editor de texto (yo usaré Notepad++)
Instrucciones:
1) Abriremos el archivo pokeruby\ld_scripts.txt con nuestro editor de texto.
Allí buscaremos "src/battle/battle_4.o(.text);" usando Ctrl+F, y justo debajo añadiremos una nueva linea que diga:
Código:
src/battle/battle_4.o(.data);
2) Ahora nos iremos a pokeruby\src\battle\battle_4.c, aquí terminaremos con el tutorial.
Buscamos mediante Ctrl+F "static const u16 sPickupItems[] =", lo que nos llevará a la Linea 1164 donde veremos esto:
Código:
static const u16 sPickupItems[] =
{
ITEM_SUPER_POTION, 30,
ITEM_FULL_HEAL, 40,
ITEM_ULTRA_BALL, 50,
ITEM_RARE_CANDY, 60,
ITEM_FULL_RESTORE, 70,
ITEM_REVIVE, 80,
ITEM_NUGGET, 90,
ITEM_PROTEIN, 95,
ITEM_PP_UP, 99,
ITEM_KINGS_ROCK, 1
};
Luego de eso nos iremos a la Linea 15577 (previamente Linea 15390), donde veremos esto:
Código:
u16 held_item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
Código:
u16 held_item = GetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM);
u8 level = (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) - 1) / 10;
Código:
if (sPickupItems[j + 1] > chance)
Código:
if (sPickupTables[level][j + 1] > chance)
Código:
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, (const void*) &sPickupItems[j]);
Código:
SetMonData(&gPlayerParty[i], MON_DATA_HELD_ITEM, (const void*) &((sPickupTables[level])[j]));
Si por algun motivo no entendieron este tutorial, pueden echarle un vistazo al commit donde se modificaron estos archivos que está enlazado al inicio del post.
Y eso fue todo.