Search by

maxcuso / flarum-roleplay

maxcuso

Roleplaying characters and character applications for Flarum

Package info

github.com/maxcuso/roleplay

Type:flarum-extension

pkg:composer/maxcuso/flarum-roleplay

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-10-10 13:50 UTC

This package is auto-updated.

Last update: 2026-10-10 17:23:26 UTC


README

Расширение для ролевых форумов на Flarum 2.x. Пакет: maxcuso/flarum-roleplay.

Возможности

  • Создание персонажа через мастер с сохранением черновика.
  • Анкета выбранного персонажа в профиле пользователя.
  • Раздельная проверка технической и литературной частей анкеты.
  • Навыки, владения, перки, заклинания, предметы и экипировка.
  • Числовые эффекты и расчёт параметров персонажа.
  • Развитие за опыт, выдача и изъятие ресурсов и сущностей модератором.
  • Ручное назначение рангов, история персонажа и статистика ролевика.
  • Справочники и настройки в админке, импорт и экспорт JSON.

Обучение по книгам и крафт пока представлены вкладками «В разработке».

Требования

  • PHP 8.3 или выше в пределах ограничения ^8.3.
  • Flarum в пределах ограничения ^2.0.0-rc.8.
  • Расширения flarum/tags и flarum/lock в пределах ограничения ^2.0.0-rc.8.

Точные зависимости указаны в composer.json.

Установка и настройка

Первый публичный релиз готовится. После появления версии на Packagist установка выполняется из папки форума:

composer require maxcuso/flarum-roleplay
php flarum cache:clear

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

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

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

Разработка и публикация

Из папки js:

npm install
npm run typecheck
npm run build

Готовые файлы js/dist входят в релиз. Локальные зависимости, tests/.runtime и icons.local.json исключены из публикации.

Перед выпуском собирай интерфейс в чистой копии без icons.local.json: простое исключение этого файла из архива не убирает замены иконок из уже собранного JavaScript. Подготовка GitHub, Packagist и Floxum.

Автор: maxcuso, charomax11@gmail.com. Текущая лицензия в метаданных: proprietary.

Устройство расширения

Глобальная архитектура — границы подсистем, устройство кода, данные и порядок разработки.

Как работаем

Перед каждой подсистемой:

  1. Описываем пользовательский сценарий и ожидаемый результат.
  2. Даём план шага, архитектуру классов/компонентов и связи между ними.
  3. Разбираем данные, правила, права доступа и вопросы, влияющие на реализацию.
  4. Реализуем согласованный объём и проверяем его.
  5. Обновляем документацию: что сделано, где менять поведение, что остаётся следующим шагом.

Код пишем с понятными именами и комментариями на русском. В комментариях объясняем назначение участка, причины ограничений и место настройки. Избегаем сжатых строк с несколькими действиями.

Существующая папка ../roleplay служит источником согласованных сценариев и референсом. Новый проект не копирует её устаревшие поля и обходные решения автоматически.

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

Базовые справочники: схема, классы и проверки.

Иконки: где задавать и как менять.

Админка: архитектура, места настройки и проверки.

Согласованные таблицы развития.

Навыки и владения: каталоги, проверки и места настройки.

Калькулятор параметров: формулы, бонусы и отличие от старого расчёта.

Состояние персонажа: перенос, чтение и подготовка расчётов.

Назначения предмета и защита брони.

Эффекты: архитектура, порядок расчёта и места настройки.

Доступные атаки: владения, экипировка и места настройки.

Создание персонажа: сервер, черновики и места настройки.

Мастер: архитектура интерфейса, расовые владения и места настройки.

Анкета в профиле: видимость, эффекты и экипировка.

Литературная тема и проверка обеих частей.

Развитие, модераторские выдачи и стартовые настройки.

Перенос справочников, тестовая копия и оставшиеся настройки. Визуальный стенд мастера: запуск, редактирование и исправление сохранения.

Ранги: справочник, ручное назначение, история и места настройки.