From 42834301592756f37e54d4fc1f367df9043f445c Mon Sep 17 00:00:00 2001 From: Krausus Date: Mon, 18 May 2015 06:12:40 -0400 Subject: [PATCH] Fixes surgery runtimes/errors --- code/modules/surgery/bones.dm | 4 ++-- code/modules/surgery/implant.dm | 6 +++--- code/modules/surgery/other.dm | 3 ++- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/code/modules/surgery/bones.dm b/code/modules/surgery/bones.dm index ddb11b1fd8d..2aac7c6ab91 100644 --- a/code/modules/surgery/bones.dm +++ b/code/modules/surgery/bones.dm @@ -48,7 +48,7 @@ can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - return affected && affected.name != "head" && affected.open == 2 && affected.stage == 1 + return affected && affected.limb_name != "head" && affected.open == 2 && affected.stage == 1 begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) @@ -85,7 +85,7 @@ can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) - return affected && affected.name == "head" && affected.open == 2 && affected.stage == 1 + return affected && affected.limb_name == "head" && affected.open == 2 && affected.stage == 1 begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) user.visible_message("[user] is beginning piece together [target]'s skull with \the [tool]." , \ diff --git a/code/modules/surgery/implant.dm b/code/modules/surgery/implant.dm index 8cbe1998c64..083f5e3c6d7 100644 --- a/code/modules/surgery/implant.dm +++ b/code/modules/surgery/implant.dm @@ -13,7 +13,7 @@ return affected && affected.open == (affected.encased ? 3 : 2) && !(affected.status & ORGAN_BLEEDING) proc/get_max_wclass(obj/item/organ/external/affected) - switch (affected.name) + switch (affected.limb_name) if ("head") return 1 if ("chest") @@ -23,7 +23,7 @@ return 0 proc/get_cavity(obj/item/organ/external/affected) - switch (affected.name) + switch (affected.limb_name) if ("head") return "cranial" if ("chest") @@ -111,7 +111,7 @@ if (!ishuman(target)) return 0 var/obj/item/organ/external/affected = target.get_organ(target_zone) - var/can_fit = !affected.hidden && affected.cavity && tool.w_class <= get_max_wclass(affected) + var/can_fit = affected && !affected.hidden && affected.cavity && tool.w_class <= get_max_wclass(affected) return ..() && can_fit begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) diff --git a/code/modules/surgery/other.dm b/code/modules/surgery/other.dm index 6c521b18852..99e6a7241d0 100644 --- a/code/modules/surgery/other.dm +++ b/code/modules/surgery/other.dm @@ -18,6 +18,7 @@ can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone) + if(!affected) return 0 var/internal_bleeding = 0 for(var/datum/wound/W in affected.wounds) if(W.internal) @@ -72,7 +73,7 @@ var/obj/item/organ/external/affected = target.get_organ(target_zone) - return affected.open == 2 && (affected.status & ORGAN_DEAD) + return affected && affected.open == 2 && (affected.status & ORGAN_DEAD) begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool) var/obj/item/organ/external/affected = target.get_organ(target_zone)