Методичка: создание эффекта

Как проектировать эффект (статус) и как оформлять его в документации. Эффект — базовый кирпич глубины: киты мементо и врагов собираются из producer→consumer связок вокруг эффектов (каталог эффектов).

Технический движок (EffectData, IEffectComponent[], диспел) — боевая модель (код Assets/_Project/Scripts/Combat/). Здесь — дизайн и авторинг.


1. Что такое эффект

Эффект — это глагол. Идентичность несёт статус, урон-число вторично: «огненный герой» — не «красный урон», а «накладывает и эксплуатирует горение». Технически эффект — это EffectData: набор тегов, правило стакинга, тир снимаемости и компоненты (ЧТО он делает), параметры которых скейлятся статами.

Producer→consumer (кто накладывает / кто эксплуатирует) — ядро глубины, но в ГД-доках НЕ ведётся: это выводится движком (накладыватель = у кого компонент ApplyEffect; потребитель = reactive на тег). Ручной реестр носителей рассинхронится — решение 2026-07-17.


2. Расслоение: карточка или сборник

Пул эффектов разнокалиберный — от «Отравления» с целой под-системой до «−10% дальности». Поэтому две формы записи:

ФормаДля чегоПример
Карточка (отдельная страница)Тяжёлые/уникальные эффектыОтравление, Поджог+Угли, Сон, Метка
Сборник (страница-список)Простые однотипные эффектыСтат-модификаторы, CC-примитивы, комбо-правила, теги-состояния

Критерий: когда эффект заслуживает своей карточки

Своя страница, если есть хотя бы одно:

  • (а) уникальное правило поверх стат-мода (Сон спадает от урона + ×2 пробуждение);
  • (б) несколько под-механик/параметров (Поджог + отдельные «Угли» + детонация);
  • (в) свой комбо-хук (эффект — часть взаимодействия тегов).

Иначе → в сборник. «Оглушение», «−дальность», «+броня» проходят в сборник автоматически; «Отравление», «Метка», «Инвиз» — карточки. Правило снимает споры «а это карточка?».

Сборники (стартовый набор)

  • Стат-модификаторы — баффы/дебаффы статов (−атака, +броня, ускорение КД, уязвимость…).
  • CC-примитивы — Оглушение / Обездвиживание / Замедление / Провокация / Страх / Немота. Холод — НЕ примитив: это линия из трёх состояний, карточка Effect - Frost.
  • Комбо-правила — Раскол / Детонация / Проводимость и т.п. (матрица взаимодействий).
  • Теги-состояния — Мокрый / Наэлектризованный / Подожжённый / Обмороженный (маркеры).

Не сваливай всё в один файл — дроби сборники по классу. Разрастётся — дели дальше.


3. Формат карточки: свойства-блок + проза (не Bases)

Без шагов-вопросов и без Obsidian Bases. frontmatter — минимальный служебный (title, order, status); свойства не выносим в frontmatter-ключи (базой не пользуемся, порядок в папке — через order).

Классификация идёт читаемым блоком вверху тела, каждое свойство — ссылкой на справочник свойств, где определены значения:

Класс: DoT + Дебафф · Полярность: Debuff · Теги: DoT, Poison Стакинг: Stack · Снятие: T1 · Школа: по яду · Сродство: Яд

Ниже — короткая проза H2-разделами (все опц.):

  • Суть (1–2 фразы): глагол + роль/ниша.
  • Механика: как действует, тип компонентов (periodic/reactive/statmod), особое правило, под-механики. Числа-ориентиры — прямо в тексте; финальный баланс и таблицы — в Unity (EffectData/конфиги), не в вики.
  • Снятие и контра: чем игрок отвечает.
  • Комбо: какие теги тегает/читает — ссылкой на матрицу, не расписывая здесь.
  • Баланс-флаги: риски, что проверить.

Справочник свойств (property-reference) — единый словарь значений (класс, полярность, теги, стакинг, тир клинза, тип компонентов), аналог модели AI-настроек у мементо. Школы/сродства — из Статы / Справочник тегов.


4. Наименование и связь с данными

  • Имя: RU + EN-канон (Отравление / Poison, Поджог / Burn, Раскол / Shatter) — H1 карточки.
  • id (effect.*) живёт в EffectData-ассете (тех-слой, дата-слой (код Assets/_Project/Scripts/Data/, правила — скилл xgaida-x-nixi-data-authoring)) — в дизайн-карточку не дублируем. Связь дизайн↔данные — по EN-имени/ассету.
  • Карточка эффекта = источник дизайн-правды; EffectData её реализует (не наоборот).
  • Loc-ключи — забота тех-слоя ({id}.name/.desc, RU заполнен).

5. Комбо и теги-состояния

Взаимодействия (Раскол, Детонация, Мокрый+молния…) живут не на страницах отдельных эффектов, а в сборнике комбо-правил (матрица «состояние × триггер → эффект»). Карточка эффекта только ссылается на матрицу. Иначе взаимодействие размажется по 4 страницам и рассинхронится.

Теги-состояния (Мокрый и пр.) — лёгкий класс маркеров: у каждого в сборнике две строки «что накладывает» и «что читает» — это не producer/consumer-реестр, а само определение тега (без них тег пуст).


6. Чеклист эффекта

Карточка (большой эффект):

  • Прошёл критерий §2 (уникальное правило / под-механики / комбо-хук)
  • Свойства-блок вверху тела заполнен со ссылками на справочник (класс, полярность, теги, стакинг, снятие, школа/сродство); frontmatter минимальный (title/order/status)
  • Тело — проза (суть/механика/контра/комбо/баланс), без шагов и без Bases-ключей
  • Комбо/теги — ссылкой на матрицу, не расписаны на месте
  • Имя RU + EN-канон (H1)
  • Заведён в индекс эффектов

Сборник (простой эффект): строка с классом, тегом, стак-правилом, тиром клинза + краткое описание. Без отдельной страницы.