Entrenador Compañero

El sistema de entrenador compañero (partner trainer) permite que un NPC aliado luche junto al jugador en combates dobles. Mientras el compañero esté registrado, todos los combates contra entrenadores y Pokémon salvajes se convertirán en combates dobles automáticamente.


¿Cómo funciona?

Cuando se registra un compañero:


Registrar un compañero

Usa la función pbRegisterPartner para unir un NPC aliado al grupo del jugador:

# Sintaxis:
pbRegisterPartner(tipo_entrenador, nombre, version)

# Ejemplo: Registrar a Cheryl como compañera
pbRegisterPartner(:POKEMON_RANGER_F, "Cheryl", 0)
Parámetro Tipo Descripción
tipo_entrenador Symbol El tipo de entrenador definido en trainer_types.txt (ej: :POKEMON_RANGER_F).
nombre String El nombre del entrenador tal y como aparece en trainers.txt.
version Integer La versión del entrenador en el PBS (por defecto 0).
Importante: El compañero debe estar definido en trainers.txt exactamente con el tipo, nombre y versión que se pasan a la función.

Eliminar un compañero

Para que el compañero deje de acompañar al jugador, usa:

# Eliminar al compañero actual
pbDeregisterPartner

Esto restaura los combates al modo individual. Es recomendable llamar a esta función cuando el jugador abandone la zona donde necesitaba al compañero.


Definición PBS del compañero

El compañero se define igual que cualquier entrenador en trainers.txt. Ejemplo:

# En trainer_types.txt
[POKEMON_RANGER_F]
Name = Pokémon Ranger
BaseMoney = 60
SkillLevel = 50

# En trainers.txt
[POKEMON_RANGER_F,Cheryl,0]
LoseText = No puede ser...
Pokemon = CHANSEY,30
    Moves = EGGBOMB,SOFTBOILED,REFRESH,MINIMIZE
    Item = LEFTOVERS
    Nature = BOLD
    IVs = 25,25,25,25,25,25
Pokemon = BLISSEY,32
    Moves = FLAMETHROWER,ICEBEAM,THUNDERBOLT,SOFTBOILED
    Item = LEFTOVERS
    Nature = CALM
    IVs = 25,25,25,25,25,25

Ejemplo completo: evento con compañero

Este ejemplo muestra cómo crear un evento donde Cheryl se une al jugador en el Bosque Siniestro y se va al salir:

Evento de encuentro (entrada del bosque)

# ◆ Mensaje: \bCheryl\b: ¡Discúlpa! ¿Podrías ayudarme a
#            cruzar este bosque? Me dan miedo los Pokémon
#            salvajes de aquí...
# ◆ Show Choices: [Sí, claro], [No puedo ahora]
#   ◆ When [Sí, claro]:
#     ◆ Mensaje: \bCheryl\b: ¡Muchas gracias! Lucharé a tu lado.
#     ◆ Script: pbRegisterPartner(:POKEMON_RANGER_F, "Cheryl", 0)
#     ◆ Change Player Followers (se puede añadir un NPC seguidor)
#     ◆ Self Switch A = ON
#   ◆ When [No puedo ahora]:
#     ◆ Mensaje: \bCheryl\b: Entiendo... te esperaré aquí.
# ◆ Branch End

Evento de despedida (salida del bosque)

# ◆ Conditional Branch: Script: $PokemonGlobal.partner
#   ◆ Mensaje: \bCheryl\b: ¡Hemos llegado! Muchas gracias
#              por acompañarme. Toma esto como agradecimiento.
#   ◆ Script: pbReceiveItem(:SOOTHEBELL)
#   ◆ Script: pbDeregisterPartner
#   ◆ Mensaje: \bCheryl\b: ¡Hasta la próxima! ¡Buena suerte!
#   ◆ Erase Event
# ◆ Branch End

Comprobar si hay un compañero activo

Puedes verificar si el jugador tiene un compañero actualmente registrado:

# Devuelve true si hay un compañero registrado
if $PokemonGlobal.partner
  pbMessage("Tienes un compañero de viaje.")
else
  pbMessage("Estás viajando solo.")
end

Notas importantes