Essentials Docs Wiki
Essentials Docs Wiki
For how to change the properties of a Pokémon, see Editing a Pokémon.
For ways to give, take or check for Pokémon, see Manipulating Pokémon.

The party screen.

This page describes the player's party. The party screen is primarily accessed from the Pause menu and displays all Pokémon the player currently has to hand.

The party

The player can carry around up to 6 Pokémon at any one time, which they use to battle with and traverse obstacles with. This set of Pokémon is the player's party.

The player's party is stored as an array called $ It can contain up to 6 Pokémon/eggs.

  • $[4] is the Pokémon/egg in the fifth position of the party (or nil if the party isn't that full).
  • $Trainer.firstParty is the player's lead Pokémon/egg.
  • $Trainer.lastParty is always the Pokémon/egg at the end of the party. Useful for locating newly added Pokémon.
  • $Trainer.partyCount is the number of Pokémon/eggs in the party.

You can then find and edit specific properties of a given Pokémon, e.g.

  • $Trainer.firstParty.species is the species of the player's lead Pokémon/egg.
  • $[1].level = 42 sets the level of the player's second Pokémon/egg to 42.

Variants of the 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 $ array which can be used instead, both of which derive from it:

  • $Trainer.pokemonParty is the same as $, except it ignores any eggs in the party.
  • $Trainer.ablePokemonParty is the same as $, except it ignores any eggs and fainted Pokémon in the party.

They can be used in the same way as $ For example:

  • $Trainer.pokemonCount is the number of Pokémon in the party (fainted and unfainted).
  • $Trainer.firstPokemon is the first Pokémon in the party (ignores eggs).
  • $Trainer.lastPokemon is the last Pokémon in the party (ignores eggs).
  • $Trainer.ablePokemonCount is the number of unfainted Pokémon in the party.
  • $Trainer.firstAblePokemon 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.lastAblePokemon is the last unfainted Pokémon in the party (ignores eggs and fainted Pokémon).
  • $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 code in the script section PScreen_Party. 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 by class PokemonPartyPanel in 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/Party", 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.