Аффликшены
Болезни, травмы и эффекты состояния: элемент Affliction, подтипы, пороги активации и диапазоны силы.
Что такое аффликшен
Аффликшен (Affliction) — это состояние, которое навешивается на персонажа: кровотечение,
отравление, ожог, болезнь, баффы и дебаффы. В игре их называют «недуги». AfflictionPrefab —
это «шаблон» аффликшена, который потом применяется к персонажу (статус-эффектом или атакой).
Корневой элемент и подтипы
Аффликшены описывают внутри корня <Afflictions>. Имя тега задаёт подтип аффликшена —
это даёт особое поведение:
<Afflictions>
<Affliction identifier="mycoolaffliction1" />
<AfflictionPrefabHusk identifier="mycoolaffliction2" />
<AfflictionBleeding identifier="mycoolaffliction3" />
</Afflictions>
<Affliction>— базовый тип.<AfflictionBleeding>— механика кровотечения.<AfflictionPrefabHusk>— заражение хаском.
Главные атрибуты
| Атрибут | Зачем |
|---|---|
identifier | Уникальное имя аффликшена. |
Type | Произвольная строка-классификатор типа. |
MaxStrength | Максимальная сила (по умолчанию 100). |
LimbSpecific | Действует на отдельные конечности или на персонажа целиком. |
icon | Иконка в интерфейсе. |
Сила и пороги
Сила аффликшена — это число; эффекты привязываются к диапазонам через MinStrength и
MaxStrength. Ключевые пороги:
- ActivationThreshold — при какой силе аффликшен начинает действовать.
- ShowIconThreshold — при какой силе показывать иконку в интерфейсе.
- TreatmentThreshold — при какой силе боты пытаются лечить
(по умолчанию
max(ActivationThreshold, 10)).
Чем выше сила — тем сильнее эффект: аффликшен может снижать живучесть, искажать картинку, менять скорость персонажа и запускать статус-эффекты.
Пример: ядовитый аффликшен
<Afflictions>
<Affliction identifier="myvenom" name="My Venom" type="poison"
maxstrength="100" icon="..." limbspecific="false">
<Effect minstrength="0" maxstrength="100" minvitalitydecrease="0"
maxvitalitydecrease="20">
<StatusEffect type="OnActive" target="Character">
<Affliction identifier="stun" strength="2" />
</StatusEffect>
</Effect>
</Affliction>
</Afflictions>
Тут чем сильнее яд, тем больше потеря живучести, а вложенный статус-эффект ещё и подкидывает оглушение.
Как аффликшен попадает на персонажа
Аффликшены вешают через <Affliction> внутри <StatusEffect> или <Attack>:
<StatusEffect type="OnUse" target="UseTarget">
<Affliction identifier="myvenom" strength="10" />
</StatusEffect>
То есть аффликшен — это «что» (само состояние), а статус-эффект или атака — «как и когда» оно навешивается. Логику применения разбираем в уроке про статус-эффекты.