For the Shadow type used by Shadow Pokémon, see Shadow Pokémon.
This page describes how elemental types are defined. Each Pokémon has either one or two types, and all moves have one type.
Defining an elemental type
A type begins with its definition. This means that is is listed in the PBS file "types.txt", so that it can be recognised by the game as a type.
PBS file "types.txt"
The PBS file "types.txt" lists all the defined types in the game. Each section in this file is one separate type, where a section begins with a line containing an ID number in square brackets and ends when the next section begins. Each line in a section is one separate piece of information about that type.
 Name=Normal InternalName=NORMAL Weaknesses=FIGHTING Immunities=GHOST
 Name=Dark InternalName=DARK IsSpecialType=true Weaknesses=FIGHTING,BUG Resistances=GHOST,DARK Immunities=PSYCHIC
The possible information that can be defined for a type is as follows:
|Name||Yes||The name of this type (e.g. Fire, Water).|
|InternalName||Yes||The name used by the scripts to refer to this type. It is never shown to the player. It is typically the type's name but in all capitals.|
|IsSpecialType||No||Is either |
This doesn't normally matter, though, as by default each move is defined individually as physical or special rather than determining this based on its elemental type (like in newer games). By changing an option in the script section Settings, though, moves can be made to be physical or special depending on their type (like in older games).
|Weaknesses||No||A comma-separated list of the internal names of all the elemental types that will inflict double damage (i.e. are super effective) against a Pokémon of this type.|
|Resistances||No||A comma-separated list of the internal names of all the elemental types that will inflict half damage (i.e. are not very effective) against a Pokémon of this type.|
|Immunities||No||A comma-separated list of the internal names of all the elemental types that cannot inflict any damage on a Pokémon of this type.|
|IsPseudoType||No||Is either |
No Pokémon should have a pseudotype as one of its elemental types. Pseudotypes cannot be searched for in the Pokédex, and the move "Conversion" and the ability "Color Change" cannot change a Pokémon's type to a pseudotype.
Note that the "???" type should be defined just like any other type. By default, it is the only pseudotype.
Other effects of types
Certain types have other effects. For example, Fire-type Pokémon cannot be burned, Ice-type Pokémon cannot be frozen, Flying-type Pokémon are considered to be airborne (making them usually immune to Ground-type moves), and so on. These effects are all coded in the scripts, and are not defined in "types.txt".
Type icons and graphics
Each elemental type requires a number of graphics corresponding to it. The graphics are as follows:
- Type icon - In the "Graphics/Pictures" folder, called "types.png".
- Pokédex type icon - In the "Graphics/Pictures/Pokedex" folder, called "icon_types.png".
- Move box - In the "Graphics/Pictures/Battle" folder, called "cursor_fight.png". Includes both a non-highlighted and a highlighted version of each type's box, side by side.
The order of each icon/box in these files is the same, and is the order in which the types are numbered in the PBS file "types.txt". Type 0 (Normal) will be first, followed by type 1 (Fighting), etc.
The dimensions of each icon/box cannot be changed except by changing every script in which those graphics are used.