diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 4b08dbc446..1a3c926884 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -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 diff --git a/code/_globalvars/traits.dm b/code/_globalvars/traits.dm index d32eae3be3..4e593ba904 100644 --- a/code/_globalvars/traits.dm +++ b/code/_globalvars/traits.dm @@ -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, diff --git a/code/datums/traits/neutral.dm b/code/datums/traits/neutral.dm index e92564a3b4..73813fd253 100644 --- a/code/datums/traits/neutral.dm +++ b/code/datums/traits/neutral.dm @@ -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() diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index a8d5c3d277..a0de9f7a7f 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -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