Pokemon Essentials Wiki
Advertisement

Esta página explica cómo editar los atributos de un Pokémon, como su género, entrenador o cintas.

Ver también

Pokémon

  • Aquí se listan los atributos de los Pokémon. La mayoría de ellos pueden ser editados, pero algunos no.

Manejo de un Pokémon

  • Este artículo muestra, entre otras cosas, cómo permitir al jugador elegir un Pokémon del equipo.

Movimientos

  • Un movimiento conocido tiene varios atributos que se pueden editar.

Edición de un Pokémon

El primer paso es determinar el Pokémon que se quiere editar. Esto se puede hacer de varias formas distintas dependiendo de las circunstancias. Por ejemplo:

poke=$Trainer.party[0]
poke=pbFirstAblePokemon
poke=$Trainer.lastPokemon
poke=pbGetPokemon(1)

Todas estas formas devolverán un Pokémon (si es posible) y se guardará en "poke". En esta página asumiremos que el Pokémon que queremos editar se encuentra referenciado por "poke".

Atributos más usados

Atributo Código Descripción
Habilidad poke.setAbility(2) Establece como habilidad del Pokémon la primera natural (0), la segunda natural (1) o la habilidad oculta (2-5) según las tenga disponible la especie. Use poke.setAbility(nil) para quitar el valor forzado y recuperar la habilidad original determinada por el ID personal del Pokémon.

No se puede asignar una habilidad a un Pokémon que no se encuentre definida en el archivo PBS "pokemon.txt" para esa especie.

Poké Ball usada poke.ballused=7 Establece el tipo de Pokémon en la que se encuentra el Pokémon. La lista de Poké Balls y su correspondiente número se encuentra en la sección del script PokémonBalls.
EVs poke.ev[2]=42 Establece los EVs del Pokémon de una estadística en particular. Cada estadística puede ser un número entre 0 y 255 inclusivos. Las estadísticas son las siguientes:
  • 0 = PS
  • 1 = Ataque
  • 2 = Defensa
  • 3 = Velocidad
  • 4 = Ataque Especial
  • 5 = Defensa Especial
Forma poke.form=1 Establece la forma del Pokémon. El valor 0 indica la forma por defecto según se define en el archivo PBS "pokemon.txt".

Algunas especies de Pokémon determinan su forma automáticamente dependiendo de algunos factores. Esa forma no puede ser cambiada por este método, ya que volverá a restablecerse inmediatamente.

Además, será necesario registrar la nueva forma como vista, de forma que pueda ser mostrada en el Pokédex. Para hacer esto, use pbSeenForm(poke) justo después. Esto suele aplicarse en Pokémon que no suelen cambiar de forma, por ejemplo, Unown.

Género poke.makeMale
poke.makeFemale
Establece el género del Pokémon como macho o hembra. No se puede asignar un género a un Pokémon que no tiene. Use poke.setGender(nil) para quitar el valor forzado y recuperar el género original determinado por el ID personal del Pokémon.

Además, será necesario registar el nuevo género como visto, de forma que pueda ser mostrado en el Pokédex. Para hacer esto, use pbSeenForm(poke) justo después.

Felicidad poke.happiness=200 Establece la felicidad del Pokémon. Debe ser un número entre 0 y 255 inclusive.
Objeto llevado poke.setItem(:ORANBERRY) Establece el objeto llevado por el Pokémon. "0" significa que no lleva ninguno.

Si el objeto es una carta, se deberá establecer también poke.mail: poke.mail=PokemonMail.new(PBItems::GRASSMAIL,"Éste es un mensaje.","David")

Si el objeto es una carta que muestra algún Pokémon, se deberá utilizar: poke.mail=PokemonMail.new(PBItems::GRASSMAIL,"Éste es un mensaje.","David",poke1,poke2,poke3). Donde cada "poke" deberá ser un arreglo de forma [species,gender,shininess,form,shadowness,is egg?].

IVs poke.iv[2]=7 Establece los IVs del Pokémon de una estadística en particular. Cada estadística deberá ser un número entre 0 y 31 inclusive. Las estadísticas son las siguientes:
  • 0 = PS
  • 1 = Ataque
  • 2 = Defensa
  • 3 = Velocidad
  • 4 = Ataque Especial
  • 5 = Defensa Especial
Idioma poke.language=2 Establece el idioma del Pokémon. Su valor puede ser uno de los siguientes:
  • 0 = Desconocido
  • 1 = Japonés
  • 2 = Inglés (por defecto)
  • 3 = Francés
  • 4 = Italiano
  • 5 = Alemán
  • 7 = Español
  • 8 = Coreano
Nivel poke.level=42 Establece el nivel actual del Pokémon.

Lo que hace en realidad esta función es cambiar la "exp" del Pokémon al menor valor posible para el nivel indicado.

Movimientos poke.pbLearnMove(:TACKLE)
poke.pbDeleteMove(:TACKLE)
poke.resetMoves
La primera opción enseña un movimiento al Pokémon. Por este método, el Pokémon puede aprender cualquier movimiento sin enviar ningún mensaje al jugador. Si el Pokémon ya conoce 4 movimientos, olvidará el primero, los otros tres movimientos son desplazados hacia arriba y el nuevo movimiento será agregado al final.

La segunda opción borra un movimiento del Pokémon, si lo conoce. Nuevamente, se realiza sin mostrar ningún mensaje al jugador.

La tercera opción restablece el conjunto de movimientos que tendría un Pokémon salvaje de la misma especie, nivel y forma. Esto puede ser útil cuando se cambia el nivel o forma del Pokémon.

Naturaleza poke.setNature(:HASTY) Establece la naturaleza del Pokémon. Use poke.setNature(nil) quitar el valor forzado y recuperar la naturaleza original determinada por el ID personal del Pokémon.
Apodo poke.name="Dave" Establece el apodo del Pokémon al especificado. Use poke.name=nil para quitar el apodo.

Para permitir al jugador que ingrese el apodo, debe llamar a la función pbNickname(poke).

Texto Obtención poke.obtainText=_INTL("Day-Care Couple") Establece la frase que se usará en vez del nombre del lugar donde se obtuvo al Pokémon. Use poke.obtainText=nil para quitar la frase.
Pokérus poke.givePokerus
poke.givePokerus(4)
Hace que el Pokémon se contagie de Pokérus. El parámetro es opcional y determina la etapa del virus (entre 1 y 15).

poke.pokerusStage devolverá 0 (nunca infectado), 1 (actualmente infectado) o 2 (curado/inmune).

Cintas poke.giveRibbon(:HOENNCOOL)
poke.takeRibbon(:HOENNCOOL)
Entrega al Pokémon la cinta especificada (o se la quita).

Hay algunos otros métodos que trabajan con las cintas:

  • poke.upgradeRibbon(:HOENNCOOL,:HOENNCOOLSUPER,:HOENNCOOLHYPER,:HOENNCOOLMASTER) - Se pueden listar cualquier cantidad de cintas. Agrega las cintas indicadas si el Pokémon no tiene ninguna, o cambia las cintas que tiene por las de la lista. Devuelve la cantidad de cintas que fueron agregadas o actualizadas, o 0 si no hubo cambio.
  • poke.ribbonCount - Devuelve la cantidad de cintas que tiene el Pokémon.
  • poke.hasRibbon?(:HOENNCOOL) - Devuelve TRUE si el Pokémon tiene la cinta especificada, o FALSO si no la tiene.
  • poke.clearAllRibbons - Borra todas las cintas que tenga el Pokémon.
Oscuridad poke.makeShadow Convierte al Pokémon en un Pokémon Oscuro. No es tan facil convertir un Pokémon Oscuro en uno normal.
Shiny poke.makeShiny
poke.makeNotShiny
Hace que el Pokémon sea shiny o no. Use poke.shinyflag=nil quitar el valor forzado y recuperar el color original determinado por el ID personal del Pokémon.

Atributos menos usados

Probablemente no tengas que usar los siguientes atributos, pero se los menciona con el fin de completar la documentación.

Atributo Código Descripción
Estadísticas Concurso poke.beauty=42
poke.cool=42
poke.cute=42
poke.smart=42
poke.tough=42
poke.sheen=42
Establece las estadísticas de concurso del Pokémon. Cada estadística puede ser un número entre 0 y 255 inclusive.

Tenga en cuenta que actualmente estas propiedades no se utilizan (salvo por la belleza para la evolución de Feebas).

PS actuales poke.hp=42
poke.hp=poke.totalhp
poke.heal
Establece los PS actuales del Pokémon. La última opción también restauralos PP totales y el estado normal del Pokémon.
Pasos huevo poke.eggsteps=5355 Establece el número de pasos necesarios para eclosionar el huevo Pokémon.
Experiencia poke.exp=12345 Establece los puntos de Experiencia del Pokémon. Generalmente es más útil sumar o restar puntos de experiencia, más que establecer un valor específico.
Pokémon fusionado poke.fused=poke2 Establece el Pokémon que está fusionado con éste. poke2 es un objeto del tipo Pokémon. Use poke.fused=nil para borrar el Pokémon fusionado.
Mapa eclosión poke.hatchedMap=42 Establece el mapa en el que el huevo Pokémon se ha abierto. Se utiliza solamente cuando el método de obtención del Pokémon es "huevo recibido".
Hora eclosión poke.timeEggHatched=Time.now Establece la hora en la que el huevo Pokémon se ha abierto. Se utiliza solamente cuando el método de obtención del Pokémon es "huevo recibido".
Marcas poke.markings=5 Establece las marcas del Pokémon. Cada marca tiene un valor, y el Pokémon tendrá las marcas asociadas al número especificado. Las cuatro marcas tienen los siguientes valores:
  • 1 = ●
  • 2 = ■
  • 4 = ▲
  • 8 = ♥

Por ejemplo, si se especifica el número 5, los valores que suman ese número son el 1 (círculo) y el 4 (triángulo), por lo tanto, el Pokémon tendrá esas dos marcas.

Nivel obtención poke.obtainLevel=42 Establece el nivel al que fue obtenido el Pokémon.
Mapa obtención poke.obtainMap=42 Establece el mapa en el que fue obtenido el Pokémon.
Método obtención poke.obtainMode=1 Establece el método por el que fue obtenido el Pokémon. El valor puede ser nil, 0 ("conocido"), 1 ("huevo recibido"), 2 ("intercambiado") o 4 ("encuentro fatídico").
Género del EO poke.otgender=1 Establece el género del entrenador original del Pokémon. Su valor puede ser 0 (macho), 1 (hembra), 2 (mixed) o 3 (desconocido).
Número ID del EO poke.trainerID=$Trainer.id
poke.trainerID=$Trainer.getForeignID
Establece el número de ID del entrenador original del Pokémon. La primera opción utiliza el número ID del jugador. La segunda opción utiliza un número ID aleatorio.

Este atributo, junto al nombre del entrenador original, determinan si el Pokémon pertenece originalmente al jugador o no.

Nombre del EO poke.ot="Dave" Establece el nombre del entrenador original del Pokémon.

Este atributo, junto al ID del entrenador original, determinan si el Pokémon pertenece originalmente al jugador o no.

ID personal poke.personalID=rand(2**32) Establece el ID personal del Pokémon. El ejemplo utiliza un número aleatorio como ID personal del Pokémon, pero también puede ser fijado con un valor entre 0 y 4,294,967,295.

Tenga en cuenta que el género, naturaleza, habilidad y variocolor del Pokémon dependen del valor de ID personal que se le asigna al Pokémon. Los lunares de Spinda y los métodos de evolución "Silcoon" y "Cascoon" también dependen de este número.

Especie poke.species=PBSpecies::BULBASAUR Establece la especie del Pokémon.
Estado poke.status=PBStatuses::POISON
poke.status=0
poke.heal
Establece el estado del Pokémon. La última opción también restaura por completo los PS y los PP del Pokémon. Los estados posibles son:
  • 0 (saludable)
  • 1 (o PBStatuses::SLEEP, dormido)
  • 2 (o PBStatuses::POISON, envenenado)
  • 3 (o PBStatuses::BURN, quemado)
  • 4 (o PBStatuses::PARALYSIS, paralizado)
  • 5 (o PBStatuses::FROZEN, congelado)

Cuando el Pokémon queda dormido, se debería estableces también poke.statusCount=3, donde el número es la cantidad de turnos que el Pokémon estará dormido.

Lo que no se puede cambiar

Hay algunos atributos del Pokémon que no se pueden cambiar directamente. Éstos son:

  • Tipo 1
  • Tipo 2
  • Estadísticas:
    • PS Máximos
    • Ataque
    • Defensa
    • Velocidad
    • Ataque Especial
    • Defensa Especial

La última parte de la edición

Una vez que los atributos del Pokémon han sido modificados, podría ser útil recalcular sus estadísticas. Esto se realiza con la siguiente función:

poke.calcStats

Para asegurarse, deberías utilizar siempre esta función después de realizar todos los cambios al Pokémon.

Advertisement