Obstáculos

Los obstáculos son elementos del mapa que bloquean el camino del jugador y requieren el uso de MOs (Movimientos Ocultos) o HMs para ser superados. En Pokémon Essentials v21.1, estos se implementan mediante una combinación de eventos, terrain tags y scripts.

Resumen de obstáculos

Obstáculo Movimiento requerido Medalla necesaria Implementación
Árbol cortable Corte (Cut) Configurable Evento
Roca rompible Golpe Roca (Rock Smash) Configurable Evento
Roca empujable Fuerza (Strength) Configurable Evento
Agua surfeable Surf (Surf) Configurable Terrain tag
Cascada Cascada (Waterfall) Configurable Terrain tag
Remolino Torbellino (Whirlpool) Configurable Evento
Cueva oscura Flash (Flash) Configurable Metadatos de mapa
Árbol cabezazo Cabezazo (Headbutt) Ninguna Evento
Pared escalable Trepar Rocas (Rock Climb) Configurable Terrain tag
Punto de buceo Buceo (Dive) Configurable Terrain tag + Metadatos

Árboles cortables (Cut)

Los árboles cortables son pequeños árboles que bloquean el camino y pueden ser eliminados con el movimiento Corte.

Configuración del evento

  1. Crea un evento en el tile donde quieras el árbol.
  2. Asigna el gráfico del árbol cortable (normalmente Object_bush o similar).
  3. Configura el evento con 2 páginas.

Página 1 (Árbol presente)

# Comandos del evento - Página 1
pbCut

Página 2 (Árbol cortado)

No necesita comandos. El árbol simplemente desaparece.

Rocas rompibles (Rock Smash)

Las rocas rompibles son piedras que bloquean el camino o esconden objetos/Pokémon. Se destruyen con Golpe Roca.

Configuración del evento

Similar a los árboles cortables, con 2 páginas:

Página 1 (Roca presente)

# Comandos del evento - Página 1
pbRockSmash

El script pbRockSmash se encarga de verificar si el jugador tiene un Pokémon con Golpe Roca, la medalla necesaria, y de romper la roca. También puede generar un encuentro salvaje aleatorio al romper la roca.

Página 2 (Roca destruida)

Rocas empujables (Strength)

Las rocas empujables son bloques grandes que pueden ser movidos con el movimiento Fuerza. Se usan en puzzles de cuevas.

Configuración del evento

  1. Crea un evento con el gráfico de la roca.
  2. Solo necesita 1 página.

Página 1

# Comandos del evento
pbStrengthBoulder

El script pbStrengthBoulder verifica si Fuerza está activada y mueve la roca en la dirección que empuja el jugador. La roca se detiene al chocar con otro obstáculo o con el borde del mapa.

Notas sobre Fuerza

Agua surfeable (Surf)

El agua surfeable permite al jugador navegar sobre el agua usando el movimiento Surf. No es un evento, sino que se basa en terrain tags.

Configuración

  1. Pinta tiles de agua en el mapa.
  2. Asegúrate de que los tiles de agua tengan terrain tag 4 (Water) en la configuración del tileset.
  3. Los tiles de agua deben tener passage × (no pasable). El juego permite el paso automáticamente cuando el jugador usa Surf.

El jugador interactúa presionando el botón de acción frente al agua. Pokémon Essentials preguntará automáticamente si desea usar Surf.

Cascadas (Waterfall)

Las cascadas son tiles de agua vertical que el jugador puede escalar con el movimiento Cascada.

Configuración

  1. Coloca tiles de cascada (normalmente un autotile de cascada animada).
  2. Asigna terrain tag 5 (Waterfall) a los tiles de la cascada.
  3. Coloca un tile con terrain tag 6 (WaterfallCrest) en la parte superior de la cascada, donde el jugador aterrizará.

Al llegar surfeando a la base de la cascada, el juego preguntará automáticamente si desea usar Cascada para escalarla.

Remolinos (Whirlpool)

Los remolinos son obstáculos acuáticos que bloquean el paso al surfear. Se eliminan con el movimiento Torbellino (Whirlpool).

Configuración del evento

  1. Crea un evento sobre un tile de agua.
  2. Asigna el gráfico del remolino (animado, generalmente Object_whirlpool).
  3. Configura con 2 páginas, similar a otros obstáculos.

Página 1 (Remolino activo)

# Comandos del evento
pbWhirlpool

Página 2 (Remolino eliminado)

Cuevas oscuras (Flash)

Las cuevas oscuras limitan la visibilidad del jugador a un pequeño círculo alrededor suyo. Se iluminan con el movimiento Flash.

Configuración

No se necesitan eventos. Solo hay que configurar los metadatos del mapa:

  1. Abre el archivo PBS/map_metadata.txt.
  2. Añade DarkMap = true a la entrada del mapa que quieras oscurecer.
[025]
Name = Cueva Oscura
DarkMap = true
Outdoor = false
Environment = Cave

Al entrar al mapa, la pantalla se oscurecerá automáticamente. El jugador puede usar Flash para iluminar todo el mapa. El efecto de Flash persiste mientras el jugador permanezca en ese mapa.

Árboles de Cabezazo (Headbutt)

Los árboles de Cabezazo permiten al jugador sacudirlos para encontrar Pokémon salvajes escondidos. No bloquean el camino, pero ofrecen encuentros especiales.

Configuración del evento

  1. Crea un evento sobre un tile de árbol.
  2. Asigna el gráfico del árbol.
  3. Solo necesita 1 página.

Página 1

# Comandos del evento
pbHeadbutt

El script pbHeadbutt sacude el árbol y puede generar un encuentro salvaje con Pokémon como Heracross, Aipom, Pineco, etc. Los encuentros se definen en los archivos PBS de encuentros salvajes con el tipo HeadbuttLow o HeadbuttHigh.

Paredes escalables (Rock Climb)

Las paredes escalables son superficies verticales que el jugador puede subir o bajar con el movimiento Trepar Rocas.

Configuración

  1. Coloca tiles de pared rocosa en el mapa.
  2. Asigna terrain tag 15 (Rock Climb) a estos tiles.
  3. Los tiles deben estar configurados como no pasables (passage ×).

Al interactuar con un tile de Rock Climb, el juego preguntará si el jugador desea usar Trepar Rocas. El jugador escalará automáticamente toda la superficie hasta llegar a un tile sin terrain tag 15.

Puntos de Buceo (Dive)

Los puntos de Buceo permiten al jugador sumergirse bajo el agua para acceder a un mapa submarino.

Configuración

  1. Coloca tiles de agua profunda con terrain tag 8 (DeepWater) en el mapa de superficie.
  2. En los metadatos del mapa de superficie, define DiveMap con el ID del mapa submarino:
    [040]
    Name = Ruta Submarina
    DiveMap = 041
  3. En los metadatos del mapa submarino, define DiveMap con el ID del mapa de superficie:
    [041]
    Name = Fondo Marino
    DiveMap = 040
    Environment = Underwater

El jugador debe estar surfeando sobre un tile de agua profunda para poder usar Buceo. Al usar Emerger en el mapa submarino, volverá al mapa de superficie.

Configurar las medallas requeridas

Las medallas necesarias para usar cada MO en campo se configuran en el script de configuración del juego. En Pokémon Essentials v21.1, se define en Settings:

# En el script Settings
# Número de medalla requerida para cada MO (0 = primera medalla)
HM_BADGES = {
  :CUT        => 1,  # Segunda medalla
  :FLY        => 3,  # Cuarta medalla
  :SURF       => 4,  # Quinta medalla
  :STRENGTH   => 3,  # Cuarta medalla
  :FLASH      => 0,  # Primera medalla
  :ROCK_SMASH => 2,  # Tercera medalla
  :WATERFALL  => 7,  # Octava medalla
  :DIVE       => 6,  # Séptima medalla
  :ROCK_CLIMB => 5   # Sexta medalla
}

Notas importantes