original repository https://github.com/u8-Salem/porymon
Porymon is a simple tool that allows users to add new Pokemon to their pokeemerald or pokeemerald-expansion projects, without having to edit dozens of different files themselves. At the moment porymon is no more than a simple Python script that can be run locally, but I hope to turn it into a full application eventually. Please note that porymon might not work with older version of the expansion. Please refer to the Limitations below for more information.
To use porymon simply download it from the release page and follow the instructions below.
- Extract the porymon folder inside anywhere to you PC.
- Navigate inside the porymon folder and open the
config.json
. - Replace the current path with your own path to the pokeemerald-expansion.
- please not that you destination folder might be named differently. Please use whatever your root directory. It is the one that contains the makefile.
- os specific path separators matter! use the correct one.
- Specify which version you are using. Allowed versions are: "vanilla" and "expansion".
- Inside the directory that corresponds to your version, create a new directory and name it after your pokemon.
- Copy the
pokemon_data.json
from the example folderpotato
into your newly created folder and fill out all the information inside of it.- most of these things should be self explanatory, however make sure to use the proper macros or literals where ever necessary.
- E.g. to assign the move "Growl" to a movepool use either
MOVE_GROWL
or45
. I advice to use the macros however.
- Move the assets for front pic, back pic, icon and footprints into the same folder and name them as follows:
- anim. front pic :
anim_anim.png
- static front pic :
front.png
- back pic :
back.png
- icon :
icon.png
- footprint :
footprint.png
- porymon does not support inserting cries at the moment
- anim. front pic :
- Also move your palettes into the same folder and name them as follows:
- normal pal :
normal.pal
- shiny pal :
shiny.pal
- normal pal :
- When adding a form, the first row of the field otherForms is considered the base form.
- if a base form is already implemented, you can just add the base form as it will simply stick to it.
- Open a terminal and navigate into your porymon directory.
- Run
python3 porymon.py 'pokemonname'
and replace 'pokemonname' with whatever you named your folder.- to test the program you may insert the example pokemon
potato
. simply runpython3 porymon.py potato
from inside your porymon directory. - depending on your python version or system setting try
python porymon.py 'pokemonname'
orpy porymon.py 'pokemonname'
. To use a specific version of python runpy -'version' porymon.py 'pokemonname'
- to test the program you may insert the example pokemon
- After porymon has edited all the necessary files it will prompt you with an option to restore all files to the state they were when porymon first loaded them. I encourage you to test all changes before committing to them.
The current implementation of porymon is very much a work-in-progress and has several limitations that I hope to overcome eventually.
-
No compatability with modified/outdated version
- Any project that differs substantially from an up-to-date expansion or vanilla project might not work. If in doubt, try it and see if it works.
- Porymon was designed with customizability in mind. If you want to adapt it feel free to do so.
-
Porymon does not check the sanity of the provided data.
- At its core porymon is a simple "copy-paste" tool. Its primary goal is to reduce the pure writing effort. In its current form it will take any input you give it and place it into the files blindly.
- This is something I want to add simple checks for to mitigate user errors.
-
It is not possible to correct a pokemon after the fact from within porymon
- Porymon will not work if the pokemon is already defined.
- Of course you are free to edit the data "manually" at any point
- If you have not yet accepted the changes after running porymon you may still choose to restore all files and adjust
pokemon_data.json
or your assets and then run porymon again
-
Porymon is a pure Python script, meaning it has no fancy UI
- Adding an intuitive GUI is what I aim for eventually but it is by no means a priority.
- This obviously means that it requires Python to run
-
Only "regular" pokemon can be added with porymon. No forms.
- The expansion has a form system for regional forms or megas. Since they differ slightly from regular Pokemon it is not yet possible to add these with porymon.
- This is on the TODO
-
Anything regarding animations can not be specified in
pokemon_data.json
at the moment- Placeholder/Standard animations are still being added and can be modified after the fact
-
No Cry insertion.
- eventually
-
The alphabetical order in the pokedex is slightly incorrect. Will be fixed eventually.
If you want to contribute to porymon in any way, please do so here on GitHub. Either through opening issues or making pull requests.
Please note that this is my first own application and therfore probably ... not groundbreaking... Porymon is a learning opportunity for me and I treat it as such. If you think certain things arent done properly feel free to offer constructive criticism.
At the same time it is a project I do in my free time. Should porymon ever be out of date or broken in any other form please let me know but dont expect it to be addressed immediately (or at all). I might loose interest, not have time available or move on entirely. Should I ever go MIA I am fine with anyone picking up where I left of and keep developing porymon.