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.

AtributoDescripción
speciesLa especie del Pokémon.
nameEl mote del Pokémon. Si no tiene mote, es el nombre de su especie.
levelNivel actual. Depende del atributo exp.
expPuntos de experiencia. El nivel depende de esto.
typesArray con los tipo(s) del Pokémon.
abilityObjeto GameData::Ability. ability_id devuelve el ID.
ability_indexSi está definido, fuerza la habilidad: 0 (primera), 1 (segunda), 2+ (oculta).
genderGénero: 0 (macho), 1 (hembra), 2 (sin género). Se puede forzar con pkmn.makeMale o pkmn.makeFemale.
natureNaturaleza 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.
formLa forma actual. 0 es la forma base.
personalIDID personal de 32 bits. Determina género, habilidad, naturaleza y shininess.

Stats y nivel

AtributoDescripción
totalhpHP máximo actual.
attack, defense, spatk, spdef, speedStats calculados según especie, nivel, IVs, EVs y naturaleza.
evHash de EVs con claves: :HP, :ATTACK, :DEFENSE, :SPECIAL_ATTACK, :SPECIAL_DEFENSE, :SPEED. Cada uno entre 0 y 252.
ivHash de IVs con las mismas claves. Cada uno entre 0 y 31.
happinessFelicidad, 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

AtributoDescripción
hpHP actual del Pokémon.
statusEstado: :NONE, :SLEEP, :POISON, :BURN, :PARALYSIS, :FROZEN.
statusCountSi dormido = turnos restantes. Si envenenado grave = 1.
steps_to_hatchSi 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:

# 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

AtributoDescripción
itemObjeto GameData::Item del objeto equipado (o nil). item_id devuelve el ID.
poke_ballID de la Poké Ball en la que fue capturado (defecto: :POKEBALL).
mailSi el objeto es correo, contiene el mensaje, remitente e iconos de Pokémon.
ribbonsArray de IDs de cintas que tiene el Pokémon.
markingsArray 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:

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

AtributoDescripción
ownerInstancia de Pokemon::Owner con: owner.id, owner.name, owner.gender, owner.language. pkmn.foreign? verifica si es de otro entrenador.
obtain_methodCómo se obtuvo: nil, 0 (capturado), 1 (huevo recibido), 2 (intercambio), 4 (encuentro fatídico).
obtain_map / obtain_levelID del mapa y nivel en el que se obtuvo.
fusedOtro Pokémon fusionado con este (Kyurem, Necrozma, Calyrex).
languageIdioma: 0=Desconocido, 1=Japonés, 2=Inglés, 3=Francés, 4=Italiano, 5=Alemán, 7=Español, 8=Coreano.

Funciones útiles

FunciónDescripción
pkmn.healCura completamente al Pokémon (HP, estado y PP).
pkmn.calc_statsRecalcula stats. Usar después de cambiar nivel, especie, naturaleza, EVs, etc.

Artículos relacionados