1) Что было раньше? Орган к человеку прицеплялся функцией "заменить орган". При этом, надо было указать, какой орган мы заменяем. И можно было сделать так: сказать новой правой руке заменить левую. В итоге левая удалялась, старая права попадала "в желудок", а новая ставилась на свое место.
Теперь орган присоединяется функцией "присоединить" и он заметит орган в той позции, куда будет прицеплен. Старый, если существует, удалится.
Пример улучшения - создание глаз для моба.
Вместо:
new /obj/item/organ/eyes (human, 1) // Что значит эта единица?
Пишем просто:
new /obj/item/organ/internal/eyes (human) //Орган сам знает, что он внутренний и куда ему встать.
2)
Раньше, создай мы новый вид протеза (нормальный, с новым функционалом, а не просто другой спрайт и пометка - протез), надо было создать четыре типа объектов - по одному для каждой конечности, ибо описание каждой конечности (имя, место крепления к телу и прочее) прописывалось в каждом типе.
Теперь описание конечностей хранится отдельно от функционала. Мы можем создать новый вид протезов описав только один тип. После мы просто применем описательную часть нужного органа к нему. Удобно!
В итоге, вот такая штука:
У нас будет такой:
/obj/item/organ/external/limb/ipc
dislocated = -1
/obj/item/organ/external/limb/ipc/New()
robotize("Morpheus Cyberkinetics")
..()