Merge pull request #13707 from DeltaFire15/synthetic-alcohol-intolerance
Makes synthetics inherently immune to alcohol
This commit is contained in:
@@ -205,7 +205,7 @@
|
||||
#define TRAIT_THERMAL_VISION "thermal_vision"
|
||||
#define TRAIT_NO_TELEPORT "no-teleport" //you just can't
|
||||
#define TRAIT_NO_INTERNALS "no-internals"
|
||||
#define TRAIT_NO_ALCOHOL "alcohol_intolerance"
|
||||
#define TRAIT_TOXIC_ALCOHOL "alcohol_intolerance"
|
||||
#define TRAIT_MUTATION_STASIS "mutation_stasis" //Prevents processed genetics mutations from processing.
|
||||
#define TRAIT_FAST_PUMP "fast_pump"
|
||||
#define TRAIT_NO_PROCESS_FOOD "no-process-food" // You don't get benefits from nutriment, nor nutrition from reagent consumables
|
||||
|
||||
@@ -104,7 +104,7 @@ GLOBAL_LIST_INIT(traits_by_type, list(
|
||||
"TRAIT_AUTO_CATCH_ITEM" = TRAIT_AUTO_CATCH_ITEM,
|
||||
"TRAIT_FREESPRINT" = TRAIT_FREESPRINT,
|
||||
"TRAIT_NO_INTERNALS" = TRAIT_NO_INTERNALS,
|
||||
"TRAIT_NO_ALCOHOL" = TRAIT_NO_ALCOHOL,
|
||||
"TRAIT_TOXIC_ALCOHOL" = TRAIT_TOXIC_ALCOHOL,
|
||||
"TRAIT_MUTATION_STASIS" = TRAIT_MUTATION_STASIS,
|
||||
"TRAIT_HEAVY_SLEEPER" = TRAIT_HEAVY_SLEEPER,
|
||||
"TRAIT_LIGHT_STEP" = TRAIT_LIGHT_STEP,
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
name = "Alcohol Intolerance"
|
||||
desc = "You take toxin damage from alcohol rather than getting drunk."
|
||||
value = 0
|
||||
mob_trait = TRAIT_NO_ALCOHOL
|
||||
mob_trait = TRAIT_TOXIC_ALCOHOL
|
||||
medical_record_text = "Patient's body does not react properly to ethyl alcohol."
|
||||
|
||||
/datum/quirk/alcohol_intolerance/add()
|
||||
|
||||
@@ -35,8 +35,18 @@ All effects don't start immediately, but rather get worse over time; the rate is
|
||||
91-100: Dangerously toxic - swift death
|
||||
*/
|
||||
|
||||
|
||||
/datum/reagent/consumable/ethanol/on_mob_add(mob/living/L, amount)
|
||||
. = ..()
|
||||
if(!iscarbon(L))
|
||||
return
|
||||
|
||||
var/mob/living/carbon/C = L
|
||||
if(HAS_TRAIT(C, TRAIT_ROBOTIC_ORGANISM))
|
||||
C.reagents.remove_reagent(type, amount, FALSE)
|
||||
|
||||
/datum/reagent/consumable/ethanol/on_mob_life(mob/living/carbon/C)
|
||||
if(HAS_TRAIT(C, TRAIT_NO_ALCOHOL))
|
||||
if(HAS_TRAIT(C, TRAIT_TOXIC_ALCOHOL))
|
||||
C.adjustToxLoss((boozepwr/25)*REM,forced = TRUE)
|
||||
else if(C.drunkenness < volume * boozepwr * ALCOHOL_THRESHOLD_MODIFIER)
|
||||
var/booze_power = boozepwr
|
||||
|
||||
Reference in New Issue
Block a user