Fixes surgery runtimes/errors

This commit is contained in:
Krausus
2015-05-18 06:12:40 -04:00
parent 13cac3571e
commit 4283430159
3 changed files with 7 additions and 6 deletions
+2 -2
View File
@@ -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]." , \
+3 -3
View File
@@ -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)
+2 -1
View File
@@ -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)