ЭИК
Эффекты и боёвка

Атаки и взрывы

Элемент Attack (урон, отбрасывание, отрыв конечностей) и Explosion (радиус, сила, ЭМИ, огонь).

Элемент Attack

<Attack> описывает один акт нанесения урона — у оружия, у атаки существа, у снаряда. Главные атрибуты:

АтрибутПо умолч.Зачем
itemdamage0Урон по предметам.
structuredamage0Урон по стенам подлодки.
rangedfalseДальнобойная атака или ближнего боя.
range0Дистанция, с которой ИИ начинает атаку.
force0Сила, которая прилагается к атакующей конечности (к цели).
severlimbsprobability0Шанс оторвать цели конечность (0–1).
targetimpulse0Импульс по цели; отрицательное значение притягивает её к себе.

Что вкладывают в атаку

  • <Affliction> — аффликшены, которые навешиваются при попадании (урон, кровотечение и т. д.).
  • <StatusEffect> — эффекты на использование/успех/промах (type="OnUse"/OnSuccess).
  • <ParticleEmitter> — частицы при нанесении урона.
  • <Sound> / <RoundSound> — звук удара.
<Attack itemdamage="20" structuredamage="15" ranged="false"
        range="150" force="5" severlimbsprobability="0.1" targetimpulse="2">
  <Affliction identifier="internaldamage" strength="25" />
  <Affliction identifier="bleeding" strength="10" />
  <StatusEffect type="OnUse" target="This" Condition="-5" />
</Attack>

Урон по персонажам в свежих версиях обычно задают через вложенные <Affliction> (например, internaldamage, bleeding), а не одним числом. itemdamage и structuredamage — это урон по предметам и по стенам соответственно.

Где используется Attack

  • Внутри компонентов оружия — <MeleeWeapon>, <RangedWeapon>, <Projectile>.
  • В разделе атак существа (внутри его конфига / конечностей).

Пример оружия ближнего боя:

<Item identifier="myspear" name="My Spear" category="Weapon" tags="mediumitem,weapon">
  <Sprite texture="%ModDir%/textures/spear.png" sourcerect="0,0,256,64" />
  <Holdable slots="Any,RightHand,LeftHand" />
  <MeleeWeapon range="120" reload="0.8">
    <Attack structuredamage="5" severlimbsprobability="0.2" targetimpulse="3">
      <Affliction identifier="lacerations" strength="30" />
      <Affliction identifier="bleeding" strength="15" />
    </Attack>
  </MeleeWeapon>
</Item>

Элемент Explosion

<Explosion> устраивает взрыв в точке — у гранат, боеприпасов, ловушек. Главные атрибуты:

АтрибутПо умолч.Зачем
range0Радиус взрыва.
force0Сила отбрасывания персонажей.
structuredamage / itemdamage0Урон по стенам / предметам.
EmpStrength0Сила электромагнитного импульса (ЭМИ).
BallastFloraDamage0Урон по балластной флоре.
itemRepairStrength0«Лечащий» взрыв — чинит предметы.
applyFireEffectsfalseЗапускает у целей эффекты OnFire.
ignoreCoverfalseИгнорировать укрытия / препятствия.
OnlyInside / OnlyOutsidefalseОграничение по месту (внутри / снаружи).

Визуальные эффекты: flames, sparks, shockwave, smoke, underwaterBubble, flash, flashColor, flashRange, showEffects (общий выключатель).

<Explosion range="500" force="5" structuredamage="50"
           flames="true" showEffects="true" EmpStrength="10" flashColor="Orange">
  <Affliction identifier="burn" strength="40" />
  <Affliction identifier="stun" strength="3" />
</Explosion>

Взрыв внутри статус-эффекта

<Explosion> часто кладут внутрь <StatusEffect> — например, чтобы граната рванула при использовании:

<StatusEffect type="OnUse" target="This">
  <Explosion range="300" force="8" structuredamage="20">
    <Affliction identifier="burn" strength="25" />
  </Explosion>
</StatusEffect>

Когда контент готов — пора публиковать: выкладка в Steam Workshop.