This article describes the player's party.
The party
The player can carry around up to 6 Pokémon at any one time, to battle with. This set of Pokémon is the player's party.
The player's party is stored as an array called $Trainer.party
. It can contain up to 6 Pokémon/eggs.
$Trainer.party[0]
is the player's lead Pokémon/egg.$Trainer.party[4]
is the Pokémon/egg in the fifth position of the party (or nil if the party isn't that full).$Trainer.party[$Trainer.party.length-1]
is always the Pokémon/egg at the end of the party. Useful for locating newly added Pokémon.$Trainer.party.length
is the number of Pokémon/eggs in the party.$Trainer.pokemonCount
is the number of Pokémon in the party (fainted and unfainted).$Trainer.ablePokemonCount
is the number of unfainted Pokémon in the party.
You can then find and edit specific properties of a given Pokémon, e.g.
$Trainer.party[0].species
is the species of the player's lead Pokémon/egg.$Trainer.party[1].level=42
sets the level of the player's second Pokémon/egg to 42.
Variants of the party
$Trainer.party
is the entire player's party, including eggs and fainted Pokémon. However, sometimes eggs and/or fainted Pokémon will need to be ignored when manipulating the contents of the party. For this reason, there are two variants of the $Trainer.party
array which can be used instead, both of which derive from it:
$Trainer.pokemonParty
is the same as$Trainer.party
, except it ignores any eggs in the party.$Trainer.ablePokemonParty
is the same as$Trainer.party
, except it ignores any eggs and fainted Pokémon in the party.
They can be used in the same way as $Trainer.party
. For example:
$Trainer.pokemonParty.length
is the number of Pokémon (excluding eggs) in the party.$Trainer.ablePokemonParty[0]
is the first Pokémon in the party that can battle, i.e. it is the Pokémon that will be sent out first in battles.$Trainer.pokemonParty[1].level=42
sets the level of the player's second Pokémon to 42.
Party screen
The party screen is displayed by the scripts in the script section PokemonParty. It can be accessed via the Pause menu, when choosing to use/give an item to a Pokémon from the Bag, when choosing a Pokémon, and through the battle screen.
Each Pokémon in the party has its own panel in the party screen, which displays various bits of information about it (including an icon, its name/nickname, level, HP, whether it has a held item, and so on). The contents of this panel are displayed in the class PokeSelectionSprite
, in the def refresh
(although various coordinates for those displayed things are set near the start of that class).
The graphics used in the party screen are all in the folder "Graphics/Pictures", except for the Pokémon icons which are in the folder "Graphics/Icons".
A Pokémon in the party can be selected, at which point a menu will appear containing a list of options. These options can vary depending on the situation, but tend to include "Summary", "Switch" and a list of moves that Pokémon knows that can be used outside battle.
In Debug mode, this menu contains an additional option called "Debug", which allows the user to easily view/edit the properties of the selected Pokémon.