A (Not so) simple demo of a Pokémon Battle Simulator, with 150+ Pokémon and over a hundred different moves! Arrow keys/WASD- Move selector Space- Select 1- View Stats/Level of Pokémon on field
This project is a super complicated set of functions and lists to make a game accurate battle simulator. Every Pokémon has their stats, randomized IVs, and random moves. PLEASE COMMENT BUGS AND SUGGESTIONS Code: @LinkMaster0101 Assets/music: Unknown UI: @LinkMaster0101. Animations: @LinkMaster0101 Data sourced from The Cave Of Dragonflies/Bulbapedia Version History: V0.0- Initial Release as Tech Demo V0.1- Added BST Calculation with Levels set to 5. IVs/EVs set to 0 for both Pokémon. Imported Pokémon List/Stats list from older project. V0.2- Revamped the entire stat calculation system to be compatible with every single Pokémon from 1-151 (You can check by going inside to the start script and changing the variable) and added Sp.Atk and Sp.Def. V0.3- Implemented random Pokémon (still basic movesets), reorganized several lists (this took so long), added a text engine (code from the old project) and made partially animated health bars. Also fixed a bug where speed wasn't calculated, and another that allowed Pokémon to attack when at 0 Hp. Also altered levels to be 25 so battles wouldn't take forever. V0.4- Added all existing moves from gen 1, though status moves/secondary effects/unique moves don't work yet and automatically fail. Adjusted the levels back to 50 to compensate for the huge power boost. For now, Pokémon get four random moves each. Readjusted the move selector and modified the text engine to apply to dialogues. Changed the music from FrLg battle to RSE battle (Because Battle Factory) V0.5- Added the type chart! Now attacking moves can be super effective, not very effective, immune, or neutral. Respective hit sounds were also added. V0.5.1- Implemented S.T.A.B (Same Type Attack Bonus) on moves and began to add attack animations. V0.5.2- Implemented moves using Physical or Special stats (as opposed to all moves being physical); Implemented Physical/Special Split to moves. V0.6- Added the ability to have more than one Pokémon per trainer (default for now is 3v3), and altered startup script to make move set creation independent. V0.7- Added spawning animations and altered the summon/faint code to be easier to mod. Also added more move animations and implemented move accuracy. V0.7.1-Readjusted init attack function to allow stat boosts to work with Special Atk/Def, and made unique moves (status/differently calculated moves) be broadcasted so I can go in and add them. V0.8- Status moves are here (for the player)! Now most moves don't fail unless A. They're calculated differently like Dragon Rage, B. They inflict a Status Condition like Toxic, or C. They set up a unique effect like Reflect or Light Screen. Otherwise, all stat increasing/decreasing moves work (aside from accuracy). Also added WASD support for the move selector. V0.8.1- Inverted Unique moves to allow the opponent to use status moves. V0.8.2- Began to add secondary moves to effects (Eg. Self-Destruct and Explosion now reduce your HP to 0); Fixed a bug where stat boosts wouldn't reset upon fainting. V0.8.3- Fixed a bug where the move selector would incorrectly place on the bottom selector and changed it so the selector stays on your last move selected. V0.8.4- Laid the framework for status conditions: Moves that apply status now work, and speed/attack cut from Paralysis and Burn work. Also added a temporary UI element for status and a way to see the type of the move selected. V0.8.51: Don't remember what 0.8.5 was, but added support for Dragon Rage, Sonic Boom, and Super Fang; fixed some typos. ____________________________________________ Things to add next: Making Status Conditions work Fixing switch in bug Allowing Player to swap their Pokémon Swapping animation More move animations Pokémon Cries Priority Evasion Stat ___________________________________________ The vision: The goal is to make the Emerald Battle Factory, complete with sets and teams. PS, the 'old' project is an unreleased worse version of this one with tons of compiled (by hand) lists that contain all Pokémon/Stats. ___________________________________________ Known Bugs: -Opponent will sometimes attack immediately after being sent in. -Sometimes Explosion makes all of your Pokémon faint