Эффекты: что движок умеет, а что нет
Каталог эффектов — Combat - Effects и карточки рядом. Здесь только одно: какой эффект можно выдать контентом сегодня, а какой сначала надо заказать в движок.
Как читать статус
Мерка у эффектов другая, чем у карточек юнитов: не «есть ассет EffectData», а есть ли
рантайм-поддержка — компонент в Assets/_Project/Scripts/Combat/Effects/Components/ или система
боевого ядра. Ассет без компонента ничего не делает, поэтому считать по ассетам было бы врать.
impl | Значит |
|---|---|
engine | компонент/система есть, эффект выдаётся данными |
partial | часть примитива есть, часть нет — деталь в impl_note |
paper | в коде нет ничего; контентом не выдать |
Ручная сверка — 2026-07-29 (по списку компонентов и грепу боевого ядра). Сверка неглубокая: она отвечает «есть ли механика вообще», а не «совпадают ли числа с карточкой».
Что движок умеет
TABLE impl AS "Состояние", asset AS "Ассеты EffectData", impl_note AS "Чем поддержано"
FROM "gdd/20-combat/effects"
WHERE impl = "engine" OR impl = "partial"
SORT order ASCЧего движок не умеет вовсе
TABLE status AS "Статус дока"
FROM "gdd/20-combat/effects"
WHERE impl = "paper"
SORT file.name ASCНа 2026-08-01 это Очарование, Ярость, Сон — в коде нет ни компонента, ни тега. Практическое следствие: любой черновик юнита, стоящий на этих трёх (а такие в открытых вопросах есть), — это заявка в движок, а не готовый к авторингу дизайн. Учитывать при оценке «сколько стоит новый герой».
Кровотечение из этого списка вышло 2026-07-30 и стояло здесь по инерции. В движке оно целиком:
effect.bleed(PeriodicDamageComponent, тип уронаBleed, порции без потолка), пассивка-носительBleedOnHitComponent(«мои удары пускают кровь», доля от урона по статам) и тегtag.bleed. Ошибка стоила решения: 2026-08-01 разбойника-убийцу я отложила как «сначала завести кровь в движок» — заводить было нечего.
Частичные:
- CC-примитивы — стан есть (
ControlComponent); обездвиживание, сон и немота отсутствуют. Это упирается в тему «холодная линия» из Meta - Roadmap §Блок 2, где обездвиживание — вторая ступень.
Обновление 2026-07-31 (заход по ростеру врагов, docs/enemies-implementation-progress.md):
- Яд — идентичность яда закрыта: анти-хил заведён шкалой
effect.antiheal_weak|medium|strong|absolute(30/50/75/100% поверхHealShieldTakenEff) и уже стоит на отравленном арбалете разбойника. Яд и кровотечение больше не механические близнецы. - Слепота (сборник стат-модификаторов) — в движке
(
BlindComponent), первый носитель Гоблин-шутник. Промах детерминированный, по счётчику атак носителя; глубина — стаки 1-4 порциями. - Меткость — по-прежнему
paper; пока её нет, у слепоты нет прямой контры из каталога.
Доки-правила (статус не применим)
Property Reference ·
Combo Rules ·
Template — это справочники и шаблон, а не эффекты;
поля impl у них нет намеренно.