- For other features of the computer found in Poké Centres, see PC.
This page describes how Pokémon storage works. It includes how Pokémon are stored in the PC, as well as basic information about how other facets of Pokémon storage work.
How Pokémon are stored
Pokémon storage is recorded in a variable called
$PokemonStorage. It is an instance of
class PokemonStorage, and contains an array of storage boxes as well as information about which special box wallpapers are available to use. The number of storage boxes is defined by the setting
NUM_STORAGE_BOXES (40 by default).
Each storage box is an instance of
class PokemonBox and contains an array of the Pokémon in that box, as well as the box's name and wallpaper. The capacity of a storage box is given by the value of the constant
class PokemonBox (30 by default).
A particular Pokémon in storage can be accessed with the following code:
This is the Pokémon in box 4, at position 26. Box numbers and positions both begin at 0, so box numbers are 0-39 by default and position numbers are 0-29 by default.
HEAL_STORED_POKEMON determines whether Pokémon will be fully healed when they are deposited. If the player has access to the Pokémon Box Link (which lets them access their Pokémon storage at any time), it would be inappropriate to heal Pokémon just by depositing them, as the player would never need to visit a Poké Center to heal their party.
A storage box wallpaper is the graphic displayed behind the Pokémon in that box, as well as the graphic above it which has the box's name written in it. A storage box can have one of a variety of wallpapers.
All wallpapers are in the folder "Graphics\Pictures\Storage", and are named "box_X.png", where "
X" is a number. Each wallpaper has a name, and the wallpaper names are written in
def allWallpapers. The order/numbering of the names matches the number of the wallpaper from their filename.
There are two kinds of wallpapers: basic and special. Basic wallpapers are always available to use, but special wallpapers have to be unlocked first before they can be used. All basic wallpapers are listed first in
def allWallpapers, followed by the special wallpapers. The constant
BASICWALLPAPERQTY is the number of the first special wallpaper.
To unlock a wallpaper, use the following:
24 here is the number of the wallpaper to be unlocked.
You can lock a wallpaper with the following: