Surgery requires the patient to be unconscious, dead, or asleep.

This commit is contained in:
Rob Nelson
2013-11-27 17:59:23 -08:00
parent 2aca908aff
commit 6bd4069c8e

View File

@@ -33,7 +33,8 @@
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
return ..() && affected.open == 0 && target_zone != "mouth"
// N3X: Patient must be sleeping, dead, or unconscious.
return ..() && affected.open == 0 && target_zone != "mouth" && (target.sleeping>0 || target.stat)
begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
@@ -70,7 +71,7 @@
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
return ..() && affected.open && (affected.status & ORGAN_BLEEDING)
return ..() && affected.open && (affected.status & ORGAN_BLEEDING) && (target.sleeping>0 || target.stat)
begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
@@ -104,7 +105,7 @@
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
return ..() && affected.open == 1 && !(affected.status & ORGAN_BLEEDING)
return ..() && affected.open == 1 && !(affected.status & ORGAN_BLEEDING) && (target.sleeping>0 || target.stat)
begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
@@ -159,7 +160,7 @@
can_use(mob/living/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
return ..() && affected.open && target_zone != "mouth"
return ..() && affected.open && target_zone != "mouth" && (target.sleeping>0 || target.stat)
begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)
@@ -201,7 +202,7 @@
return 0
if (affected.status & ORGAN_DESTROYED)
return 0
return target_zone != "chest" && target_zone != "groin" && target_zone != "head"
return target_zone != "chest" && target_zone != "groin" && target_zone != "head" && (target.sleeping>0 || target.stat)
begin_step(mob/user, mob/living/carbon/human/target, target_zone, obj/item/tool)
var/datum/organ/external/affected = target.get_organ(target_zone)