Essentials Docs Wiki
For an item that makes shiny Pokémon more common, see Poké Radar.
For changing the properties of an individual Pokémon, see Editing a Pokémon.

Encountering a shiny Mew.

This page describes shiny Pokémon, a rare variant of Pokémon with different colours.

Rarity of shiny Pokémon

In the script section Settings is a variable called SHINY_POKEMON_CHANCE. This is the rarity of shiny Pokémon. The odds of a Pokémon being shiny will be this number divided by 65536, so the lower this number is, the rarer they are. The default code sets this to 16 or 8, depending on the generation set in MECHANICS_GENERATION).

To remove shiny Pokémon from your game altogether, simply set SHINY_POKEMON_CHANCE to 0.

Shininess depends on both the original trainer's ID number (a random number chosen when that trainer is created) and the Pokémon's personal ID (a random number defined when the Pokémon is generated). Therefore the odds of a Pokémon being shiny is completely random, but is consistent for each Pokémon (their original trainer and personal ID numbers will never change). The calculation of whether a Pokémon is shiny is done in def shiny? in the script section Pokemon.

Super shininess is a variant of shininess, where the only difference is that the sparkle animation played when the Pokémon enters battle will be different (although Essentials does not have this different animation by default). Whether super shininess is enabled is determined by the setting SUPER_SHINY. The rarity of a Pokémon being super shiny is 1/65536.

Shininess that depends on some factor

You can alter the rarity of wild shiny Pokémon at certain points in the game. You can have the rarity depend on pretty much any factor, e.g.

  • The species of the Pokémon
  • The location the Pokémon is encountered in
  • Game Switch
  • Whether the player has a partner trainer with them
  • The time of day
  • The way the Pokémon is encountered
  • Possessing a certain item, such as the Shiny Charm

The script section Overworld_EncounterModifiers exists for any scripts which affect a Pokémon's properties, including shininess.

The typical example of affecting shininess is the Red Gyarados from the Johto games, which is always shiny. In the above-mentioned script section is some code which will make all Pokémon generated while Game Switch 31 is ON be shiny. To use this effectively for a Red Gyarados-like event, you will need to turn the Game Switch ON immediately before that particular battle (usually an event encounter) and OFF immediately after it. There is an example of this in the example maps, for a Mew on Faraday Island.

Other possibilities, especially those which affect regular wild Pokémon (i.e. not event encounters), will be harder to implement.


  • Shininess is traditionally purely cosmetic, but you could modify shiny Pokémon to give the player more incentive to find them than just their exclusivity, e.g. give all shiny Pokémon perfect IVs. This is done in the same way as making a Pokémon shiny, but instead of making it shiny if a certain Game Switch is ON, you should change its IVs if it is shiny.