Desplazamiento
Esta página cubre todos los tipos de movimiento del jugador en Pokémon Essentials, incluyendo caminar, correr, usar la bicicleta, surfear y volar, así como mecánicas especiales de movimiento como saltos, tiles deslizantes y cintas transportadoras.
Tipos de movimiento
Caminar
El movimiento base del jugador. El jugador camina a velocidad normal usando las teclas de dirección. La velocidad de caminata se define en el módulo de Settings:
# Velocidad de movimiento del jugador
Settings::PLAYER_WALK_SPEED = 4
La velocidad se mide en una escala donde 4 es la velocidad estándar de caminar. Los valores posibles van de 1 (muy lento) a 6 (muy rápido).
Correr
El jugador puede correr manteniendo presionada la tecla de acción (por defecto Z o X) mientras se mueve, siempre que tenga las Zapatillas de Correr (Running Shoes).
# Dar las Zapatillas de Correr al jugador
$player.has_running_shoes = true
# Quitar las Zapatillas de Correr
$player.has_running_shoes = false
# Comprobar si las tiene
if $player.has_running_shoes
pbMessage("¡Tienes las Zapatillas de Correr!")
end
En la Pantalla de Opciones, el jugador puede alternar entre:
- Mantener para correr: Mantener presionado el botón para correr (por defecto).
- Alternar: Presionar una vez para activar/desactivar correr.
Correr no está disponible en interiores de forma predeterminada. Esto se puede cambiar en los metadatos del mapa:
[012]
Name = Centro Comercial
CanRunInside = true
Bicicleta
La bicicleta permite al jugador moverse al doble de velocidad. Se activa desde el menú o con un objeto registrado.
# Dar la bicicleta al jugador
$player.has_bicycle = true
# Activar/desactivar la bicicleta por script
pbDismountBike # Bajar de la bicicleta
pbMountBike # Subir a la bicicleta
pbToggleBike # Alternar
Restricciones
- Interiores: Por defecto, la bicicleta no se puede usar en interiores. Configurable en los metadatos del mapa con
Bicycle = true. - Exteriores: La bicicleta funciona en todos los mapas exteriores por defecto.
- No se puede usar la bicicleta mientras se surfea.
- Al entrar a un mapa donde no se permite la bicicleta, el jugador se baja automáticamente.
# Metadatos del mapa - Permitir bicicleta en interior
[015]
Name = Pista de Ciclismo
Bicycle = true
BicycleAlways = true # Obliga a usar la bicicleta en este mapa
Surf
Permite al jugador moverse por agua. Se activa al interactuar con un tile de agua si un Pokémon del equipo conoce Surf y se tiene la medalla correspondiente.
# Comprobar si el jugador está surfeando
if $PokemonGlobal.surfing
pbMessage("Estás surfeando.")
end
# Iniciar Surf por script (sin requerir Pokémon con Surf)
pbStartSurfing
Los tiles de agua deben tener el terrain tag Water para que Surf funcione.
Buceo (Diving)
El buceo permite al jugador sumergirse bajo el agua en tiles específicos. Funciona de forma similar a Surf:
# Tiles con terrain tag "DeepWater" permiten bucear
# El jugador necesita un Pokémon con el movimiento Buceo (Dive)
# Sumergirse por script
pbDive
# Emerger
pbSurfacing
El mapa submarino se configura en los metadatos del mapa con DiveMap:
[020]
Name = Ruta 124 (Submarino)
DiveMap = 19 # ID del mapa al que se emerge
Vuelo (Fly)
El movimiento Vuelo permite al jugador viajar instantáneamente a ciudades visitadas previamente desde el mapa regional.
# El jugador necesita un Pokémon con Vuelo y la medalla correspondiente
# Se activa desde el menú del equipo o el Mapa Regional
# Teletransportar al jugador con Vuelo por script
pbFlyToNewLocation
Los puntos de aterrizaje de Vuelo se definen en los metadatos del mapa con FlyPoint.
Pokémon Acompañante
La Base de Sky incluye la funcionalidad de Pokémon Acompañante (Following Pokémon), donde el primer Pokémon del equipo sigue al jugador por el mapa.
- El Pokémon acompañante aparece automáticamente al caminar.
- Puedes interactuar con él presionando el botón de acción para ver su estado de ánimo.
- Se adapta a las condiciones del entorno (se muestra nadando si estás surfeando, etc.).
# Activar/desactivar Pokémon acompañante
$PokemonGlobal.follower_toggled = true # Activar
$PokemonGlobal.follower_toggled = false # Desactivar
# Comprobar si está activo
if $PokemonGlobal.follower_toggled
pbMessage("Tu Pokémon te está siguiendo.")
end
Velocidad de movimiento
Las velocidades de movimiento del jugador se pueden configurar:
| Modo | Velocidad | Descripción |
|---|---|---|
| Caminar | 4 | Velocidad base del jugador |
| Correr | 5 | Con Zapatillas de Correr activadas |
| Bicicleta | 6 | Velocidad máxima estándar |
| Surf | 5 | Moverse sobre agua |
| Buceo | 4 | Moverse bajo agua |
# Cambiar la velocidad del jugador temporalmente
$game_player.move_speed = 5 # Más rápido
$game_player.move_speed = 3 # Más lento
Saltos y cornisas (Ledges)
Las cornisas son bordes que el jugador puede saltar en una dirección pero no escalar de vuelta. Se configuran con terrain tags:
# Terrain tags para cornisas:
# Ledge → Cornisa que permite saltar hacia abajo
# LedgeLeft → Saltar hacia la izquierda
# LedgeRight → Saltar hacia la derecha
Cada dirección de cornisa tiene su propio terrain tag. El jugador realiza una animación de salto al pasar por encima.
- Las cornisas son tiles de una sola dirección: se puede saltar hacia ella, pero no se puede subir de vuelta.
- La animación de salto se reproduce automáticamente.
- No generan encuentros salvajes al saltar sobre hierba.
Tiles especiales de movimiento
Tiles giratorios (Spinning Tiles)
Los tiles giratorios hacen que el jugador gire y sea lanzado en una dirección:
# Terrain tags para tiles giratorios:
# SpinLeft → Gira y lanza hacia la izquierda
# SpinRight → Gira y lanza hacia la derecha
# SpinUp → Gira y lanza hacia arriba
# SpinDown → Gira y lanza hacia abajo
El jugador gira en el lugar y luego se desliza en la dirección indicada hasta encontrar un obstáculo.
Hielo deslizante (Ice Sliding)
Los tiles de hielo hacen que el jugador se deslice en la dirección de movimiento hasta chocar con algo:
# Terrain tag para hielo deslizante:
# Ice → El jugador se desliza al pisar este tile
Para crear puzles de hielo, coloca tiles de hielo en un área y usa paredes, rocas u otros obstáculos para controlar el movimiento del jugador.
Cintas transportadoras (Conveyor Belts)
Las cintas transportadoras mueven automáticamente al jugador en una dirección:
# Se implementan generalmente con eventos
# Evento con trigger "Player Touch" o "Parallel Process"
pbSlideOnIce # Método similar al hielo deslizante
# También se pueden crear con terrain tags personalizados
# definidos en el módulo GameData::TerrainTag
Las cintas transportadoras se diferencian del hielo en que tienen una dirección fija (no dependen de hacia dónde se mueve el jugador) y mueven al jugador continuamente mientras esté sobre ellas.
Sistema de Repelente
Los Repelentes reducen los encuentros salvajes al caminar. Essentials incluye tres tipos:
| Objeto | Pasos | Descripción |
|---|---|---|
| Repelente | 100 | Evita Pokémon de nivel menor al primero del equipo |
| Superrepelente | 200 | Mayor duración que el Repelente básico |
| Máx. Repelente | 250 | La mayor duración disponible |
El sistema de Repelente funciona comparando el nivel del primer Pokémon del equipo con el del Pokémon salvaje. Si el salvaje tiene un nivel menor, el encuentro no ocurre.
# Comprobar si un Repelente está activo
if $PokemonGlobal.repel > 0
pbMessage("El repelente sigue activo: #{$PokemonGlobal.repel} pasos restantes.")
end
# Activar un Repelente por script (100 pasos)
$PokemonGlobal.repel = 100
Cuando el Repelente se agota, el juego pregunta automáticamente si deseas usar otro (si tienes más en la mochila).