mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-20 19:49:39 +01:00
[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:
@@ -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)
|
||||
. = ..()
|
||||
|
||||
Reference in New Issue
Block a user