ЭИК
Персонажи

Аффликшены

Болезни, травмы и эффекты состояния: элемент 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>

То есть аффликшен — это «что» (само состояние), а статус-эффект или атака — «как и когда» оно навешивается. Логику применения разбираем в уроке про статус-эффекты.