dnd5-scripts/generate_encounter/Encounter Classification.md
2026-06-17 22:32:48 +03:00

69 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Для создания системы, которая будет работать как надежный Python-скрипт и выдавать данные для нейросети, нам нужно абстрагироваться от конкретных существ и сосредоточиться на **состоянии мира**.
Хуки (Hooks) должны быть «контейнерами», которые описывают **контекст происходящего**, но оставляют вопрос «кто в этом участвует» и «как они настроены» на долю генераторов (Beasts/NPC) и бросков Реакции.
Вот классификация и обобщенные хуки, расширенные на основе данных `dmg_encounters.txt`:
---
### 1. PvP (Персонаж против Персонажа/Существа)
**Суть:** Столкновение воль. Существа заняты своим делом, в которое втягиваются герои.
**Логика для Питона:** Генерирует 1d4+1 NPC (через `henchmen.py`) или Монстров (через `encounter_generator.py`).
**Хуки (Нейтральные к Реакции):**
* **The Claim (Притязание):** Существа охраняют территорию, пост или право прохода. (При Hostile — требуют плату/атакуют; при Friendly — делятся советом о дороге).
* **The Task (Поручение/Призыв):** Существа находятся при исполнении обязанностей (патруль, сбор налогов, охота). Они оценивают героев как ресурс или помеху.
* **The Internal Conflict (Свалка):** Группа существ конфликтует между собой. Герои могут стать судьями, жертвами или союзниками. (Темы: Brawl, Protest, Patrol vs Raiders).
* **The Shadow (Слежка/Промысел):** Существа скрытно наблюдают за героями или пытаются совершить скрытое действие (Pickpocket, Shady transaction, Spy).
* **The Interaction (Предложение/Запрос):** Существа активно ищут контакта для обмена, торговли или получения помощи (Merfolk traders, Companion, Urchin).
### 2. PvE (Персонаж против Среды)
**Суть:** Опасность или изменение ландшафта. Живые существа здесь — лишь статисты или жертвы, не влияющие на саму угрозу.
**Логика для Питона:** Не требует бросков Реакции для самой угрозы.
**Хуки (Нейтральные к Реакции):**
* **The Catastrophe (Катастрофа):** Внезапное изменение среды, требующее немедленного действия (Fire, Whirlpool, Sandstorm, Iceberg).
* **The Obstacle (Препятствие):** Дорога перекрыта чем-то масштабным и движущимся (Procession, Runaway cart, огромный Kelp bed, миграция животных).
* **The Anomaly (Аномалия):** Энергетический или природный всплеск (Steam vent, Grove of burned trees, Blizzard, Волшебное пение на ветру).
* **The Landmark (Ориентир):** Место, меняющее восприятие пути (Statue, Monolith, Sunken ruins, Abandoned grove). Были ли здесь враги — решит `Discovery`.
### 3. PvX (Персонаж против Неизвестного)
**Суть:** Тайна, след или ресурс. Существа здесь скрыты, либо являются объектом изучения.
**Логика для Питона:** Бросок Surprise определяет, найдут ли герои «источник», прежде чем он найдет их.
**Хуки (Нейтральные к Реакции):**
* **The Remnant (Останки/След):** Свидетельство недавнего присутствия существ (Corpse, Floating debris, Tracks, Ghost ship).
* **The Cache (Схрон/Ресурс):** Ожидаемая или случайная находка (Found trinket, Sunken treasure chest, Magical plant/berries, Bed of giant oysters).
* **The Lair (Логово):** Герои натыкаются на место обитания (Undersea cave, Hidden nest, Shady lair). Кто внутри — решит бросок монстров.
* **The Omen (Знамение/Тень):** Неясный визуальный или звуковой сигнал (Shadow in the water, Sighting of a killer whale, Distant horn sound).
### 4. PvSelf (Персонаж против Себя)
**Суть:** Дилемма. Ситуация, требующая выбора между риском, совестью и выгодой.
**Логика для Питона:** Обычно один NPC или слабое существо.
**Хуки (Нейтральные к Реакции):**
* **The Plea (Просьба о спасении):** Существо в беде (NPC in the water, Wounded scout, Beggar). Помощь сулит награду или проблемы.
* **The Moral Crossroads (Моральный перекресток):** Ситуация несправедливости, свидетелями которой стали герои (Execution, Bullies vs Commoner, Unfair decree).
* **The Temptation (Искушение):** Возможность получить что-то ценное, нарушив закон или обычаи (Found trinket, принадлежащий храму; брошенная повозка с золотом).
---
### Как это работает в Питоне (Пример логики):
1. **Скрипт выбирает Тип:** `PvP`.
2. **Скрипт выбирает Хук:** `The Task (Поручение)`.
3. **Скрипт выбирает Субъектов:** Из таблицы биома `Forest` выпадают `2d4 scouts`.
4. **Скрипт бросает ACKS II:**
* *Reaction* = 3 (Hostile).
* *Surprise* = Party is Attentive.
5. **Формирование вывода для Нейронки:**
* **Вектор:** PvP / The Task.
* **Объект:** Группа эльфов-разведчиков (Scouts).
* **Состояние:** Реакция враждебная (Hostile). Разведчики выполняют патрулирование границ и воспринимают героев как нарушителей/шпионов. Благодаря Внимательности, герои видят, как разведчики готовят луки.
---
### Обобщение Hooks по биомам (Примеры для базы данных):
* **Sea (PvX/Remnant):** «Среди волн покачиваются обломки судна и куски парусины (Floating debris). Что-то темное движется под водой...»
* **Sylvan Forest (PvP/The Internal Conflict):** «Звуки стычки доносятся из-за вековых дубов. Группа лесных существ (Gnolls) что-то не поделила с местными обитателями...»
* **Undersea (PvE/The Anomaly):** «Вода внезапно становится обжигающе горячей, вверх поднимаются пузыри пара (Steam vent). Видимость падает...»
* **Urban (PvSelf/The Moral Crossroads):** «На площади стража готовит плаху для осужденного (Spectacle/Execution). Толпа замерла в ожидании...»
Эта система полностью нейтральна: **The Task** может обернуться как дружеским приветствием патруля (Reaction 12), так и попыткой ареста (Reaction 2). Скрипт просто дает «сцену», а кубики — «драму».