TauCetiStation / TauCetiClassic

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

[Proposal] Рефактор кровеносной системы #10369

Open LudwigVonChesterfield opened 1 year ago

LudwigVonChesterfield commented 1 year ago

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

У кукол есть кровь. У кукол есть кровопотери. Есть реагент крови.

Но имплементация всех этих трёх вещей никак не учитывает существования ксеносов, к примеру из-за тотального хардкода на кровопотери, очень тяжело решать как разные пришельцы кровь теряют, в какой форме, и куда... (Условные Тихеоне к примеру вместо капель крови должны были бы терять газ из которого состоят, в то время как условный СПУ не должен брызжать вязким маслом во все стороны?). Так же, в принципе невозможно указать что у того или иного ксеноса кровь не кровь, а к примеру машинное масло, или берёзовый сок.

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

В придаток ко всему этому, у всех кукол есть сосуд крови - контейнер на 1000 УЕ, в котором может быть только кровь. Возможно немного переплетаясь с #5070, стоит придумать каким образом в этот контейнер могут попадать другие вещества, и какой это эффект имеет на кукле.

volas commented 1 year ago

Стоит что-то делать возможно на основе хим реагентов. Сейчас кровь - единственный датум с разными полями у всех, и то же смешивание крови в каких нибудь колбах абузивно т.к. применяются и множатся свойства только первой крови. https://github.com/TauCetiStation/TauCetiClassic/pull/9930#discussion_r956740319 А кровь сама по себе еще имеет отдельное кривое поле реагентов.

Я думаю, у мобов мог бы быть отдельный орган-контейнер для содержания крови (сердце и аналоги? вены и артерии сложно, у нас нет органов для всего тела), который бы содержал в себе отдельный реагент крови и отдельные примеси в качестве полноценных реагентов, а не костыльного blood.trace_chem. Каждому мобу уникальный датум крови, им своё смешивание в хим реакциях. У каждой расы свой мастер-датум крови, со своими свойствами. На уровне датума моба - свойства днк и прочей data вирусов и т.д.

Насчет газа вместо крови - не знаю, газы у нас как-то обособленно стоят. Может сделать в жидкой форме, а при попадании на воздух - реакцию с превращением в газ (если такая есть).