Skip to content

Рефактор кода режимов#6985

Merged
T6751 merged 313 commits into
TauCetiStation:masterfrom
KIBORG04:some_gamemode_update
Jun 22, 2021
Merged

Рефактор кода режимов#6985
T6751 merged 313 commits into
TauCetiStation:masterfrom
KIBORG04:some_gamemode_update

Conversation

@KIBORG04

@KIBORG04 KIBORG04 commented Mar 30, 2021

Copy link
Copy Markdown
Member

Описание изменений

Для всех

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

  • Теперь при смерти блоба не будет моментально кончаться игра, зависит от конфига континью_раунд
  • Теперь в начале блоба ИИ получит нулевой закон о карантине.
  • Теперь если блоб наберет 0.7*до_победы тайлов, то ИИ получит нулевой закон, который гласит о том, что нужно любой ценой взорвать станцию и никому не допустить сбежать отттуда. Код от нюки прилагается.
  • Если ни один режим не может быть потенциально запущенным, то запустится экста
  • Убран из ротации режим нинзи. (by Edlern)
  • Бандл бс12 и тау классик убран. Вместо этого теперь режим Secret имеет все режимы, а Secret Plus будет иметь все режимы Secret'a, но и новые режимы-смеси, которые будут объединять сразу несколько фракций-антагонистов. Правда, в первые дни Secret+ будет доступен только из админ панели, чтобы если вдруг будет апокалипсис, то не настолько страшный.
  • Новые микс-тест-режимы. Цифра - минимум игроков, если выпадет рандомом, то может быть меньше.
    • Real Infestation: Бореры, алиены, ченджлинги. 60
    • Revolution Of Nar-Sie: Рева, культ. 60
    • Conflux: Маги, культ. 30
    • Fuss: Маги, триторы. 30
    • Visitors: Абдукторы, маги. 60
    • Crossfire: Нюка, хеист aka воксы. 50
    • Research Mission: Абдукторы, чейнджлинги. 60
  • Теперь в режиме мага при большом онлайне спавнится два нейтральных друг к другу мага. Это должно разнообразить гейм экспириенс в этом режиме у игроков
  • Добавлен бандл с тим-бейзед режимами. Отличительная особенность этого бандла от других, это то, что он имеет в себе режимы, в которых участие принимает сб и экипаж, а антаги не стелсопидарасят по техам. Режимы: Абдукторы, бляб, культ, алиены, нюка, рева, шедоулинги. Хеист не добавил, потому все же воксы слабенькие, а экипаж почти ничего не делает.
  • У глав реверов теперь по 20 кристалов, вместо 14

Для игроков

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


Для админтоты

Теперь вы сможете с легкостью игрокам выдавать формации, фракции, где можете поставить общую задачу для ролей-членов. Эти члены могут быть абсолютно любой ролькой. Вы можете хоть сделать фракцию клоунов, которая будет состоять из блобов, нюкеров и культистов. Вообщем, простор для ивентов и прочей фигни.
Так же, теперь в чек антагонистах больше и инфы и можно будет прыгать на ролек в одном окне.
А так же, теперь в логах будет отдельный тэг MODE: для всех штук, которые как-то происходят с ролями, типо блоб создался и добавился в фракцию "блоб конгломерат".

Теперь админы смогут очень легко делать кастомные роли с кастомным названием и логотипом, а так же кастомным приветственным сообщением (greet). То есть, может быть, раунды будут лучше. (Просто ищите при выдаче рольки или фракции слово Custom, так же и с обжектом)

Пример их кнопок:

Статистика конца раунда, менюшка настройки фракции, тритор панель. Слева направо окошки.

image


Для комдеров

Создавать новые режимы игры не было никогда так просто, как сейчас. Это довольно хороший и +- удобный фреймворк.
Можно будет портировать с тг/вг динамический режим(это типо сторителлера у эрисов), в этом динамическом режиме во время раундов людям могут сыпаться разные рольки в зависимости от кучи параметров, вот...

Теперь все режимы изначально имею вес в 100, а значит в конфигах можно более гибко менять шансы на режимы.

Не называйте банды и режимы, используя всякие символы, типо &, +. Оно потом юзается в хтмле, который плохо их переваривает. Фикс этого не в рамках этого Пра


Для ревуверов

Да, это тот самый рефактор режимов. Мержить после #6909
Вообще, это в основном готовый ПР, но нужно много чего полировать и допиливать, а так же я жду мерж культа #6843, чтобы уже и его адаптировать под эту всю систену.

И, да, тут мега много чего смотреть можно было бы image, а можно просто кинуть в ТМ и говорить мне че фиксить че не фиксить и че поменять и че не поменять. Просто уже был случай, человек захотел поревувить ПР на image и умер.


Для хостов КОНФЛИКТУЕТ С ТЕКУЩИМИ КОНФИГАМИ!!!!!!!

Я актуальное написал тут: config/example/config.txt

Нужно будет почистить конфиги с PROBABILITY от старого. Изменить значение, потому что сейчас по стандарту стоит 100 пробабилити у каждого режима и это нужно/не нужно занизить. Так же, нужно будет сверить название режма в конфиге с config_name у меня в коде.

Так же, теперь будет более стандартизированные итоги раундов, что скажется на конечной джсонке и виде статистики

TODO:

TODO:

  • Добавить для фракций и ролей(если нужно) min_roles, как заменя required_enemy
  • Заставить работать проки аплинков у всех синдикеков
  • Культ
  • Обжекты алиенов сделать датумными
  • GetObjectivesMenuHeader - переименовать, потому что оно никак не связано с обжективами
  • Убрать дебаг код если я забуду (// !!! DEBUG CODE !!!)
  • Починить, чтобы рева не начиналась если нету глав раундстартовых (вроде как, не моя проблема)
  • В проке GetMemory, traitor panel сделать, чтобы шла сначала фракция, а потом ролька-член фракции, а не наоборот.
  • Убрать старые префы ролек из файлов сохранений Я передумал юзать эту фичу, так как много лишней мороки мне нужно будет сделать, да и подумал лучше отделить дефайны префоф от дефайнов ролей
  • Убрать из ролей special_role, вместо этого пусть будет ИД роли
  • Дать фракциям, где проебано, required_pref
  • поубирать юзелесс stack_trace в фракциях и ролях
  • Заменить FAILURE и другие итоги обжекта на старые слова и добавить жирности шрифту
  • Убрать или изменить late_role и initial_role. Заменить/убрать на initial(initroletype.id) и initial(roletype.id). Фича непонятная и странная довольно. Зачем это надо заполнять, если можно взять у типа роли?
  • Разобраться и сделать нормальным механ ролей greets
  • Вернуть в титры у разных фракций "<div class='Section'>[text]</div>"
  • Раундстартом одна кукла не может получить больше одной роли.
  • Сделать, чтобы бореры раундстартом работали
  • Добавить в титры названия ролей
  • Уменьшить размер титров
  • Опционально, раскидать обжекты по папкам фракций, а не все сразу в одном файле
  • Возможно, допилить кастомные итоги режима (нюки и ревы и малфа и блоба)
  • Опционально, сделать зомбей
  • Опционально, создание кастомной фракции и ролей в прямо игре
  • Опционально, подогнать стиль названий функций под один стиль. Отдам предпочтение слейлкейсу
  • Опционально, сделать абстракцию под все фракции, где по итогу кукла-член-экипажа меняется меняется на другого моба по лендмарке.

close #4434
close #7023
fix #6868
fix #6448

Почему и что этот ПР улучшит

Легче создавать новые режимы. Легче делать ивенты прямо в раунде

Авторство

Я, ВГ, ТГ

Чеинжлог

🆑 KIBORG, VGstation

  • add[link]: Был изменен код всех игровых режимов. Вместе с этим множество правок самих режимов.
  • add: Добавлена куча багов и новых фич.

@TauKitty

TauKitty commented Mar 30, 2021

Copy link
Copy Markdown
Contributor
Changelog status: ✔️

@KIBORG04 KIBORG04 marked this pull request as draft March 30, 2021 16:01
AndroBetel and others added 24 commits March 30, 2021 19:14
Co-authored-by: T6751 <66636084+T6751@users.noreply.github.com>
* qdel fixes

* obj/machinery/door destroy

* удалять filter() нельзя

* SHOULD_CALL_PARENT(TRUE)

* Update radial.dm

* return ..()

* /obj/item/radio/integrated/mule was unable to be GC'd --

* /obj/item/weapon/cartridge/quartermaster was unable to be GC'd --

* /obj/item/radio/integrated/beepsky

* active = null

* /datum/data/record was unable to be GC'd --

* Revert "/datum/data/record was unable to be GC'd --"

This reverts commit 01c7a70.

Co-authored-by: KIBORG04 <bossmira4@gmail.com>
* Update hydroponics.dm

* Update code/game/machinery/hydroponics.dm

Co-authored-by: T6751 <66636084+T6751@users.noreply.github.com>

* Update hydroponics.dm

* Update taucetistation.dme

* Update hydroponics.dm

* Revert "Update taucetistation.dme"

This reverts commit 5005962.

Co-authored-by: T6751 <66636084+T6751@users.noreply.github.com>
Co-authored-by: KIBORG04 <bossmira4@gmail.com>
* добавляет военные преступления нюке

* missingsprieat

* Update code/game/machinery/computer/intruder_station.dm

Co-authored-by: Kortez <36198983+Kortez90@users.noreply.github.com>

* Update code/game/objects/items/weapons/tanks/watertank.dm

Co-authored-by: Kortez <36198983+Kortez90@users.noreply.github.com>

* Update code/game/machinery/computer/intruder_station.dm

Co-authored-by: T6751 <66636084+T6751@users.noreply.github.com>

* Update code/modules/reagents/reagent_dispenser.dm

Co-authored-by: Kortez <36198983+Kortez90@users.noreply.github.com>

* Update code/game/objects/items/weapons/storage/uplink_kits.dm

Co-authored-by: Kortez <36198983+Kortez90@users.noreply.github.com>

* changes

* we're doing this

* weremakigndishappne

* we're doing this

* species

* doing right

* fixesnshiet

* Update code/game/objects/items/devices/radio/beacon.dm

Co-authored-by: KIBORG04 <bossmira4@gmail.com>

* Update reagent_dispenser.dm

* fixes and also fire protection

Co-authored-by: Kortez <36198983+Kortez90@users.noreply.github.com>
Co-authored-by: T6751 <66636084+T6751@users.noreply.github.com>
Co-authored-by: KIBORG04 <bossmira4@gmail.com>
…6812)

* initial commit

* Update code/modules/clothing/spacesuits/rig/rig.dm

Co-authored-by: KIBORG04 <bossmira4@gmail.com>

Co-authored-by: T6751 <66636084+T6751@users.noreply.github.com>
Co-authored-by: KIBORG04 <bossmira4@gmail.com>
* Plant-B-Gone fix+update

~Changed Plant-B-Gone behaviour on diona: now it deal brute+burn (was toxic, but diona immune to it) dmg and deals it only to uncovered bodyparts.
+Add some checks for inhaling Plant-B-Gone

* Fix bug and tweak power a bit

Fix coef aplied twice

* == in Code Convention

Co-authored-by: T6751 <66636084+T6751@users.noreply.github.com>

* propper covering function

Co-authored-by: T6751 <66636084+T6751@users.noreply.github.com>
* Дионы и некоторые другие виды больше не блюют от теленауки

* Дионы NO_VOMIT

* NO_VOMIT для скелетов

Co-authored-by: T6751 <66636084+T6751@users.noreply.github.com>
* config cleanup

* no more hardcoded links

* Update code/_compile_options.dm

Co-authored-by: T6751 <66636084+T6751@users.noreply.github.com>
* Python on windows

* Revert unix shelleo and remove systype check
Co-authored-by: KIBORG04 <bossmira4@gmail.com>
…tiStation#6975)

* В описаниях бикеров всегда будет актуальная инфа

* Забытый пробел

* Забыл. Хотя вызов родительского прока и не нужен

Co-authored-by: TechCat <378937+TechCatOther@users.noreply.github.com>
* Update taucetistation.dme

* Update biogenerator.dm

* Update taucetistation.dme

* Update biogenerator.dm

Co-authored-by: TechCat <378937+TechCatOther@users.noreply.github.com>
Co-authored-by: TechCat <378937+TechCatOther@users.noreply.github.com>
@KIBORG04

Copy link
Copy Markdown
Member Author

Скоро я и до мержа этого ПРа дойду. Пока пусть еще полежит пару деньков...

@KIBORG04 KIBORG04 removed the Special Test Merge Тест Мерж происходит нестандартно (только на первом, только сэндбокс) label Jun 16, 2021
@KIBORG04

Copy link
Copy Markdown
Member Author

Я готов к мержам, ставьте лайк кто тоже

@T6751 T6751 merged commit 18f8411 into TauCetiStation:master Jun 22, 2021
TauKitty added a commit to TauCetiStation/ClassicChangelog that referenced this pull request Jun 22, 2021
@KIBORG04 KIBORG04 deleted the some_gamemode_update branch May 26, 2023 15:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Balance Config Update Feature Новая фича Refactor Sprites Test Merge Candidate ПР с этим лэйблом будет или уже находится с тест мерже Tweak

Projects

None yet