From 299f6e4299e9a0135a46264d6e3455605dbf7b47 Mon Sep 17 00:00:00 2001 From: Arokha Sieyes Date: Sat, 17 Mar 2018 19:45:59 -0400 Subject: [PATCH] VS: Nano ignores organ robotics sometimes --- code/modules/organs/organ_external_vr.dm | 15 +++++++++++++++ code/modules/organs/subtypes/nano.dm | 16 ---------------- code/modules/organs/subtypes/standard.dm | 2 +- vorestation.dme | 1 + 4 files changed, 17 insertions(+), 17 deletions(-) create mode 100644 code/modules/organs/organ_external_vr.dm 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"