Статья дополняется по мере обнаружения новых и подтверждения старых особенностей работы диалоговой системы в принципе. спорные или требующие проверки места будут отмечены (*). Актуальны для версии 1.0.45
Данный раздел содержит в себе наборы стандартных фраз с реакциями на те или иные события, происшествия, будь то перевязка, потеря ноги, обнаружение других персонажей, а так же огромного числа условий и критериев для срабатывания тех или иных веток диалогов.
Состоит из набора готовых шаблонов для всех уникальных и регулярных персонажей, а так же содержит в себе следующие подразделы:
- Dialogue - список возможных диалогов со всеми ограничениями, которые запускаются из тех или иных Events (EV_) в Dialogue Package.
- Diplomatic Assault - мною ещё не разбирался, но по сути является списком приходящих Событий (Рейды Каннибалов, Сбор налогов СГ, Набеги Пыльных бандитов), на которые нарывается игрок, поселившись на землях той или иной фракции.
- Word Swaps - список фраз, варианты которых подставляются в тексте диалога в зависимости от условий (пол собеседника, его фракция, количество персонажей в отряде и т.д.)
- World States - набор мировых состояний и аналог глобальных переменных в программировании, на которых завязано глобальное взаимодействие между игроком и фракциями в зависимости от состояния ключевых персонажей и уникальных животных.
- _lines - список ВСЕХ строк, используемых в ветвях тех или иных диалогов (Dialogue) вместе со всеми их вариациями.
Значение полей и виды условий[]
Панель [Package] содержит базовые свойства
Name - название данного набора фраз.
inheritsFrom - список других наборов, фразы и ветки диалогов которых унаследует и дополнит данный пак.
Кнопки
Add New - Создать новую ветку диалога.
Add Dialogue - Добавить существующую ветку диалога.
Панель [Conditions] предпросмотр условий запуска ветки диалога.
General
- for enemies - true\false - доступность выбранной ветки диалога при взаимодействии игрока с врагом.
- monologue - true\false - не требует прямого вмешательства игрока в выборе вариантов в диалоге.
main
- chance permanent - 0..100 - шанс наличия у персонажа этого диалога в принципе.
- chance temporary - 0..100 - шанс срабатывания у персонажа этого диалога.
- repetition limit - частота возникновения этого диалога
- DR_NO_LIMIT Не ограничено
- DR_SHORT_2 Раз в 2 игровых часа
- DR_MEDIUM_6 Раз в 6 игровых часов
- DR_LONG_48 Раз в 48 часов
- DR_LONG_1WEEK Раз в неделю
- DR_ONCE_ONLY Один раз за всю игру (до Переноса сохранения из Главного меню)
- DR_VSHORT_020 Через каждых 20 минут
- score bonus - 0..100 - приоритетность данной ветки (*)
- target is type - данная ветка диалога будет срабатывать с указанным классом персонажей (Character: tags: NPC class)
- OT_NONE Без ограничений
- OT_LAW_ENFORCEMET Охрана порядка, стража
- OT_MILITARY Военные, армия
- OT_TRADER Торговец
- OT_CIVILIAN Гражданский, горожанин
- OT_DIPLOMAT Персонаж с дип. статусом
- OT_SLAVE Раб
- OT_SLAVER Рабовладелец
- OT_BANDIT Бандит
- OT_ADVENTURER Странник, Искатель приключений
- OT_END (заглушка конца списка)
special
- locked - true\false - данный диалог будет заблокирован до определённого времени. Может быть разблокирован из другого диалога.
- one at time - true\false - запрещает проговаривать этот диалог более чем одному человеку за раз. К примеру: Один человек из бара рассказывает один анекдот за раз.
Триггеры диалогов[]
[Events] - список действий (триггеры), которые запускают определённые ветки диалогов.
EV_PLAYER_TALK_TO_ME Игрок говорит со мной.
EV_ANNOUNCEMENT Анонс (*).
EV_I_SEE_NEUTRAL_SQUAD Вижу нейтрала.
EV_I_SEE_RAGDOLL Вижу тело (*).
EV______ Видит каннибалов (*).
EV_SOUND_THE_ALARM Поднять тревогу, если заметил правонарушение(*).
EV_I_______ Я... победил кого-то (*).
EV_THIEF_CAUGHT_STEALING_FROM_ME Заметил ворующего у меня.
EV_SHOO_FROM_MY_BUILDING Прогонять из дома.
EV_MARKED_FOR_DEATH Меня идут убивать (*).
EV_SCREAMING_TORTURE Орать в мучениях (*).
EV_BAR_TALK Байки в баре (в основном от НПС).
EV_UNLOCK_MY_CAGE_OR_SHACKLES Отпирают мои кандалы или клетку.
EV_UNLOCK_MY_CAGE_ATTEMPT Пытаются отпереть мои кандалы или клетку.
EV_I_DEFEATED_SQUAD Я победил какой-то отряд.
EV_LAUNCH_ATTACK Начать атаку.
EV_INTRUDER_FOUND Увидел домушника (*).
EV_HEALING_OTHER_START Начал лечить кого-то.
EV_BEING_HEALED_START Меня начали лечить.
EV_HEALEING_OTHER_FINISHED Закончил лечить кого-то.
EV_BEING_HEALED_FINISHED Меня долечили.
EV_FIRSTAID_KIT_EMPTY У меня закончились аптечки.
EV_GET_UP_PEACE Встать вне боя (*).
EV_GET_UP_FIGHT Встать и продолжить драться (*).
EV_GET_UP_UNNECCESSARY_FIGHT Встать во время боя мирно (*).
EV_HARRASSMENT_SHOUTS Выкрикивать унижения (для ЛГ, СГ).
EV_I_SEE_ANIMAL_SQUAD Вижу животных.
EV_SPEECH_INTERRUPTED_ATTACKED_BY_TARGET Речь прервана атакой цели (*).
EV_SPEECH_INTERRUPTED_ATTACKED_BY_STRANGER Речь прервана атакой постороннего персонажа или отряда (*).
EV_CONTRACT_JOB_ENDED Контракт завершён.
EV_BETRAYAL Предательство (рабы атакуют лидера).
EV_LOOTING_WEAPON_ONLY Забираю только оружие.
EV_LOOTING_EVERYTHING Забираю все вещи (*).
EV_I_SEE_UNIFORM_IMPOSTER Вижу самозванца в униформе моей фракции.
EV_INTRODUCING_NEW_SLAVE Представлять новых рабов (*).
EV_ESCAPING_SLAVE_SPOTTED Обнаружен убегающий раб.
EV_RECAPTURED_A_SLAVE (пере)захватил раба (*).
EV_SHOUT_AT_SLAVE_WORKER Подгонять работающего раба.
EV_SLAVE_DELIVERY Доставка рабов (*).
EV_ESCAPED_EX_SLAVE_SPOTTED Обнаружил беглого\сбежавшего раба.
EV_WITNESS_GENERIC_ASSAULT Наблюдаю за похищением (союзника или главы фракции).
EV_WITNESS_LOOTONG_ALLY Свидетель ограбления инвентаря союзника\соотрядовца.
EV_WITNESS_THIEF_OR_LOCKPICK Наблюдаю воровство или вскрытие замков.
EV_BOUNTY_SPOTTED Заметил персонажа с наградой за голову.
EV_ESCAPED_PRISONER_SPOTTED Заметил сбежавшего заключённого.
EV_PRISONER_FREE_TO_GO Выпустить отсидевшего заключённого.
EV_ALMOST_WOKE_UP Почти проснулся.
EV_ENTER_BIOME Вхожу в биомы (Глаз, Мщение, Крюк, прочие).
EV_ENTER_TOWN Вхожу в черту города.
EV_SQUAD_BROKEN Отряд сломлен\разбит\раздроблен (*).
EV_BOUGHT_ME_FROM_SLAVERY Выкупили меня из рабства.
EV_EATING_SOMETHING_SOUNDS Звуки во время поедания чего-либо (В ранних патчах живоглоты говорили "Enjoy death").
EV_WORSHIPING_SOMETHING Восхищаться чем-то \ обожать что-то (Гурчание туманников и гурчащих при поедании пленника).
EV_SLAVE_ESCAPE_OPPORTUNITY_SAVIOR Раб сбежал с чьей то помощью (*).
EV_SLAVE_ESCAPE_OPPORTUNITY_ALONE Раб сбежал самолично (*).
EV_ASSASSINATION_FAILED Провал тихого убийства (*).
EV_EATING_MY_CROPS Поедают мои посевы.
EV_KIDNAPPING_MY_ALLY Похищает моего союзника\соотрядовца.
EV_USING_MY_TRAINING_EQUIPMENT Использует моё тренировочное оборудование (*).
EV_GIVE_UP_CHASE Перестал или надоело преследовать.
EV_ACID_FEET Кислота опаляет стопы.
EV_ACID_RAIN Кислотный дождь.
EV_ACID_WATER Кислотный водоём.
EV_WINDY Ветренно (*).
EV_POISON_GAS Ядовитый газ.
EV_I_SEE_ENEMY_PLAYER Вижу игрока-врага.
EV_I_SEE_ALLY_PLAYER Вижу игрока-союзника.
EV_I_SEE_ILLEGAL_PLAYER_BUILDING Вижу нелегальное строение игрока (*).
EV_BURNING Горю\обжигает (лучами в Мщении).
EV_LOST_LEG Оторвало ногу.
EV_LOST_ARM Оторвало руку.
EV_I_SEE_PLAYER_NICE_BUILDING Вижу хорошее\разрешённое строение игрока (*).
EV_TAKEN_OVER_PLAYER_TOWN Город игрока захвачен (*).
EV_CROWD_TRIGGERED Фраза, которую произнесёт весь отряд при необходимости.