Essentials Docs Wiki
Essentials Docs Wiki

Encountering a Shadow Electabuzz

This page describes Shadow Pokémon, a variant of Pokémon that have had the door to their heart shut.

Shadow Pokémon

Shadow Pokémon are a special kind of Pokémon. Their "door to their heart" has been fully closed, allowing them access to powerful Shadow moves which are super-effective against every Pokémon type (except Shadow), but they cannot gain experience points. By battling with them, their heart's door will open, and once it has been fully opened they can be purified back to regular Pokémon.

Sprites and icons

Shadow Pokémon appear different to their non-Shadow counterparts, typically having a purple tint to them. You will need to create new sprites and icons for species which have Shadow Pokémon, which show this alternate colouration. You will need to make sure you have all the graphics you need for this.

The sprite and icon files should have "_shadow" at the end of their file names.

Enabling Shadow Pokémon

Summary screen for a Shadow Pokémon

There are several things you need to do in order to have Shadow Pokémon in your game.

Define the Shadow type

Main article: Defining a type

Edit the PBS file "types.txt" to include the following type:


The Shadow type's number may be different in your game. You should also make all other types have a weakness to the Shadow type.

Add in Shadow moves

Main article: Defining a move

Edit the PBS file "moves.txt" to include the following lines:

980,SHADOWEND,Shadow End,130,120,SHADOW,Special,60,0,0,NearOther,0,abf,Cool,"A shadowy aura ram attack that also rebounds on the user."
981,SHADOWSTORM,Shadow Storm,12D,95,SHADOW,Special,100,0,0,AllFoes,0,b,Cool,"A shadowy aura is used to whip up a vicious tornado."
982,SHADOWBLAST,Shadow Blast,126,80,SHADOW,Special,100,0,0,NearOther,0,bfh,Cool,"A wicked blade of air is formed using a shadowy aura."
983,SHADOWBOLT,Shadow Bolt,127,75,SHADOW,Special,100,0,10,NearOther,0,bf,Cool,"A shadowy thunder attack that may paralyze."
984,SHADOWBREAK,Shadow Break,126,75,SHADOW,Physical,100,0,0,NearOther,0,abf,Cool,"A shattering ram attack with a shadowy aura."
985,SHADOWCHILL,Shadow Chill,129,75,SHADOW,Special,100,0,10,NearOther,0,bf,Cool,"A shadowy ice attack that may freeze."
986,SHADOWFIRE,Shadow Fire,128,75,SHADOW,Special,100,0,10,NearOther,0,bf,Cool,"A shadowy fireball attack that may inflict a burn."
987,SHADOWRAVE,Shadow Rave,126,70,SHADOW,Special,100,0,0,AllFoes,0,b,Cool,"A shadowy aura in the ground is used to launch spikes."
988,SHADOWRUSH,Shadow Rush,126,55,SHADOW,Physical,100,0,0,NearOther,0,abf,Cool,"A reckless move that also hurts the user."
989,SHADOWWAVE,Shadow Wave,126,50,SHADOW,Special,100,0,0,AllFoes,0,b,Cool,"Shadowy aura waves are loosed to inflict damage."
990,SHADOWBLITZ,Shadow Blitz,126,40,SHADOW,Physical,100,0,0,NearOther,0,abf,Cool,"A Pokémon throws this tackle while casting a shadowy aura."
991,SHADOWDOWN,Shadow Down,12B,0,SHADOW,Status,100,0,0,AllFoes,0,b,Cool,"A shadowy aura sharply cuts the foe's Defense."
992,SHADOWHALF,Shadow Half,12E,0,SHADOW,Status,100,0,0,AllBattlers,0,b,Cool,"A shadowy aura's energy cuts everyone's HP by half."
993,SHADOWHOLD,Shadow Hold,12F,0,SHADOW,Status,100,0,0,AllFoes,0,b,Cool,"The opponent Pokémon cannot escape."
994,SHADOWMIST,Shadow Mist,12C,0,SHADOW,Status,100,0,0,AllFoes,0,b,Cool,"A shadowy aura sharply cuts the foe's evasiveness."
995,SHADOWPANIC,Shadow Panic,12A,0,SHADOW,Status,90,0,0,AllFoes,0,bk,Cool,"A shadowy aura emanates to confuse the foe."
996,SHADOWSHED,Shadow Shed,132,0,SHADOW,Status,100,0,0,BothSides,0,b,Cool,"A shadowy aura eliminates Reflect and similar moves."
997,SHADOWSKY,Shadow Sky,131,0,SHADOW,Status,100,0,0,BothSides,0,b,Cool,"Darkness hurts all but Shadow Pokémon for 5 turns."

Again, the ID numbers may be different. These moves already have their effects defined in the script section ShadowPokemon_Other, so this is all you need to do here.

Note that the PP of Shadow moves is 0. This means that they are infinite use.

Aside from the PP, there is nothing special about these moves, and they can be given to Pokémon in the same way as any other move. However, Shadow moves typically can only be obtained by Shadow Pokémon, and only by the method mentioned below.

Assign Shadow moves to Shadow Pokémon (optional)

To define which Shadow moves a Shadow Pokémon of each species can know, edit the PBS file "shadowmoves.txt" to include lines such as:


If a species does not have any Shadow moves defined for it, then its only Shadow move will be Shadow Rush.

When a Shadow Pokémon is generated, it will first be given its initial moveset as normal. Then, starting from the first move, some/all of the initial moves are replaced with the Shadow moves defined for that species. This is its Shadow moveset. All Shadow moves will be available immediately, while the other moves are unlocked while opening that Pokémon's door to the heart.

It is recommended that you specifically define the initial movesets for all Shadow Pokémon (in the PBS file "trainers.txt"), to make sure that the appropriate moves are replaced by Shadow moves.

You don't have to list just Shadow moves in the PBS file "shadowmoves.txt"; you can list any move that exists.

Add in items that affect Shadow Pokémon (optional)

Main article: Defining an item

You can also include some items that allow the player to purify Shadow Pokémon more quickly. Add these lines into the PBS file "items.txt":

601,JOYSCENT,Joy Scent,1,300,"This scent massage opens the hearts of Pokémon a little.",1,0,0
602,EXCITESCENT,Excite Scent,1,500,"This scent massage opens the hearts of Pokémon.",1,0,0
603,VIVIDSCENT,Vivid Scent,1,800,"This scent massage opens the hearts of Pokémon a lot.",1,0,0
604,TIMEFLUTE,Time Flute,1,3000,"This item fully opens the hearts of a Pokémon.",1,0,0

Again, their effects are already defined in the script section ShadowPokemon_Other. These items should have icons just like any other item.

Giving enemy trainers a Shadow Pokémon

Main article: Defining a trainer

Shadow Pokémon are typically owned by an enemy trainer. To give an enemy trainer a Shadow Pokémon is a simple matter: simply define the trainer's party as normal, then set the Pokémon's shadow tag to TRUE.

Shadow Pokémon in battle

Hyper Mode

Most Shadow moves will cause the user to enter Hyper Mode after using them.

While a Shadow Pokémon is in Hyper Mode:

  • It will take some damage at the end of each turn. This damage is the same as that inflicted by being confused.
  • There is a chance that it will disobey the player if it is ordered to use a non-Shadow move.
  • Any Shadow move it uses has an increased critical hit rate.
  • Items cannot be used on it.

Calling to the Shadow Pokémon will cause it to snap out of Hyper Mode. Calling is only possible in trainer battles if the Shadow type is defined.

Snagging Shadow Pokémon

Shadow Pokémon can be captured from other trainers by using a Snag Ball. Any type of Poké Ball can be a Snag Ball. A Snag Ball works in exactly the same way as any other Poké Ball, except it can also capture a Shadow Pokémon that is owned by another trainer.

To make all Poké Balls work as Snag Balls, simply use:

$Trainer.has_snag_machine = true

Alternatively, if you want to make one particular Poké Ball item into a Snag Ball, you will need to edit that Poké Ball's definition in the PBS file "items.txt" as follows:

264,MASTERBALL,Master Ball,3,0,"The best Ball with the ultimate level of performance. It will catch any wild Pokémon without fail.",0,2,3

The last number in this line should be a 3 if it is a Snag Ball (it is 4 if it is a regular Poké Ball item).

When a Shadow Pokémon has been captured, its species is recorded as caught with $Trainer.pokedex.set_shadow_pokemon_owned(species). You can use $Trainer.pokedex.owned_shadow_pokemon?(species) to check whether a given species has been caught by the player. This information can be used to alter future trainer battles (e.g. rematches where the trainer may or may not have their Shadow Pokémon depending on whether the player caught it). There is no equivalent recording of whether the player has simply seen a Shadow Pokémon.


A Shadow Pokémon can have its heart gauge reduced in a number of ways:

  • Walking around (-1 per step).
  • Using the Joy Scent (-500), Excite Scent (-1000), Vivid Scent (-2000) or Time Flute (fully reduces) on it.
  • Sending it into battle (-30).
  • Snapping it out of Hyper Mode by calling to it (-300).
  • Using the Purification Chamber.

Once its heart gauge has reached zero (and it is not a Lugia), a message will state that it is ready to be purified.

When a Shadow Pokémon is purified:

  • It forgets all its Shadow moves, and its moveset is reset to its initial one.
  • It immediately regains all Exp and EVs that it would have gained from battles it was involved in. It immediately jumps to the level it would end up at, rather than going through all levels leading up to it. If it can learn a move at its resulting level, it will try to learn it.
  • It gains the National Ribbon.
  • The player is given the chance to nickname it.

Relic Stone

The Relic Stone is a special location where Shadow Pokémon can be turned back into regular Pokémon. This can only be done if the Shadow Pokémon's heart gauge is empty.

To start the purification process at the Relic Stone, use the script:


Purification Chamber

The Purification Chamber is a way to lower a Shadow Pokémon's heart gauge.

The option to access it is in the PC menu alongside Pokémon storage and the player's PC. The option will only be shown if the variable $Trainer.seen_purify_chamber is TRUE.

To access the Purification Chamber, use the script:



  • In Pokémon XD, Miror B. would collect any Shadow Pokémon the player knocked out, and would occasionally appear with these Pokémon. You could add a similar feature to your game, using the method $Trainer.pokédex.owned_shadow_pokemon?(species) in conjunction with a list of Shadow Pokémon you have fought so far in order to determine which Shadow Pokémon Miror B. can have.
  • Lugia was a special Shadow Pokémon, in that it couldn't be purified unless the Purification Chamber's tempo was at maximum. You could make your own special Shadow Pokémon with their own unique features.
  • Why not give the player the ability to turn regular Pokémon into Shadow Pokémon?
  • Don't limit yourself to the Shadow moves/items listed above. Try inventing your own!