Moved blood compatibility check to the related file.

This commit is contained in:
Chinsky
2013-06-01 09:08:45 +04:00
parent 5d84360ee5
commit 5de37def3d
2 changed files with 19 additions and 19 deletions

View File

@@ -10,24 +10,6 @@
var/transfer_blood = 0 var/transfer_blood = 0
var/mob/living/carbon/human/bloody_hands_mob var/mob/living/carbon/human/bloody_hands_mob
proc/blood_incompatible(donor,receiver)
if(!donor || !receiver) return 0
var
donor_antigen = copytext(donor,1,lentext(donor))
receiver_antigen = copytext(receiver,1,lentext(receiver))
donor_rh = (findtext(donor,"+")>0)
receiver_rh = (findtext(receiver,"+")>0)
if(donor_rh && !receiver_rh) return 1
switch(receiver_antigen)
if("A")
if(donor_antigen != "A" && donor_antigen != "O") return 1
if("B")
if(donor_antigen != "B" && donor_antigen != "O") return 1
if("O")
if(donor_antigen != "O") return 1
//AB is a universal receiver.
return 0
/obj/item/weapon/reagent_containers/glass/rag /obj/item/weapon/reagent_containers/glass/rag
name = "damp rag" name = "damp rag"

View File

@@ -218,4 +218,22 @@ var/const/BLOOD_VOLUME_SURVIVE = 122
for(var/datum/reagent/blood/D in container.reagent_list) for(var/datum/reagent/blood/D in container.reagent_list)
if(D.data["donor"] == src) if(D.data["donor"] == src)
return D return D
return res return res
proc/blood_incompatible(donor,receiver)
if(!donor || !receiver) return 0
var
donor_antigen = copytext(donor,1,lentext(donor))
receiver_antigen = copytext(receiver,1,lentext(receiver))
donor_rh = (findtext(donor,"+")>0)
receiver_rh = (findtext(receiver,"+")>0)
if(donor_rh && !receiver_rh) return 1
switch(receiver_antigen)
if("A")
if(donor_antigen != "A" && donor_antigen != "O") return 1
if("B")
if(donor_antigen != "B" && donor_antigen != "O") return 1
if("O")
if(donor_antigen != "O") return 1
//AB is a universal receiver.
return 0