> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rollingquest.kramgames.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lava Pool

> Configuring lava pool behavior in the RollingQuest level editor: modes, physical parameters, and tide/auto-adjust settings.

The Lava Pool system allows you to create rising/lowering lava or water effects in your level. Each section can have its own lava pool configuration with different behaviors.

## Opening the Lava Pool Properties

From the Section Properties panel, click the **Lava Pool** button.

## Pool Modes

| Mode           | Description                                                       |
| -------------- | ----------------------------------------------------------------- |
| **Disabled**   | No lava pool — the section has no liquid effect                   |
| **AutoAdjust** | Lava automatically rises/falls based on velocity and acceleration |
| **Tide**       | Lava oscillates like ocean tides with amplitude and frequency     |

## Parameters

### Initial Position

The starting height of the lava level. This is where the lava begins when the level loads.

### Target Position

The height the lava aims to reach. Used in **AutoAdjust** and **Tide** modes.

### Velocity

The speed at which the lava rises or falls. Used in **AutoAdjust** mode.

### Acceleration

The rate of velocity change. Used in **AutoAdjust** mode to create accelerating rises or falls.

### Amplitude

The height variation of the tide. Used in **Tide** mode to control how high and low the lava oscillates.

### Frequency

The speed of the tide oscillation. Used in **Tide** mode to control how fast the lava rises and falls.

## Parameter Availability by Mode

| Parameter        | Disabled | AutoAdjust | Tide |
| ---------------- | -------- | ---------- | ---- |
| Initial Position | --       | Yes        | Yes  |
| Target Position  | --       | Yes        | Yes  |
| Velocity         | --       | Yes        | --   |
| Acceleration     | --       | Yes        | --   |
| Amplitude        | --       | --         | Yes  |
| Frequency        | --       | --         | Yes  |

## How It Works

The lava pool uses a `MutablePoolInfo` object stored on each `EditorLevelSection`. When the level is saved, this information is serialized into the `LevelData.Pool` field. During gameplay, the pool system reads these parameters to animate the lava level.

<Warning>
  Lava pool parameters are numeric fields. Invalid values (non-numeric input) are silently ignored.
</Warning>
