> For the complete documentation index, see [llms.txt](https://docs.bestway.com.ua/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.bestway.com.ua/gem-rts-v1-ru/nastroiki-igrovykh-parametrov/modifikatory-slozhnosti.md).

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

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

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

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

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

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

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

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

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

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

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

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

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

В каждом из блоков 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\\
