For adding, removing, counting and choosing items in the Bag, see Manipulating items.
For storing items in the player's PC, see PC.

The Bag, filled with items.

The Bag is the player's portable inventory, in which items are stored. It is accessible from the pause menu.

The Bag

The Bag is accessible via the variable $PokemonBag, which is an instance of class PokemonBag (created with the code $ It contains arrays representing the Bag's pockets, as well as a variable that remembers which items are registered for quick use, and some navigation-based variables.

There are several settings related to the Bag. These are:

# * The names of each pocket of the Bag. Leave the first entry blank.
# * The maximum number of slots per pocket (-1 means infinite number). Ignore
#      the first number (0).
# * The maximum number of items each slot in the Bag can hold.
# * Whether each pocket in turn auto-sorts itself by item ID number. Ignore the
#      first entry (the 0).
def pbPocketNames; return ["",
   _INTL("Poké Balls"),
   _INTL("TMs & HMs"),
   _INTL("Battle Items"),
   _INTL("Key Items")
]; end
MAXPOCKETSIZE  = [0,-1,-1,-1,-1,-1,-1,-1,-1]
POCKETAUTOSORT = [0,false,false,false,true,true,false,false,false]

What you can do with an item

The things you can do with an item depend on what item it is.

Action When it is available
  • If the item can be used from the Bag (i.e. it has a UseFromBag or UseOnPokemon item handler).
  • If the item is a TM or a HM, and the player has at least 1 Pokémon.
  • If the item is a Mail item.
  • If the player has at least 1 Pokémon, and the item is not a Key Item or a HM (or infinite TM).
  • If the item is not a Key Item, a HM or an infinite use TM.
  • Always appears during Debug mode.
  • If the item can be registered (see below) and currently isn't, or if the item is currently registered, respectively.
  • Debug mode only. Lets you change the quantity of the item, or make a new Mystery Gift containing a definable quantity of the item.

The player can also rearrange items by selecting it with the A button, moving it to a new spot, and then pressing the A button or C button. While an item is selected for moving, its name will be coloured red.

A pocket which has been set to auto-sort itself will not let the player manually rearrange its contents.

Registering an item

Registering an item adds it to the Ready Menu, which allows it to be more quickly used in the overworld. Any item with a UseInField item handler can be registered, including items that are consumed when used.

The ID numbers of registered items are stored in the variable $PokemonBag.registeredItems. Items remain registered even if there are none of them in the Bag (although obviously they won't appear in the Ready Menu if you don't have them). An item must be manually deselected in the Bag to remove it from the Ready Menu.

Displaying items

Key Items and HMs (and infinite TMs) don't have their quantities shown, because it is assumed that the player will only ever own up to one of each of these items. However, they still have quantities and the player can own multiples of these items; this feature may be of use to some people. Take care, though, to not let your game repeatedly tell the player they have been given a particular Key Item/HM, as this will be confusing because they can't see the quantity of this item.

For the sake of neatness and logic, you should try to make sure the player is never given a Key Item/HM if they already have it.


  • The Items pocket notoriously contains a lot of items compared to the other pockets, with potentially over 200 different items that go in it. Why not split this pocket's items up into others?
    • The most obvious solution is to move all the held items into their own pocket.
      • If you want to keep the same number of pockets overall, then the Held Items pocket could replace the Mail pocket. The mail items would be moved into the Items pocket (if indeed you have mail in your game).

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.