From fd450561c22d8bb4ca90d42e34305ffec0a47713 Mon Sep 17 00:00:00 2001 From: Kelenius Date: Tue, 19 May 2015 15:30:22 +0300 Subject: [PATCH] Carbon now clears ingested chemicals Also fixes a bug that made ethy-thing not work. --- .../Chemistry-Reagents-Dispenser.dm | 11 +++++++++++ .../Chemistry-Reagents/Chemistry-Reagents-Medicine.dm | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm index 2d742bd01e..eac0f76cd2 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Dispenser.dm @@ -11,6 +11,17 @@ description = "A chemical element, the builing block of life." reagent_state = SOLID color = "#1C1300" + ingest_met = REM * 5 + +/datum/reagent/carbon/affect_ingest(var/mob/living/carbon/M, var/alien, var/removed) + if(alien == IS_DIONA) + return + if(M.ingested && M.ingested.reagent_list.len > 1) // Need to have at least 2 reagents - cabon and something to remove + var/effect = 1 / (M.ingested.reagent_list.len - 1) + for(var/datum/reagent/R in M.ingested.reagent_list) + if(R == src) + continue + M.ingested.remove_reagent(R.id, removed * effect) /datum/reagent/carbon/touch_turf(var/turf/T) if(!istype(T, /turf/space)) diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm index c17178ae63..0009684c30 100644 --- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm +++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Medicine.dm @@ -329,7 +329,7 @@ M.stuttering = 0 M.confused = 0 if(M.ingested) - for(var/datum/reagent/R in M.ingested) + for(var/datum/reagent/R in M.ingested.reagent_list) if(istype(R, /datum/reagent/ethanol)) R.dose = max(R.dose - removed * 5, 0)