Giter VIP home page Giter VIP logo

porymon-elite-redux's Introduction

porymon modified for pokemon elite redux needs

original repository https://github.com/u8-Salem/porymon

What is 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.

How to use porymon

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 folder potato 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 or 45. 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
  • Also move your palettes into the same folder and name them as follows:
    • normal pal : normal.pal
    • shiny pal : shiny.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 run python3 porymon.py potato from inside your porymon directory.
    • depending on your python version or system setting try python porymon.py 'pokemonname' or py porymon.py 'pokemonname'. To use a specific version of python run py -'version' porymon.py 'pokemonname'
  • 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.

Limitations

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.

How can I contribute?

If you want to contribute to porymon in any way, please do so here on GitHub. Either through opening issues or making pull requests.

SUPER IMPORTANT INFORMATION

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.

porymon-elite-redux's People

Contributors

u8-salem avatar belialclover avatar forwardfeed avatar mawootad avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.