diff --git a/code/__DEFINES/traits.dm b/code/__DEFINES/traits.dm index 2eed5119a6c..283e49cad2b 100644 --- a/code/__DEFINES/traits.dm +++ b/code/__DEFINES/traits.dm @@ -368,6 +368,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_VENTCRAWLER_ALWAYS "ventcrawler_always" #define TRAIT_VENTCRAWLER_NUDE "ventcrawler_nude" +/// Minor trait used for beakers, or beaker-ishes. [/obj/item/reagent_containers], to show that they've been used in a reagent grinder. +#define TRAIT_MAY_CONTAIN_BLENDED_DUST "may_contain_blended_dust" + //Medical Categories for quirks #define CAT_QUIRK_ALL 0 #define CAT_QUIRK_NOTES 1 diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index e41345283a2..5f37cbe216e 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -28,7 +28,15 @@ . = ..() holdingitems = list() beaker = new /obj/item/reagent_containers/glass/beaker/large(src) - beaker.desc += " May contain blended dust. Don't breathe this in!" + warn_of_dust() + +/// Add a description to the current beaker warning of blended dust, if it doesn't already have that warning. +/obj/machinery/reagentgrinder/proc/warn_of_dust() + if(HAS_TRAIT(beaker, TRAIT_MAY_CONTAIN_BLENDED_DUST)) + return + + beaker.desc += " May contain blended dust. Don't breathe this!" + ADD_TRAIT(beaker, TRAIT_MAY_CONTAIN_BLENDED_DUST, TRAIT_GENERIC) /obj/machinery/reagentgrinder/constructed/Initialize() . = ..() @@ -284,6 +292,7 @@ if(!beaker || machine_stat & (NOPOWER|BROKEN) || beaker.reagents.total_volume >= beaker.reagents.maximum_volume) return operate_for(60) + warn_of_dust() // don't breathe this. for(var/i in holdingitems) if(beaker.reagents.total_volume >= beaker.reagents.maximum_volume) break