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

refact(surgery): make surgery a bit less painful to modify #10689

Merged
merged 37 commits into from
Oct 29, 2023
Merged

refact(surgery): make surgery a bit less painful to modify #10689

merged 37 commits into from
Oct 29, 2023

Conversation

intercepti0n
Copy link
Collaborator

@intercepti0n intercepti0n commented Oct 11, 2023

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

Галопом по изменениям

  • Разделил проверки по логическим этапам т.е сначала проверяется родительский орган, который выбирается на кукле и не включает глаза и рот, далее будет проверяться целевой, если он не является родительским.
  • Добавил прок, используя который можно вклиниться в процесс операции и заменить целевой орган, полезно при работе с внутренними органами.
  • Внес всевозможные проверки на инструменты внутрь прока по выполнению хирургии, дабы нельзя было лишний раз вызвать неопределенное поведение.
  • Избавился от БОЛЬШИНСТВА костылей, созданных для работы плат.
  • От операций над метроидами пришлось отказаться из-за чересчур костыльной реализации, благо на всех картах уже стоят индустриальные гибберы, которые заточены под переработку метроидов и улучшаются по ходу раунда.
Чейнджлог
🆑
bugfix: синтетические конечности из фабрикатора вновь можно присоединять к людям.
tweak: конечности можно присоединять к человеку кликом по любой части тела.
rscadd: операции с выбором над синтами теперь используют радиальное меню.
rscdel: метроиды больше не оперируются, получение ядер происходит через гиб.
/🆑
  • Pull Request полностью завершен, мне не нужна помощь чтобы его закончить.
  • Я внимательно прочитал все свои изменения и багов в них не нашел.
  • Я запускал сервер со своими изменениями локально и все протестировал.
  • Я ознакомился c Guide to Contribute.

@intercepti0n
Copy link
Collaborator Author

С surgery_step закончил, начинаю переносить операции на новую систему.

code/_helpers/surgery.dm Outdated Show resolved Hide resolved
code/_helpers/surgery.dm Outdated Show resolved Hide resolved
code/datums/surgery/surgery_step.dm Show resolved Hide resolved
@kreeperHLC kreeperHLC added 🌌геймдизайн Затрагивает игровую логику 🔩 улучшение Новая фича или улучшение старой 💉 медицина Человеки не лечатся labels Oct 18, 2023
Copy link
Contributor

@kreeperHLC kreeperHLC left a comment

Choose a reason for hiding this comment

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

Веселись

code/modules/integrated_electronics/subtypes/medical.dm Outdated Show resolved Hide resolved
code/modules/integrated_electronics/subtypes/medical.dm Outdated Show resolved Hide resolved
code/datums/surgery/surgery_step.dm Show resolved Hide resolved
@intercepti0n
Copy link
Collaborator Author

Я сделяль.

@github-actions github-actions bot added 📜 Требуется CL У ПРа отсутствует чейнджлог или он с ошибками. 📜 Есть CL Чейнджлог в наличии и не содержит ошибок and removed 📜 CL не требуется Тссс 📜 Требуется CL У ПРа отсутствует чейнджлог или он с ошибками. labels Oct 26, 2023
@intercepti0n
Copy link
Collaborator Author

Я победил чейнджлог. С десятой попытки...

Doster-d
Doster-d previously approved these changes Oct 26, 2023
Copy link
Member

@Doster-d Doster-d left a comment

Choose a reason for hiding this comment

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

Девелоперы никогда не врут в галках

@github-actions github-actions bot added 📜 Требуется CL У ПРа отсутствует чейнджлог или он с ошибками. 📜 Есть CL Чейнджлог в наличии и не содержит ошибок and removed 📜 Есть CL Чейнджлог в наличии и не содержит ошибок 📜 Требуется CL У ПРа отсутствует чейнджлог или он с ошибками. labels Oct 27, 2023
Copy link
Contributor

@kreeperHLC kreeperHLC left a comment

Choose a reason for hiding this comment

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

Куда лучше чем то нечитаемое говно, которое есть сейчас. Вот бы ещё дефайны для хирургических шагов.

code/datums/surgery/steps/bone.dm Outdated Show resolved Hide resolved
code/datums/surgery/steps/face.dm Show resolved Hide resolved
* Facial tissue cutting step.
*/
/datum/surgery_step/generic/cut_face
duration = CUT_DURATION * 1.25
Copy link
Contributor

Choose a reason for hiding this comment

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

Урааа, магическое число

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Но вот вынесу в дефайн и лапша из шагов станет в сто раз читабельнее.

allowed_tools = list(
/obj/item/stack/medical/advanced/bruise_pack= 67,
/obj/item/stack/medical/bruise_pack = 34,
/obj/item/tape_roll = 20
Copy link
Contributor

Choose a reason for hiding this comment

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

Оно указано, но не проходит проверку ниже

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Ок, я схему работы операций не менял, я просто уберу этот предмет.

@kreeperHLC
Copy link
Contributor

Ну теперь можно пускать в тестмерж

@kreeperHLC kreeperHLC dismissed their stale review October 27, 2023 11:37

Он мой

#define ORGAN_FIX_DURATION 35
#define CONNECT_DURATION 50
#define STERILIZATION_DURATION 55
#define DETATCH_DURATION 52
Copy link
Member

Choose a reason for hiding this comment

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

какой нахуй DETATCH

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Как же он издевается...

Copy link
Member

@Zert0X Zert0X left a comment

Choose a reason for hiding this comment

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

Мне сказали плеертест прошёл хорошо

@intercepti0n intercepti0n merged commit dc1bd56 into ChaoticOnyx:dev Oct 29, 2023
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📜 Есть CL Чейнджлог в наличии и не содержит ошибок 💉 медицина Человеки не лечатся 🔨 рефакторинг Организация и улучшение текущего кода 🔩 улучшение Новая фича или улучшение старой
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants