# Модификаторы сложности

Модификаторы сложности используются для регулирования сложности игры и задаются в файлах с расширением .dl

## Расположение файлов модификаторов сложности

Глобальные модификаторы расположены в папке **set\difficulty**

Локальные модификаторы, если они нужны для конкретной карты, находятся в файле **.dl** непосредственно в папке с картой.\
Локальные модификаторы перекрывают глобальные.

## Уровни сложности

На каждый уровень сложности должен быть отдельный файл:&#x20;

* novice.dl
* easy.dl
* normal.dl
* hard.dl
* nightmare.dl

## Формат файлов .dl

Код файла содержит один или несколько блоков **difficulty**.

В каждом блоке **difficulty** располагается обязательный блок **any** | **ally** | **enemy** (может быть несколько блоков), определяющий отношения (relation): враг\союзник\нейтральный юнит (enemy\ally\neutral).&#x20;

{% hint style="info" %}
Relation в игре определяется следующим образом: в pvp-сессии всегда берется REL\_ALLY, в противном случае (в том числе и в редакторе) по user.
{% endhint %}

Блок any должен идти первым, потому что он переписывает значения в блоках enemy\ally\neutral.&#x20;

В каждом из блоков any | ally | enemy содержатся блоки параметров в формате:

```
{<имя параметра> [значение]
    [условия]
}
```

Если значение параметра не указано, берется 1

Условия записываются в формате

```
{if <condition> [значение]
    [условия]
}
```

Условия могут быть вложенными.\
Условия перебираются последовательно. Будет выбрано значение из первого сработавшего условия.

Например

{% code lineNumbers="true" %}

```
{vision_angle_h 1
    {if human 0.2
        {if mp_team "a" 0.5}
    }
    {if tags “xxx” 0.8}
}
```

{% endcode %}

В строке 1 задается значение vision\_angle\_h равное 1 для всех юнитов

В строке 2 проверяется, если юнит Human, то параметру vision\_angle\_h установливается значение равное 0.2

В строке 3 находится вложенное условие для блока из строки 2: для мультиплеерной игры  если юнит Human принадлежит  команде "а", то параметру vision\_angle\_h присваивается значение 0.5

Пятая строка устанавливает значение параметру vision\_angle\_h равное 0.8, только если предыдущие условия не сработали.

## Список модификаторов

health

accuracy

aim\_range

vision\_range (только для human)

vision\_angle\_h

translate\_damage

translate\_stun

translate\_suppression

burst

firing\_timeout

grenade\_timeout

reload\_timeout

health\_increase

vehicle\_burst

mounted\_mgun

cover\_mgun\_accuracy

cover\_mgun\_burst

cover\_mgun\_delay

damage

damage\_pierce

ai\_damage

hitchance

cover\_damage

cover\_hitchance

crawl\_damage

crawl\_hitchance

blast\_crawl

blast\_crawl\_prepared

blast\_cover

blast\_cover\_prepared

blast\_squat

fragments\_crawl

fragments\_crawl\_prepared

fragments\_cover

fragments\_cover\_prepared

fragments\_squat

morale\_inc

morale\_dec

withdraw\_time

withdraw\_cooldown

inform\_range

recognation\_time<br>


---

# 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/modifikatory-slozhnosti.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.
