diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index 5e0f181d82d..b1631718982 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -254,7 +254,7 @@ else if(istype(L, /mob/living/carbon/human)) var/mob/living/carbon/human/H = L - if(!isnull(H.internal_organs_by_name["cell"])) + if(H.isSynthetic()) add_fingerprint(H) H.reset_view(src) H.forceMove(src) diff --git a/code/modules/organs/organ_external_vr.dm b/code/modules/organs/organ_external_vr.dm new file mode 100644 index 00000000000..0e3fb07d9ee --- /dev/null +++ b/code/modules/organs/organ_external_vr.dm @@ -0,0 +1,15 @@ +//Sideways override for nanoform limbs (ugh) +/obj/item/organ/external/robotize(var/company, var/skip_prosthetics = FALSE, var/keep_organs = FALSE) + var/original_robotic = robotic + if(original_robotic >= ORGAN_NANOFORM) + var/o_encased = encased + var/o_max_damage = max_damage + var/o_min_broken_damage = min_broken_damage + robotic = FALSE + . = ..(company = company, keep_organs = TRUE) + robotic = original_robotic + encased = o_encased + max_damage = o_max_damage + min_broken_damage = o_min_broken_damage + else + return ..() diff --git a/code/modules/organs/subtypes/nano.dm b/code/modules/organs/subtypes/nano.dm index 639fdec4e52..9c60bf9d08a 100644 --- a/code/modules/organs/subtypes/nano.dm +++ b/code/modules/organs/subtypes/nano.dm @@ -66,22 +66,6 @@ min_broken_damage = 1000 vital = FALSE -//Sideways override for nanoform limbs (ugh) -/obj/item/organ/external/robotize(var/company, var/skip_prosthetics = FALSE, var/keep_organs = FALSE) - var/original_robotic = robotic - if(original_robotic >= ORGAN_NANOFORM) - var/o_encased = encased - var/o_max_damage = max_damage - var/o_min_broken_damage = min_broken_damage - robotic = FALSE - ..(company = company, keep_organs = TRUE) - robotic = original_robotic - encased = o_encased - max_damage = o_max_damage - min_broken_damage = o_min_broken_damage - else - ..() - // // // Internal Organs /obj/item/organ/internal/nano robotic = ORGAN_ROBOT diff --git a/code/modules/organs/subtypes/standard.dm b/code/modules/organs/subtypes/standard.dm index a5a8acb4d47..35cdc6a51af 100644 --- a/code/modules/organs/subtypes/standard.dm +++ b/code/modules/organs/subtypes/standard.dm @@ -24,7 +24,7 @@ base_miss_chance = 10 /obj/item/organ/external/chest/robotize(var/company, var/skip_prosthetics = 0, var/keep_organs = 0) - if(..()) + if(..() && robotic != ORGAN_NANOFORM) //VOREStation Edit // Give them a new cell. owner.internal_organs_by_name["cell"] = new /obj/item/organ/internal/cell(owner,1) diff --git a/vorestation.dme b/vorestation.dme index 46777101383..6b8eecff456 100644 --- a/vorestation.dme +++ b/vorestation.dme @@ -2261,6 +2261,7 @@ #include "code\modules\organs\misc.dm" #include "code\modules\organs\organ.dm" #include "code\modules\organs\organ_external.dm" +#include "code\modules\organs\organ_external_vr.dm" #include "code\modules\organs\organ_icon.dm" #include "code\modules\organs\organ_stump.dm" #include "code\modules\organs\pain.dm"