TauCetiStation / TauCetiClassic

Франкенштейн жив
GNU Affero General Public License v3.0
138 stars 416 forks source link

[Proposal] Удалить ex_act() атмосферных трубок #11104

Open Deahaka opened 1 year ago

Deahaka commented 1 year ago

Подробное описание проблемы

Слева до, справа после по профайлеру 00000000000000000000000000000000003

https://github.com/TauCetiStation/TauCetiClassic/blob/edd6f6ac17eb54a34beb381b713e4a35cd31d5d1/code/modules/ventcrawl/ventcrawl_atmospherics.dm#L17

Оно експлоудит атомы внутри себя, но они и без этого гибаются если оказываются в DEVASTATE радиусе. Если нужен не только гиб, то что ещё?

Что должно было произойти

нет лишних задач во время взрыва нюки

Что произошло на самом деле

есть лишние задачи во время взрыва нюки

Как повторить

затестить https://github.com/TauCetiStation/TauCetiClassic/pull/11090

Дополнительная информация:

LudwigVonChesterfield commented 1 year ago

в рнд расписал тебе полное решение

volas commented 1 year ago

Оно експлоудит атомы внутри себя, но они и без этого гибаются если оказываются в DEVASTATE радиусе

не совсем, в devastate радиус мобы в контейнерах не попадут, потому что физически не находятся на тайле.

Проблема скорее в ребилде сети труб в nullifyNode, после уничтожения каждой. Мне кажется, у нас это уже оптимизировалось в каких-то ситуациях, но я не нашел. В любом случае, потом нам нужно будет портировать SSlag_switch, и мы можем просто останавливать лишние сабсистемы для большого взрыва (в раунде всё равно никто потом не будет играть).