Registrarse

[Herramienta] Decomp Pokémon Randomizer

KevinXDE

Usuario mítico
Buenas, traigo esta herramienta que he creado para randomizar proyectos de decompilación de Pokémon. Principalmente quería usarla para randomizar proyectos que usan la pokeemerald expansion, ya que siempre me apetecía echarme un randomlocke con los últimos añadidos de las últimas generaciones.







Como podéis ver el diseño se me da genial (pista: no). De momento se puede usar perfectamente para randomizar cualquier encuentro Pokémon (paneles Include Generations, Other y Pokémon Encounters), el resto de funciones aún no están introducidas. Funciona genial en pokeemerald, he testeado con distintos proyectos. Para pokefired y ruby tendrá errores ya que aún no me he puesto a hacerlo compatible con esos proyectos, pero tengo entendido que la mayoría de archivos se randomizan igual, así que podéis probar a ver si cuela (?).

Descarga: https://www.mediafire.com/file/wkruyg0n9y2ptlp/Decomp_Pok%25C3%25A9mon_Randomizer_v1.1.1.rar/file


Por otra parte, voy a explicar un poco como funciona por si la queréis usar. Los requisitos son básicamente tener Java instalado y saber compilar un proyecto. Creo que no tiene pérdida, pero para lo segundo por si no sabéis como hacerlo podéis seguir los tutoriales que hay por Wah y PokeCommunity, o la herramienta de @InmortalKaktus que la verdad es que es un currazo y para novatos es genial, así que si no tenéis ni idea mejor usadla


Antes de empezar, recomiendo hacer una copia del proyecto que vayáis a randomizar por si las moscas. Dicho eso, el proceso es el siguiente. Una vez tenéis la herramienta en su carpeta (viene en la descarga de arriba) y vuestro proyecto a randomizar, le dais al botón "Open". Ahí buscáis la carpeta de vuestro proyecto, la seleccionáis y le dáis a "Abrir". Si es un proyecto válido (que no le falten archivos importantes y pueda compilar, vaya), se habilitaran las pestañas para randomizar. Si vuestro proyecto usa la Pokeemerald Expansion las pestañas de las generaciones de la 4 a la 8 + las formas alternativas también se habilitarán. Por defecto, solo lo harán las de primera generación a tercera generación.

Básicamente después de eso vais a escoger qué queréis randomizar marcando las casillas que queráis. En el panel "Include Generations", si queréis tener Pokémon de 7a generacion, marcáis el checkbox "Gen7". Eso solo añadirá exclusivamente Pokémon de séptima generación, y pasa igual con el resto de casillas. Si queréis todos los pokémon, marcáis todas las casillas.

Luego el panel "Other" de abajo, es para decidir en cada circunstancia si queréis que pueda salir cualquier Pokémon al azar, o si queréis que tenga un poco de sentido y en lugar de legendarios salgan otros legendarios. Por ejemplo, si marcáis la primera opción, al combatir con Groudon os aparecerá otro legendario sí o sí, mientras que si marcáis la opción "Completely Random", saldrá cualquier otro sin tener eso en cuenta. Para clasificar los Pokémon hace uso del archivo balanceSpecies.txt que hay en la carpeta "files" del randomizador. Si queréis clasificarlos de otra forma solo tenéis que modificarlo, pero tratad de dejarlo con la misma estructura que estaba porque si no dará error.

Seguimos a la última pestaña disponible "Pokémon Encounters". Básicamente ahí decidís qué Pokémon queréis randomizar. Creo que no tiene pérdida. Debo anotar que si tenéis algún proyecto avanzado, para modificar vuestros nuevos scripts tendréis que añadirlos al archivo staticEncounters.txt que hay en la carpeta "files". De ese modo, los givemon y giveegg o setwildbattle que hayáis usado en ese script también serán modificados. Si en vuestro proyecto falta un archivo de la lista, al randomizar os saldrá un mensaje de error, pero lo más probable es que el proyecto se haya randomizado igualmente ya que ignora ese archivo y pasa al siguiente. De todos modos, si os sale algún error, no está de más comprobar que todo ha salido correctamente.

Una vez terminéis seleccionando todo lo que queréis cambiar simplemente le dais al botón "Randomize Pokémon Encounters" y os dirá si ha resultado o no (lo dicho, lo más probable es que resulte a menos que hayáis cambiado las estructuras de los archivos que venían por defecto o algo). Luego lo único que tenéis que hacer es ir a vuestra terminal de confianza (en mi caso cygwin), hacer "cd" al proyecto y hacerle un "make".


Eso sería todo. Por último, si encontráis cualquier bug o tenéis cualquier duda o consejo, os pido que me lo reportéis en este tema. Saludos :3
 
Última edición:

Kaktus

Miembro insignia
Miembro insignia
¡TRE-MEN-DO! Claro que sí, grandísimo trabajo Kevin, esta herramienta nos va a venir de perlas para ahorrarnos todo el trabajo pesaso a la hora de randomizar. 10/10
 

KevinXDE

Usuario mítico
Link de descarga actualizado, he añadido algunas cosas:

- Añadidas nuevas funciones
-> Dinamizar movesets de los entrenadores
-> Cambiar tipos de los Pokémon
-> Cambiar Habilidades de los Pokémon
-> Cambiar Base Stats de los Pokémon
-> Cambiar Evoluciones imposibles (intercambio y nuevos objetos si no se introducen)
-> Introducir objetos de nuevas generaciones y piedras evolutivas
-> Randomizar Objetos del Overworld
- Cambiada un poco la interfaz para quitar opciones prescindibles y añadir algún placeholder
- Alguna cosa que me habré olvidado

Cosas no funcionales aún:

- Cambiar Máquinas Técnicas
- Panel para cambiar Movepools de los Pokémon
- Botones Pokeemerald, Pokeruby y Pokefirered

Ya actualizaré el post principal cuando tenga la herramienta más o menos más avanzada. Creo que es suficientemente intuitiva (y si no pues preguntad)
 

KevinXDE

Usuario mítico
Actualizado el link de descarga con la versión 1.1. Ahora es compatible con Pokémon Inclement Emerald, y se ha hecho dinámica la randomización de los encuentros estáticos y los objetos del overworld (ya no hay que editar ningún archivo). También se ha añadido una barra de progreso algo cutre, pero al menos se puede saber si la herramienta ha terminado con su faena.
 

KevinXDE

Usuario mítico
Igual es porque la app está desfasada (perdón XD)

Ha habido muchos cambios en el repositorio y no he tenido tiempo de actualizar el programa, más adelante pienso retomarlo, pero tengo muchos proyectos empezados y quiero terminarlos uno a uno
 
Arriba