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.

For example:

Name = Normal
InternalName = NORMAL
Weaknesses = FIGHTING
Immunities = GHOST
Name = Dark
InternalName = DARK
IsSpecialType = true
Resistances = GHOST,DARK
Immunities = PSYCHIC

The possible information that can be defined for a type is as follows:

Data Required? Description
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 true or false. If true, moves of this type will use the special stats for damage calculation. If false or undefined, they will use the physical stats.

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 MOVE_CATEGORY_PER_MOVE in the script section Settings to false, 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 true or false. If true, this type is a pseudotype, i.e. not a "proper" type. The ??? type is an example of a pseudotype. If false or undefined, this type will NOT be a pseudotype.

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 special 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.

Community content is available under CC-BY-SA unless otherwise noted.