> 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/nastroika-broneprobivaemosti.md).

# Настройка бронепробиваемости

В Gem RTS параметры брони задаются в блоке `armor` в **.def**-файлах объектов соответствующих юнитам военной техники. В блоке задаются параметры для расчета повреждений, пробития и накопления урона для различных **компонентов модели техники**.

Ключевые элементы настройки:

* Привязка блока настроек к компоненту.
* Определение толщины брони (фиксированно или по трассировке объёма).
* Пороги урона (`threshold`).
* Прочность брони (`durability`).
* Общие флаги, влияющие на накопление урона.

Помимо **.def**, система использует:

* `set\`**`material.set`** — глобальные параметры материалов (эквивалент стали, прочность).
* **.mod** — модификаторы для пакетного изменения характеристик брони.

## Настройка брони

Настройка брони прописывается в блоке armor в файле с расширением .def

{% file src="/files/ZyUvfzsH3obF6HxAkCQO" %}

```
{armor
    {setting "turret"
        {disable_damage_acc 0}
        {hole_wound 0}
        {ray_cast_thickness 0}
        {threshold
            {pierce
                {calibre 10}
                {value 7}
                {koef 2.0}
            }
            {blast
                {value 8}
                {koef 8}
            }
        }
        {durability
            {pierce
                {value 22}
                {koef 2.5}
            }
            {blast
                {value 17}
                {koef 3.0}
            }
        }
        {volumes "turret"}
        {thickness 5}
        {thickness 90 20}
        {thickness 90 20 15 10}
    }
    {setting "gun"
        {durability {blast {koef 2}}}
        {threshold
            {blast {value 15}}
            {pierce {value 16}}
        }
        {volumes "gun"}
    }
    ...
}
```

**Пояснения для кода из приведенного примера:**

**setting "turret"** - название блока настроек, в данном случае, настройка брони башни.

**disable\_damage\_acc 0** - запрещать ли накопление урона, по умолчанию - 0.

**hole\_wound 0** - создается ли место накопления урона на весь volume или шаром, по умолчанию - 0, то есть шаром.

**ray\_cast\_thickness 0** - определять ли толщину брони через трассировку volume’а по направлению попадания снаряда или по параметру thickness. По умолчанию, 0.\
При этом углы наклона брони игнорируются.\
Для вычисления эквивалента в мм стали используются параметры материала.

В блоке кода **threshold** задаются пороги влияния на броню.\
Все значения урона, которые меньше порога будут проигнорированы.

* **pierce** - блок кода, котором задаются пороги для пробития брони:
  * **calibre 10** -так можно задать порог пробития калибром ствола. У каждой пушки есть свой калибр ствола в мм.
  * **value 7** - если есть **value**, то порог пробития равен значению value
  * **koef 2.0** - если есть **koef**, то порог пробития равен эффективной толщине брони в этом месте умноженной на значение koef
  * если нет ни **value**, ни **koef**, но есть коэффициент порога у оружия **weapon\_koef**, то порог пробития будет равен эффективной толщине брони в этом месте деленной на значение weapon\_koef
  * если нет ни одного из трех, то порог пробития будет равен эффективной толщине брони в этом месте.
* **blast** - блок, в котором задаются пороги повреждения брони от взрывной волны:
  * коэффициенты **value**, **koef**, **weapon\_koef** работает аналогично тому, как работают соответствующие коэффициенты в блоке кода **pierce**

В блоке кода **durability** задается прочность брони.\
Урон будет накапливаться, пока не превысит прочность.\
При превышении этого порога произойдет пробитие.\
Прочность (**durability**) позволяет задать количество выстрелов, необходимых для разрушения брони.

Прочности для пробития (pierce) и прочность для взрыва (blast), рассчитываются по коэффициентам **value**, **koef** и **durability**, исходя из логики:

* если есть **value**, то прочность берется равной value
* если есть **koef**, то прочность считается равной толщине брони в этом месте, умноженной на **koef**
* если не указан ни **value**, ни **koef**, то прочность равна толщине брони в этом месте, умноженной на **durability** материала в **volume**
* если в материале не указан эквивалент, то прочность равна толщине брони в этом месте

**volumes "turret"** - название волюма ("turret") или маска волюмов ("track\*"). Можно перечислять несколько через пробел.

**Варианты задания толщины брони:**

1. thickness 5 - задание одной толщины брони для всех сторон
2. thickness 90 20 - задание разной толщины брони для лобовой и остальных сторон
3. thickness 90 20 15 10 - задание разной толщины лобовой, боковой, задней и верхней/нижней брони

## Материалы брони

Настройка материалов для брони прописывается в файле **set\material.set**

```
{materials
    {"concrete"
        {steelEquivalent 0.1}
        {durability
            {pierce 10}
            {blast 1}
        }
    }
...
}
```

## Коэффициенты толщины брони

Настройка коэффициентов толщины брони прописывается в файлах с расширением .mod

```
{Modifiers
    {modifier
        {name higharmor}
        {filter {include {tag {tag higharmor}}}}
        {parameters
            {armor {scale 1.3}}
        }
    }
...
}
```
