diff --git a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm index 0309b4b6447..016d014e576 100644 --- a/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm +++ b/code/game/objects/structures/crates_lockers/closets/secure/scientist.dm @@ -44,6 +44,8 @@ new /obj/item/clothing/suit/storage/labcoat(src) new /obj/item/radio/headset/headset_sci(src) new /obj/item/radio/headset/headset_sci(src) + new /obj/item/reagent_containers/food/drinks/oilcan(src) + new /obj/item/reagent_containers/food/drinks/oilcan(src) /obj/structure/closet/secure_closet/RD name = "research director's locker" diff --git a/code/modules/food_and_drinks/drinks/drinks.dm b/code/modules/food_and_drinks/drinks/drinks.dm index 91ee910c8d4..2e8124dee50 100644 --- a/code/modules/food_and_drinks/drinks/drinks.dm +++ b/code/modules/food_and_drinks/drinks/drinks.dm @@ -390,4 +390,11 @@ amount_per_transfer_from_this = 20 /obj/item/reagent_containers/food/drinks/waterbottle/large/empty - list_reagents = list() \ No newline at end of file + list_reagents = list() + +/obj/item/reagent_containers/food/drinks/oilcan + name = "Oil Injection Device" + desc = "A device with a spout on one end for use in replacing fluid in synthtics who have sprung leaks." + icon = 'icons/obj/surgery.dmi' + icon_state = "fixovein_old" + volume = 100 diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm index b021954a54c..c74cbd13987 100644 --- a/code/modules/mob/living/carbon/human/life.dm +++ b/code/modules/mob/living/carbon/human/life.dm @@ -248,7 +248,7 @@ if(!L || L && (L.status & ORGAN_DEAD)) if(health >= config.health_threshold_crit) adjustOxyLoss(HUMAN_MAX_OXYLOSS + 1) - else if(!(NOCRITDAMAGE in species.species_traits)) + else if(!(NOCRITDAMAGE in dna.species.species_traits)) adjustOxyLoss(HUMAN_CRIT_MAX_OXYLOSS) failed_last_breath = TRUE diff --git a/code/modules/mob/living/carbon/human/species/_species.dm b/code/modules/mob/living/carbon/human/species/_species.dm index 250377520b8..ebbf8f67726 100644 --- a/code/modules/mob/living/carbon/human/species/_species.dm +++ b/code/modules/mob/living/carbon/human/species/_species.dm @@ -291,6 +291,9 @@ H.adjustBruteLoss(1) return +/datum/species/proc/handle_dna(mob/living/carbon/human/H, remove) //Handles DNA mutations, as that doesn't work at init. Make sure you call genemutcheck on any blocks changed here + return + /datum/species/proc/handle_death(mob/living/carbon/human/H) //Handles any species-specific death events (such as dionaea nymph spawns). return diff --git a/code/modules/mob/living/carbon/human/species/machine.dm b/code/modules/mob/living/carbon/human/species/machine.dm index fa3e4e321a9..3bf442b60d0 100644 --- a/code/modules/mob/living/carbon/human/species/machine.dm +++ b/code/modules/mob/living/carbon/human/species/machine.dm @@ -15,20 +15,25 @@ skinned_type = /obj/item/stack/sheet/metal // Let's grind up IPCs for station resources! eyes = "blank_eyes" - brute_mod = 2.5 // 100% * 2.5 * 0.6 (robolimbs) ~= 150% - burn_mod = 2.5 // So they take 50% extra damage from brute/burn overall. + brute_mod = 2.28 // 100% * 2.28 * 0.66 (robolimbs) ~= 150% + burn_mod = 2.28 // So they take 50% extra damage from brute/burn overall tox_mod = 0 clone_mod = 0 oxy_mod = 0 death_message = "gives one shrill beep before falling limp, their monitor flashing blue before completely shutting off..." - species_traits = list(IS_WHITELISTED, NO_BREATHE, NO_SCAN, NO_BLOOD, NO_PAIN, NO_DNA, RADIMMUNE, VIRUSIMMUNE, NOTRANSSTING) + species_traits = list(IS_WHITELISTED, NO_BREATHE, NO_SCAN, NO_INTORGANS, NO_PAIN, NO_DNA, RADIMMUNE, VIRUSIMMUNE, NOTRANSSTING) clothing_flags = HAS_UNDERWEAR | HAS_UNDERSHIRT | HAS_SOCKS bodyflags = HAS_SKIN_COLOR | HAS_HEAD_MARKINGS | HAS_HEAD_ACCESSORY | ALL_RPARTS dietflags = 0 //IPCs can't eat, so no diet taste_sensitivity = TASTE_SENSITIVITY_NO_TASTE blood_color = "#1F181F" flesh_color = "#AAAAAA" + + blood_color = "#3C3C3C" + exotic_blood = "oil" + blood_damage_type = STAMINA + //Default styles for created mobs. default_hair = "Blue IPC Screen" can_revive_by_healing = 1 diff --git a/code/modules/surgery/organs/lungs.dm b/code/modules/surgery/organs/lungs.dm index 6182f1f4138..71b68d96735 100644 --- a/code/modules/surgery/organs/lungs.dm +++ b/code/modules/surgery/organs/lungs.dm @@ -89,7 +89,7 @@ if(!breath || (breath.total_moles() == 0)) if(H.health >= config.health_threshold_crit) H.adjustOxyLoss(HUMAN_MAX_OXYLOSS) - else if(!(NOCRITDAMAGE in H.species.species_traits)) + else if(!(NOCRITDAMAGE in H.dna.species.species_traits)) H.adjustOxyLoss(HUMAN_CRIT_MAX_OXYLOSS) H.failed_last_breath = TRUE diff --git a/code/modules/surgery/organs/subtypes/vox.dm b/code/modules/surgery/organs/subtypes/vox.dm index e53c02040cc..8af6f8bf740 100644 --- a/code/modules/surgery/organs/subtypes/vox.dm +++ b/code/modules/surgery/organs/subtypes/vox.dm @@ -7,7 +7,7 @@ icon_state = "cortical-stack" parent_organ = "head" organ_tag = "stack" - slot = "vox_stack" + slot = "vox_stack" status = ORGAN_ROBOT vital = TRUE var/stackdamaged = FALSE