diff --git a/modular_ss220/balance/_balance.dme b/modular_ss220/balance/_balance.dme index b01ea0dfc302..318d58e349d6 100644 --- a/modular_ss220/balance/_balance.dme +++ b/modular_ss220/balance/_balance.dme @@ -8,3 +8,4 @@ #include "code/jobs/warden.dm" #include "code/mobs/aliens/larva.dm" #include "code/species/machine.dm" +#include "code/species/skrell.dm" diff --git a/modular_ss220/balance/code/species/skrell.dm b/modular_ss220/balance/code/species/skrell.dm new file mode 100644 index 000000000000..7e44cfdf20af --- /dev/null +++ b/modular_ss220/balance/code/species/skrell.dm @@ -0,0 +1,32 @@ +// Dealing toxins when drinking alcohol +/obj/item/organ/internal/kidneys/skrell/on_life() + . = ..() + var/datum/reagent/consumable/ethanol/ethanol_reagent = locate(/datum/reagent/consumable/ethanol) in owner.reagents.reagent_list + if(!ethanol_reagent) + return + if(is_broken()) + owner.adjustToxLoss(1.5 * max(ethanol_reagent.alcohol_perc, 1) * PROCESS_ACCURACY) + else + owner.adjustToxLoss(0.5 * max(ethanol_reagent.alcohol_perc, 1) * PROCESS_ACCURACY) + receive_damage(0.1 * PROCESS_ACCURACY) + +// Weak night vision +/obj/item/organ/internal/eyes/skrell + see_in_dark = 3 + +// Reagent scan for food +/obj/item/food/examine(mob/user) + . = ..() + if(!isskrell(user)) + return + . += "It contains:" + for(var/datum/reagent/reagent_inside_food as anything in reagents.reagent_list) + . += "[reagent_inside_food.volume] units of [reagent_inside_food.name]" + +// Reagent scan for solutions +/mob/living/carbon/human/reagent_vision() + return isskrell(src) || ..() + +// Getting less toxins +/datum/species/skrell + tox_mod = 0.9