Атаки и взрывы
Элемент Attack (урон, отбрасывание, отрыв конечностей) и Explosion (радиус, сила, ЭМИ, огонь).
Элемент Attack
<Attack> описывает один акт нанесения урона — у оружия, у атаки существа, у снаряда. Главные
атрибуты:
| Атрибут | По умолч. | Зачем |
|---|---|---|
itemdamage | 0 | Урон по предметам. |
structuredamage | 0 | Урон по стенам подлодки. |
ranged | false | Дальнобойная атака или ближнего боя. |
range | 0 | Дистанция, с которой ИИ начинает атаку. |
force | 0 | Сила, которая прилагается к атакующей конечности (к цели). |
severlimbsprobability | 0 | Шанс оторвать цели конечность (0–1). |
targetimpulse | 0 | Импульс по цели; отрицательное значение притягивает её к себе. |
Что вкладывают в атаку
<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> устраивает взрыв в точке — у гранат, боеприпасов, ловушек. Главные атрибуты:
| Атрибут | По умолч. | Зачем |
|---|---|---|
range | 0 | Радиус взрыва. |
force | 0 | Сила отбрасывания персонажей. |
structuredamage / itemdamage | 0 | Урон по стенам / предметам. |
EmpStrength | 0 | Сила электромагнитного импульса (ЭМИ). |
BallastFloraDamage | 0 | Урон по балластной флоре. |
itemRepairStrength | 0 | «Лечащий» взрыв — чинит предметы. |
applyFireEffects | false | Запускает у целей эффекты OnFire. |
ignoreCover | false | Игнорировать укрытия / препятствия. |
OnlyInside / OnlyOutside | false | Ограничение по месту (внутри / снаружи). |
Визуальные эффекты: 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.