69 lines
8.3 KiB
Markdown
69 lines
8.3 KiB
Markdown
Для создания системы, которая будет работать как надежный 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). Скрипт просто дает «сцену», а кубики — «драму». |