[SEMI-MODULAR] CUSTOMIZATION - Makes robot people behave in a robotic way (#847)

* Robits!

* stuffs

* Pfixes

* bugfixes

* smol balance

* fixxx

* hello

* Update alcohol_reagents.dm

* WHAT DOES IT WANT OF ME

* oh right those too

* Update alcohol_reagents.dm

* Update alcohol_reagents.dm

* grrr
This commit is contained in:
Azarak
2020-09-18 00:44:25 +01:00
committed by GitHub
parent f93b362e6c
commit 3401d3bc56
36 changed files with 1146 additions and 92 deletions
+23
View File
@@ -376,6 +376,29 @@
if(!C)
C = R.holder.my_atom
//SKYRAT EDIT ADDITION BEGIN - CUSTOMIZATION
if(ishuman(C))
var/mob/living/carbon/human/H = C
//Check if this mob's species is set and can process this type of reagent
var/can_process = FALSE
//If we somehow avoided getting a species or reagent_flags set, we'll assume we aren't meant to process ANY reagents
if(H.dna && H.dna.species.reagent_flags)
var/owner_flags = H.dna.species.reagent_flags
if((R.process_flags & REAGENT_SYNTHETIC) && (owner_flags & PROCESS_SYNTHETIC)) //SYNTHETIC-oriented reagents require PROCESS_SYNTHETIC
can_process = TRUE
if((R.process_flags & REAGENT_ORGANIC) && (owner_flags & PROCESS_ORGANIC)) //ORGANIC-oriented reagents require PROCESS_ORGANIC
can_process = TRUE
//If the mob can't process it, remove the reagent at it's normal rate without doing any addictions, overdoses, or on_mob_life() for the reagent
if(!can_process)
R.holder.remove_reagent(R.type, R.metabolization_rate)
continue
//We'll assume that non-human mobs lack the ability to process synthetic-oriented reagents (adjust this if we need to change that assumption)
else
if(R.process_flags == REAGENT_SYNTHETIC)
R.holder.remove_reagent(R.type, R.metabolization_rate)
continue
//SKYRAT EDIT ADDITION END
if(C && R)
if(C.reagent_check(R) != TRUE)
@@ -22,7 +22,7 @@
H.adjust_nutrition(nutriment_factor)
if(length(reagent_removal_skip_list))
return
holder.remove_reagent(type, metabolization_rate)
M.remove_reagent(type, metabolization_rate) //SKYRAT EDIT CHANGE - CUSTOMIZATION (holder -> M)
/datum/reagent/consumable/expose_mob(mob/living/exposed_mob, methods=TOUCH, reac_volume)
. = ..()