De Whack a Hack Wiki!

Revisión del 17:05 15 ene 2023 de Aguiar (discusión | contribuciones) (Archivo PBS "pokemon.txt")

Esta página describe cómo definir una especie de Pokémon.

Definiendo la especie

Una especie comienza con su definición. Esto implica que esté listada el archivo PBS "pokemon.txt", para poder ser reconocido por el juego como especie.

Fíjate en que esto tan solo define las propiedades básicas, comunes en todos los Pokémon de una misma especie (ej. características de combate base, movimientos, evoluciones, localizaciones, etc.).

Además, una especie requerirá un número de archivos gráficos que representen a la especie de distintos modos, así como el archivo de audio que reproduce el grito. Sigue leyendo para más información al respecto.

Archivo PBS "pokemon.txt"

El archivo PBS "pokemon.txt" proporciona una lista de todos las especies definidas en el juego. Cada sección en este archivo es una especie individual, en donde una sección comienza con una línea, que contiene un ID entre corchetes, y termina en donde la siguiente sección comienza. Cada línea, en una sección, es una pieza de información separada que guarda relación con la especie.

Aparte de la línea del ID, cada línea en una sección sigue el siguiente formato:

XXX = YYY

en donde XXX es una propiedad y YYY es el valor o valores asociados con ella (los espacios son opcionales). Por ejemplo:

[BULBASAUR]

Name = Bulbasaur

Types = GRASS,POISON

BaseStats = 45,49,49,45,65,65

GenderRatio = FemaleOneEighth

BaseExp = 64

Moves = 1,TACKLE,1,GROWL,3,VINEWHIP,6,GROWTH,9,LEECHSEED,12,RAZORLEAF,15,POISONPOWDER,15,SLEEPPOWDER,18,SEEDBOMB,21,TAKEDOWN

Height = 0.7

Pokedex = Bulbasaur can be seen napping in bright sunlight. There is a seed on its back. By soaking up the sun's rays, the seed grows progressively larger.

Evolutions = IVYSAUR,Level,16

Todas estas piezas de información son opcionales, pero contendrán valores por defecto en caso de no estar definidos. El orden de las líneas no importan, exceptuando el ID entre corchetes que ha de estar colocado en primera posición.

Información Descripción Valor por defecto
[ID] Así es como los scripts se refieren a las especies. Cada especie debe tener un ID diferente. Normalmente, este es el mismo que el nombre de la especie, pero escrito en mayúsculas y sin espacios ni caracteres especiales. La ID nunca será vista dentro del juego por el jugador.

Esta línea debe de ser la primera en una sección porque, como mencionamos antes, esta define cuándo una nueva sección comienza.

El orden en el cual el Pokémon es definido en este archivo PBS, "pokemon.txt", es el orden en el cual están listados en la Pokédex Nacional; sus números dentro de esta Pokédex están determinados de forma automática.

n/a
Name El nombre de la especie visto por el jugador. "SNORLAX"
Types Uno o dos tipos elementales, separados por una coma (en el caso de tener dos tipos). NORMAL
BaseStats Seis valores, separados por comas, correspondientes al orden en el cual las características de combate están definidas. Por defecto, el orden es el siguiente:
  1. HP o vida
  2. Attack o ataque
  3. Defense o defensa
  4. Speed o velocidad
  5. Special Attack o ataque especial
  6. Special Defense o defensa especial

Cada valor puede ser uno o mayor que uno. Si el HP, la vida, equivale a 1, los Pokémon de esta especia tendrán siempre un total de 1 en esta característica (ej. Shedinja).

1,1,1,1,1,1
GenderRatio La probabilidad que tiene un Pokémon de una especie de ser de un género determinado. Debe ser uno de los siguientes:
  • AlwaysMale (100% de probabilidad de ser macho)
  • FemaleOneEighth (12,5% de probabilidad de ser hembra)
  • Female25Percent (25% de probabilidad de ser hembra)
  • Female50Percent (50% de probabilidad de ser hembra)
  • Female75Percent (75% de probabilidad de ser hembra)
  • FemaleSevenEighths (87,5% de probabilidad de ser hembra)
  • AlwaysFemale (100% de probabilidad de ser hembra)
  • Genderless (Pokémon sin género)
Female50Percent
GrowthRate El ratio a través del cual el Pokémon de una especia gana experiencia o niveles (ej. cuánta experiencia es necesaria para subir de nivel). Debe de ser uno de los siguientes parámetros:
  • Fast o rápido
  • Medium o medio-rápido
  • Slow o lento
  • Parabolic o medio-bajo
  • Erratic o errático
  • Fluctuating o fluctuante
Medium
BaseExp La cantidad de experiencia base ganada por derrotar un Pokémon de la especie. Debe de ser un número entero igual o mayor que 1.

Esta cantidad base es usada en un cálculo para determinar el número de puntos de experiencia ganados por derrotar a un Pokémon de esta especie.

100
EVs El número de EVs ganados al derrotar un Pokémon de la especie. Es cualquier número de pares de valores: el primero es una estadística de combate y el segundo es el número de EVs de esa misma estadística que será ganado.

Por ejemplo, SPECIAL_ATTACK,1 o SPECIAL_ATTACK,2,SPECIAL_DEFENSE,1.

Como regla, el número total de estos números debe de estar entre 1 y 3; además, evoluciones más avanzadas tienden a dar más EVs.

none o ninguno
CatchRate El índice de captura de la especia. Puede ser 0 o mayor (normalmente, el número más elevado es 255). Cuanto más alto sea el número, más sencillo será el Pokémon de capturar (0 significa que el Pokémon no podrá ser capturado, salvo por el uso de la Master Ball) 255
Happiness La cantidad de felicidad base que un Pokémon recién capturado de una especie tiene. Puede ser 0 o mayor, aunque el valor normal es de 70. El juego trata el valor 255 como el máximo valor obtenible. 70
Abilities Las IDs de una o dos habilidades que la especie posea. Si tiene dos habilidades, sepáralas mediante una coma. none o ninguno
HiddenAbilities Las IDs de cualquier número de habilidades adicionales que una especie posea. Si posee múltiples habilidades, han de separarse por una coma.

Los Pokémon pueden no poseer habilidades ocultas de manera natural y deben ser especialmente entregadas.

none o ninguno
Moves Los movimientos que todos los Pokémon de la especie aprenden a medida que suben de nivel. Esta línea consta de pares de nivel/movimiento separados por comas, que también están separados por comas; es decir, level,move,level,move,level,move.... Cada par contiene el nivel en el que el Pokémon aprenderá el movimiento, seguido del ID del movimiento que aprenderá.

El valor 0 significa que el movimiento será aprendido cuando el Pokémon evolucione en una especie y en ningún otro caso (excepto mediante Recuerda-movimientos).

none o ninguno
TutorMoves A comma-separated list of the IDs of moves that a Pokémon of the species can be taught by a HM, TM, TR or Move Tutor. If a move is not listed here, it cannot be taught by those methods, even if the move appears in its Moves or EggMoves properties. none
EggMoves A comma-separated list of the IDs of moves that a Pokémon of the species can only learn as an egg (obtained through breeding). Only species that can be in eggs should have this line (typically only unevolved species). none
EggGroups The egg group(s) that the species belongs to. If there are multiple egg groups here, they are separated by commas. The default available egg group are:
  • Monster
  • Water1
  • Bug
  • Flying
  • Field
  • Fairy
  • Grass
  • Humanlike
  • Water3
  • Mineral
  • Amorphous
  • Water2
  • Ditto
  • Dragon
  • Undiscovered

"Water1" is for sea creatures, "Water2" is for fish, and "Water3" is for shellfish. "Ditto" should contain only Ditto, as a species in that group can breed with any other breedable Pokémon. If any egg group is "Undiscovered", the species cannot breed.

Undiscovered
HatchSteps The number of steps it takes to hatch an egg of the species. It can be 1 or higher. Note that this is not the number of egg cycles for the species, but the actual number of steps. Only species that can be in eggs should have this line (typically only unevolved species). 1
Offspring One or more species IDs that an egg can be will be when produced by a mother of this species. This property can include this species. If this property is not defined, then the species of eggs produced by mothers of this species will be determined normally. If multiple species are listed, an egg has an equal chance to be each of them.

For example, Volbeat lists VOLBEAT,ILLUMISE, and Manaphy lists PHIONE.

none
Height The height of the species in meters, to one decimal place. Use a period for the decimal point, and do not use commas for thousands.

The Pokédex will automatically show this height in feet/inches if the game recognises that the player is in the USA. This is only cosmetic; the rest of the scripts still perform calculations using the meters value defined.

0.1
Weight The weight of the species in kilograms, to one decimal place. Use a period for the decimal point, and do not use commas for thousands.

The Pokédex will automatically show this weight in pounds if the game recognises that the player is in the USA. This is only cosmetic; the rest of the scripts still perform calculations using the kilograms value defined.

0.1
Color The main body color of the species. The default available body colors are:
  • Black
  • Blue
  • Brown
  • Gray
  • Green
  • Pink
  • Purple
  • Red
  • White
  • Yellow
Red
Shape The body shape of the species. The Pokédex can search for Pokémon of particular shapes. The default available body shapes are:
  • Head
  • Serpentine
  • Finned
  • HeadArms
  • HeadBase
  • BipedalTail
  • HeadLegs
  • Quadruped
  • Winged
  • Multiped
  • MultiBody
  • Bipedal
  • MultiWinged
  • Insectoid
Head
Habitat The kind of location that the species can typically be found in. The default available habitats are:
  • None
  • Cave
  • Forest
  • Grassland
  • Mountain
  • Rare
  • RoughTerrain
  • Sea
  • Urban
  • WatersEdge

"Rare" can be taken to mean "unknown" here.

This information is unused in Essentials.

None
Category The species' category, which is displayed in the Pokédex. For example, Bulbasaur is the Seed Pokémon. The word "Pokémon" is automatically added to the end, so only "Seed" needs to be here. "???"
Pokedex The text of the Pokédex entry. "???"
FormName The name of this form of the species (form 0), if it has one.

If this is blank, then its form name as shown in the Pokédex's Forms page will be "Male"/"Female" if the species is gendered. If the species is genderless, its form name will instead be "Genderless" (if this is the only form for the species) or "One Form" (if the species also has other forms).

none
Generation A number representing the generation of Pokémon games in which this species first appeared. This information is unused in Essentials. 0
Flags Comma-separated labels applied to the species which can be used to make it behave differently. The existing flags are:
  • UltraBeast - The Beast Ball has a different catch rate for Pokémon with this flag.
  • DefaultForm_0, DefaultForm_1, DefaultForm_2 - The form that Pokémon of a species with this flag will have by default. The number can be any number, not just the ones listed here.
  • InheritFormFromMother - An egg produced by a mother with this flag will inherit the mother's form.
  • InheritFormWithEverStone - An egg produced by a parent with this flag will inherit that parent's form if that parent is holding an Ever Stone. The mother's form takes priority.
none
WildItemCommon
WildItemUncommon
WildItemRare
The IDs of items that a wild Pokémon of the species may be found holding. Each line can have any number of items, which are equally likely to be chosen if that rarity of item will be used.

The chances of holding the item for each rarity are 50%, 5% and 1% respectively. If all three are the same item, then the chance of holding it is 100% instead.

none
Evolutions The evolution paths the species can take. For each possible evolution of the species, there are three parts:
  1. The ID of the species it evolves into.
  2. The evolution method. Must be one of the methods registered in GameData::Evolution. A full list is on the page Evolution, but examples are:
    • Level
    • LevelFemale
    • Happiness
    • Beauty
    • HasMove
    • Location
    • Item
    • Trade
  3. A parameter used by the evolution method. Depending on the method, this could be blank or a number or the ID of a move/item/ability/species/type/etc.

If there are multiple evolution paths, they are separated by commas. The three parts of each evolution path are also separated by commas. Be careful to include the correct number of commas when writing an evolution path whose method doesn't use a parameter.

none
Incense The ID of an item that needs to be held by a parent when breeding in order for the egg to be this species. If neither parent is holding the required item, the egg will be the next evolved species instead.

The only species that should have this line are ones which cannot breed, but which evolve into a species that can. That is, the species should be a "baby" species. Not all baby species need this line. Note that Essentials does not have any formal definition of what a "baby" species is.

none

Graphics and audio

A Pokémon species has one of each of the following:

  • Four battle sprites, used in a variety of places in-game (they can be any size):
    1. Front normal
    2. Rear normal
    3. Front shiny
    4. Rear shiny
  • A two-frame icon (each frame is square, with the second frame placed to the right of the first). Used mainly in the party screen (animated) and Pokémon storage screen (not animated).
  • A graphic depicting its footprint, for use in the Pokédex,
  • An audio file depicting its cry, played in various places,

The battle sprites, icons and footprints all go into corresponding folders in the folder "Graphics/Pokemon". The names of each of these graphics are all the same, and are the ID of the species, e.g. "BULBASAUR.png".

A species may have a unique egg sprite. If so, both the sprite and the icon depicting the egg go in the same folder, which is "Graphics/Pokemon/Eggs":

  • The egg's sprite will be named as above, e.g. "BULBASAUR.png".
  • The egg's icon will have the suffix "_icon", e.g. "BULBASAUR_icon.png".
  • If the egg has unique crack graphics (shown when the egg is hatching), it goes in the same folder and has the suffix "_cracks", e.g. "BULBASAUR_cracks.png". If the egg does not have unique crack graphics, it will use the "000_cracks.png" graphic instead.

It is not possible to have different egg graphics for shiny Pokémon.

The shiny versions of the battle sprites and icon are not necessary. If they do not exist, the regular versions will be used instead.

The cry file is placed in the folder "Audio/SE/Cries" with the same name as above (e.g. "BULBASAUR.ogg"), and can be of any supported audio type.

Female differences

Female Pokémon can have different sprites/icons to male Pokémon of the same species. If so, they are placed in the same folders as the male versions of those sprites/icons, but they have the filename suffix "_female", e.g. "BULBASAUR_female.png".

Female Pokémon of a species cannot have different egg sprites/icons, footprint graphics or cries to the males.

Sprite metrics

Each species and form can define a set of numbers (metrics) that determine where their sprites will be positioned in battle, as well as other visual information. They allow the sprite to look as though they are properly standing on the ground (or floating/flying a suitable distance above it). There are separate values for front and back sprites.

The PBS file "pokemon_metrics.txt" lists all of these metrics. Each section in this file is one separate species or form, where a section begins with a line containing an ID (and optional form number) in square brackets and ends when the next section begins. Each line in a section is one separate metric.

Aside from the ID line, every line in a section follows the format:

XXX = YYY

where XXX is a property and YYY is the value or values associated with it (the spaces are optional). For example:

[BULBASAUR]
BackSprite = -4,0
FrontSprite = -1,26
ShadowX = 0
ShadowSize = 2

The properties are:

Data Description Default value
[ID]
[ID,form]
A species ID (see above), or a species ID with a form number. For example, [BULBASAUR] or [CASTFORM,2].

This line must come first in a section, because, as mentioned above, this line defines when a new section begins.

n/a
BackSprite X and Y offsets of the back sprite in pixels. A higher number means the back sprite is placed further right/lower down in the screen. Each value can be positive or negative. The number of pixels moved in a direction is double the corresponding value given here. 0
FrontSprite X and Y offsets of the front sprite in pixels. A higher number means the front sprite is placed further right/lower down in the screen. Each value can be positive or negative. The number of pixels moved in a direction is double the corresponding value given here. 0
FrontSpriteAltitude Another Y offset of the front sprite in pixels, used to represent the Pokémon's height above the ground. A higher number means the front sprite is placed further up the screen. Can be positive or negative. The number of pixels moved is double the value given here.

This property is typically unused because FrontSprite can do the same thing.

0
ShadowX Affects the horizontal positioning of the shadow beneath the front sprite of the species in battle. A higher number means the shadow is placed further right on the screen. Can be positive or negative. The number of pixels moved is double the value given here. 0
ShadowSize A number that determines which shadow graphic to place underneath the front sprite of the species in battle. It can be 0 or higher. By default, there are three possible shadow graphics (in the folder "Graphics/Pokemon/Shadow"), ranging from 1 (smallest) to 3 (largest). 2

Multiple forms

Plantilla:Main Plantilla:Main If a Pokémon species has more than one form (including having mechanically different male/female versions, and Mega Evolutions), then it will need additional graphics and possibly additional cries to depict them.

Alternate forms are defined in the PBS file "pokemon_forms.txt", which is laid out in much the same way as "pokemon.txt".