Fixes Blood Types (#12520)

This commit is contained in:
Fox McCloud
2019-10-07 23:15:54 -04:00
committed by variableundefined
parent 36e464cf7e
commit 93fa76bee0
16 changed files with 44 additions and 85 deletions
+1 -1
View File
@@ -2990,7 +2990,7 @@
dat += "<table cellspacing=5><tr><th>Name</th><th>DNA</th><th>Blood Type</th></tr>"
for(var/mob/living/carbon/human/H in GLOB.mob_list)
if(H.dna && H.ckey)
dat += "<tr><td>[H]</td><td>[H.dna.unique_enzymes]</td><td>[H.b_type]</td></tr>"
dat += "<tr><td>[H]</td><td>[H.dna.unique_enzymes]</td><td>[H.dna.blood_type]</td></tr>"
dat += "</table>"
usr << browse(dat, "window=DNA;size=440x410")
if("fingerprints")
+1 -1
View File
@@ -397,7 +397,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
new_character.real_name = record_found.fields["name"]
new_character.change_gender(record_found.fields["sex"])
new_character.age = record_found.fields["age"]
new_character.b_type = record_found.fields["b_type"]
new_character.dna.blood_type = record_found.fields["blood_type"]
else
new_character.change_gender(pick(MALE,FEMALE))
var/datum/preferences/A = new()
@@ -2145,7 +2145,6 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
character.change_gender(gender)
character.age = age
character.b_type = b_type
//Head-specific
var/obj/item/organ/external/head/H = character.get_organ("head")
@@ -2188,7 +2187,7 @@ var/global/list/special_role_times = list( //minimum age (in days) for accounts
if(status == "cybernetic")
I.robotize()
character.dna.b_type = b_type
character.dna.blood_type = b_type
// Wheelchair necessary?
var/obj/item/organ/external/l_foot = character.get_organ("l_foot")
@@ -16,7 +16,6 @@ var/global/default_martial_art = new/datum/martial_art
var/lip_color = "white"
var/age = 30 //Player's age (pure fluff)
var/b_type = "A+" //Player's bloodtype
var/underwear = "Nude" //Which underwear the player wants
var/undershirt = "Nude" //Which undershirt the player wants
@@ -147,7 +147,7 @@
if(method == INGEST && iscarbon(M))
var/mob/living/carbon/C = M
if(C.get_blood_id() == "blood")
if((!data || !(data["blood_type"] in get_safe_blood(C.dna.b_type))))
if((!data || !(data["blood_type"] in get_safe_blood(C.dna.blood_type))))
C.reagents.add_reagent("toxin", volume * 0.5)
else
C.blood_volume = min(C.blood_volume + round(volume, 0.1), BLOOD_VOLUME_NORMAL)
+2 -2
View File
@@ -155,7 +155,7 @@
if((D.spread_flags & SPECIAL) || (D.spread_flags & NON_CONTAGIOUS))
continue
C.ForceContractDisease(D)
if(!(blood_data["blood_type"] in get_safe_blood(C.dna.b_type)))
if(!(blood_data["blood_type"] in get_safe_blood(C.dna.blood_type)))
C.reagents.add_reagent("toxin", amount * 0.5)
return 1
@@ -193,7 +193,7 @@
blood_data["ckey"] = ckey
if(!suiciding)
blood_data["cloneable"] = 1
blood_data["blood_type"] = copytext(src.dna.b_type,1,0)
blood_data["blood_type"] = copytext(src.dna.blood_type,1,0)
blood_data["gender"] = gender
blood_data["real_name"] = real_name
blood_data["blood_color"] = dna.species.blood_color
+2 -2
View File
@@ -57,7 +57,7 @@
if(dna)
if(!blood_DNA)
blood_DNA = list()
blood_DNA[dna.unique_enzymes] = dna.b_type
blood_DNA[dna.unique_enzymes] = dna.blood_type
else
dna = new /datum/dna(null)
if(species_override)
@@ -79,7 +79,7 @@
blood_DNA.Cut()
else
blood_DNA = list()
blood_DNA[dna.unique_enzymes] = dna.b_type
blood_DNA[dna.unique_enzymes] = dna.blood_type
/obj/item/organ/proc/necrotize(update_sprite = TRUE)
damage = max_damage