Replaces vox O2 downside with vox only blood. (#18523)

* Replaces vox brute downside with vox only blood.

* I'm dumb, but at least I am not stupid

* Update code/modules/reagents/chemistry/reagents/water.dm

Co-authored-by: Adri <jozsef.adrienn@gmail.com>

* Add to medbay, cargo, makes blood colour work

* more readable

* Update code/modules/reagents/chemistry/reagents.dm

Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>

* spacing, removes == "Vox"

* test time

Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>

* makes it work and testing works

Co-authored-by: Adri <jozsef.adrienn@gmail.com>
Co-authored-by: Charlie <69320440+hal9000PR@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2022-08-11 00:41:17 +01:00
committed by GitHub
co-authored by Adri Charlie SteelSlayer
parent cf641caf12
commit 7276267a94
9 changed files with 48 additions and 10 deletions
+2 -2
View File
@@ -14,8 +14,8 @@ GLOBAL_LIST_INIT(random_color_list, list("#00aedb","#a200ff","#f47835","#d41243"
var/vol_temp
// see libs/IconProcs/IconProcs.dm
for(var/datum/reagent/reagent in reagent_list)
if(reagent.id == "blood" && reagent.data && reagent.data["blood_color"])
reagent_color = reagent.data["blood_color"]
if(reagent.id == "blood" && reagent.data && reagent.data["blood_colour"])
reagent_color = reagent.data["blood_colour"]
else if(reagent.id == "slimejelly" && reagent.data && reagent.data["colour"])
reagent_color = reagent.data["colour"]
else
+1 -1
View File
@@ -63,7 +63,7 @@
var/mob/living/carbon/C = M
if(method == REAGENT_INGEST && istype(C) && C.get_blood_id() == id)
if(id == "blood" && !(data?["blood_type"] in get_safe_blood(C.dna?.blood_type)))
if(id == "blood" && !(data?["blood_type"] in get_safe_blood(C.dna?.blood_type)) || C.dna?.species.name != data?["species"] && (data?["species_only"] || C.dna?.species.own_species_blood))
C.reagents.add_reagent("toxin", volume * 0.5)
else
C.blood_volume = min(C.blood_volume + round(volume, 0.1), BLOOD_VOLUME_NORMAL)
@@ -75,7 +75,22 @@
M.clean_blood()
/datum/reagent/blood
data = list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=null,"blood_colour"="#A10808","resistances"=null,"trace_chem"=null,"mind"=null,"ckey"=null,"gender"=null,"real_name"=null,"cloneable"=null,"factions"=null, "dna" = null)
data = list("donor" = null,
"viruses" = null,
"blood_DNA" = null,
"blood_type" = null,
"blood_colour" = "#A10808",
"resistances" = null,
"trace_chem" = null,
"mind" = null,
"ckey" = null,
"gender" = null,
"real_name" = null,
"cloneable" = null,
"factions" = null,
"dna" = null,
"species" = "Synthetic Humanoid",
"species_only" = FALSE)
name = "Blood"
id = "blood"
reagent_state = LIQUID
@@ -112,7 +127,13 @@
/datum/reagent/blood/on_merge(list/mix_data)
if(data && mix_data)
data["cloneable"] = 0 //On mix, consider the genetic sampling unviable for pod cloning, or else we won't know who's even getting cloned, etc
data["cloneable"] = 0 //On mix, consider the genetic sampling unviable for pod cloning, or else we won't know who's even getting cloned, etc coagulated
if(data["species"] != mix_data["species"] && (data["species_only"] == TRUE || mix_data["species_only"] == TRUE))
data["species"] = "Cogulated blood"
data["blood_type"] = "<span class='warning'>UNUSABLE!</span>"
data["species_only"] = TRUE
else if(data["species"] != mix_data["species"])
data["species"] = "Mixed Humanoid blood"
if(data["viruses"] || mix_data["viruses"])
var/list/mix1 = data["viruses"]
@@ -163,13 +163,16 @@
/obj/item/reagent_containers/iv_bag/blood // Don't use this - just an abstract type to allow blood bags to have a common blood_type var for ease of creation.
var/blood_type
var/blood_species = "Synthetic humanoid"
var/iv_blood_colour = "#A10808"
var/one_species_only = FALSE
amount_per_transfer_from_this = 5 // Bloodbags are set to transfer 5 units by default.
/obj/item/reagent_containers/iv_bag/blood/Initialize(mapload)
. = ..()
if(blood_type != null)
name = "[initial(name)] - [blood_type]"
reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"resistances"=null,"trace_chem"=null))
reagents.add_reagent("blood", 200, list("donor"=null,"viruses"=null,"blood_DNA"=null,"blood_type"=blood_type,"blood_colour"=iv_blood_colour,"resistances"=null,"trace_chem"=null,"species"=blood_species,"species_only"=one_species_only))
update_icon(UPDATE_OVERLAYS)
@@ -195,6 +198,16 @@
/obj/item/reagent_containers/iv_bag/blood/OMinus
blood_type = "O-"
/obj/item/reagent_containers/iv_bag/blood/vox
blood_type = "O-"
blood_species = "Vox"
iv_blood_colour = "#2299FC"
one_species_only = TRUE
/obj/item/reagent_containers/iv_bag/blood/vox/Initialize(mapload)
. = ..()
name = "[initial(name)] - O- Vox Blood"
/obj/item/reagent_containers/iv_bag/slime
list_reagents = list("slimejelly" = 200)