From 533313ba7eb4a135cedf741c5d4770c848b99da3 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Wed, 10 Feb 2021 01:40:54 +0100 Subject: [PATCH] [MIRROR] Add blended dust warning to grinder beakers (#3243) * Add blended dust warning to grinder beakers (#56759) * Add blended dust warning to grinder beakers :cl: coiax tweak: All beakers, bottles and containers that have been used in the All-in-One Grinder will have a warning not to inhale the dust on examine. /:cl: The initial spawned beakers in the grinder already had this description, and now it is applied to any beakers that have been used for grinding purposes (and only grinding purposes). Co-authored-by: cacogen <25089914+cacogen@ users.noreply.github.com> * Add blended dust warning to grinder beakers Co-authored-by: coiax Co-authored-by: cacogen <25089914+cacogen@ users.noreply.github.com> --- code/__DEFINES/traits.dm | 3 +++ .../reagents/chemistry/machinery/reagentgrinder.dm | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) 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