Skip to content

yPokeStats is a LUA script used to display information about Pokemon games. It can be used with GBC/GBA/NDS emulators that support LUA scripts.

License

Notifications You must be signed in to change notification settings

yling/yPokeStats

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yPokeStats

Unified Pokemon Stats & RNG tool

yPokeStats is a LUA script that can display a lot of information about Pokemon games.

Requirements

The script is made to work with VBA-rr and DeSmuME. While it's possible other emulators can run it, I know for sure it's not compatible with mGBA, because of differences in the LUA functions. I tried making it compatible but the GUI functions of mGBA didn't allow me to display the information on screen. I'll have to make another version for mGBA with a new GUI that displays next to the game. All memory-related functions also have to be modified (which is trivial).

What it can display

  • IVs, EVs, Stats and Contest Stats
  • Nature
  • Hidden Power
  • Held Item
  • Pokerus Status
  • Frames Count (Emerald even displays frame count as reported by the game)
  • Friendship
  • Ability
  • TID / SID
  • Moves and PP
  • Shiny check for Gen 1 & 2

Supported games

It natively supports all gen 1, 2, 3, 4 and 5 games:

  • Pokemon Red/Blue/Green (US, JAP, ES, IT, DE, FR)
  • Pokemon Yellow (US, JAP, ES, IT, DE, FR)
  • Pokemon Silver/Gold (US, JAP, ES, IT, DE, FR)
  • Pokemon Crystal (US, JAP, ES, IT, DE, FR)
  • Pokemon Ruby / Sapphire
  • Pokemon Emerald (and french hackrom Emeraude Plus)
  • Pokemon Fire Red / Leaf Green
  • Pokemon Diamond / Pearl
  • Pokemon Platinum
  • Pokemon Heart Gold / Soul Silver
  • Pokemon Black / White
  • Pokemon Black 2 / White 2

Red Silver More Emerald Help Menu Emerald Enemy Emerald Enemy More Fire Red Enemy More Platinum Enemy More Black Help Menu Black More

How does it work ?

It fetches the GAME TITLE from the rom header to identify the current game. Then it reads and decrypts the data to be displayed by the script. It uses several data tables to convert numeric IDs (for Pokemon, Items, Abilities) to their actual name. The information about IDs and how pokemon data is stored and encrypted comes from several sources:

To make this script, I started by reading other people's code. Here are the scripts I used :

It doesn't work !

First, be sure to have all files (ylingstats.lua and the data folder). Then if you do, please tell me which game and region you are using so that I can check and add it.

I hope you'll find my code cleaner, if not, please share your thoughts on how to improve.

TODO

  • Make an mGBA version
  • Make a Python interpreter for 6th and 7th gens

About

yPokeStats is a LUA script used to display information about Pokemon games. It can be used with GBC/GBA/NDS emulators that support LUA scripts.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages