Essentials Docs Wiki
Essentials Docs Wiki
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
[ID number] Yes This line must come first in a section, because, as mentioned above, this line defines when a new section begins. This line contains a number inside square brackets, e.g. [42].

This number must be different for each type. It must be a whole number which is 0 or higher. The ID number is used in Hidden Power's calculation, and when determining which icon corresponds to this type in several graphics (see below).

Name Yes The name of this type (e.g. Fire, Water).
InternalName Yes This must be different for each type. Also known as the ID, this is how the scripts refer to the type. Typically this is the same as the type's name, but written in all capital letters and with no spaces or symbols. In the scripts, the ID is used as a symbol (i.e. with a colon in front of it, e.g. :GRASS). The ID is never seen by the player.
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 only applies if the setting MOVE_CATEGORY_PER_MOVE is false, though, which is only the case in the Gen 3 and older games. If that setting is true (as in Gen 4 and later), each move individually determines whether it is physical or special.

Weaknesses No A comma-separated list of the IDs 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 IDs 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 IDs 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, the move "Conversion" and the ability "Color Change" cannot change a Pokémon's type to a pseudotype, and so on.

Note that the "???" type should be defined just like any other type. By default, it is the only pseudotype.

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 of the ID numbers defined 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.