# Движение по склонам

Штрафы за движение по склонам для юнитов в зависимости от направления (вверх или вниз) задаются в файле `pather.set`. \
В зависимости от угла наклона ячейки карты, скорость движения может меняться, что особенно важно для танков и других тяжелых единиц.

## Ключевые параметры

* `SlopeDown` – задает штрафы для движения вниз по склону. Аналог параметра `Height` из **Men of War**.
* `SlopeUp` – задает штрафы для движения вверх по склону.

### Примеры

#### Пример штрафов для движения вниз

```plaintext
{SlopeDown
    0  0  0  0  0
    0.1 0.3  0.5  0.8  1
    1  1  1 -1 -1
}
```

Комментарии в файле `pather.set` поясняют, как интерпретируются значения:

* `cost < 0` – движение запрещено.
* `cost = 0` – движение без штрафов.
* `cost > 0` – движение с штрафом, где путь вычисляется по формуле:

$$
pathCost = distance \* (terrainCost + slopeCost)
$$

#### Пример штрафов для движения вверх

```plaintext
{SlopeUp
    0  0  0  0  0 ;свободное движение до 30 градусов
    1 -1  -1  -1  -1 ;с 30 градусов вводятся штрафы
    -1 -1 -1 -1 -1 ;с 60 до 90 градусов движение запрещено
}
```

{% hint style="info" %}
При загрузке таблицы `SlopeDown`, она автоматически применяется и для `SlopeUp`, если последняя не указана отдельно. \
Если нужно сделать другие настройки для движения вверх, таблицу `SlopeUp` надо указать после`SlopeDown`.
{% endhint %}

## Отладка

Квантованные значения углов наклона для рассчетов Поиска Пути можно увидеть вместе с сеткой карты высот, включив её через сочетание клавиш `Alt+H` или установив флажок  `heightmap` в интерфейсе вкладки [Редактора высот](/documentation/gem-rts-v1-ru/redaktor/redaktor-kart/redaktor-landshafta/redaktor-vysot.md#dopolnitelnye-funkcii-redaktora-vysot) `Heights`.\
Например, если в ячейке сетки `heightmap` отображается значение 5, это значит, что выбран угол в 30 градусов, соответствующий ячейке с индексом 5.

<figure><img src="/files/iOQP6zvBGmaysoNxhcbE" alt=""><figcaption><p>Карта поиска пути</p></figcaption></figure>

## Рекомендации для настройки

* **Юниты техники**\
  Предполагается, что юниты техники движутся прямо вниз без специального пересчета поиска пути. \
  При движении вверх рекомендуется выбирать альтернативный маршрут.
* **Юниты пехоты**\
  Предполагается, что юниты пехоты не должны пытаться преодолевать обрывы. Они должны автоматически выбирать обходные пути.

## Особенности использования

В **сетевом режиме игры** для юнитов типа `human` параметр `SlopeUp` в  Поиске Пути не поддерживается. Штрафы настраиваются через таблицу `Height\SlopeDown`.&#x20;

Для юнитов техники необходимо настроить обе таблицы (`SlopeDown` и `SlopeUp`).

## Требования к картам

Движение по склонам работает согласно таблиц (`SlopeDown` и `SlopeUp`) при условии, что на картах нет участков, размеченных флагом `no_pass`.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bestway-1.gitbook.io/documentation/gem-rts-v1-ru/nastroiki-igrovykh-parametrov/dvizhenie-po-sklonam.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
