Основы персонажей
Элемент Character, файлы конфигурации, рэгдолл и анимации, разделы health и ai, варианты через VariantOf.
Из чего состоит существо
Существо (Character) в Barotrauma — это не один файл, а связка:
- XML-конфиг (
<Character>) — параметры, здоровье, ИИ, инвентарь. - Файлы рэгдолла — физическая модель тела (конечности, суставы).
- Файлы анимаций — как существо двигается (плавает, ходит).
Обычно эти файлы генерит редактор персонажей (Character Editor), и руками их правят только ради сложной кастомизации.
Корневой элемент Character
<Character SpeciesName="mycreature" Humanoid="false"
CanInteract="false" NeedsAir="false" NeedsWater="true">
<Ragdoll />
<Animations />
<Health Vitality="100" />
<ai />
</Character>
Главные атрибуты
| Атрибут | Зачем |
|---|---|
SpeciesName | Идентификатор вида, по нему на существо ссылаются. |
Humanoid | Гуманоид или нет (влияет на ограничения анимаций). |
HasInfo | Включает назначение профессии (jobs). |
CanInteract, CanSpeak | Может ли взаимодействовать / говорить. |
NeedsAir, NeedsWater | Нужен ли воздух / вода. |
DisplayName | Имя для игрока (перебивает видовое). |
Noise, Visibility | Насколько существо заметно для механик обнаружения. |
Основные вложенные разделы
Ragdoll и Animations — указывают игре, в каких папках искать файлы рэгдолла и анимаций. Руками их обычно трогать не надо.
Health — максимальная живучесть (vitality), глубина раздавливания (crush depth), регенерация, множители урона по конечностям и модификаторы живучести по типам урона.
AI — боевое поведение: чувствительность зрения/слуха, пороги здоровья, приоритеты целей, дистанции реакции и паттерны атак. Здесь же существо получает свои атаки (см. атаки и взрывы).
Inventory — сколько слотов, правила доступа, возможный лут с весами commonness.
Варианты: VariantOf
Хочешь «подвид» существа — наследуй базового через VariantOf и переопредели только нужные
разделы (например, <Ragdoll>, <Attack>, <Health>) с модификаторами вроде
ScaleMultiplier и DamageMultiplier:
<Character SpeciesName="bigspineling" VariantOf="spineling">
<Health Vitality="200" />
<Ragdoll ScaleMultiplier="1.5" />
</Character>
Удобный способ быстро слепить усиленную/ослабленную версию ванильного монстра, не копируя все файлы.
Как обычно делают существо
- Лепишь основу в редакторе персонажей — он сгенерит рэгдолл и анимации.
- Подключаешь файл существа как тип контента
Characterвfilelist.xml. - Точечно правишь XML — здоровье, ИИ, атаки.
- Тестишь через консоль (
spawn mycreature).
Урон и эффекты существа разберём в уроках про статус-эффекты и атаки и взрывы. А сначала — система аффликшенов.