Teléfono
El Teléfono es una función integrada en el Pokégear que permite al jugador recibir y realizar llamadas a NPCs registrados. Es una característica clásica de los juegos Pokémon Gold/Silver/Crystal y HeartGold/SoulSilver, disponible en Pokémon Essentials y La Base de Sky.
Funcionamiento general
Cuando el teléfono está habilitado, los NPCs pueden registrar su número con el jugador. Estos contactos aparecerán en la lista del teléfono dentro del Pokégear y podrán llamar al jugador de forma aleatoria mientras explora el mundo.
El sistema de teléfono se gestiona mediante el módulo Phone en los scripts del juego.
Registrar un contacto
Para que un NPC registre su número de teléfono con el jugador, usa el siguiente comando en un evento:
# Registrar un contacto de teléfono
# Parámetros: tipo de entrenador, nombre, mapa de revancha (opcional)
pbPhoneRegisterNPC(
:POKEFAN_M, # Tipo de entrenador
"Carlos", # Nombre del contacto
_I("Hola, ¿cómo va tu aventura?"), # Mensaje de introducción
_I("¡Deberíamos combatir pronto!") # Mensaje de combate
)
Registrar un entrenador para revanchas
Los entrenadores con los que has combatido pueden registrarse para llamarte y solicitar revanchas:
# Registrar un entrenador con revancha
pbPhoneRegisterBattle(
_I("¡Te llamo para retarte!"), # Mensaje de llamada
event, # Evento del entrenador
:YOUNGSTER, # Tipo de entrenador
"Miguel", # Nombre
2 # Número máximo de revanchas
)
Eliminar un contacto
Para eliminar un contacto de la lista del teléfono:
# Eliminar un contacto específico
pbPhoneDeleteContact(:POKEFAN_M, "Carlos")
Llamadas entrantes
El sistema de teléfono genera llamadas entrantes aleatorias mientras el jugador camina por el mundo. Cada cierta cantidad de pasos, existe una probabilidad de que un contacto registrado llame al jugador. Las llamadas pueden ser:
- Llamadas informativas: El NPC comenta algo sobre el mundo, el clima o situaciones del juego.
- Llamadas de revancha: Un entrenador registrado solicita un nuevo combate. Si el jugador acepta y visita al entrenador, la revancha se activa.
- Llamadas de avistamiento: Un NPC informa sobre un Pokémon raro en una ruta determinada.
Configurar la frecuencia de llamadas
La frecuencia con la que se reciben llamadas se puede ajustar mediante las constantes de configuración del teléfono:
# En Settings o el archivo de configuración correspondiente
# Pasos mínimos entre llamadas
PHONE_MIN_STEPS = 200
# Pasos máximos entre llamadas
PHONE_MAX_STEPS = 400
Realizar una llamada
El jugador puede abrir la lista de contactos desde el Pokégear y seleccionar a quién llamar. Dependiendo del contacto, la conversación variará:
- Si es un entrenador con revancha pendiente, confirmará que está listo para combatir.
- Si es un NPC informativo, compartirá datos útiles sobre el juego.
- Algunos contactos especiales (como el Profesor o la Madre) tienen diálogos fijos.
Contactos especiales
Puedes definir contactos especiales que no sean entrenadores normales, como la madre del jugador o el profesor Pokémon:
# Registrar un contacto especial (no entrenador)
Phone.add_special_contact(
"Mamá",
_I("¡Hola cariño! ¿Estás comiendo bien?"),
_I("Ten cuidado por ahí, ¿vale?")
)
Verificar el estado del teléfono
# Comprobar si el jugador tiene el teléfono habilitado
if $player.has_pokegear
# El teléfono está disponible como parte del Pokégear
end
# Comprobar si un contacto está registrado
if pbFindPhoneTrainer(:YOUNGSTER, "Miguel")
# El contacto existe en la lista
end
# Obtener el número total de contactos
total = $PokemonGlobal.phone.contacts.length
El teléfono es una función del Pokégear. Para que funcione, el jugador debe tener el Pokégear habilitado ($player.has_pokegear = true). Consulta la página de Pokégear para más información sobre cómo habilitarlo y sus otras funciones.
El sistema de teléfono es completamente opcional. Si no quieres usarlo en tu juego, simplemente no registres ningún contacto. El Pokégear seguirá funcionando con sus otras funciones (Mapa, Radio, Jukebox) sin mostrar la opción de teléfono si no hay contactos registrados.