Definir un Objeto
Los objetos en Pokémon Essentials se definen en el archivo PBS items.txt. Cada entrada describe las propiedades del objeto: su nombre, precio, bolsillo de la mochila, y cómo se usa tanto en el campo como en combate. Tras editar el archivo PBS, debes compilar el juego para que los cambios surtan efecto.
Ubicación del archivo PBS
El archivo de definición de objetos se encuentra en:
PBS/items.txt
Cada objeto se define como un bloque con corchetes para el nombre interno, seguido de las propiedades del objeto línea por línea.
Formato del archivo
El formato general de una entrada en items.txt es el siguiente:
[NOMBRE_INTERNO]
Name = Nombre del Objeto
NamePlural = Nombre en Plural
Pocket = 1
Price = 200
SellPrice = 100
FieldUse = Direct
BattleUse = None
Consumable = true
ShowQuantity = false
Description = Descripción del objeto.
Flags = Fling_30
Tabla de propiedades
A continuación se detallan todas las propiedades disponibles para definir un objeto:
| Propiedad | Tipo | Obligatorio | Descripción |
|---|---|---|---|
[NOMBRE_INTERNO] |
Texto | Sí | Identificador único del objeto. Se escribe entre corchetes como cabecera del bloque. Solo letras mayúsculas, números y guiones bajos. Ejemplo: [POTION], [FULLRESTORE]. |
Name |
Texto | Sí | Nombre visible del objeto en singular. Ejemplo: Poción. |
NamePlural |
Texto | No | Nombre visible del objeto en plural. Si se omite, se añade una "s" al nombre. Ejemplo: Pociones. |
Pocket |
Número | Sí | Número del bolsillo de la mochila donde se guarda el objeto (ver tabla de bolsillos más abajo). |
Price |
Número | No | Precio de compra del objeto en las tiendas. Si es 0 o se omite, el objeto no puede comprarse. |
SellPrice |
Número | No | Precio de venta del objeto. Si se omite, será la mitad del precio de compra. Si es 0, no se puede vender. |
FieldUse |
Texto | No | Define cómo se puede usar el objeto fuera de combate (ver valores posibles más abajo). |
BattleUse |
Texto | No | Define cómo se puede usar el objeto durante el combate (ver valores posibles más abajo). |
Consumable |
Booleano | No | Si es true, el objeto se consume al usarlo (se reduce la cantidad en 1). Por defecto es true si el objeto tiene algún uso definido. |
ShowQuantity |
Booleano | No | Si es true, se muestra la cantidad en la mochila. Por defecto es false para objetos normales y true para bayas. |
Description |
Texto | Sí | Texto descriptivo del objeto que se muestra en la mochila. Debe ser breve y explicar el efecto del objeto. |
Flags |
Texto | No | Lista de flags separadas por comas. Permiten añadir propiedades especiales al objeto (ver tabla de flags). |
Bolsillos de la mochila
El valor de Pocket determina en qué bolsillo de la mochila se almacenará el objeto. Los bolsillos por defecto son:
| Número | Bolsillo | Descripción |
|---|---|---|
| 1 | Objetos | Objetos generales de uso diverso. |
| 2 | Medicinas | Pociones, restauradores, curas de estado, vitaminas, etc. |
| 3 | Poké Balls | Todos los tipos de Poké Ball. |
| 4 | MTs/MOs | Máquinas Técnicas y Máquinas Ocultas. |
| 5 | Bayas | Todas las bayas que el jugador recoge o cultiva. |
| 6 | Correo | Objetos de correo que pueden adjuntarse a un Pokémon. |
| 7 | Objetos de Combate | Objetos equipables que solo tienen efecto en combate. |
| 8 | Objetos Clave | Objetos de la historia que no se pueden vender ni tirar. |
Los nombres y la cantidad de bolsillos se pueden modificar en la configuración del juego, específicamente en el archivo Settings.
Valores de FieldUse (Uso en campo)
La propiedad FieldUse determina cómo se puede usar un objeto fuera de combate:
| Valor | Descripción | Ejemplo |
|---|---|---|
OnPokemon |
Se usa seleccionando un Pokémon del equipo. Al elegir "Usar" se abre la pantalla de selección de Pokémon. | Poción, Caramelo Raro, piedras evolutivas |
Direct |
Se usa directamente sin seleccionar un Pokémon. El efecto ocurre inmediatamente al elegir "Usar". | Repelente, Cuerda Huida, Bicicleta |
TriggerReceive |
Activa su efecto automáticamente al ser recibido. No tiene opción "Usar" en la mochila. | Objetos de evento especiales |
TR |
Funciona como un TR (Registro Técnico). Se usa sobre un Pokémon para enseñarle un movimiento y se consume. | TRs personalizados |
Si no se especifica un valor de FieldUse, el objeto no se podrá usar fuera de combate (no aparecerá la opción "Usar").
Valores de BattleUse (Uso en combate)
La propiedad BattleUse determina cómo se puede usar un objeto durante una batalla:
| Valor | Descripción | Ejemplo |
|---|---|---|
OnPokemon |
Se usa seleccionando un Pokémon del equipo durante el combate. El jugador elige el Pokémon objetivo. | Poción, Restaurar PP, Cura Total |
OnMove |
Se usa seleccionando un movimiento de un Pokémon durante el combate. | Éter, Éter Máximo |
OnBattler |
Se usa sobre el Pokémon activo del jugador. No permite elegir un Pokémon diferente. | Potenciadores de combate (Ataque X, Defensa X) |
OnFoe |
Se usa sobre un Pokémon rival. El jugador elige cuál de los Pokémon enemigos es el objetivo. | Poké Balls (para capturar Pokémon salvajes) |
Direct |
Se usa sin necesidad de seleccionar ningún objetivo. El efecto se aplica inmediatamente. | Poké Muñeca, Cola Skitty (para huir de combates salvajes) |
Flags comunes
Las flags permiten añadir comportamientos especiales a los objetos. Se separan por comas si hay varias:
| Flag | Descripción |
|---|---|
Fling_XX |
Determina la potencia del movimiento Lanzamiento cuando un Pokémon lanza este objeto. XX es el valor de potencia (ej: Fling_30). |
NaturalGift_TYPE_XX |
Define el tipo y potencia del movimiento Don Natural al equipar esta baya. Ej: NaturalGift_FIRE_80. |
KeyItem |
Marca el objeto como objeto clave. No puede venderse ni descartarse. |
Mail |
Marca el objeto como correo. Puede escribirse un mensaje y adjuntarse a un Pokémon. |
IconIsMail |
El icono del objeto incluye el diseño del correo. |
EvolutionStone |
Marca el objeto como piedra evolutiva. Aparece en la lista de objetos que pueden provocar una evolución. |
Ejemplos de definiciones PBS
Objeto de medicina (Poción)
[POTION]
Name = Poción
NamePlural = Pociones
Pocket = 2
Price = 200
FieldUse = OnPokemon
BattleUse = OnPokemon
Flags = Fling_30
Description = Restaura 20 PS a un Pokémon.
Poké Ball
[POKEBALL]
Name = Poké Ball
NamePlural = Poké Balls
Pocket = 3
Price = 200
BattleUse = OnFoe
Flags = Fling_30
Description = Un objeto que permite capturar Pokémon salvajes.
MT (Máquina Técnica)
[TM01]
Name = MT01
NamePlural = MT01
Pocket = 4
Price = 0
FieldUse = OnPokemon
Consumable = false
Flags = Fling_50,TM
Description = Enseña el movimiento Megapuño a un Pokémon compatible.
Para las MTs, debes definir qué movimiento enseña cada una en el archivo PBS tm.txt.
Baya
[ORANBERRY]
Name = Baya Aranja
NamePlural = Bayas Aranja
Pocket = 5
Price = 20
FieldUse = OnPokemon
BattleUse = OnPokemon
ShowQuantity = true
Flags = Fling_10,NaturalGift_POISON_80,Berry
Description = Si la lleva un Pokémon, restaura 10 PS cuando están bajos.
Objeto Clave
[BICYCLE]
Name = Bicicleta
NamePlural = Bicicletas
Pocket = 8
Price = 0
FieldUse = Direct
Consumable = false
Flags = KeyItem
Description = Una bicicleta plegable que permite desplazarse a gran velocidad.
Objeto equipable de combate
[LEFTOVERS]
Name = Restos
NamePlural = Restos
Pocket = 7
Price = 200
Flags = Fling_10
Description = Si los lleva un Pokémon, restaura un poco de PS en cada turno.
Potenciador de combate
[XATTACK]
Name = Ataque X
NamePlural = Ataques X
Pocket = 7
Price = 1000
BattleUse = OnBattler
Flags = Fling_30
Description = Sube el Ataque del Pokémon activo en un nivel durante el combate.
Gráficos de objetos
Cada objeto necesita un icono gráfico que se muestra en la mochila, tiendas y otros menús. Los iconos se almacenan en:
Graphics/Items/
El archivo de imagen debe nombrarse exactamente igual que el nombre interno del objeto, en formato PNG. Por ejemplo:
Graphics/Items/POTION.pngGraphics/Items/POKEBALL.pngGraphics/Items/TM01.pngGraphics/Items/BICYCLE.png
El tamaño estándar de un icono de objeto es de 48×48 píxeles. Si no se encuentra el archivo de imagen, se usará un icono genérico por defecto.
Consejos importantes
- Los nombres internos deben ser únicos. No pueden repetirse entre objetos.
- Después de modificar
items.txt, debes compilar el juego desde el menú de Debug (F9→ Compilar datos). - Si un objeto tiene
FieldUseoBattleUsedefinido, necesitarás también un handler de efecto en los scripts (ver Efectos de Objetos). - Los objetos con
Consumable = falseno se gastan al usarlos (como las MOs o la Bicicleta). - El precio de venta por defecto es la mitad del precio de compra. Puedes usar
SellPrice = 0para que un objeto no sea vendible.