bug blood, ipc/slime hearts, blood gen protolathe

we're all gucchi now boys
This commit is contained in:
Poojawa
2019-08-04 04:07:44 -05:00
parent 6db4cbf8b0
commit 7d65ddb417
14 changed files with 48 additions and 10 deletions
+2 -1
View File
@@ -262,7 +262,8 @@
"HF" = list("HF", "SY"),
"X*" = list("X*", "SY"),
"SY" = list("SY"),
"GEL" = list("GEL","SY")
"GEL" = list("GEL","SY"),
"BUG" = list("BUG", "SY")
)
var/safe = bloodtypes_safe[bloodtype]
@@ -10,6 +10,7 @@
meat = /obj/item/reagent_containers/food/snacks/meat/slab/human/mutant/fly
disliked_food = null
liked_food = GROSS
exotic_bloodtype = "BUG"
/datum/species/fly/handle_chemicals(datum/reagent/chem, mob/living/carbon/human/H)
if(chem.id == "pestkiller")
@@ -6,6 +6,7 @@
say_mod = "chirps"
species_traits = list(MUTCOLORS,EYECOLOR,HAIR,FACEHAIR)
mutantlungs = /obj/item/organ/lungs/slime
mutant_heart = /obj/item/organ/heart/slime
mutant_bodyparts = list("mam_tail", "mam_ears", "mam_snouts", "taur") //CIT CHANGE
default_features = list("mcolor" = "FFF", "mam_tail" = "None", "mam_ears" = "None", "mam_snouts" = "None", "taur" = "None") //CIT CHANGE
inherent_traits = list(TRAIT_TOXINLOVER)
@@ -15,6 +15,7 @@
disliked_food = FRUIT | GROSS
toxic_food = MEAT | RAW
mutanteyes = /obj/item/organ/eyes/moth
exotic_bloodtype = "BUG"
/datum/species/moth/on_species_gain(mob/living/carbon/C)
. = ..()
+2
View File
@@ -502,4 +502,6 @@ It's fairly easy to fix if dealing with single letters but not so much with comp
. = BLOOD_COLOR_OIL
if("GEL")// slimepeople blood, rgb 0, 255, 144
. = BLOOD_COLOR_SLIME
if("BUG")
. = "#a37c0f"
//add more stuff to the switch if you have more blood colors for different types
@@ -30,13 +30,13 @@
if(C.get_blood_id() == bluhduh)
if(method == INJECT || (method == INGEST && C.dna && C.dna.species && (DRINKSBLOOD in C.dna.species.species_traits)))
if(!data || !(data["blood_type"] in get_safe_blood(C.dna.blood_type)))
C.reagents.add_reagent("toxin", reac_volume * 0.5)
C.reagents.add_reagent("bonehurtingjuice", reac_volume * 0.5)
if(data && (data["blood_type"] == "GEL") && (C.dna.species.exotic_blood != "jellyblood"))
C.reagents.add_reagent("toxin", reac_volume * 1.5) //filthy xenos bloooood
C.reagents.add_reagent("bonehurtingjuice", reac_volume * 1.5) //filthy xenos bloooood
if(data && (data["blood_type"] == "HF") && (C.dna.species.exotic_blood != "oilblood"))
C.reagents.add_reagent("toxin", reac_volume * 1) //don't fucking put oil in people
C.reagents.add_reagent("bonehurtingjuice", reac_volume * 1) //don't drink oil, silly vampire
if(data && (data["blood_type"] == "X*") && (C.dna.species.exotic_blood != "xenoblood"))
C.reagents.add_reagent("toxin", reac_volume * 1.5) //acid blooood
C.reagents.add_reagent("sacid", reac_volume * 1.5) //acid blooood, dumb vampire
else
C.blood_volume = min(C.blood_volume + round(reac_volume, 0.1), BLOOD_VOLUME_MAXIMUM)
@@ -465,7 +465,7 @@
//We only get 30u to start with...
/datum/reagent/fuel/holyoil/reaction_obj(obj/O, reac_volume)
. = ..()
. = ..()
if(istype(O, /obj/item/stack/sheet/metal))
var/obj/item/stack/sheet/metal/M = O
reac_volume = min(reac_volume, M.amount)
@@ -89,3 +89,11 @@
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL | DEPARTMENTAL_FLAG_ENGINEERING
build_path = /obj/item/circuitboard/machine/clonescanner
category = list("Medical Machinery")
/datum/design/board/bloodbankgen
name = "Machine Design (Blood Bank Generator Board)"
desc = "The circuit board for a blood bank generator."
id = "bloodbankgen"
build_path = /obj/item/circuitboard/machine/bloodbankgen
departmental_flags = DEPARTMENTAL_FLAG_MEDICAL
category = list ("Medical Machinery")
+1 -1
View File
@@ -60,7 +60,7 @@
display_name = "Biological Technology"
description = "What makes us tick." //the MC, silly!
prereq_ids = list("base")
design_ids = list("medicalkit", "chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag")
design_ids = list("medicalkit", "chem_heater", "chem_master", "chem_dispenser", "sleeper", "vr_sleeper", "pandemic", "defibmount", "operating", "soda_dispenser", "beer_dispenser", "healthanalyzer", "blood_bag", "bloodbankgen")
research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 2500)
export_price = 5000
+20 -1
View File
@@ -45,7 +45,7 @@
/obj/item/organ/heart/prepare_eat()
var/obj/S = ..()
S.icon_state = "heart-off"
S.icon_state = "[icon_base]-off"
return S
/obj/item/organ/heart/on_life()
@@ -70,6 +70,12 @@
H.stop_sound_channel(CHANNEL_HEARTBEAT)
beat = BEAT_NONE
obj/item/organ/heart/slime
name = "slime heart"
desc = "It seems we've gotten to the slimy core of the matter."
icon_state = "heart-s-on"
icon_base = "heart-s"
/obj/item/organ/heart/cursed
name = "cursed heart"
desc = "A heart that, when inserted, will force you to pump it manually."
@@ -161,6 +167,19 @@
return
Stop()
/obj/item/organ/heart/ipc
name = "IPC heart"
desc = "An electronic pump that regulates hydraulic functions, they have an auto-restart after EMPs."
icon_state = "heart-c"
synthetic = TRUE
/obj/item/organ/heart/ipc/emp_act()
. = ..()
if(. & EMP_PROTECT_SELF)
return
Stop()
addtimer(CALLBACK(src, .proc/Restart), 10)
/obj/item/organ/heart/freedom
name = "heart of freedom"
desc = "This heart pumps with the passion to give... something freedom."