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

Draft
wants to merge 194 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
194 commits
Select commit Hold shift + click to select a range
cd4c446
Update TGS DMAPI
tgstation-server-ci[bot] Oct 6, 2024
44f12e4
ЧЕРНАЯ ОРБИТА С КУЧЕЙ АНТАГОВ
msw7007 Nov 18, 2024
6e10df9
Merge branch 'master' into black_orbit
msw7007 Nov 18, 2024
44bc2e4
Фикс конфига.
msw7007 Nov 18, 2024
e44b127
Ввод черной орбиты
msw7007 Nov 18, 2024
3d5d0ed
Внедрение орбиты в пул голосования
msw7007 Nov 18, 2024
9eff4de
Merge pull request #3 from msw7007/tgs-dmapi-update
msw7007 Nov 18, 2024
d6e03ec
Отработки по ревью
msw7007 Nov 18, 2024
a5ea27c
Небольшое обновление логики
msw7007 Nov 18, 2024
f4b7b85
Упс
msw7007 Nov 18, 2024
f31e551
Игра с конфигом
msw7007 Nov 18, 2024
c2f9500
Merge branch 'master' into black_orbit
msw7007 Nov 19, 2024
0f78890
Восстановление чеков после инициализации, плюс ревью
msw7007 Nov 19, 2024
ac23d37
Отработка по ревью
msw7007 Nov 20, 2024
17af59a
Фикс дикоспавна
msw7007 Nov 20, 2024
16a07c7
Фиксы после раунда с муней
msw7007 Nov 21, 2024
c53726d
Снижение базовых показателей Энди, вырез голосвания, включение подсче…
msw7007 Nov 21, 2024
144cc89
Фикс задержки раундстарта
msw7007 Nov 21, 2024
732f82c
Изменение логики
msw7007 Nov 21, 2024
84faa63
Изменение панели верба триггер ивент (внос в расписание шедуллера), о…
msw7007 Nov 21, 2024
b36ca27
Merge branch 'master' into black_orbit
msw7007 Nov 22, 2024
989a270
Исправления, пожелания
msw7007 Nov 22, 2024
15773d3
Отключение ивентов
msw7007 Nov 23, 2024
4b7d6de
Фикс красоты логов
msw7007 Nov 23, 2024
89e6d55
Фиксы и пожелания
msw7007 Nov 23, 2024
3f21a09
Изменение текста
msw7007 Nov 23, 2024
2f55d48
Изменение требуемого количество игроков для групповых антагов
msw7007 Nov 23, 2024
80fc699
Более подробная информация, внедрение органичение на отделы (мед, рнд…
msw7007 Nov 24, 2024
79fcbac
Отключение антагов в случае отсутствия СБ
msw7007 Nov 24, 2024
ffc07c1
Merge branch 'master' into black_orbit
msw7007 Nov 24, 2024
80dbfd0
Ребаланс событий
msw7007 Nov 24, 2024
e77c40e
Фикс ограничения антагов
msw7007 Nov 24, 2024
6322089
И фикс иньекции
msw7007 Nov 24, 2024
549dceb
Фикс группы братьев
msw7007 Nov 24, 2024
94d1636
Фикс логики раундстарта
msw7007 Nov 24, 2024
6fa3eaf
Корректировка спавна антагов раундстартом
msw7007 Nov 24, 2024
d79035c
Merge branch 'master' into black_orbit
msw7007 Nov 25, 2024
7dd6f70
Перепись рерола
msw7007 Nov 25, 2024
9e5d814
Фикс целей одержимого и брата
msw7007 Nov 26, 2024
8e8ef52
Ребаланс нюки и культа (шансы раундстарта)
msw7007 Nov 26, 2024
cf8c759
Исправления условий для Блоба, измненеие логики сранья в логи
msw7007 Nov 27, 2024
1349bc6
Измнение логики раундстарта
msw7007 Nov 27, 2024
fb16456
Фикс культа, отображения и запуска событий
msw7007 Nov 27, 2024
cd92c13
Возврат ограничения для культа, отобрежине числа антагов
msw7007 Nov 28, 2024
5e1ccc9
Фикс двойного сообщения и неверной логики кнопок
msw7007 Nov 29, 2024
dad4325
Merge branch 'master' into black_orbit
msw7007 Nov 29, 2024
a83b55a
Фикс множественного спавна раундстартом
msw7007 Nov 30, 2024
f3de8bd
Фиксы
msw7007 Dec 1, 2024
b5d1ba2
Фикс набора раундстарта
msw7007 Dec 1, 2024
8b1b456
Фиксы раундстарт спавна
msw7007 Dec 1, 2024
0fad7bf
Правка раннего старта (чтобы не мазолило глаза), вырезка из меню опци…
msw7007 Dec 1, 2024
dc8bbac
Снижение требуемого количества для генокрада, добавление проверки на …
msw7007 Dec 1, 2024
f4fe615
Временное ограничение антагонистов до размера СБ
msw7007 Dec 1, 2024
945aec1
Merge branch 'master' into black_orbit
msw7007 Dec 1, 2024
ad8a024
Линтер
msw7007 Dec 1, 2024
3654321
Merge branch 'black_orbit' of https://github.com/msw7007/Bandastation…
msw7007 Dec 1, 2024
445b7b1
Merge branch 'master' into black_orbit
msw7007 Dec 2, 2024
7d9e57b
Изменение нашего СТ в сторону Монкестейшен
msw7007 Dec 5, 2024
90952b2
Merge branch 'master' into black_orbit
msw7007 Dec 6, 2024
a0d4806
Merge branch 'master' into black_orbit
msw7007 Dec 6, 2024
9233178
Транслейт?
msw7007 Dec 6, 2024
3dfb553
Merge branch 'ss220club:master' into master
msw7007 Dec 6, 2024
dd9b21c
Переопределение работок
msw7007 Dec 6, 2024
7132d7a
Merge remote-tracking branch 'upstream/master' into black_orbit
msw7007 Dec 6, 2024
9cbf9da
Защита от деления на ноль в меню
msw7007 Dec 6, 2024
cd7c5d1
Защита от нуля в панели ивентов
msw7007 Dec 6, 2024
dd15ba0
Измнененный базовый конфиг
msw7007 Dec 6, 2024
157deb9
Отключение проверок на согласие быть антагом
msw7007 Dec 6, 2024
0816d08
Расширеный показ невозможности событий, фикс переключения СТ мидраундом
msw7007 Dec 6, 2024
c621006
Фикс логики раундстарта (разделение форс и добавить как проверку)
msw7007 Dec 6, 2024
2c8a940
Merge remote-tracking branch 'upstream/master' into black_orbit
msw7007 Dec 7, 2024
171d114
Merge branch 'ss220club:master' into master
msw7007 Dec 7, 2024
e0580aa
Merge branch 'master' into black_orbit
msw7007 Dec 7, 2024
f64309e
Merge branch 'master' into black_orbit
msw7007 Dec 7, 2024
a936d2d
Чистка после мерджа и автошаттла
msw7007 Dec 7, 2024
d4daea4
Merge branch 'master' into black_orbit
msw7007 Dec 7, 2024
1384cf8
Исправление ошибок требований к отделам
msw7007 Dec 8, 2024
575c83d
Корректировка показателей РНД
msw7007 Dec 8, 2024
4ca9716
SSEvents будет пытаться купить событие а не запускать его. Добавление…
msw7007 Dec 8, 2024
c199872
Фикс событий шедуллера, планирование теперь вводится. Обновление логи…
msw7007 Dec 8, 2024
24df45b
Исправление датумов трейторов
msw7007 Dec 9, 2024
ee69e29
Фикс блоба, вывод истории событий
msw7007 Dec 9, 2024
5600928
Возможность редактировать деноминатор и добавки антагов
msw7007 Dec 9, 2024
1ef468a
Обновление отображения переменных для ручного управления системой СТ
msw7007 Dec 9, 2024
218fbb0
Merge branch 'master' into black_orbit
msw7007 Dec 11, 2024
230ceb6
Отцепление очков от конфига, фикс логики раундстарта, изменение старт…
msw7007 Dec 11, 2024
72f31ad
Чистка от наследняи Монке, смещение старта раундстарт-ивентов, ввод п…
msw7007 Dec 12, 2024
abdde95
Возврат стартовых значений после разработки.
msw7007 Dec 12, 2024
2730985
Голова садовая
msw7007 Dec 13, 2024
b5d8ab4
Измнение раундстарт бюджета под настроенный
msw7007 Dec 13, 2024
88e6b25
Фикс модификатора
msw7007 Dec 13, 2024
5e09f51
Фикс ошибки в отображении формулы
msw7007 Dec 13, 2024
a651abc
Полная пересадка цен на динамик
msw7007 Dec 13, 2024
a318433
Фикс бюджета раундстартом
msw7007 Dec 13, 2024
5b64ae4
Изменеие раундстарта
msw7007 Dec 14, 2024
f86da0c
SSevents.no_more
msw7007 Dec 14, 2024
93334b3
Корректное отображение в ивент панели цен событий вместо весов при ра…
msw7007 Dec 14, 2024
bbb0eff
Merge branch 'master' into black_orbit
msw7007 Dec 15, 2024
a7b134b
Исправление ошибок логики раундстарта, отключение нюк и визарда до ис…
msw7007 Dec 15, 2024
26b5da0
Возвращение оперов и визарда
msw7007 Dec 15, 2024
6eda1dd
Фикс странного поведения сторителлера раундстратом
msw7007 Dec 15, 2024
af1e76f
Merge branch 'master' into black_orbit
msw7007 Dec 16, 2024
fb31aab
Merge branch 'master' into black_orbit
msw7007 Dec 17, 2024
792e550
Небольшой реворк по функциям, включение события от хака телекомов
msw7007 Dec 17, 2024
d914322
Merge branch 'black_orbit' of https://github.com/msw7007/Bandastation…
msw7007 Dec 17, 2024
bc784b3
Изменение очередности запуска событий при раундстарте, ввод очереди ф…
msw7007 Dec 17, 2024
ade8703
Merge branch 'master' into black_orbit
msw7007 Dec 18, 2024
1572f69
Merge branch 'master' into black_orbit
msw7007 Dec 19, 2024
47cd38b
Merge branch 'master' into black_orbit
msw7007 Dec 20, 2024
c8fd363
Возврат очков в случае нехватки игроков для купленного гост ивента
msw7007 Dec 20, 2024
c88d61f
Фикс черезмерного спавна противников выше капа
msw7007 Dec 20, 2024
ed0b927
Вывод раундстарт ивентов в список
msw7007 Dec 20, 2024
f768952
Фикс удаления насильного события. Фикс чужих.
msw7007 Dec 23, 2024
11b80d7
Отрабока по ревью dj-34
msw7007 Dec 24, 2024
7a10299
Фикс линтера и логики выборы раундстарта
msw7007 Dec 24, 2024
2fe6797
Попытка фикса линтера
msw7007 Dec 24, 2024
7045b60
Merge branch 'master' into black_orbit
msw7007 Dec 24, 2024
9a0b2b1
Merge remote-tracking branch 'upstream/master' into black_orbit
msw7007 Dec 25, 2024
ba4f400
Чистка после мерджа
msw7007 Dec 25, 2024
06252e3
Приведение к общему виду после последних изменений
msw7007 Dec 25, 2024
b36347b
Merge branch 'ss220club:master' into master
msw7007 Dec 25, 2024
d85bc8e
Merge branch 'master' into black_orbit
msw7007 Dec 25, 2024
d281134
Линтер Каги - 1:0
msw7007 Dec 25, 2024
dba298d
Merge branch 'master' into black_orbit
msw7007 Dec 25, 2024
951818a
Merge branch 'master' into black_orbit
msw7007 Dec 26, 2024
be9d6ab
Разблокировка СТ (на время апробации системы)
msw7007 Dec 27, 2024
685a82f
Merge branch 'black_orbit' of https://github.com/msw7007/Bandastation…
msw7007 Dec 27, 2024
baa47eb
Все события с консоли теперь могут быть запущены
msw7007 Dec 27, 2024
42c493c
Фикс форс бюджета и снятие доп проверок с форшенных ивентов, которые …
msw7007 Dec 29, 2024
2c3a815
Новый СТ: Andy Prime
msw7007 Dec 29, 2024
63fac68
Merge branch 'master' into black_orbit
msw7007 Dec 31, 2024
d7f3071
Merge branch 'master' into black_orbit
msw7007 Jan 3, 2025
3a822a8
Merge branch 'master' into black_orbit
msw7007 Jan 5, 2025
e1ec39f
Merge branch 'master' into black_orbit
msw7007 Jan 6, 2025
2a1f59f
Правки, отслеживания причин
msw7007 Jan 6, 2025
33ed718
Изменение события для обсесседа
msw7007 Jan 7, 2025
0c6be16
Фиксы расчет антага
msw7007 Jan 7, 2025
3d4a141
Merge branch 'ss220club:master' into master
msw7007 Jan 11, 2025
fcc367a
Merge branch 'master' into black_orbit
msw7007 Jan 11, 2025
b366a56
Добавление фейк-антаг флага обсесседу (родителю) и гличам
msw7007 Jan 11, 2025
cd96b83
Фикс рандомизации внешности
msw7007 Jan 11, 2025
cc71d71
Перенос иницилизации СТ в более ранюю стадию
msw7007 Jan 12, 2025
023f66d
Для спавна еретика необходимо наличие противников из СБ, блокировка а…
msw7007 Jan 12, 2025
b5671ca
Генерация и отчет по задачам
msw7007 Jan 12, 2025
9c03312
Merge branch 'master' into black_orbit
Legendaxe Jan 13, 2025
e366266
Новая попытка ограничить спавн антагов сверх капа
msw7007 Jan 13, 2025
c4712e3
Перенос в СТ начальных множителей
msw7007 Jan 15, 2025
b88a3e2
Merge branch 'master' into black_orbit
msw7007 Jan 15, 2025
2c4ac8d
Добавление возможности в СТ исключать события, добавление возможности…
msw7007 Jan 15, 2025
444b231
Фикс данных из конфига
msw7007 Jan 16, 2025
cfae6f5
Merge remote-tracking branch 'upstream/master' into black_orbit
msw7007 Jan 18, 2025
736d818
Merge branch 'master' into black_orbit
Gaxeer Jan 19, 2025
70832cd
Update modular_bandastation/modular_bandastation.dme
Gaxeer Jan 19, 2025
f696149
Отработка по последнему раунду
msw7007 Jan 19, 2025
0fc0799
Изменение логики
msw7007 Jan 20, 2025
32a49de
Убираем факап
msw7007 Jan 20, 2025
74ec8bd
Недоубирали факап
msw7007 Jan 20, 2025
9f74866
Добавление по просьбам прайма настроек
msw7007 Jan 20, 2025
dcfa76a
Merge branch 'master' into black_orbit
msw7007 Jan 21, 2025
24a2df5
Капелан не может быть еретиком, разделение форс-ивентов
msw7007 Jan 21, 2025
887b5d4
Перезапись форса при повторном форсе такого же события
msw7007 Jan 21, 2025
5eb3e6c
Откат фичи с заменой фаеров одного типа
msw7007 Jan 21, 2025
4bcaac9
Доработка - ограничение раундстартов, возможность выбирать количество…
msw7007 Jan 23, 2025
3b114f8
Изменение Энди-прайм дивизора
msw7007 Jan 23, 2025
ea3ad3b
Merge branch 'master' into black_orbit
msw7007 Jan 24, 2025
b438673
Ввод максимального количества активных антагонистов на раунд
msw7007 Jan 24, 2025
6806def
Небольшая перестановка
msw7007 Jan 24, 2025
223a9c6
Повышение деноминатора СТ Энди Прайма
msw7007 Jan 24, 2025
44ec639
Переброс части событий с ветки "Мажор" на ветку "Среднее"
msw7007 Jan 24, 2025
82c577f
Merge branch 'master' into black_orbit
Gaxeer Jan 25, 2025
8b58578
Merge branch 'master' into black_orbit
msw7007 Jan 26, 2025
af60a54
Фикс кандидтов в события
msw7007 Jan 26, 2025
7bc4683
Merge branch 'black_orbit' of https://github.com/msw7007/Bandastation…
msw7007 Jan 26, 2025
85b7315
Корректировка
msw7007 Jan 26, 2025
adf7ccd
Доработка - изменнеие силы СБ на 1, изменение отображения сообщения о…
msw7007 Jan 26, 2025
f9ffc28
Ап цены трейтора и еретика
msw7007 Jan 27, 2025
f1da01c
Merge branch 'master' into black_orbit
msw7007 Jan 27, 2025
88038b2
Merge branch 'black_orbit' of https://github.com/msw7007/Bandastation…
msw7007 Jan 27, 2025
285c3f2
Перенос абдукторов
msw7007 Jan 27, 2025
9811ec2
Отработка по запросу и пробелемам из раунда
msw7007 Jan 28, 2025
eceb65b
Фикс пиратов
msw7007 Jan 29, 2025
ef56cdc
Merge branch 'master' into black_orbit
msw7007 Jan 29, 2025
0b89512
Merge branch 'ss220-master' into black_orbit
larentoun Jan 30, 2025
aca757f
disable for now
larentoun Jan 30, 2025
adbf3cf
блокировка парадокса
msw7007 Jan 30, 2025
b6d18bc
Восстановление парадокса, изменение логики подбора гост-ролей, ускоре…
msw7007 Jan 30, 2025
4c44942
Merge branch 'master' into black_orbit
msw7007 Jan 30, 2025
d17e3e8
Merge branch 'master' into black_orbit
msw7007 Jan 31, 2025
ccd86cf
Фикс раундстарт множителя, доавбление блоба в группы, переброс событий
msw7007 Jan 31, 2025
5bad903
Merge branch 'master' into black_orbit
msw7007 Jan 31, 2025
cace563
Убирает отображение раундстар множителя, если раунд начался, легкий п…
msw7007 Jan 31, 2025
f1a736e
Merge branch 'black_orbit' of https://github.com/msw7007/Bandastation…
msw7007 Jan 31, 2025
4a9ccf2
Merge branch 'master' into black_orbit
msw7007 Feb 2, 2025
078ad6b
Merge branch 'master' into black_orbit
msw7007 Feb 3, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions code/controllers/subsystem/dynamic/dynamic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ SUBSYSTEM_DEF(dynamic)
SSticker.news_report = SSshuttle.emergency?.is_hijacked() ? SHUTTLE_HIJACK : STATION_EVACUATED

/datum/controller/subsystem/dynamic/proc/send_intercept()
if(GLOB.communications_controller.block_command_report) //If we don't want the report to be printed just yet, we put it off until it's ready
/*if(GLOB.communications_controller.block_command_report) //If we don't want the report to be printed just yet, we put it off until it's ready
msw7007 marked this conversation as resolved.
Show resolved Hide resolved
addtimer(CALLBACK(src, PROC_REF(send_intercept)), 10 SECONDS)
return

Expand Down Expand Up @@ -376,7 +376,7 @@ SUBSYSTEM_DEF(dynamic)
priority_announce("Отчет был скопирован и распечатан на всех консолях связи.", "Отчет о безопасности", SSstation.announcer.get_rand_report_sound())
// BANDASTATION EDIT END - No Blue roundstart
#endif

*/ // BANDASTATION EDIT END - Storyteller
return .

/// Generate the advisory level depending on the shown threat level.
Expand Down
2 changes: 2 additions & 0 deletions code/controllers/subsystem/persistence/_persistence.dm
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ SUBSYSTEM_DEF(persistence)
var/tram_hits_this_round = 0
var/tram_hits_last_round = 0

var/last_storyteller_type = "" // BANDASTATION EDIT ADD: Storyteller votes
msw7007 marked this conversation as resolved.
Show resolved Hide resolved
/// A json database to data/message_bottles.json
var/datum/json_database/message_bottles_database
/// An index used to create unique ids for the message bottles database
Expand All @@ -71,6 +72,7 @@ SUBSYSTEM_DEF(persistence)
load_delamination_counter()
load_tram_counter()
load_adventures()
load_storyteller_type() // BANDASTATION EDIT ADD - Storyteller
msw7007 marked this conversation as resolved.
Show resolved Hide resolved
return SS_INIT_SUCCESS

///Collects all data to persist.
Expand Down
1 change: 1 addition & 0 deletions code/controllers/subsystem/statpanel.dm
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ SUBSYSTEM_DEF(statpanels)
global_data = list(
"Map: [SSmapping.current_map?.map_name || "Loading..."]",
cached ? "Next Map: [cached.map_name]" : null,
"Storyteller: [SSgamemode.storyteller ? SSgamemode.storyteller.name : "N/A"]", // BANDASTATION EDIT ADDITION
"Round ID: [GLOB.round_id ? GLOB.round_id : "NULL"]",
"Server Time: [time2text(world.timeofday, "YYYY-MM-DD hh:mm:ss")]",
"Round Time: [ROUND_TIME()]",
Expand Down
10 changes: 9 additions & 1 deletion code/controllers/subsystem/ticker.dm
Original file line number Diff line number Diff line change
Expand Up @@ -159,6 +159,7 @@ SUBSYSTEM_DEF(ticker)
to_chat(world, span_notice("<b>Welcome to [station_name()]!</b>"))
send2chat(new /datum/tgs_message_content("New round starting on [SSmapping.current_map.map_name]!"), CONFIG_GET(string/channel_announce_new_game))
current_state = GAME_STATE_PREGAME
SSvote.initiate_vote(/datum/vote/storyteller, "Storyteller Vote", forced = TRUE) // BANDASTATION EDIT ADDITION
SEND_SIGNAL(src, COMSIG_TICKER_ENTER_PREGAME)
msw7007 marked this conversation as resolved.
Show resolved Hide resolved

fire()
Expand Down Expand Up @@ -232,7 +233,13 @@ SUBSYSTEM_DEF(ticker)
CHECK_TICK
//Configure mode and assign player to antagonists
var/can_continue = FALSE
can_continue = SSdynamic.pre_setup() //Choose antagonists

// can_continue = SSdynamic.pre_setup() //Choose antagonists // BANDASTATION EDIT - STORYTELLER (note: maybe disable)
// BANDASTATION EDIT BEGIN - STORYTELLER
SSgamemode.init_storyteller()
can_continue = SSgamemode.pre_setup()
// BANDASTATION EDIT END - STORYTELLER

msw7007 marked this conversation as resolved.
Show resolved Hide resolved
CHECK_TICK
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_PRE_JOBS_ASSIGNED, src)
can_continue = can_continue && SSjob.divide_occupations() //Distribute jobs
Expand Down Expand Up @@ -299,6 +306,7 @@ SUBSYSTEM_DEF(ticker)
/datum/controller/subsystem/ticker/proc/PostSetup()
set waitfor = FALSE
SSdynamic.post_setup()
SSgamemode.post_setup() // BANDASTATION EDIT - Storyteller
msw7007 marked this conversation as resolved.
Show resolved Hide resolved
GLOB.start_state = new /datum/station_state()
GLOB.start_state.count()

Expand Down
9 changes: 6 additions & 3 deletions code/modules/admin/admin.dm
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,11 @@

var/dat = "<center><B>Game Panel</B></center><hr>"
if(SSticker.current_state <= GAME_STATE_PREGAME)
dat += "<A href='?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_manage=1'>(Manage Dynamic Rulesets)</A><br>"
dat += "<A href='?src=[REF(src)];[HrefToken()];f_dynamic_roundstart=1'>(Force Roundstart Rulesets)</A><br>"
// BANDASTATION EDIT START - STORYTELLER
//dat += "<A href='?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_manage=1'>(Manage Dynamic Rulesets)</A><br>"
//dat += "<A href='?src=[REF(src)];[HrefToken()];f_dynamic_roundstart=1'>(Force Roundstart Rulesets)</A><br>"
dat += "<a href='?src=[REF(src)];[HrefToken()];gamemode_panel=1'>(Game Mode Panel)</a><BR>"
// BANDASTATION EDIT END
if (GLOB.dynamic_forced_roundstart_ruleset.len > 0)
for(var/datum/dynamic_ruleset/roundstart/rule in GLOB.dynamic_forced_roundstart_ruleset)
dat += {"<A href='?src=[REF(src)];[HrefToken()];f_dynamic_roundstart_remove=[text_ref(rule)]'>-> [rule.name] <-</A><br>"}
Expand All @@ -31,7 +34,7 @@
dat += "<hr/>"
if(SSticker.IsRoundInProgress())
dat += "<a href='?src=[REF(src)];[HrefToken()];gamemode_panel=1'>(Game Mode Panel)</a><BR>"
dat += "<A href='?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_manage=1'>(Manage Dynamic Rulesets)</A><br>"
//dat += "<A href='?src=[REF(src)];[HrefToken()];f_dynamic_ruleset_manage=1'>(Manage Dynamic Rulesets)</A><br>" BANDASTATION EDIT - STORYTELLER
dat += {"
<BR>
<A href='?src=[REF(src)];[HrefToken()];create_object=1'>Create Object</A><br>
Expand Down
3 changes: 2 additions & 1 deletion code/modules/admin/topic.dm
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@
else if(href_list["gamemode_panel"])
if(!check_rights(R_ADMIN))
return
SSdynamic.admin_panel()
//SSdynamic.admin_panel() // BANDASTATION EDIT - STORYTELLER
SSgamemode.admin_panel(usr) // BANDASTATION EDIT - STORYTELLER
msw7007 marked this conversation as resolved.
Show resolved Hide resolved

else if(href_list["call_shuttle"])
if(!check_rights(R_ADMIN))
Expand Down
27 changes: 24 additions & 3 deletions code/modules/events/_event.dm
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#define RANDOM_EVENT_ADMIN_INTERVENTION_TIME (10 SECONDS)
// #define RANDOM_EVENT_ADMIN_INTERVENTION_TIME (10 SECONDS)
#define RANDOM_EVENT_ADMIN_INTERVENTION_TIME (2 MINUTES) // BANDASTATION EDIT CHANGE - STORYTELLER (взято с буббера как настройка скайрата, возможно стоит снести именно это изменение?)

msw7007 marked this conversation as resolved.
Show resolved Hide resolved
//this singleton datum is used by the events controller to dictate how it selects events
/datum/round_event_control
Expand Down Expand Up @@ -74,7 +75,8 @@
SHOULD_CALL_PARENT(TRUE)
if(occurrences >= max_occurrences)
return FALSE
if(earliest_start >= world.time-SSticker.round_start_time)
//if(earliest_start >= world.time-SSticker.round_start_time) // BANDASTATION EDIT - STORYTELLER
if(!roundstart && earliest_start >= world.time-SSticker.round_start_time ) // BANDASTATION EDIT: Roundstart checks added
return FALSE
if(!allow_magic && wizardevent != SSevents.wizardmode)
msw7007 marked this conversation as resolved.
Show resolved Hide resolved
return FALSE
Expand Down Expand Up @@ -102,8 +104,27 @@
triggering = TRUE

// We sleep HERE, in pre-event setup (because there's no sense doing it in run_event() since the event is already running!) for the given amount of time to make an admin has enough time to cancel an event un-fitting of the present round or at least reroll it.
message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name]. (<a href='?src=[REF(src)];cancel=1'>CANCEL</a>) (<a href='?src=[REF(src)];different_event=1'>SOMETHING ELSE</a>)")
//message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name]. (<a href='?src=[REF(src)];cancel=1'>CANCEL</a>) (<a href='?src=[REF(src)];different_event=1'>SOMETHING ELSE</a>)") // BANDASTATION EDIT - STORYTELLER
// BANDASTATION EDIT START - Only delay on roundstart
if(SSticker.HasRoundStarted())
msw7007 marked this conversation as resolved.
Show resolved Hide resolved
message_admins("<font color='[COLOR_ADMIN_PINK]'>Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name]. (\
<a href='?src=[REF(src)];cancel=1'>CANCEL</a> | \
<a href='?src=[REF(src)];something_else=1'>SOMETHING ELSE</a>)</font>")
for(var/client/staff as anything in GLOB.admins)
if(staff?.prefs.read_preference(/datum/preference/toggle/comms_notification))
SEND_SOUND(staff, sound('sound/misc/server-ready.ogg'))

sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)

if(triggering)
message_admins("<font color='[COLOR_ADMIN_PINK]'>Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME * 0.5)]: [name]. (\
<a href='?src=[REF(src)];cancel=1'>CANCEL</a> | \
<a href='?src=[REF(src)];something_else=1'>SOMETHING ELSE</a>)</font>")
sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME * 0.5)
else
message_admins("<font color='[COLOR_ADMIN_PINK]'> Roundstart event chosen: [name].")
// BANDASTATION EDIT END

var/players_amt = get_active_player_count(alive_check = TRUE, afk_check = TRUE, human_check = TRUE)
if(!can_spawn_event(players_amt))
message_admins("Second pre-condition check for [name] failed, rerolling...")
Expand Down
13 changes: 13 additions & 0 deletions config/events.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
msw7007 marked this conversation as resolved.
Show resolved Hide resolved
"/datum/round_event_control":
{
"weight" : 10,
"min_players" : 0,
"max_occurrences" : 100,
"earliest_start" : 20,
"track" : "Moderate",
"cost" : 1,
"reoccurence_penalty_multiplier" : 1,
"shared_occurence_type" : null
}
}
47 changes: 47 additions & 0 deletions config/game_options.txt
Original file line number Diff line number Diff line change
Expand Up @@ -559,3 +559,50 @@ MAX_POSITIVE_QUIRKS 6
# If the value is lower than 1, it'll tend to even out the odds
# If higher than 1, it'll lean toward common spawns even more.
RANDOM_LOOT_WEIGHT_MODIFIER 1

## Gamemode configurations
msw7007 marked this conversation as resolved.
Show resolved Hide resolved

## Multipliers for points gained over time for event tracks.
MUNDANE_POINT_GAIN_MULTIPLIER 1
MODERATE_POINT_GAIN_MULTIPLIER 1
MAJOR_POINT_GAIN_MULTIPLIER 1
CREWSET_POINT_GAIN_MULTIPLIER 1
GHOSTSET_POINT_GAIN_MULTIPLIER 1

## Multipliers for points to spend on roundstart events.
MUNDANE_ROUNDSTART_POINT_MULTIPLIER 1
MODERATE_ROUNDSTART_POINT_MULTIPLIER 1
MAJOR_ROUNDSTART_POINT_MULTIPLIER 1
CREWSET_ROUNDSTART_POINT_MULTIPLIER 1
GHOSTSET_ROUNDSTART_POINT_MULTIPLIER 1

## Minimum population caps for event tracks to run their events.
MUNDANE_MIN_POP 0
MODERATE_MIN_POP 0
MAJOR_MIN_POP 20
CREWSET_MIN_POP 0
GHOSTSET_MIN_POP 0

## Point threshold multipliers for tracks to run events. The lesser the more frequent events will be.
MUNDANE_POINT_THRESHOLD 1
MODERATE_POINT_THRESHOLD 1
MAJOR_POINT_THRESHOLD 1
CREWSET_POINT_THRESHOLD 1
GHOSTSET_POINT_THRESHOLD 1

## Allows the storyteller to scale event frequencies based on population
ALLOW_STORYTELLER_POP_SCALING

## Thresholds that population frequency scalling penalize up to.
MUNDANE_POP_SCALE_THRESHOLD 10
MODERATE_POP_SCALE_THRESHOLD 15
MAJOR_POP_SCALE_THRESHOLD 40
CREWSET_POP_SCALE_THRESHOLD 45
GHOSTSET_POP_SCALE_THRESHOLD 40

## The maximum penalties population scalling will apply to the tracks for having less pop than POP_SCALE_THRESHOLD. This is treated as percentages
MUNDANE_POP_SCALE_PENALTY 30
MODERATE_POP_SCALE_PENALTY 30
MAJOR_POP_SCALE_PENALTY 30
CREWSET_POP_SCALE_PENALTY 30
GHOSTSET_POP_SCALE_PENALTY 30
1 change: 1 addition & 0 deletions modular_bandastation/modular_bandastation.dme
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,4 @@
#include "jukebox/_jukebox.dme"
#include "objects/_objects.dme"
#include "overrides/_overrides.dme"
#include "storyteller/_storyteller.dme"
Gaxeer marked this conversation as resolved.
Show resolved Hide resolved
4 changes: 4 additions & 0 deletions modular_bandastation/storyteller/_storyteller.dm
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/datum/modpack/jukebox
msw7007 marked this conversation as resolved.
Show resolved Hide resolved
name = "Storyteller mode"
desc = "Адаптация режиме сторителлера для Bandastation."
author = "Хто-то"
msw7007 marked this conversation as resolved.
Show resolved Hide resolved
45 changes: 45 additions & 0 deletions modular_bandastation/storyteller/_storyteller.dme
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#include "_storyteller.dm"

#include "code\_defines\storyteller_defines.dm"
#include "code\_defines\storyteller_config.dm"

#include "code\event_defines\crewset\_antagonist_event.dm"
#include "code\event_defines\crewset\changeling.dm"
#include "code\event_defines\crewset\heretic.dm"
#include "code\event_defines\crewset\malf.dm"
#include "code\event_defines\crewset\nuke_ops.dm"
#include "code\event_defines\crewset\spies.dm"
#include "code\event_defines\crewset\traitors.dm"

#include "code\event_defines\ghostset\override.dm"
#include "code\event_defines\ghostset\voidwalker.dm"

#include "code\event_defines\major\override.dm"
#include "code\event_defines\moderate\override.dm"
#include "code\event_defines\mundane\override.dm"

#include "code\storytellers\data\tracks.dm"
#include "code\storytellers\tellers\_storyteller.dm"
#include "code\storytellers\tellers\storyteller_bomb.dm"
#include "code\storytellers\tellers\storyteller_chill.dm"
#include "code\storytellers\tellers\storyteller_clown.dm"
#include "code\storytellers\tellers\storyteller_default.dm"
#include "code\storytellers\tellers\storyteller_extended.dm"
#include "code\storytellers\tellers\storyteller_fragile.dm"
#include "code\storytellers\tellers\storyteller_gamer.dm"

#include "code\divergency_report.dm"
#include "code\scheduled_event.dm"
#include "code\vote_reminder.dm"
#include "code\vote.dm"
#include "code\jobs_restrictions.dm"
#include "code\gamemode.dm"

#include "code\event_defines\_event.dm"
#include "code\event_defines\override_events.dm"
#include "code\event_defines\disabled_event_overrides.dm"





msw7007 marked this conversation as resolved.
Show resolved Hide resolved
Loading
Loading