{"id":14287,"url":"\/distributions\/14287\/click?bit=1&hash=1d1b6427c21936742162fc18778388fc58ebf8e17517414e1bfb1d3edd9b94c0","title":"\u0412\u044b\u0440\u0430\u0441\u0442\u0438 \u0438\u0437 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430 \u0434\u043e \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044f \u0437\u0430 \u0433\u043e\u0434","buttonText":"","imageUuid":""}

Бот для DnD. Играем офлайн удобно

Начну с самого начала. Что такое DnD и почему я решил написать бота для этой игры.

ДнД – аббревиатура от Dungeon and Dragons, то есть Подземелья и Драконы. Но вопрос скорее всего не про ДнД, а про ролевые игры в целом. Настольные ролевые игры – это коллективное творчество, совместное придумывание историй или театр, сюжет в котором пишется по какому-то намеченному Мастером Игры плану, но каждый актер волен добавлять в происходящее что-то своё.

Если коротко — это РПГ, которую отыгрываете вы вместе с вашим ДМ (мастер подземелий, ведущий). И как и в любой другой РПГ у вас есть персонаж, которым играете вы. И у этого персонажа есть свои характеристики и навыки, он получает опыт и растет в уровнях, ему становятся доступны всё новые и новые способности и возможности. А так же у вас есть лист персонажа, на котором вы всё это отображаете. Выглядит он примерно вот так:

Зачем тут бот

Мы плавно подходим к сути — зачем понадобился бот и чем он поможет.

Во время игры будут происходить различные ситуации, в которых у вас будут изменяться показатели опыта и уровня, вы будете изменять ХП вашего персонажа — получая урон, временные ХП или исцеляя его, вы будете получать и тратить монеты, которых в игре целых 5 видов, и их же придется обменивать между собой. У вас будут изменяться характеристики вашего персонажа, его броня, скорость, ходы инициативы и многое другое. И записывать всё это на листочке — интересно, но не всегда удобно. Именно для таких базовых вещей и был придуман этот бот.

Как, что и с помощью чего

Во первых платформой для создания бота был выбран телеграмм. Самого бота можете посмотреть вот тут.

Для создания самого бота, его конструкции, логики работы и места хранения данных пользователей используется ActiveUsers (далее AU).

Какой функционал уже доступен

  1. Создание персонажа, высчитывание бонусов в зависимости от введенных характеристик.
  2. Удаление персонажа.
  3. Какие статы считаем - все характеристики, инициатива, мастерство, скорость. Все статы можно редактировать.
  4. Класс брони (доспеха), ХП, временное ХП. Статы ХП\КД можно редактировать.
  5. Получение урона - частями, полный урон.
  6. Лечение - частями, полное лечение. Лечение от хилок (банки ХП) и костей ХП.
  7. Временное ХП (оно идет поверх основного, поэтому весь урон высчитывает сначала из временного, что и логично).
  8. Кости ХП - в наличии, сколько есть, сколько можно потратить.
  9. Отдых и восстановление здоровья, ячеек заклинаний и костей ХП.
  10. Заклинания - книга заклинаний с ячейками. Можно редактировать под себя как угодно. Трата заклинаний по ячейкам (т.е. нажали потратить ячейку 1 уровня, у вас 1 заклинание 1 уровня списалось). Так же можно восстанавливать их для каждого уровня ячейки отдельно (смотря как вы отыгрываете с вашим ДМом)
  11. Инвентарь с полной его настройкой. Заведены разные расходные материалы (стрелы, зелья ХП, метательное и т.п.). Их можно скрыть, если они не используются. Ну и так же использовать\тратить\восстанавливать по необходимости.
  12. Навыки и их отметки. Настроили свои навыки, выбрали, изучены они или нет, подстроили модификаторы.
  13. Получение опыта и уровней. Уровни получаются при достижении определенного порога опыта, или можно давать уровни вехами, всё зависит от вашей игры.
  14. Мультиклассирование.
  15. Кость /roll, которая позволяет бросить разное количество костей со стандартными для DnD гранями.

Создание персонажа

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

Дальше логика бота отправляет нас либо добавить персонажа, либо играть уже существующим.

На каждом из этапов создания персонажа будет возможность подтвердить введенные данные. Т.к. на этапе создания необходимо перенести большое количество данных из листа персонажа — лучше сделать несколько проверок, чтобы не начинать весь путь заново.

По готовности персонажа — бот автоматически высчитывает модификаторы, которые описаны в правилах игрока. Всё. На этом этап создания персонажа считается завершенным. Дальше — всё для вашей комфортной игры в ДнД.

Основное меню

Ваш персонаж готов. Дальше - вы можете или уже можете пользоваться всем представленным функционалом. Либо произвести настройку вашего кошелька, инвентаря, заклинаний и навыков. Давайте посмотрим на несколько вариантов работы с функционалом.

Бой. Получение урона или лечения.

Во время боя ваш персонаж получает урон и лечение. А так же может упасть, и лежать в бою с 0 ХП, пока вам не помогут, или вы не пройдете все броски смерти.

Получаем 12 урона. Нажимаем на "Урон" и вводим количество урона, которое получает ваш персонаж.

Получаем ещё урон. Персонаж "падает".

Наш сопартиец применяет к нам исцеление на 9 ХП. Нажимаем "Лечение", выбираем "Исцеление" и вводим количество ХП, на которое нас исцелили.

Получаемый урон высчитывается в первую очередь из временных ХП, потом используются основные ХП. Так же, если вы получили урона больше чем временное + основное — ваш персонаж автоматически считается павшим.

Вот как выглядит поведение при получении урона:

  • Только по временным ХП
  • Пробивая временные ХП и нанося урон по основному ХП
  • Нанося больше урона, чем есть ХП + временное ХП.

Получение опыта

Получать уровни можно с помощью вех (когда вы получаете уровень по вашему сюжету), или с помощью очков опыта.

Мультиклассирование

На вкладке "Опыт" вы так же можете выбрать себе мультиклассирование. Поддерживаются так же классы, которые не входят в стандартные правила - либо вводятся различными дополнениями, либо придумываются ДМом. Вы можете выбрать не из готовых вариантов, а ввести свой вариант для мультикласса.

Инвентарь

По просьбам игроков в инвентарь были добавлены определенные пункты, которые, при желании и в зависимости от вашей игры - можно отключить. Допустим ваш ДМ не разделяет рационы на мясные и веганские - вы сможете их отключить. Или ваш персонаж не использует дальнобойное и метательное оружие.

После настройки инвентаря с ним можно взаимодействовать. Добавлять\использовать различные предметы, банки, стрелы и т.п.

Что же дальше

Расписывать каждое взаимодействие с каждой кнопкой я думаю не имеет смысла. Разобраться в боте достаточно легко.

В планах для игрока:

  1. Внутренние базы знаний - предметы, бестиарий, заговоры, заклинания.
  2. Генерация персонажей для ваншотов.

Допиливание бота для ДМа:

  1. Генерация рандомных штук для вашей пати. К примеру 1д100 предметов безделушек. 1д20 внезапных болезней. 1д100 сюжетных поворотов и т.п.
  2. Возможность управления персонажами вашей пати. Чтобы ваш ДМ мог напрямую управлять вашей пачкой - дать всем урон\дать урон одному персонажу\похилить одного\пачку и т.п. возможно сделать какие-то скрытые проклятия\отравления и всякое такое, шоб было потяжелей :D
  3. Генератор наград\призов\лута
  4. Генератор затравок для ваших приключений\сюжетов\ваншотов.
  5. Наборы карт\рандомных штук (вещи, предыстории, наборы и т.п.)

В целом - хочу допилить до состояния "Ого сколько тут всего интересного". Нужны ваши идеи, задумки, предложения. Приветствуется всё.

Ещё раз оставлю ссылку на бота вот тут.

0
Комментарии
-3 комментариев
Раскрывать всегда