From 9e0a2711b319116bd44dd3723111c94383c42e7f Mon Sep 17 00:00:00 2001 From: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Date: Tue, 7 Feb 2023 07:13:06 +1000 Subject: [PATCH 1/2] Merge pull request #14455 from Seris02/nanoformfixwoops fixes nanoform limbs specifically from changing their child limbs --- .../client/preference_setup/general/03_body.dm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/code/modules/client/preference_setup/general/03_body.dm b/code/modules/client/preference_setup/general/03_body.dm index fa84225b27..4eba557885 100644 --- a/code/modules/client/preference_setup/general/03_body.dm +++ b/code/modules/client/preference_setup/general/03_body.dm @@ -372,7 +372,17 @@ var/global/list/valid_bloodtypes = list("A+", "A-", "B+", "B-", "AB+", "AB-", "O // Destroy/cyborgize organs and limbs. character.synthetic = null //Clear the existing var. - for(var/name in list(BP_HEAD, BP_L_HAND, BP_R_HAND, BP_L_ARM, BP_R_ARM, BP_L_FOOT, BP_R_FOOT, BP_L_LEG, BP_R_LEG, BP_GROIN, BP_TORSO)) + //VOREStation Edit + var/list/organs_to_edit = list() + for (var/name in list(BP_TORSO, BP_HEAD, BP_GROIN, BP_L_ARM, BP_R_ARM, BP_L_HAND, BP_R_HAND, BP_L_LEG, BP_R_LEG, BP_L_FOOT, BP_R_FOOT)) + var/obj/item/organ/external/O = character.organs_by_name[name] + if (O) + var/x = organs_to_edit.Find(O.parent_organ) + if (x == 0) + organs_to_edit += name + else + organs_to_edit.Insert(x+(O.robotic == ORGAN_NANOFORM ? 1 : 0), name) + for(var/name in organs_to_edit) //VOREStation edit end var/status = pref.organ_data[name] var/obj/item/organ/external/O = character.organs_by_name[name] if(O)