Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Storyteller #762

Merged
merged 217 commits into from
Feb 22, 2025
Merged

Storyteller #762

merged 217 commits into from
Feb 22, 2025

Conversation

msw7007
Copy link

@msw7007 msw7007 commented Nov 18, 2024

About The Pull Request

Добавляет ЧЁРНУЮ ОРБИТУ С КУЧЕЙ АНТАГОВ И ТРИТА

closes #264

Why It's Good For The Game

Потому что Гахер ненавидит динамик

Changelog

🆑
add: Добавляет систему Storyteller'ов - система динамического контроля событиями в раунде, которая отслеживает состояние станции и отделы, для произведения событий в раунде.
/:cl:

Сводка от Sourcery

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

Новые возможности:

  • Представлена новая система рассказчика для управления событиями и антагонистами.
  • Добавлены новые типы рассказчиков с различной логикой выбора событий и весами.
  • Реализованы треки событий с различными пороговыми значениями очков и масштабированием популяции для контроля частоты событий.
  • Администраторы могут принудительно запускать определенные события на разных треках.
  • Представлены группы событий для управления периодами восстановления и возникновением связанных событий.
  • Добавлены новые роли антагонистов и интегрированы в систему рассказчика.
  • Реализована система событий начала раунда для запуска событий до начала раунда.
  • Разрешено планирование событий на определенное время в течение раунда.
  • Добавлены новые события и изменены существующие для работы с системой рассказчика.
  • Улучшены отчеты об окончании раунда, чтобы включить информацию о рассказчике и событиях.
  • Добавлена поддержка ролей призраков и инъекций антагонистов в середине раунда.
  • Реализована система голосования для выбора рассказчика на раунд.
  • Добавлены новые цели и черты станции для повышения разнообразия игрового процесса.
  • Реализована система очков начала раунда для покупки событий и антагонистов начала раунда.
  • Добавлена поддержка эксклюзивных событий начала раунда, которые не позволяют запускать другие события.
  • Добавлена поддержка тегов событий и множителей тегов для влияния на выбор событий.
  • Добавлена поддержка предпочтительных событий, которые будут запускаться вместе с определенными ролями антагонистов.
  • Добавлена поддержка запроса согласия игроков перед назначением им ролей антагонистов.
  • Добавлена поддержка генерации изображений для ролей антагонистов.
  • Добавлена поддержка возврата средств и отмены запланированных событий.
  • Добавлена поддержка перезагрузки переменных конфигурации игрового режима.
  • Добавлена поддержка проверки ролей врагов и необходимых ролей для событий антагонистов.
  • Добавлена поддержка сокращения списков кандидатов на роли антагонистов.
  • Добавлена поддержка генерации очков в конце раунда на основе информации о рассказчике и событиях.
  • Добавлена поддержка ведения журнала действий и событий рассказчика.
  • Добавлена поддержка защиты и ограничения ролей от выбора антагонистов.
  • Добавлена поддержка расчета лимита и количества антагонистов на основе настроек рассказчика.
  • Добавлена поддержка расчета мощности отдела и использования ее для контроля доступности событий.
  • Добавлена поддержка отправки сообщений игрокам и администраторам о действиях и событиях рассказчика.
  • Добавлена поддержка обработки назначений антагонистов при позднем присоединении.
  • Добавлена поддержка проверки завершения раунда на основе различных условий.
  • Добавлена поддержка создания отчетов о целях и чертах станции.
  • Добавлена поддержка отчетов о выходе игроков из системы в начале раунда.
  • Добавлена поддержка настройки результатов раунда и новостных отчетов на основе результатов рассказчика и событий.
  • Добавлена поддержка загрузки и хранения данных событий начала раунда.
  • Добавлена поддержка расчета количества антагонистов по типу и оставшегося количества.
  • Добавлена поддержка создания копий человеческих мобов для ролей антагонистов.
  • Добавлена поддержка настройки и завершения ролей антагонистов.
  • Добавлена поддержка порождения дополнительных событий вместе с определенными ролями антагонистов.
  • Добавлена поддержка создания команд и целей для ролей антагонистов.
  • Добавлена поддержка регистрации враждебных сред для команд антагонистов.
  • Добавлена поддержка обработки условий победы для команд антагонистов.
  • Добавлена поддержка генерации изображений для событий.
  • Добавлена поддержка проверки возможности порождения событий на основе различных условий.
  • Добавлена поддержка объявления событий игрокам и администраторам.
  • Добавлена поддержка настройки и запуска событий.
  • Добавлена поддержка обработки и очистки событий.
  • Добавлена поддержка добавления и вычитания возникновения событий.
  • Добавлена поддержка получения возникновения событий.
  • Добавлена поддержка печати кнопок действий для событий.
  • Добавлена поддержка обработки тем и действий событий.
  • Добавлена поддержка обработки тем и действий запланированных событий.
  • Добавлена поддержка удаления возникновения из запланированных событий.
  • Добавлена поддержка перепланировки запланированных событий.
  • Добавлена поддержка попытки запуска запланированных событий.
  • Добавлена поддержка загрузки и хранения данных событий последнего раунда.
  • Добавлена поддержка расчета количества и лимита антагонистов для событий начала раунда.
  • Добавлена поддержка обработки предварительной настройки и последующей настройки событий начала раунда.
  • Добавлена поддержка расчета стоимости начала раунда для событий.
  • Добавлена поддержка запуска общих и запланированных событий начала раунда.
  • Добавлена поддержка обработки эксклюзивных событий начала раунда.
  • Добавлена поддержка добавления антагонистов к эксклюзивным событиям начала раунда.
  • Добавлена поддержка пересчета бюджета начала раунда.
  • Добавлена поддержка обработки предварительной настройки оккупации.
  • Добавлена поддержка получения предпочтительных заданий для игроков.
  • Добавлена поддержка пересчета готовой популяции.
  • Добавлена поддержка заполнения количества экипажа отдела.
  • Добавлена поддержка проверки мощности событий на основе мощности отдела.
  • Добавлена поддержка получения множителя безопасности для расчета лимита антагонистов.
  • Добавлена поддержка обновления масштабирования популяции на основе активных игроков.
  • Добавлена поддержка запуска событий.
  • Добавлена поддержка сброса множителя частоты событий.
  • Добавлена поддержка принудительного применения событий и панелей игрового режима.
  • Добавлена поддержка переключения режима волшебника.
  • Добавлена поддержка создания шанса антагониста для поздно присоединившихся.
  • Добавлена поддержка проверки завершения событий.
  • Добавлена поддержка генерации уровня консультаций на основе рассказчика.
  • Добавлена поддержка создания очков в конце раунда на основе рассказчика и событий.
  • Добавлена поддержка загрузки значений конфигурации событий json.
  • Добавлена поддержка загрузки значений конфигурации из game_options.txt.
  • Добавлена поддержка обработки выбора рассказчика.
  • Добавлена поддержка вариантов выбора и результатов голосования за рассказчика.
  • Добавлена поддержка получения действительных рассказчиков.
  • Добавлена поддержка инициализации и настройки рассказчика.
  • Добавлена поддержка добавления очков к трекам событий.
  • Добавлена поддержка расчета весов для событий.
  • Добавлена поддержка покупки и попытки покупки событий.
  • Добавлена поддержка расчета шанса пустого события.
  • Добавлена поддержка поиска и покупки событий из треков.
  • Добавлена поддержка обработки роли антагониста - клона парадокса.
  • Добавлена поддержка обработки роли антагониста - заражения инопланетянами.
  • Добавлена поддержка обработки роли антагониста - ядерного оперативника.
  • Добавлена поддержка обработки роли антагониста - культа крови.
  • Добавлена поддержка обработки роли антагониста - революционера.
  • Добавлена поддержка обработки роли антагониста - волшебника.
  • Добавлена поддержка обработки роли антагониста - предателя.
  • Добавлена поддержка обработки роли антагониста - перевертыша.
  • Добавлена поддержка обработки роли антагониста - поврежденного ИИ.
  • Добавлена поддержка обработки роли антагониста - одержимого.
  • Добавлена поддержка обработки роли антагониста - шпиона.
  • Добавлена поддержка обработки роли антагониста - заражения слизью.
  • Добавлена поддержка обработки роли антагониста - космического дракона.
  • Добавлена поддержка обработки роли антагониста - космического ниндзя.
  • Добавлена поддержка обработки роли антагониста - ходячего по пустоте.
  • Добавлена поддержка обработки роли антагониста - клоуна-оперативника.
  • Добавлена поддержка обработки события вызова волшебника.
  • Добавлена поддержка обработки события пространственной аномалии.
  • Добавлена поддержка различных типов рассказчиков с различной логикой и весами.
  • Добавлена поддержка загрузки данных начала раунда из файла.
  • Добавлена поддержка хранения данных окончания раунда в файл.
  • Добавлена поддержка отображения отчета о выходе из системы в начале раунда.
  • Добавлена поддержка повторного открытия ролей самоубийц в начале раунда.
  • Добавлена поддержка обновления игрового режима раунда в базе данных.
  • Добавлена поддержка различных вспомогательных процедур и функций.
  • Добавлена поддержка ведения журнала действий и событий рассказчика.
  • Добавлена поддержка различных определений, связанных с конфигурацией рассказчика и событиями.
  • Добавлена поддержка различных групп событий для управления периодами восстановления и возникновением.
  • Добавлена поддержка различных тегов событий и множителей тегов.
  • Добавлена поддержка различных переопределений и модификаций событий.
  • Добавлена поддержка различных ролей антагонистов и их конкретной логики.
  • Добавлена поддержка различных ролей призраков и их конкретной логики.
  • Добавлена поддержка различных типов событий и их конкретной логики.
  • Добавлена поддержка различных вспомогательных процедур и функций, связанных с событиями.
  • Добавлена поддержка различных определений, связанных с событиями.
  • Добавлена поддержка различных записей конфигурации, связанных с рассказчиком и событиями.
  • Добавлена поддержка различных записей модпаков, связанных с рассказчиком и ведением журнала.
  • Добавлена поддержка различной документации и файлов readme, связанных с рассказчиком и событиями.
Original summary in English

Краткое описание от Sourcery

Реализована система рассказчика для динамического управления событиями и антагонистами, внедрены новые роли, события, рассказчики и параметры конфигурации.

Новые возможности:

  • Внедрена система рассказчика для управления событиями и их частотой в зависимости от количества игроков и предыдущих случаев.
  • Добавлен новый уровень угрозы и связанные с ним роли антагонистов.
  • Реализована система планирования событий для отложенного выполнения событий.
  • Администраторы могут принудительно запускать определенные события и настраивать очки трека событий.
  • Создана панель игрового режима для администраторов, позволяющая управлять настройками рассказчика и просматривать статистику событий.
  • Добавлена поддержка групп событий для управления перезарядками и случаями связанных событий.
  • Внедрены новые роли и события антагонистов, включая Nuclear Operative, Paradox Clone, Alien Infestation, Void Walker, Blood Cult, Revolutionaries, Heretics, Wizards, Traitors, Malfunctioning AIs, Spies, Blob Infections, Space Dragon, Space Ninja и другие.
  • Реализованы параметры конфигурации для каждого события, такие как вес, минимальное количество игроков, максимальное количество случаев, самое раннее время начала, трек, стоимость, штраф за повторение и общий тип случая.
  • Добавлена поддержка тегов событий для категоризации событий и применения множителей веса, специфичных для рассказчика.
  • Реализовано масштабирование популяции для корректировки частоты событий в зависимости от количества активных игроков.
  • Добавлена система бюджета событий в начале раунда для контроля количества событий, запускаемых в начале раунда.
  • Создаются отчеты в конце раунда, в которых суммируются запущенные события и их результаты.
  • Данные о событиях в конце раунда сохраняются для корректировки весов событий в последующих раундах.
  • Реализована система голосования для выбора игроками рассказчика.
  • Добавлены новые рассказчики с уникальными предпочтениями в отношении событий и множителями веса, включая Angryverse, Andy Prime, The Clown, The Chill, The Operative, The Bomb, The Gamer, The Jester, The Fragile, The Mystic, Poops x10, Extended и Black Orbit.
  • Существующие события переопределены для интеграции с системой рассказчика и корректировки их параметров.
  • Добавлены новые события, в том числе Summon Wizard Event и dimensional anomalies.
  • Реализованы вспомогательные функции для расчета веса антагониста, выбора кандидатов, обработки позднего прибытия и очистки инвентаря.
  • Добавлена поддержка запрошенного выбора ролей антагонистов в определенных событиях.
  • Реализованы группы событий с перезарядками и ограничениями на количество случаев.
  • Добавлена поддержка эксклюзивных событий в начале раунда, которые не позволяют запускать другие события в начале раунда.
  • Добавлена поддержка принудительного добавления дополнительных антагонистов в эксклюзивные события в начале раунда.
  • Реализована система расчета мощи отдела на основе опыта игроков и должностей.
  • Добавлена поддержка защищенных и ограниченных ролей в событиях антагонистов.
  • Реализована система создания изображений событий для титров.
  • Добавлена поддержка проверки требований к ролям врагов в событиях антагонистов.
  • Реализована система обрезки списков кандидатов на основе требований к событиям.
  • Реализована система порождения дополнительных событий вместе с определенными событиями антагонистов.
  • Реализована система создания копий человеческих мобов для событий антагонистов.
  • Реализована система обработки событий призрачных антагонистов.
  • Реализована система обработки событий ядерных оперативников и отчетов в конце раунда.
  • Реализована система обработки событий кровавого культа и отчетов в конце раунда.
  • Реализована система обработки революционных событий и отчетов в конце раунда.
  • Реализована система обработки событий волшебников и отчетов в конце раунда.
  • Реализована система обработки событий клонов парадоксов и отчетов в конце раунда.
  • Реализована система обработки событий заражения инопланетянами и отчетов в конце раунда.
  • Реализована система обработки событий ходоков пустоты и отчетов в конце раунда.
  • Реализована система обработки запланированных событий и их взаимодействия с группами событий.
  • Реализована система создания отчетов о целях станции и включения информации о рассказчике.
  • Реализована система создания отчетов о чертах станции.
  • Реализована система создания отчетов о выходе из системы в начале раунда.
  • Реализована система установки результатов раунда и новостных отчетов на основе результатов событий.
  • Реализована система загрузки и хранения данных о событиях в начале раунда.
  • Реализована система расчета количества и ограничений антагонистов.
  • Реализована система проверки возможности добавления антагонистов событиями.
  • Реализована система получения кандидатов в антагонисты.
  • Реализована система получения правильного количества игроков.
  • Реализована система возврата и удаления запланированных событий.
  • Реализована система начисления предварительно настроенных очков для событий в начале раунда.
  • Реализована система обработки очков после настройки для событий в начале раунда.
  • Реализована система обработки предварительно настроенных событий в начале раунда.
  • Реализована система обработки событий после настройки в начале раунда.
  • Реализована система пересчета популяции готовых игроков.
  • Реализована система обработки выбора и голосования за рассказчика.
  • Реализована система установки рассказчика.
  • Реализована система загрузки переменных конфигурации событий.
  • Реализована система загрузки переменных конфигурации.
  • Реализована система обработки поздно присоединившихся игроков и назначения антагонистов.
  • Реализована система проверки завершения раунда.
  • Реализована система сброса множителя частоты событий.
  • Реализованы глаголы администратора для принудительного запуска событий и открытия панели игрового режима.
  • Реализована система переключения режима волшебника.
  • Реализована система повторного открытия ролей самоубийц в начале раунда.
  • Реализована система обновления информации об экипаже.
  • Реализована система обновления масштабирования популяции.
  • Реализована система запуска событий.
  • Реализована система создания отчетов о результатах раунда.
  • Реализована система обработки эксклюзивных событий в начале раунда и добавления антагонистов.
  • Реализована система пересчета затрат в начале раунда.
  • Реализована система обработки предварительно настроенных профессий.
  • Реализована система получения предпочтительных должностей для игроков.
  • Реализована система заполнения численности экипажа отдела.
  • Реализована система проверки требований к мощности события.
  • Реализована система получения множителя безопасности для расчетов антагонистов.
  • Реализована система расчета шансов пустых событий.
  • Реализована система поиска и покупки событий на треках.
  • Реализована система покупки событий.
  • Реализована система расчета весов событий.
  • Реализована система попыток покупки событий.
  • Реализована система добавления и вычитания случаев событий.
  • Реализована система получения случаев событий.
  • Реализована система создания действий href событий.
  • Реализована система обработки запланированных действий событий.
  • Реализована система обработки действий панели игрового режима.
  • Реализована система обработки действий панели событий.
  • Реализована система обработки вариантов выбора и описаний голосования за рассказчика.
  • Реализована система обработки результатов голосования за рассказчика.
  • Реализована система получения действительных рассказчиков.
  • Реализована система инициализации рассказчика.
  • Реализована система обработки выбора оригинала клона парадокса.
  • Реализована система обработки выбора вентиляции заражения инопланетянами.
  • Реализована система обработки ленивой загрузки логова волшебника и базы ядерщиков.
  • Реализована система обработки покупок книг заклинаний волшебника.
  • Реализована система обработки выбора точки появления ядерного оперативника.
  • Реализована система обработки обновлений ядерной бомбы.
  • Реализована система обработки создания команды антагонистов-братьев.
  • Реализована система обработки добавления одержимого антагониста администратором.
  • Реализована система обработки проверок работы пробуждения крипа.
  • Реализована система обработки проверок заражения инопланетянами.
  • Реализована система обработки проверок переполнения скруббера.
  • Реализована система обработки проверок катастрофы шаттла.
  • Реализована система обработки проверок страховки шаттла.
  • Реализована система обработки проверок неисправности трамвая.
  • Реализована система обработки проверок аномалий.
  • Реализована система обработки проверок корпоративной разведки.
  • Реализована система обработки проверок миграции карпов.
  • Реализована система обработки проверок ролей призраков.
  • Реализована система обработки проверок серого прилива.
  • Реализована система обработки проверок утечки радиации.
  • Реализована система обработки проверок радиационной бури.
  • Реализована система обработки проверок песчаной бури.
  • Реализована система обработки проверок заражения пауками.
  • Реализована система обработки проверок случайного груза.
  • Реализована система обработки проверок червоточин.
  • Реализована система обработки проверок воздействия реагентов.
  • Реализована система обработки инициирования голосования и проверок голосования.
  • Реализована система обработки обновлений целей антагонистов-братьев.
  • Реализована система обработки обновлений работы бюрократической ошибки.
  • Реализована система обработки ленивой загрузки оборудования и базы ядерного оперативника.
  • Реализована система обработки проверок подмены личности волшебника.
  • Реализована система обработки проверок дублирования взрыва питомцев.
  • Реализована система обработки проверок входа нового игрока.
  • Реализована система обработки взлома консоли связи.
  • Реализована система обработки создания отчета в конце раунда.
  • Реализована система обработки предварительной и последующей настройки динамического набора правил.
  • Реализована система обработки выбора динамического набора правил неблагоприятной ситуации.
  • Реализована система обработки ответов на пиратские события.
  • Реализована система обработки выбора звука окружения.
  • Реализована система обработки обновлений целей команды.
  • Реализована система обработки настроек флага одержимого антагониста.
  • Реализована система обработки проверок защищенной роли пробуждения крипа.
  • Реализована система обработки корректировок количества порождений заражения инопланетянами.
  • Реализована система обработки настройки переполнения скруббера.
  • Реализована система обработки настройки катастрофы шаттла.
  • Реализована система обработки настройки страховки шаттла.
  • Реализована система обработки настройки неисправности трамвая.
  • Реализована система обработки настройки аномалий.
  • Реализована система обработки настройки корпоративной разведки.
  • Реализована система обработки настройки миграции карпов.
  • Реализована система обработки настройки серого прилива.
  • Реализована система обработки настройки утечки радиации.
  • Реализована система обработки настройки радиационной бури.
  • Реализована система обработки настройки песчаной бури.
  • Реализована система обработки настройки заражения пауками.
  • Реализована система обработки настройки случайного груза.
  • Реализована система обработки настройки червоточин.
  • Реализована система обработки обработки и очистки событий.
  • Реализована система обработки объявлений о событиях.
  • Реализована система обработки настройки событий.
  • Реализована система обработки настройки событий администратором.
  • Реализована система обработки запуска событий.
  • Реализована система обработки предварительных проверок запуска событий.
  • Реализована система обработки отмены событий.
  • Реализована система обработки прерывания событий.
  • Реализована система обработки готовности событий.
  • Реализована система обработки запуска событий.
  • Реализована система обработки обработки событий.
  • Реализована система обработки очистки событий.
  • Реализована система обработки вмешательства администратора в события.
  • Реализована система обработки повторного броска событий.
  • Реализована система обработки принудительного запуска событий.
  • Реализована система обработки запуска групп событий.
  • Реализована система обработки принудительного планирования событий.
  • Реализована система обработки принуждения администратором событий.
  • Реализована система обработки планирования администратором событий.
  • Реализована система обработки увольнения администратором событий.
  • Реализована система обработки перепланирования администратором событий.
  • Реализована система обработки отмены администратором событий.
  • Реализована система обработки возврата средств администратором событий.
  • Реализована система обработки действий трека администратором событий.
  • Реализована система обработки установки очков администратором событий.
  • Реализована система обработки вызова следующего события администратором событий.
  • Реализована система обработки установки переменных администратором событий.
  • Реализована система обработки перезагрузки конфигурации администратором событий.
  • Реализована система обработки переключения вкладок панели администратора событий.
  • Реализована система обработки установки категории панели статистики администратора событий.
  • Реализована система обработки установки начала раунда панели статистики администратора событий.
  • Реализована система обработки открытия панели игрового режима администратором событий.
  • Реализована система обработки установки рассказчика администратором событий.
  • Реализована система обработки остановки рассказчика администратором событий.
  • Реализована система обработки открытия панели событий администратором событий.
  • Реализована система обработки принуждения событий администратором событий.
  • Реализована система обработки открытия панели игрового режима администратором событий.
  • Реализована система обработки инициирования голосования за рассказчика администратором событий.
  • Реализована система обработки обработки результатов голосования за рассказчика администратором событий.
  • Реализована система обработки получения описания голосования за рассказчика администратором событий.
  • Реализована система обработки получения выбора голосования за рассказчика администратором событий.
  • Реализована система обработки пропуска голосования за рассказчика администратором событий.
  • Реализована система обработки завершения голосования за рассказчика администратором событий.
  • Реализована система обработки установки рассказчика администратором событий.
  • Реализована система обработки инициализации рассказчика администратором событий.
  • Реализована система обработки проверок ограничений рассказчика администратором событий.
  • Реализована система обработки проверок популяции рассказчика администратором событий.
  • Реализована система обработки проверок веса рассказчика администратором событий.
  • Реализована система обработки проверок начала раунда рассказчика администратором событий.
  • Реализована система обработки проверок вероятности начала раунда рассказчика администратором событий.
  • Реализована система обработки проверок игнорирования начала раунда рассказчика администратором событий.
  • Реализована система обработки проверок всегда голосуемого рассказчика администратором событий.
  • Реализована система обработки получения приветственного текста рассказчика администратором событий.
  • Реализована система обработки получения описания рассказчика администратором событий.
  • Реализована система обработки получения имени рассказчика администратором событий.
  • Реализована система обработки получения множителя тега рассказчика администратором событий.
  • Реализована система обработки получения множителя очков начала раунда рассказчика администратором событий.
  • Реализована система обработки получения множителя прироста очков рассказчика администратором событий.
  • Реализована система обработки получения множителя стартовых очков рассказчика администратором событий.
  • Реализована система обработки получения множителя повторения событий рассказчика администратором событий.
  • Реализована система обработки проверок отключения распространения рассказчика администратором событий.
  • Реализована система обработки проверок гарантированных ролей в начале раунда рассказчика администратором событий.
  • Реализована система обработки получения дисперсии очков начала раунда рассказчика администратором событий.
  • Реализована система обработки получения дисперсии стоимости рассказчика администратором событий.
  • Реализована система обработки получения исключенного события рассказчика администратором событий.
  • Реализована система обработки получения модификатора sec antag рассказчика администратором событий.
  • Реализована система обработки получения базового множителя прироста очков рассказчика администратором событий.
  • Реализована система обработки получения плоского ограничения antag рассказчика администратором событий.
  • Реализована система обработки получения знаменателя antag рассказчика администратором событий.
  • Реализована система обработки получения минимального количества населения antag рассказчика администратором событий.
  • Реализована система обработки получения множителя ограничения начала раунда рассказчика администратором событий.
  • Реализована система обработки получения принудительного количества antag рассказчика администратором событий.
  • Реализована система обработки получения состояния значка события рассказчика администратором событий.
  • Реализована система обработки проверок возможности изменения количества рассказчика администратором событий.
  • Реализована система обработки получения предпочтительного события рассказчика администратором событий.
  • Реализована система обработки получения дополнительного порожденного события рассказчика администратором событий.
  • Реализована система обработки проверок запрошенного выбора рассказчика администратором событий.
  • Реализована система обработки получения ограниченной роли рассказчика администратором событий.
  • Реализована система обработки получения защищенной роли рассказчика администратором событий.
  • Реализована система обработки получения эксклюзивной роли рассказчика администратором событий.
  • Реализована система обработки получения роли врага рассказчика администратором событий.
  • Реализована система обработки получения требуемого врага рассказчика администратором событий.
  • Реализована система обработки проверок ограничения antag рассказчика администратором событий.
  • Реализована система обработки получения разрешенного рассказчика администратором событий.
  • Реализована система обработки проверок возможности запуска после начала раунда рассказчика администратором событий.
  • Реализована система обработки получения общего типа случая рассказчика администратором событий.
  • Реализована система обработки получения множителя штрафа за повторение рассказчика администратором событий.
  • Реализована система обработки получения стоимости рассказчика администратором событий.
  • Реализована система обработки получения трека рассказчика администратором событий.
  • Реализована система обработки получения самого раннего начала рассказчика администратором событий.
  • Реализована система обработки получения максимального количества случаев рассказчика администратором событий.
  • Реализована система обработки получения минимального количества игроков рассказчика администратором событий.
  • Реализована система обработки получения веса рассказчика администратором событий.
  • Реализована система обработки получения описания рассказчика администратором событий.
  • Реализована система обработки получения имени рассказчика администратором событий.
  • Реализована система обработки проверок начала раунда рассказчика администратором событий.
  • Реализована система обработки получения группы событий рассказчика администратором событий.
  • Реализована система обработки получения тега рассказчика администратором событий.
  • Реализована система обработки получения рассчитанного веса рассказчика администратором событий.
  • Реализована система обработки получения рассчитанного веса на треке рассказчика администратором событий.
  • Реализована система обработки получения случая рассказчика администратором событий.
  • Реализована система обработки получения общего случая рассказчика администратором событий.
  • Реализована система обработки получения настройки администратором рассказчика администратором событий.
  • Реализована система обработки проверок эксклюзивного события в начале раунда рассказчика администратором событий.
  • Реализована система обработки получения стоимости начала раунда рассказчика администратором событий.
  • Реализована система обработки получения требуемой мощности отдела рассказчика администратором событий.
  • Реализована система обработки получения требуемого экипажа отдела рассказчика администратором событий.
Original summary in English

Summary by Sourcery

Implement a storyteller system to dynamically manage events and antagonists, introducing new roles, events, storytellers, and configuration options.

New Features:

  • Introduce a storyteller system to manage events and their frequency based on player count and previous occurrences.
  • Add a new threat level and associated antagonist roles.
  • Implement an event scheduling system for delayed event execution.
  • Allow admins to force specific events and adjust event track points.
  • Create a game mode panel for admins to manage storyteller settings and view event statistics.
  • Add support for event groups to manage cooldowns and occurrences of related events.
  • Introduce new antagonist roles and events, including Nuclear Operative, Paradox Clone, Alien Infestation, Void Walker, Blood Cult, Revolutionaries, Heretics, Wizards, Traitors, Malfunctioning AIs, Spies, Blob Infections, Space Dragon, Space Ninja, and various others.
  • Implement event-specific configuration options for weight, minimum players, maximum occurrences, earliest start time, track, cost, reoccurrence penalty, and shared occurrence type.
  • Add support for event tags to categorize events and apply storyteller-specific weight multipliers.
  • Implement population scaling to adjust event frequency based on active player count.
  • Add a roundstart event budget system to control the number of events triggered at the beginning of the round.
  • Generate round-end reports summarizing triggered events and their outcomes.
  • Store round-end event data to adjust event weights in subsequent rounds.
  • Implement a voting system for players to choose the storyteller.
  • Add new storytellers with unique event preferences and weight multipliers, including Angryverse, Andy Prime, The Clown, The Chill, The Operative, The Bomb, The Gamer, The Jester, The Fragile, The Mystic, Poops x10, Extended, and Black Orbit.
  • Override existing events to integrate with the storyteller system and adjust their parameters.
  • Add new events, including Summon Wizard Event, and dimensional anomalies.
  • Implement helper functions for antagonist weight calculation, candidate selection, late arrival handling, and inventory clearing.
  • Add support for prompted picking of antagonist roles in certain events.
  • Implement event groups with cooldowns and occurrence limits.
  • Add support for exclusive roundstart events that prevent other roundstart events from triggering.
  • Add support for forcing additional antagonists in exclusive roundstart events.
  • Implement a system for calculating department power based on player experience and job roles.
  • Add support for protected and restricted roles in antagonist events.
  • Implement a system for generating event images for credits.
  • Add support for checking enemy role requirements in antagonist events.
  • Implement a system for trimming candidate lists based on event requirements.
  • Implement a system for spawning extra events alongside certain antagonist events.
  • Implement a system for creating human mob copies for antagonist events.
  • Implement a system for handling ghost antagonist events.
  • Implement a system for handling nuke operative events and round-end reports.
  • Implement a system for handling blood cult events and round-end reports.
  • Implement a system for handling revolution events and round-end reports.
  • Implement a system for handling wizard events and round-end reports.
  • Implement a system for handling paradox clone events and round-end reports.
  • Implement a system for handling alien infestation events and round-end reports.
  • Implement a system for handling void walker events and round-end reports.
  • Implement a system for handling scheduled events and their interactions with event groups.
  • Implement a system for generating station goal reports and including storyteller information.
  • Implement a system for generating station trait reports.
  • Implement a system for generating roundstart logout reports.
  • Implement a system for setting round results and news reports based on event outcomes.
  • Implement a system for loading and storing roundstart event data.
  • Implement a system for calculating antagonist counts and caps.
  • Implement a system for checking if events can inject more antagonists.
  • Implement a system for getting antagonist candidates.
  • Implement a system for getting the correct player population count.
  • Implement a system for refunding and removing scheduled events.
  • Implement a system for rolling pre-setup points for roundstart events.
  • Implement a system for handling post-setup points for roundstart events.
  • Implement a system for handling pre-setup roundstart events.
  • Implement a system for handling post-setup roundstart events.
  • Implement a system for recalculating ready player population.
  • Implement a system for handling storyteller picking and voting.
  • Implement a system for setting the storyteller.
  • Implement a system for loading event config variables.
  • Implement a system for loading config variables.
  • Implement a system for handling late-joining players and antagonist assignments.
  • Implement a system for checking if the round is finished.
  • Implement a system for resetting the event frequency multiplier.
  • Implement admin verbs for forcing events and opening the game mode panel.
  • Implement a system for toggling wizard mode.
  • Implement a system for reopening roundstart suicide roles.
  • Implement a system for updating crew information.
  • Implement a system for updating population scaling.
  • Implement a system for triggering events.
  • Implement a system for generating round-end score reports.
  • Implement a system for handling exclusive roundstart events and adding antagonists.
  • Implement a system for recalculating roundstart costs.
  • Implement a system for handling pre-setup occupations.
  • Implement a system for getting preferred jobs for players.
  • Implement a system for filling department crew counts.
  • Implement a system for checking event power requirements.
  • Implement a system for getting the security multiplier for antagonist calculations.
  • Implement a system for calculating empty event chances.
  • Implement a system for finding and buying events from tracks.
  • Implement a system for buying events.
  • Implement a system for calculating event weights.
  • Implement a system for trying to buy events.
  • Implement a system for adding and subtracting event occurrences.
  • Implement a system for getting event occurrences.
  • Implement a system for generating event href actions.
  • Implement a system for handling scheduled event actions.
  • Implement a system for handling game mode panel actions.
  • Implement a system for handling event panel actions.
  • Implement a system for handling storyteller vote choices and descriptions.
  • Implement a system for handling storyteller vote results.
  • Implement a system for getting valid storytellers.
  • Implement a system for initializing the storyteller.
  • Implement a system for handling paradox clone original selection.
  • Implement a system for handling alien infestation vent selection.
  • Implement a system for handling wizard lair and nukie base lazy loading.
  • Implement a system for handling wizard spellbook purchases.
  • Implement a system for handling nuke operative spawn point selection.
  • Implement a system for handling nuke bomb updates.
  • Implement a system for handling brother antagonist team creation.
  • Implement a system for handling obsessed antagonist admin adding.
  • Implement a system for handling creep awakening job checks.
  • Implement a system for handling alien infestation checks.
  • Implement a system for handling scrubber overflow checks.
  • Implement a system for handling shuttle catastrophe checks.
  • Implement a system for handling shuttle insurance checks.
  • Implement a system for handling tram malfunction checks.
  • Implement a system for handling anomaly checks.
  • Implement a system for handling brand intelligence checks.
  • Implement a system for handling carp migration checks.
  • Implement a system for handling ghost role checks.
  • Implement a system for handling grey tide checks.
  • Implement a system for handling radiation leak checks.
  • Implement a system for handling radiation storm checks.
  • Implement a system for handling sandstorm checks.
  • Implement a system for handling spider infestation checks.
  • Implement a system for handling stray cargo checks.
  • Implement a system for handling wormhole checks.
  • Implement a system for handling reagent exposure checks.
  • Implement a system for handling vote initiation and voting checks.
  • Implement a system for handling brother antagonist objective updates.
  • Implement a system for handling bureaucratic error job updates.
  • Implement a system for handling nuke operative equipment and base lazy loading.
  • Implement a system for handling wizard identity spoof checks.
  • Implement a system for handling petsplosion dupe checks.
  • Implement a system for handling new player login checks.
  • Implement a system for handling communications console hacking.
  • Implement a system for handling round end report generation.
  • Implement a system for handling dynamic ruleset pre- and post-setup.
  • Implement a system for handling dynamic unfavorable situation ruleset selection.
  • Implement a system for handling pirate event responses.
  • Implement a system for handling ambience sound selection.
  • Implement a system for handling team objective updates.
  • Implement a system for handling obsessed antagonist flag settings.
  • Implement a system for handling creep awakening protected role checks.
  • Implement a system for handling alien infestation spawn count adjustments.
  • Implement a system for handling scrubber overflow setup.
  • Implement a system for handling shuttle catastrophe setup.
  • Implement a system for handling shuttle insurance setup.
  • Implement a system for handling tram malfunction setup.
  • Implement a system for handling anomaly setup.
  • Implement a system for handling brand intelligence setup.
  • Implement a system for handling carp migration setup.
  • Implement a system for handling grey tide setup.
  • Implement a system for handling radiation leak setup.
  • Implement a system for handling radiation storm setup.
  • Implement a system for handling sandstorm setup.
  • Implement a system for handling spider infestation setup.
  • Implement a system for handling stray cargo setup.
  • Implement a system for handling wormhole setup.
  • Implement a system for handling event processing and cleanup.
  • Implement a system for handling event announcements.
  • Implement a system for handling event setup.
  • Implement a system for handling event admin setup.
  • Implement a system for handling event running.
  • Implement a system for handling event pre-run checks.
  • Implement a system for handling event cancellation.
  • Implement a system for handling event interruption.
  • Implement a system for handling event readiness.
  • Implement a system for handling event triggering.
  • Implement a system for handling event processing.
  • Implement a system for handling event cleanup.
  • Implement a system for handling event admin intervention.
  • Implement a system for handling event rerolling.
  • Implement a system for handling event forced running.
  • Implement a system for handling event group running.
  • Implement a system for handling event forced scheduling.
  • Implement a system for handling event admin forcing.
  • Implement a system for handling event admin scheduling.
  • Implement a system for handling event admin firing.
  • Implement a system for handling event admin rescheduling.
  • Implement a system for handling event admin cancellation.
  • Implement a system for handling event admin refunding.
  • Implement a system for handling event admin track actions.
  • Implement a system for handling event admin point setting.
  • Implement a system for handling event admin next event invocation.
  • Implement a system for handling event admin variable setting.
  • Implement a system for handling event admin config reloading.
  • Implement a system for handling event admin panel tab switching.
  • Implement a system for handling event admin statistics panel category setting.
  • Implement a system for handling event admin statistics panel roundstart setting.
  • Implement a system for handling event admin game mode panel opening.
  • Implement a system for handling event admin storyteller setting.
  • Implement a system for handling event admin storyteller halting.
  • Implement a system for handling event admin event panel opening.
  • Implement a system for handling event admin event forcing.
  • Implement a system for handling event admin game mode panel opening.
  • Implement a system for handling event admin storyteller vote initiation.
  • Implement a system for handling event admin storyteller vote result processing.
  • Implement a system for handling event admin storyteller vote description retrieval.
  • Implement a system for handling event admin storyteller vote choice retrieval.
  • Implement a system for handling event admin storyteller vote skipping.
  • Implement a system for handling event admin storyteller vote finalization.
  • Implement a system for handling event admin storyteller setting.
  • Implement a system for handling event admin storyteller initialization.
  • Implement a system for handling event admin storyteller restriction checks.
  • Implement a system for handling event admin storyteller population checks.
  • Implement a system for handling event admin storyteller weight checks.
  • Implement a system for handling event admin storyteller roundstart checks.
  • Implement a system for handling event admin storyteller roundstart probability checks.
  • Implement a system for handling event admin storyteller roundstart ignore checks.
  • Implement a system for handling event admin storyteller always votable checks.
  • Implement a system for handling event admin storyteller welcome text retrieval.
  • Implement a system for handling event admin storyteller description retrieval.
  • Implement a system for handling event admin storyteller name retrieval.
  • Implement a system for handling event admin storyteller tag multiplier retrieval.
  • Implement a system for handling event admin storyteller roundstart point multiplier retrieval.
  • Implement a system for handling event admin storyteller point gain multiplier retrieval.
  • Implement a system for handling event admin storyteller starting point multiplier retrieval.
  • Implement a system for handling event admin storyteller event repetition multiplier retrieval.
  • Implement a system for handling event admin storyteller disable distribution checks.
  • Implement a system for handling event admin storyteller guarantees roundstart roleset checks.
  • Implement a system for handling event admin storyteller roundstart points variance retrieval.
  • Implement a system for handling event admin storyteller cost variance retrieval.
  • Implement a system for handling event admin storyteller exclude event retrieval.
  • Implement a system for handling event admin storyteller sec antag modifier retrieval.
  • Implement a system for handling event admin storyteller point gain base multiplier retrieval.
  • Implement a system for handling event admin storyteller antag flat cap retrieval.
  • Implement a system for handling event admin storyteller antag denominator retrieval.
  • Implement a system for handling event admin storyteller min antag popcount retrieval.
  • Implement a system for handling event admin storyteller roundstart cap multiplier retrieval.
  • Implement a system for handling event admin storyteller forced antag count retrieval.
  • Implement a system for handling event admin storyteller event icon state retrieval.
  • Implement a system for handling event admin storyteller can change count checks.
  • Implement a system for handling event admin storyteller preferred event retrieval.
  • Implement a system for handling event admin storyteller extra spawned event retrieval.
  • Implement a system for handling event admin storyteller prompted picking checks.
  • Implement a system for handling event admin storyteller restricted role retrieval.
  • Implement a system for handling event admin storyteller protected role retrieval.
  • Implement a system for handling event admin storyteller exclusive role retrieval.
  • Implement a system for handling event admin storyteller enemy role retrieval.
  • Implement a system for handling event admin storyteller required enemy retrieval.
  • Implement a system for handling event admin storyteller checks antag cap checks.
  • Implement a system for handling event admin storyteller allowed storyteller retrieval.
  • Implement a system for handling event admin storyteller can run post roundstart checks.
  • Implement a system for handling event admin storyteller shared occurence type retrieval.
  • Implement a system for handling event admin storyteller reoccurence penalty multiplier retrieval.
  • Implement a system for handling event admin storyteller cost retrieval.
  • Implement a system for handling event admin storyteller track retrieval.
  • Implement a system for handling event admin storyteller earliest start retrieval.
  • Implement a system for handling event admin storyteller max occurence retrieval.
  • Implement a system for handling event admin storyteller min player retrieval.
  • Implement a system for handling event admin storyteller weight retrieval.
  • Implement a system for handling event admin storyteller description retrieval.
  • Implement a system for handling event admin storyteller name retrieval.
  • Implement a system for handling event admin storyteller roundstart checks.
  • Implement a system for handling event admin storyteller event group retrieval.
  • Implement a system for handling event admin storyteller tag retrieval.
  • Implement a system for handling event admin storyteller calculated weight retrieval.
  • Implement a system for handling event admin storyteller calculated on track weight retrieval.
  • Implement a system for handling event admin storyteller occurence retrieval.
  • Implement a system for handling event admin storyteller shared occurence retrieval.
  • Implement a system for handling event admin storyteller admin setup retrieval.
  • Implement a system for handling event admin storyteller exclusive roundstart event checks.
  • Implement a system for handling event admin storyteller roundstart cost retrieval.
  • Implement a system for handling event admin storyteller req department power retrieval.
  • Implement a system for handling event admin storyteller req department crew retrieval.

@github-actions github-actions bot added the 💾 Изменение конфига Ф-ф-фуриор...? label Nov 18, 2024
@VentelR
Copy link

VentelR commented Nov 18, 2024

Наконец то мы сможем поиграть в НОРМАЛЬНУЮ ИГРУ с НОРМАЛЬНЫМ УРОВНЕМ АНТАГОВ

@Gaxeer
Copy link
Collaborator

Gaxeer commented Nov 18, 2024

Отклонено. Никаких черных орбит в мою смену!

@VentelR
Copy link

VentelR commented Nov 18, 2024

Отклонено. Никаких черных орбит в мою смену!

ЖАЛЬ ЧТО ГАХЕР ЭТО НЕ ПРОПУСТИТ! ПОТОМУ ЧТО НЕ ИГРАЕТ В ИГРУ И НЕ ХОЧЕТ СТОЛЬКО АНТАГОВ!

@Gaxeer Gaxeer added 🛑 Do Not Merge Почему это висит лучше уточнить в дискорде. 220 проклятий тому кто зальёт это! RED LABEL labels Nov 18, 2024
@VentelR
Copy link

VentelR commented Nov 18, 2024

Ну, собственно, что и требовалось доказать...

Copy link
Collaborator

@larentoun larentoun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Это пока по кор-коду, не смотрел сам модуль

Copy link
Collaborator

@larentoun larentoun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

еще по файлам пробежался

@msw7007 msw7007 requested a review from larentoun November 18, 2024 19:04
@lagis36
Copy link

lagis36 commented Nov 18, 2024

Я разрешаю :sus:

@msw7007 msw7007 marked this pull request as ready for review February 15, 2025 17:38
@ss220app ss220app bot added the 📜 CL валиден Этот чейнджлог будет успешно опубликован label Feb 15, 2025
@Gaxeer Gaxeer removed the 🛑 Do Not Merge Почему это висит лучше уточнить в дискорде. 220 проклятий тому кто зальёт это! label Feb 22, 2025
Copy link
Collaborator

@Gaxeer Gaxeer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Вместе допилим уже дальше. Хватит ТМа

@Gaxeer Gaxeer dismissed stale reviews from Sadboysuss and larentoun February 22, 2025 13:42

хихи

@Gaxeer Gaxeer merged commit f78ebd6 into ss220club:master Feb 22, 2025
20 of 21 checks passed
ss220app bot added a commit that referenced this pull request Feb 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💾 Изменение конфига Ф-ф-фуриор...? 🔬 Testmerge Active Находится в тестмерже на сервере :neckbeard: Документация Некоторые просто любят писать тонну текста, которую никто не будет читать. 📜 CL валиден Этот чейнджлог будет успешно опубликован 🛡️ Stale Exempt ПР не может быть устаревшим. Но всем всё равно на него похуй.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Убрать у глав возможность антажки
9 participants