This is a ROM hack that creates the Battle Factory in Pokémon Crystal, by rewriting the vanilla Battle Tower code. This ROM hack
only includes the Factory, so the player has access to the Factory immediately
after leaving their house, but cannot access the rest of the game. The Factory mechanics are most similar to Pokémon Emerald's Battle Factory,
but with some differences due to Gen 2 mechanics as well as different Pokémon sets to ensure a large enough pool of Pokémon. Check the "details"
tab if you want a full list of features.
The download link is below, the file is just a regular .gbc file so you can play it the same way you would play vanilla Pokémon Crystal.
Rounds 1-4: By default, Pokémon only use the corresponding set (Round 1 is only Set 1 Pokémon, Round 2 is only Set 2, etc.).
Round 5+: All sets are possible for both you and your opponents, and legendaries + Dragonite also become available.
Sets Unlocked Option: The "Set" option in the settings menu can be set to "Unlocked", which will immediately make all sets possible for both you and your opponents. The "Scaling" setting is the default and works as described above.
No Boss: Unlike Gen 3/4, there is no boss (yet), so every round past Round 5 is basically the same.
DVs
Settings: There are three settings for DVs, which can be applied independently to either our Pokémon or the opponent's. Min sets all DVs to 3, Max sets all DVs to 15, Scaling starts at all 3 on Round 1 and increases by 3 per round until maxing out at 15 on Round 5.
Swaps: Unlike Gen 3/4, there are no elevations based on swap count.
HP DV: In Gen 2, the HP DV is based on the other DVs, so it actually alternates between 0 and 15. If all other DVs are odd, HP is 15. If all other DVs are even (as in Rounds 2 and 4 with the Scaling setting) the HP DV is 0.
Gender Mechanics: Gender is determined by the species gender ratio combined with the Attack DV, meaning that Pokémon are more likely to be male with higher DVs.
Enemy AI
Enemy AI is set up in a similar way to Emerald, although Crystal has a few more types of AI.
Rounds 1 and 2: Enemy uses wild Pokémon AI, which is random moves (unless the move is disabled/0 PP).
Rounds 3 and 4: Enemy uses the "Youngster" trainer class AI, which is random except that it will not use moves that do nothing (like Ground moves against Flying types).
Round 5+: Enemy uses Gym Leader AI, which is what the vanilla Battle Tower trainers use (specifically Falkner's AI, not that it matters). This is Gen 2's "Smart AI".
Settings: The above text describes the default "Scaling" setting for Enemy AI, but it can also be set to "Smart" which will result in every round having Gym Leader AI.
Stat Exp
Gen 2 uses something called "Stat Exp", which is different than EVs in a couple ways.
Max Stats: It's possible to max out the Stat Exp for every stat, resulting in Pokémon being much bulkier compared to Gen 3+.
Shared Special Stats: Second, for compatibility with Gen 1, the Stat Exp for Special Attack and Special Defense is shared.
Settings: There are two options for Stat Exp: Max or None. None is self explanatory, Max results in +63 to all stats at Level 100.
Future Plans
I plan on releasing more information and tools later, such as the spreadsheet for all of the sets, a damage calc with the stats pre-loaded, and a Battle Factory Buddy tool, similar to the existing Battle Factory tools. For now I'm just trying to see if people like the Gen 2 Factory, if there are any bugs, if there are changes I should make, and so on.
Crystal Factory Tools
Damage Calculator: Calculate damage ranges and KO probabilities for all Crystal Factory sets.
Open Damage Calculator
Pokemon Sets: Download a CSV file containing all Pokemon sets used in Crystal Factory.