Editar un Pokémon
Esta página describe cómo modificar los atributos de un Pokémon individual a través de scripts. El término pkmn en los ejemplos se refiere al Pokémon a modificar (ej: $player.party[0] es el primer Pokémon del equipo).
Atributos de un Pokémon
Cada Pokémon individual tiene una serie de atributos que lo definen. Estos se pueden consultar y modificar desde los scripts.
| Atributo | Descripción |
species | La especie del Pokémon. |
name | El mote del Pokémon. Si no tiene mote, es el nombre de su especie. |
level | Nivel actual. Depende del atributo exp. |
exp | Puntos de experiencia. El nivel depende de esto. |
types | Array con los tipo(s) del Pokémon. |
ability | Objeto GameData::Ability. ability_id devuelve el ID. |
ability_index | Si está definido, fuerza la habilidad: 0 (primera), 1 (segunda), 2+ (oculta). |
gender | Género: 0 (macho), 1 (hembra), 2 (sin género). Se puede forzar con pkmn.makeMale o pkmn.makeFemale. |
nature | Naturaleza del Pokémon. nature_id devuelve el ID. |
shiny? / super_shiny? | Si el Pokémon es shiny o super shiny. Se puede forzar con pkmn.shiny = true. |
form | La forma actual. 0 es la forma base. |
personalID | ID personal de 32 bits. Determina género, habilidad, naturaleza y shininess. |
Stats y nivel
| Atributo | Descripción |
totalhp | HP máximo actual. |
attack, defense, spatk, spdef, speed | Stats calculados según especie, nivel, IVs, EVs y naturaleza. |
ev | Hash de EVs con claves: :HP, :ATTACK, :DEFENSE, :SPECIAL_ATTACK, :SPECIAL_DEFENSE, :SPEED. Cada uno entre 0 y 252. |
iv | Hash de IVs con las mismas claves. Cada uno entre 0 y 31. |
happiness | Felicidad, entre 0 y 255. |
# Ejemplos de modificación de stats
pkmn.ev[:ATTACK] = 252
pkmn.iv[:SPEED] = 31
pkmn.happiness = 255
pkmn.calc_stats # Recalcular tras cambiar EVs/IVs
Estado y HP
| Atributo | Descripción |
hp | HP actual del Pokémon. |
status | Estado: :NONE, :SLEEP, :POISON, :BURN, :PARALYSIS, :FROZEN. |
statusCount | Si dormido = turnos restantes. Si envenenado grave = 1. |
steps_to_hatch | Si es > 0, el Pokémon es un huevo. pkmn.egg? verifica si es huevo. |
Movimientos
El atributo moves es un array de hasta 4 movimientos. Cada movimiento tiene:
id — ID del movimiento (ej: :TACKLE)
pp — PP restantes
ppup — Número de subidas de PP (máximo 3 con objetos)
total_pp — PP máximos (calculado desde PBS + ppup)
# Primer movimiento del Pokémon
pkmn.moves[0].id # => :TACKLE
pkmn.moves[0].pp # => 35
pkmn.numMoves # => 4 (o menos)
Género y naturaleza
# Forzar género
pkmn.makeMale
pkmn.makeFemale
# Cambiar naturaleza
pkmn.nature = :ADAMANT
# Verificar shininess
pkmn.shiny? # => true/false
pkmn.shiny = true # Forzar shiny
Objetos equipados
| Atributo | Descripción |
item | Objeto GameData::Item del objeto equipado (o nil). item_id devuelve el ID. |
poke_ball | ID de la Poké Ball en la que fue capturado (defecto: :POKEBALL). |
mail | Si el objeto es correo, contiene el mensaje, remitente e iconos de Pokémon. |
ribbons | Array de IDs de cintas que tiene el Pokémon. |
markings | Array de las marcas del Pokémon. |
Pokérus
El Pokérus es un virus beneficioso que duplica los EVs ganados en combate. El atributo pokerus es un número entre 0 y 255:
- 0 — No tiene ni ha tenido Pokérus
- >15, con resto al dividir entre 16 — Tiene Pokérus y es infeccioso. El resto = días de infección
- >15, sin resto — Ha tenido Pokérus, ya no es infeccioso
Solo los Pokémon salvajes o los huevos de la Guardería pueden nacer con Pokérus. La probabilidad se define en POKERUS_CHANCE (defecto 3/65536). Un Pokémon no infectado en el equipo tiene un 33% de contagiarse de un infectado adyacente después de cada batalla.
Otros atributos
| Atributo | Descripción |
owner | Instancia de Pokemon::Owner con: owner.id, owner.name, owner.gender, owner.language. pkmn.foreign? verifica si es de otro entrenador. |
obtain_method | Cómo se obtuvo: nil, 0 (capturado), 1 (huevo recibido), 2 (intercambio), 4 (encuentro fatídico). |
obtain_map / obtain_level | ID del mapa y nivel en el que se obtuvo. |
fused | Otro Pokémon fusionado con este (Kyurem, Necrozma, Calyrex). |
language | Idioma: 0=Desconocido, 1=Japonés, 2=Inglés, 3=Francés, 4=Italiano, 5=Alemán, 7=Español, 8=Coreano. |
Funciones útiles
| Función | Descripción |
pkmn.heal | Cura completamente al Pokémon (HP, estado y PP). |
pkmn.calc_stats | Recalcula stats. Usar después de cambiar nivel, especie, naturaleza, EVs, etc. |
Artículos relacionados