squad-proto/docs
z.kirill 28a9e5b6e4 Триггеры: четыре условных эффекта на аффиксах (M28)
ON_HIT поджигает цель, ON_KILL даёт рывок скорости стаками, ON_HURT
обжигает того, кто ударил, ON_DOWN даёт отряду ярость за павшего.
Отдельным тегом аффикса, то есть по тем же правилам, что и всё
остальное: платит по тиру, влезает в бюджет, катается и прививается.

СДЕЛАНО НЕ ТАК, КАК ПРЕДЛАГАЛ ДИЗАЙН. В docs/21-damage.md §4 стояло:
журнал боевых событий уже есть, вешайте триггеры на него. Звучит
правильно, и сделать так нельзя: sim/events.h это канал «симуляция ->
эффекты», односторонний по устройству, и в headless-прогонах его нет
вовсе. Начни правила боя его читать — игра станет вести себя по-разному
с окном и без, то есть --accept начнёт мерить не то, что меряет.

Триггеры срабатывают в месте урона. Опасение «два канала разойдутся»
снято иначе: второго канала никто и не завёл, есть четыре точки рядом с
тем уроном, который триггер обслуживает.

Четыре из девяти, и это не «пока»: каждый эффект обязан класть своё
число в уже существующий канал влияния. Крита в игре нет, площадного
урона нет, выдачи предметов на входе нет — заводить их ради строк
таблицы значит завести пять мёртвых веток. Причины выписаны в документе.

Три ограничителя проверяются числами в --descend:

  триггеры: аффикс доехал да, ON_HIT поджёг стаков 1, откат 0.9 с
            (за него наложено 0), ON_KILL стаков 1, скорость 1.06
  рекурсия: за один шаг стаков прибавлялось максимум 1

Первая строка про проводку: аффикс с триггером легко сделать так, что он
лежит в предмете, показывается в подсказке и не делает ничего.

Проверка сперва брала targets[0] и проходила на descent по везению: на
hollow первым в пуле стоял ящик, а обстановка не горит и убийством не
считается. Теперь цель ищется по виду и ставится в свободную клетку с
прямой видимостью — иначе замеряется планировка этажа, а не триггеры.

Шаг симуляции 3.7 мкс из 16666. --accept PASS.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 03:32:12 +03:00
..
00-overview.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
01-build-and-run.md Материалы и мастерская: вещь можно доработать (M27) 2026-08-16 03:07:46 +03:00
02-architecture.md Статусы стихий и реакции (M22) 2026-08-15 05:45:17 +03:00
03-rendering.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
04-world.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
05-squad-ai.md Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
06-debug-and-tuning.md Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
07-milestones.md Триггеры: четыре условных эффекта на аффиксах (M28) 2026-08-16 03:32:12 +03:00
08-decisions.md Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
09-acceptance.md Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
10-atmosphere.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
11-melee.md Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
12-assets.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
13-combat.md Отряд растёт с одного оперативника до пяти (M24) 2026-08-15 22:29:19 +03:00
14-monsters.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
15-engine-and-editor.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
16-descent.md Свет как расходник: заряд тратится за путь, а не за время (M23) 2026-08-15 22:12:05 +03:00
17-extraction.md Редкости и аффиксы: находка стала решением (M25) 2026-08-16 02:35:00 +03:00
18-engine.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
19-agent.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
20-gdd.md Отряд растёт с одного оперативника до пяти (M24) 2026-08-15 22:29:19 +03:00
21-damage.md Триггеры: четыре условных эффекта на аффиксах (M28) 2026-08-16 03:32:12 +03:00
22-loot.md Материалы и мастерская: вещь можно доработать (M27) 2026-08-16 03:07:46 +03:00
23-endgame.md Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent_attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v2-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v2-rifle-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v3-rifle-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v4-rifle-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v5-rifle-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
agent-v6-rifle-attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
art-target-alien-shooter.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
brute_attack.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
combat.png Прототип боевого ядра: отряд, хоррор-слой, ближний бой 2026-08-03 13:00:49 +03:00
descent-d12.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-hollow-topdown.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-level.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-room.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-spawn.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-terminal-tools.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
editor-terminal.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
level-rooms-seed42.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-fitted-operative-idle-v2.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-fitted-operative-idle.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-quaternius-body-walk.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-source-body-idle-v3.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-source-body-walk-v2.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
lod-source-body-walk.preview.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
menu.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
raid.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
runtime-alien-shooter-clean.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
runtime-alien-shooter-pass.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
runtime-spriteforge-blender-agent.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
runtime-spriteforge-scale-fixed.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
runtime-spriteforge.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
rusher-direct-gate-v2.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
rusher-direct-gate.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
sample-walk-topdown.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
sample-walk.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
spriteforge-contact-sheet.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
squad.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
ui-depth.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
ui-squad-stash.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
ui-summary.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
ui-upgrades.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00
view-topdown-hollow.png Документация: границы движка, работа через модель, дизайн игры до лейтгейма 2026-08-13 21:07:45 +03:00