Plantación de Bayas
El sistema de plantación de bayas permite al jugador plantar, regar y cosechar bayas en puntos específicos del mapa. Las bayas atraviesan varias etapas de crecimiento basadas en el tiempo real del juego, y la cantidad cosechada puede variar según el cuidado del jugador.
Mecánicas de crecimiento
Cada baya tiene un ciclo de crecimiento dividido en etapas. El tiempo que tarda en crecer depende de las propiedades de cada baya, definidas en el PBS.
Etapas de crecimiento
| Etapa | Nombre | Descripción |
|---|---|---|
| 1 | Plantada | La baya acaba de ser plantada. Solo se ve tierra removida. |
| 2 | Brote | Ha brotado un pequeño tallo verde de la tierra. |
| 3 | Tallo | La planta ha crecido y tiene un tallo visible. |
| 4 | Floración | La planta tiene flores. Es la última etapa antes de dar frutos. |
| 5 | Frutos | La planta tiene bayas listas para ser cosechadas. |
La duración total del ciclo se divide equitativamente entre las etapas. Por ejemplo, si una baya tarda 24 horas en crecer, cada etapa durará aproximadamente 6 horas.
Definición PBS de bayas para plantación
Las propiedades de crecimiento de las bayas se definen en el archivo PBS berry_plants.txt. Cada
baya tiene los siguientes atributos:
| Propiedad | Descripción |
|---|---|
HoursPerStage |
Número de horas que dura cada etapa de crecimiento. |
DryingPerHour |
Velocidad a la que el suelo se seca por hora (afecta a cuánto hay que regar). |
MinimumYield |
Cantidad mínima de bayas que produce la planta al cosechar. |
MaximumYield |
Cantidad máxima de bayas que puede producir (depende del riego). |
Ejemplo de definición en berry_plants.txt
[CHERIBERRY]
HoursPerStage = 3
DryingPerHour = 15
MinimumYield = 2
MaximumYield = 5
[CHESTOBERRY]
HoursPerStage = 3
DryingPerHour = 10
MinimumYield = 2
MaximumYield = 5
[PECHABERRY]
HoursPerStage = 3
DryingPerHour = 15
MinimumYield = 2
MaximumYield = 5
[RAWSTBERRY]
HoursPerStage = 3
DryingPerHour = 10
MinimumYield = 2
MaximumYield = 5
[ORANBERRY]
HoursPerStage = 4
DryingPerHour = 15
MinimumYield = 2
MaximumYield = 5
[SITRUSBERRY]
HoursPerStage = 8
DryingPerHour = 7
MinimumYield = 2
MaximumYield = 5
[LEPPABERRY]
HoursPerStage = 8
DryingPerHour = 7
MinimumYield = 1
MaximumYield = 5
Riego y cuidado
El riego es fundamental para maximizar la cosecha. La humedad del suelo disminuye con el tiempo según el valor
de DryingPerHour, y cada vez que se riega, la humedad se restaura al máximo.
Cómo funciona el riego
- El jugador necesita la Regadera (Wailmer Pail) para regar las plantas.
- Cada etapa de crecimiento se puede regar al menos una vez para obtener la cosecha máxima.
- Si una planta pasa una etapa sin ser regada, la cosecha final se reduce.
- El número de veces que se riega correctamente durante todo el ciclo determina la cantidad de bayas
cosechadas, interpolando entre
MinimumYieldyMaximumYield.
Cálculo de cosecha
La cantidad de bayas cosechadas depende de cuántas etapas fueron regadas adecuadamente:
# Fórmula simplificada:
# etapas_regadas = número de etapas donde fue regada al menos una vez
# total_etapas = 4 (etapas 1-4, la 5 es la cosecha)
# cosecha = MinimumYield + (MaximumYield - MinimumYield) * etapas_regadas / total_etapas
Abono (Mulch)
El abono se puede aplicar a la tierra antes de plantar una baya para modificar el comportamiento del crecimiento:
| Abono | Efecto |
|---|---|
GROWTHMULCH |
Reduce el tiempo de cada etapa en un 25%. La planta crece más rápido pero se seca más rápido. |
DAMPMULCH |
Aumenta el tiempo de cada etapa en un 25%. La planta crece más lento pero se seca más lento. |
STABLEMULCH |
La planta permanece en la etapa de frutos el doble de tiempo antes de marchitarse. |
GOOEYMULCH |
La planta permanece en la etapa de frutos la mitad de tiempo, pero aumenta la cosecha. |
Funciones principales
Las siguientes funciones se usan en los scripts de eventos para manejar la plantación de bayas:
pbPickBerry
Permite al jugador cosechar las bayas de una planta madura. Normalmente se llama desde el evento de la planta.
# Cosechar bayas de este evento
pbPickBerry(:ORANBERRY, 3) # 3 bayas Aranja
pbPlantBerry
Planta una baya en el evento actual. El jugador selecciona qué baya plantar de su mochila.
# Plantar una baya en este punto
pbPlantBerry(:ORANBERRY)
pbBerryPlant
Esta es la función principal que gestiona toda la interacción con una planta de bayas. Maneja automáticamente todos los estados: terreno vacío, planta en crecimiento, planta lista para cosechar y planta marchita.
# Usar en el evento de la planta:
pbBerryPlant
Al interactuar con el evento, pbBerryPlant determina el estado actual y actúa en consecuencia:
- Terreno vacío: Pregunta si quiere plantar una baya.
- Planta en crecimiento: Muestra el estado actual y pregunta si quiere regar.
- Planta con frutos: Cosecha automáticamente las bayas.
- Planta marchita: Limpia la planta y deja el terreno vacío.
Configurar eventos de plantación
Para crear un punto de plantación de bayas en el mapa, necesitas configurar un evento con las siguientes características:
Evento básico de planta de baya
- Crea un nuevo evento en el mapa donde quieras el punto de plantación.
- Configura una sola página con las siguientes propiedades:
| Propiedad | Valor |
|---|---|
| Nombre | Cualquiera (ej: "BerryPlant") |
| Gráfico | Ninguno (el script cambia el gráfico automáticamente según la etapa) |
| Trigger | Acción (presionar botón de interacción) |
Contenido del evento
# Script del evento:
pbBerryPlant
Eso es todo. La función pbBerryPlant gestiona todo internamente: el gráfico, la interacción, la
plantación, el riego y la cosecha.
Planta con baya inicial
Si quieres que un punto de plantación ya tenga una baya plantada desde el inicio del juego (como en los juegos oficiales), puedes configurarlo así:
# En un evento de Autorun que se ejecuta una sola vez:
pbSetBerryPlant(event_id, :ORANBERRY)
# Donde event_id es el ID del evento de la planta en el mapa
Gráficos de las plantas
Los gráficos de las plantas de bayas se encuentran en:
Graphics/Characters/berry_
Cada baya necesita un gráfico con todas las etapas de crecimiento. El formato del nombre del archivo es:
Graphics/Characters/berry_NOMBRE.png
Por ejemplo:
berry_CHERIBERRY.pngberry_ORANBERRY.pngberry_SITRUSBERRY.png
El gráfico contiene todas las etapas en un formato de charset, donde cada fila representa una etapa de crecimiento diferente.
Planta marchita
Si una planta llega a la etapa de frutos y el jugador no la cosecha a tiempo, la planta se marchita. Cuando esto ocurre:
- Se muestra un gráfico de planta marchita.
- Al interactuar, el jugador limpia la planta marchita.
- El terreno queda vacío y disponible para plantar de nuevo.
- No se obtiene ninguna baya.
El tiempo que una planta permanece en la etapa de frutos antes de marchitarse se puede modificar con abonos.
Funciones adicionales
| Función | Descripción |
|---|---|
pbBerryPlant |
Función principal para interactuar con una planta de baya. Gestiona todo el ciclo. |
pbPickBerry(baya, cantidad) |
Cosecha una cantidad específica de una baya. |
pbPlantBerry(baya) |
Planta una baya específica en el evento actual. |
pbApplyMulch(abono) |
Aplica un abono al terreno antes de plantar. |
Regadera (Wailmer Pail)
La regadera es un objeto clave necesario para regar las plantas. Debe estar definida en items.txt
como un objeto clave de uso directo:
[WAILMERPAIL]
Name = Regadera
NamePlural = Regaderas
Pocket = 8
Price = 0
FieldUse = Direct
Consumable = false
Flags = KeyItem
Description = Una regadera para regar las plantas de bayas.
El efecto de la regadera se maneja automáticamente dentro de pbBerryPlant cuando el jugador
interactúa con una planta que necesita riego. No necesitas crear un handler separado para la regadera en el
contexto de plantación de bayas.
Consejos y buenas prácticas
- Distribuye los puntos de plantación a lo largo de las rutas del juego para incentivar la exploración y el retorno a zonas anteriores.
- Las bayas con tiempos de crecimiento largos suelen ser más valiosas o raras.
- Asegúrate de que el jugador obtenga la Regadera relativamente pronto en el juego si planeas usar el sistema de plantación.
- Los abonos añaden una capa adicional de estrategia. Puedes venderlos en tiendas o darlos como recompensa.
- Coloca algunas plantas con bayas ya crecidas al inicio del juego para que el jugador entienda el sistema.
- El tiempo de crecimiento se basa en el tiempo del juego, no en tiempo real. Si el jugador avanza el tiempo (descansar, viajar), las plantas avanzarán también.
Ejemplo: Ruta con varios puntos de plantación
Para crear una ruta con varios puntos de plantación, simplemente coloca varios eventos con el script
pbBerryPlant en diferentes posiciones del mapa. Cada evento funciona de forma independiente.
Si quieres que algunos puntos ya tengan bayas plantadas al inicio del juego, usa un evento Autorun en el mapa:
# Evento Autorun (se ejecuta una vez)
# Plantar bayas iniciales en los eventos 5, 8 y 12
pbSetBerryPlant(5, :ORANBERRY)
pbSetBerryPlant(8, :PECHABERRY)
pbSetBerryPlant(12, :CHERIBERRY)
# Desactivar este Autorun
$game_switches[XX] = true # Donde XX es el switch de condición