Virology's broken as fuck, damnifino why

This commit is contained in:
Poojawa
2019-08-21 03:36:40 -05:00
parent b29607c019
commit 32c7a7c3ee
9 changed files with 34 additions and 26 deletions

View File

@@ -252,10 +252,7 @@
/atom/proc/get_examine_name(mob/user)
. = "\a [src]"
var/list/override = list(gender == PLURAL ? "some" : "a", " ", "[name]")
if(length(blood_DNA) && article)
. = "[article] [src]"
override[EXAMINE_POSITION_ARTICLE] = " blood-stained [article]"
else if(article)
if(article)
. = "[article] [src]"
override[EXAMINE_POSITION_ARTICLE] = article
@@ -267,7 +264,18 @@
. = "[icon2html(src, user)] [thats? "That's ":""][get_examine_name(user)]"
/atom/proc/examine(mob/user)
to_chat(user, "[get_examine_string(user, TRUE)].")
//This reformat names to get a/an properly working on item descriptions when they are bloody
var/f_name = "\a [src]."
if(src.blood_DNA && !istype(src, /obj/effect/decal))
if(gender == PLURAL)
f_name = "some "
else
f_name = "a "
f_name += "<span class='danger'>blood-stained</span> [name]!"
to_chat(user, "[icon2html(src, user)] That's [f_name]")
// to_chat(user, "[get_examine_string(user, TRUE)].")
if(desc)
to_chat(user, desc)
@@ -377,14 +385,14 @@
var/list/blood_dna = M.get_blood_dna_list()
if(!blood_dna)
return FALSE
return add_blood_DNA(blood_dna)
return add_blood_DNA(blood_dna, M.diseases)
//to add blood onto something, with blood dna info to include.
/atom/proc/add_blood_DNA(list/blood_dna, list/datum/disease/diseases)
return FALSE
/obj/add_blood_DNA(list/blood_dna, list/datum/disease/diseases)
return transfer_blood_dna(blood_dna)
return transfer_blood_dna(blood_dna, diseases)
/obj/item/add_blood_DNA(list/blood_dna, list/datum/disease/diseases)
if(!..())
@@ -413,30 +421,30 @@
var/obj/effect/decal/cleanable/blood/splatter/B = locate() in src
if(!B)
B = new /obj/effect/decal/cleanable/blood/splatter(src, diseases)
B.transfer_blood_dna(blood_dna) //give blood info to the blood decal.
B.transfer_blood_dna(blood_dna, diseases) //give blood info to the blood decal.
return TRUE //we bloodied the floor
/mob/living/carbon/human/add_blood_DNA(list/blood_dna, list/datum/disease/diseases)
if(head)
head.add_blood_DNA(blood_dna)
head.add_blood_DNA(blood_dna, diseases)
update_inv_head()
else if(wear_mask)
wear_mask.add_blood_DNA(blood_dna)
wear_mask.add_blood_DNA(blood_dna, diseases)
update_inv_wear_mask()
if(wear_neck)
wear_neck.add_blood_DNA(blood_dna)
wear_neck.add_blood_DNA(blood_dna, diseases)
update_inv_neck()
if(wear_suit)
wear_suit.add_blood_DNA(blood_dna)
wear_suit.add_blood_DNA(blood_dna, diseases)
update_inv_wear_suit()
else if(w_uniform)
w_uniform.add_blood_DNA(blood_dna)
w_uniform.add_blood_DNA(blood_dna, diseases)
update_inv_w_uniform()
if(gloves)
var/obj/item/clothing/gloves/G = gloves
G.add_blood_DNA(blood_dna)
G.add_blood_DNA(blood_dna, diseases)
else
transfer_blood_dna(blood_dna)
transfer_blood_dna(blood_dna, diseases)
bloody_hands = rand(2, 4)
update_inv_gloves() //handles bloody hands overlays and updating
return TRUE

View File

@@ -35,7 +35,7 @@
if(infective)
diseases = infective.diseases
var/obj/effect/decal/cleanable/blood/splatter/xeno/splat = new /obj/effect/decal/cleanable/blood/splatter/xeno(loc, diseases)
splat.transfer_blood_dna(blood_DNA)
splat.transfer_blood_dna(blood_DNA, diseases)
if(!step_to(src, get_step(src, direction), 0))
break

View File

@@ -16,7 +16,7 @@
if(gibs_reagent_id)
reagents.add_reagent(gibs_reagent_id, 5)
if(gibs_bloodtype)
add_blood_DNA(list("Non-human DNA" = gibs_bloodtype))
add_blood_DNA(list("Non-human DNA" = gibs_bloodtype, diseases))
update_icon()
@@ -50,7 +50,7 @@
if(infective)
diseases = infective.diseases
var/obj/effect/decal/cleanable/blood/splatter/splat = new /obj/effect/decal/cleanable/blood/splatter(loc, diseases)
splat.transfer_blood_dna(blood_DNA)
splat.transfer_blood_dna(blood_DNA, diseases)
if(!step_to(src, get_step(src, direction), 0))
break

View File

@@ -45,7 +45,7 @@
return(BRUTELOSS)
/obj/item/clothing/shoes/transfer_blood_dna(list/blood_dna)
/obj/item/clothing/shoes/transfer_blood_dna(list/blood_dna, diseases)
..()
if(blood_dna.len)
last_bloodtype = blood_dna[blood_dna[blood_dna.len]]//trust me this works

View File

@@ -7,7 +7,7 @@
if(add_blood_DNA(G.blood_DNA)) //only reduces the bloodiness of our gloves if the item wasn't already bloody
G.transfer_blood--
else if(M.bloody_hands > 1)
if(add_blood_DNA(M.blood_DNA))
if(add_blood_DNA(M.blood_DNA, M.diseases))
M.bloody_hands--
if(!suit_fibers)
suit_fibers = list()

View File

@@ -170,7 +170,7 @@
if(iscarbon(user))
var/mob/living/carbon/C = user
user_dna = C.dna
B.add_blood_DNA(user_dna)
B.add_blood_DNA(user_dna, C.diseases)
var/datum/callback/gibspawner = CALLBACK(GLOBAL_PROC, /proc/spawn_atom_to_turf, /obj/effect/gibspawner/generic, B, 1, FALSE, list(user_dna))
B.throw_at(target, BRAINS_BLOWN_THROW_RANGE, BRAINS_BLOWN_THROW_SPEED, callback=gibspawner)
return(BRUTELOSS)

View File

@@ -194,7 +194,7 @@
to_chat(usr, "<span class='warning'>ERROR: Cannot replicate virus strain.</span>")
return
A = A.Copy()
var/list/data = list("viruses" = list(A))
var/list/data = list("blood_DNA" = "UNKNOWN DNA", "blood_type" = "SY", "viruses" = list(A))
var/obj/item/reagent_containers/glass/bottle/B = new(drop_location())
B.name = "[A.name] culture bottle"
B.desc = "A small bottle. Contains [A.agent] culture in synthblood medium."

View File

@@ -35,7 +35,7 @@
/datum/reagent/blood/reaction_obj(obj/O, volume)
if(volume >= 3 && istype(O))
O.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"]))
O.add_blood_DNA(data)
/datum/reagent/blood/on_new(list/data)
if(istype(data))
@@ -107,8 +107,8 @@
if(reac_volume < 3)
return
T.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"]))
var/obj/effect/decal/cleanable/blood/B = locate() in T
T.add_blood_DNA(data)
var/obj/effect/decal/cleanable/blood/B = locate() in T //find some blood here
if(!B.reagents)
B.reagents.add_reagent(id, reac_volume)
B.update_icon()

View File

@@ -25,7 +25,7 @@
create_reagents(volume, reagent_flags)
if(spawned_disease)
var/datum/disease/F = new spawned_disease()
var/list/data = list("viruses"= list(F))
var/list/data = list("blood_DNA" = "UNKNOWN DNA", "blood_type" = "SY","viruses"= list(F))
reagents.add_reagent("blood", disease_amount, data)
add_initial_reagents()