summaryrefslogtreecommitdiff
path: root/README.md
blob: fe419540787ae68278fd51adbb09e179944e3fe6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# Universal Pokemon Randomizer - Debloated

## Sources
* https://github.com/Dabomstew/universal-pokemon-randomizer;
* https://github.com/Ajarmar/universal-pokemon-randomizer-zx.

## Requirements
* OpenJDK8/11 (Only tested SDK's, feel free to try other ones).

## Libraries Used
* [thenewpoketext by loadingNOW for generation 4 text handling](http://pokeguide.filb.de);
* [PPTXT by ProjectPokemon for generation 5 text handling](http://projectpokemon.org/forums/showthread.php?11582-PPTXT-Text-editing-tool);
* [Code from ndstool for NDS file extraction/creation (under GPL)](http://sourceforge.net/p/devkitpro/ndstool);
* [Code from CUE's Nintendo DS Compressors for arm9.bin (de)compressing (under GPL)](http://gbatemp.net/threads/nintendo-ds-gba-compressors.313278);
* [DSDecmp for LZ10/11 decompression (under MIT)](https://github.com/Barubary/dsdecmp);
* [Code from pokemon-reverse-engineering tools for Gen1/2 pic decompression](https://github.com/pret/pokemon-reverse-engineering-tools).

## Features
* The Starter Pokemon choices
* The Wild Pokemon you encounter in grass, caves and other places
* The Pokemon that Trainers use against you.
* The base stats which define the potential of each Pokemon
* The elemental types of each Pokemon
* The abilities of each Pokemon, in games where Pokemon have abilities
* The Pokemon that each Pokemon evolves into, if it evolved to begin with.
* The properties of each move, such as its power, accuracy and typing.
* The moves that Pokemon learn by gaining levels
* The contents of each TM which can be taught to Pokemon to give them additional moves (HM moves are not changed to make sure you can still beat the game)
* The ability of each Pokemon to learn each TM or HM move
* The "static" Pokemon which you either are given, fight on the overworld, or are sold.
* The names of trainers & the classes they belong in
* The moves that Move Tutors teach, in certain games where they are particularly significant.
* The items that it is possible for Pokemon to hold in the wild, and in certain situations the items that Pokemon given to you are holding.
* The Pokemon that are traded to you by in-game NPCs (as opposed to trades with real people)
* The items you pick up off the ground, from either item balls or hidden spots.

## How To Use

`java -jar pokeRando.jar`

### 3DS Roms

You must have at least have more than 4GB of ram and run

`java -Xmx4096M -jar pokeRando.jar`

From there you can open a ROM (legally acquired), customize what you want to be randomized, then save the randomized ROM.

## Games/ROMs supported
All Pokemon Games from Gen1 to Gen7.

## License
This project and the majority of the libraries used are under the GNU GPL v3,
attached as LICENSE.txt.

Source code can be obtained from:
https://github.com/Dabomstew/universal-pokemon-randomizer

Other libraries used are under more liberal licenses, compatible with the GPL.