squad-proto/docs/22-loot.md
z.kirill 92a8864726 Крафт стал выбором: закалка, отпечаток, направленные операции (M33)
Прежние пять операций были СЛЕПЫМИ: перековка бросала всё заново,
прививка ставила случайный тег, отсечение снимало последний аффикс,
возвышение поднимало случайный. Игрок не принимал ни одного решения - жал
кнопку и смотрел, что выпало. Это не крафт, это второй бросок предмета за
материалы.

Теперь половина операций направленные: игрок показывает пальцем, какой
аффикс трогать, и платит за это вдвое - вот это уже решение
("перебросить всё дёшево или снять один дорого").

Два новых глагола:
  ЗАКАЛКА двигает рулон выбранного аффикса к максимуму его тира на треть
  остатка. Дёшево, понятно, повторяемо - то самое "доработать почти
  хорошую вещь". Тир не трогает: за ступень платят возвышением.

  ОТПЕЧАТОК переносит лучший аффикс с ДРУГОЙ вещи, сжигая её. Именно он
  превращает хлам из схрона в ресурс, а не в мусор, который лежит.
  Правило "один тег один раз" им не обходится, бюджет проверяется.

В мастерской: клик по вещи кладёт её на верстак, повторный клик по той же
назначает донором (помечается кровью - он сгорит, и видеть это надо ДО
нажатия). Строки аффиксов стали кнопками: по ним выбирается цель.

Проверка меряет НАПРАВЛЕННОСТЬ, а не факт срабатывания:

  направленность: отсечение по цели, возвышение по цели,
                  закалка двигает рулон, отпечаток перенёс и сжёг донора

Отсечение пробуется на СРЕДНЕМ аффиксе из трёх: операция, которая
"работает", снимая последний, прошла бы и слепую версию.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 19:37:07 +03:00

21 KiB
Raw Permalink Blame History

22 — Добыча: редкости, аффиксы, артефакты, зачарования

Продолжение 20-gdd.md. Боевые формулы — 21-damage.md.

Правило, из которого всё растёт: находка должна быть решением, а не прибавкой. Предмет, который просто «лучше на 7%», не стоит того, чтобы за ним идти в темноту, — а идти в темноту и есть игра.

1. Редкости

Сделано в M25. Числа ниже — замеренные (--tool drops 1 100, по 10000 бросков на глубину), а не задуманные:

Редкость Аффиксов D1 D28 D55 D100
Обычное 0 96.9% 67.5% 38.4% 12.3%
Меченое 12 2.9% 21.3% 23.5% 21.9%
Разработка 34 0.1% 7.1% 25.1% 39.6%
Реликт 56 ~0.01% 4.1% 13.1% 26.2%
Артефакт уникальное правило + 2

Кривая редкости:

P(не обычное) = 0.02 + 0.011·d      (до 0.88)

Наклон 0.011, а не 0.0075. В первой редакции этого документа формула и таблица рядом с ней противоречили друг другу: формула давала на первом этаже 2.7% находок с аффиксами, таблица — 22%. Выбрана формула (первый этаж обязан быть скучным, 20-gdd.md §1), а наклон поднят так, чтобы сойтись с таблицей на дне: 12% обычных на сотом этаже. Проверяется инструментом.

Реликт на первом этаже возможен — примерно один на восемь тысяч находок. Это намеренно не запрещено: тир там всё равно первый, то есть пять рулонов по пять процентов. Лотерейный выигрыш, а не сломанное начало.

Артефактов пока нет — они не «ещё не выкачены», а следующая веха: артефакт даёт ПРАВИЛО, а не число, и для этого нужны триггеры (on-hit, on-kill), которых в игре ещё нет.

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

2. Слоты и что в них лежит

Слот Что Личное/общее
Руки ствол или клинок личное
Броня костюм личное
Карман оберег/фонарь/модуль личное
Сумка всё остальное общее на отряд
Гнёзда артефактов 1 → 3 по глубине рекорда общее на отряд

Гнёзда артефактов открываются рекордом: первое сразу, второе на D40, третье на D75. Артефакты общие намеренно — они правила, а не снаряжение, и делить их по бойцам значило бы прятать главное решение сборки в подменю.

3. Аффиксы

Аффикс = тег + тир + рулон. Тег определяет, ЧТО он даёт; тир — насколько сильный доступен; рулон — конкретное число в диапазоне тира.

доступный тир на глубине:  T_max(d) = 1 + floor(d / 12)      (до 9)
диапазон тира T:           [lo·T^1.35, hi·T^1.35]
цена аффикса в бюджете:    cost(T) = 4 + 5·T
бюджет предмета:           B(ilvl) = 45 + 2.5·ilvl

Из этого следует потолок: на предмете с ilvl 100 бюджет 295, шесть аффиксов девятого тира стоят 294, седьмой — уже 343. То есть предельная вещь существует ровно на дне и ровно одна.

Цифры пересчитаны против первой редакции. Там стояло cost = 6 + 4·T при B = 40 + 3·ilvl и утверждалось то же самое — «шесть и ни одним больше». На деле влезало восемь (340 / 42 = 8.1), а предельная вещь собиралась уже к семидесятому этажу. Обещание документа не выполнялось его же арифметикой; это нашёл --tool affix, а не чтение.

Выше по глубине потолок держит бюджет, ниже — счётчик аффиксов: на сороковом этаже доступен только четвёртый тир, шесть таких стоят 144 при бюджете 145. Это нормально и не является поломкой: редкость там и обещает не больше шести.

3.1. Группы аффиксов

Группа Примеры На чём
Урон +% урона, +% стихии, +крит, +критмножитель оружие
Пробитие +PEN стихии, −сопротивление цели оружие, карман
Стихия конверсия X% урона в стихию оружие
Статус +стаки, +длительность, +шанс наложения оружие, карман
Реакция +% силы реакций, ICD реакции карман, артефакт
Защита +HP, +броня, +сопротивление, +уклонение броня
Снабжение +патроны, −вес, +ёмкость, +заряд фонаря броня, сумка
Триггер on-hit / on-kill / on-hurt эффекты любое, дорого

Правило одной группы. На предмете не может быть двух аффиксов одной группы с одинаковым тегом. Иначе «+урон» шесть раз становится единственной правильной сборкой, и весь остальной список превращается в мусор.

3.2. Конверсия стихий

Конверсия — самый важный аффикс в игре, потому что он превращает оружие в инструмент против конкретного врага:

share(KIN) = 1  Σ конверсий,  Σ конверсий ≤ 0.85

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

4. Артефакты

Артефакт не даёт процентов. Он даёт правило, которое меняет то, как отряд играет. Их около 60 к моменту выхода акта VI; ниже — восемь, задающих диапазон.

Артефакт Правило Цена правила
Стеклянный кулак +140% урона 60% макс. HP всему отряду
Двойное сердце реакции срабатывают дважды 35% силы реакции
Пепельный ход убийство даёт +12% скорости, стак 8 вне боя стаки сгорают за 2 с
Долг павший оперативник встаёт через 20 с каждое воскрешение 5 макс. HP навсегда
Счётчик Гейгера RAD не тратит стаки на реакции весь отряд получает 3 RAD/сек на этаже
Тихий шаг твари замечают на 45% ближе фонарь садится вдвое быстрее
Заём +1 гнездо артефакта 25% опыта за вылазку
Пустая рука оперативник без брони: +90% урона и +50% скорости без брони

Каждый артефакт — сделка, и ни один не является чистым улучшением. Артефакт без цены превращается в обязательный предмет: его надевают все и всегда, и одно гнездо сборки выпадает из игры навсегда.

5. Материалы и зачарование

5.1. Материалы

Сделано в M27.

Материал Откуда Куда
Лом разбитая обстановка, любая глубина перековка
Био-ядро твари на этажах FLESH, D21+ прививка, возвышение
Крио-ядро твари на этажах FROST, D36+ отсечение, возвышение
Осколок реактора твари, D53+ возвышение
Пустотный шлак твари, D73+ залом

Материал добывается только в своей полосе — это и есть причина возвращаться на средние глубины после того, как рекорд ушёл вниз. Без этого весь контент, кроме последнего акта, умирает.

Полосы проверяются в --descend прямым опросом таблицы: в игре протечка была бы заметна часов через двадцать, когда выяснилось бы, что возвращаться незачем.

  плоть на 25     лом 0, био 2, крио 0, осколок 0, шлак 0
  сталь на 25     лом 0, био 0, крио 0, осколок 0, шлак 0
  мороз на 40     лом 0, био 0, крио 2, осколок 0, шлак 0

Материалы — валюта, а не предметы: не занимают ячеек, не весят, в схроне не лежат. Иначе поход за материалами превратился бы в тот же поход с сумкой. Но теряются они так же, как добыча: заработанное зачисляется только при эвакуации.

С твари падает одно ядро, с крупной — два, и это не «сколько она стоит». Первая версия роняла по её danger, и --tool craft показал, что вылазка на восьмидесятом этаже приносит тысячу ядер при цене доводки вещи в шестьсот: материалы не стоили ничего, а мастерская из ставки превращалась в кнопку.

5.2. Операции

Операция Что делает Цена Цель
Перековка заново бросает значения (теги и тиры на месте) 4 лома × тир слепо
Закалка двигает рулон ВЫБРАННОГО аффикса к максимуму его тира 6 лома × тир по выбору
Прививка добавляет аффикс нового тега, если есть бюджет 2 био × тир слепо
Отсечение снимает ВЫБРАННЫЙ аффикс 2 крио × тир по выбору
Возвышение +1 тир ВЫБРАННОМУ аффиксу 3 био + 3 крио × тир, 1 осколок по выбору
Отпечаток переносит лучший аффикс с ДРУГОГО предмета; донор сгорает 4 био + 4 крио × тир, 2 осколка по выбору вещи
Залом +2 тира всем, но на один аффикс меньше 3 шлака 12%: предмет рассыпается

Чего не хватало первой версии: ВЫБОРА

Все пять прежних операций были слепыми: перековка бросала всё заново, прививка ставила случайный тег, отсечение снимало ПОСЛЕДНИЙ аффикс, возвышение поднимало случайный. Игрок не принимал ни одного решения — он жал кнопку и смотрел, что выпало. Это не крафт, это второй бросок предмета за материалы.

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

И появились два глагола, которых не было вовсе:

  • Закалка двигает рулон к верху его тира на треть остатка. Дёшево, понятно, повторяемо — то самое «доработать почти хорошую вещь». Тир она не трогает: за ступень платят возвышением;
  • Отпечаток переносит лучший аффикс с другой вещи, сжигая её. Именно он превращает хлам из схрона в ресурс, а не в мусор, который лежит. Правило «один тег один раз» им не обходится, и бюджет предмета проверяется как везде.

Три уточнения, каждое против конкретного обхода:

  • перековка меняет только значения. Меняй она ещё и теги — это был бы новый бросок предмета, то есть способ обойти редкость;
  • прививка не ставит тег, который уже есть;
  • отпечаток берёт лучший аффикс донора, а не выбранный: игрок и так жертвует целой вещью, и просить два решения за одну цену — перебор.

Проверяется в --descend направленностью, а не фактом срабатывания:

направленность: отсечение по цели, возвышение по цели, закалка двигает рулон,
                отпечаток перенёс и сжёг донора

Отсечение проверяется на СРЕДНЕМ аффиксе из трёх: операция, которая «работает», снимая последний, прошла бы и слепую версию.

Залом — единственная операция с риском, и он настоящий: предмет исчезает, а плата снимается всё равно. Замерено на тысяче попыток: рассыпалось 11.6% при заявленных 12%, платят всегда, слот теряется всегда. Проверять это иначе нельзя — «у меня трижды не рассыпалось» не доказательство ни в какую сторону. Именно поэтому лучшая вещь в игре всегда чуть хуже, чем могла бы быть, — почти никто не заламывает то, что собирал двадцать часов. Это и задумано: разрыв между «хорошей сборкой» и «идеальной» держит лейтгейм живым.

5.3. Стоимость полной сборки

Считается инструментом, а не на глаз: --tool craft 80.

на глубине 80: ядер за вылазку 104, полная доводка вещи 648 ядер
то есть 6.2 вылазок на предмет (в документе заявлено около 8)

Доход упирается в потолок расстановки: на этаж влезает не больше MAX_LEVEL_SPAWNS тварей, поэтому с сорокового этажа и глубже вылазка приносит примерно одно и то же. Глубина даёт не количество материалов, а КАЧЕСТВО предметов — а вместе с ним и цену доводки, которая растёт с тиром. Отсюда и кривая: вещь сорокового этажа доводится за три вылазки, вещь сотого — за шесть с лишним.

Первая версия расчёта брала доход из бюджета опасности этажа и завысила его впятеро: бюджет уходит не в количество тварей, а в их силу.

6. Как это не превращается в кашу

Три правила, которые придётся защищать от самих себя при любом расширении:

  1. Ни одного чистого улучшения. Каждый артефакт — сделка, каждый высокий тир — вес или риск. Предмет без цены обязателен, а обязательный предмет — это вырезанный слот.
  2. Бюджет вместо запретов. Ограничивает арифметика, а не список исключений. Список исключений разрастается и однажды противоречит сам себе.
  3. Находка — решение. Если новая вещь не заставляет игрока хоть раз задуматься «а что снять», её не должно быть в таблице дропа вообще.

7. Проверки

Утверждение Инструмент Статус
кривая редкости: первый этаж скучный, сотый щедрый --tool drops 1 100 есть
бюджет пускает ровно шесть высших аффиксов и только на дне --tool affix <глубина> есть
выкатанное доезжает до бойца и до правил урона --descend есть
редкость и рулоны переживают запись профиля --descend, круговой прогон есть
материалов хватает на сборку за ~8 вылазок --tool economy материалов ещё нет
ни один артефакт не является чистым плюсом ревью-чеклист артефактов ещё нет
TTK не выходит из коридора с лучшими вещами --tool ttk --best нет

Проверка «доезжает до бойца» — главная. Механика, которая есть в каталоге, но не доходит до правил боя, выглядит снаружи как работающая, и на этом уже дважды попадались вес и стихии (07-milestones.md). Поэтому в --descend подкладывается карабин с известными рулонами и сверяется всё:

аффиксы: урон 12.0 -> 18.0, здоровье 100 -> 140, броня 0.10 -> 0.25, пробитие 0.20
         стихии карабина: KIN 1.00 -> 0.60, CRY 0.40, сумма долей 1.000

Последнее число тут не украшение: конверсия обязана ПЕРЕВОДИТЬ урон, а не добавлять седьмую долю сверх единицы. Иначе стихии стали бы каналом наращивания чисел — ровно тем, чем они не должны быть (21-damage.md).