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

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

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

{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}}
        }
    }
...
}

Last updated