diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 039237c63c..af8b9341f9 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -465,11 +465,13 @@ icon_state = "crayonblack" paint_color = "#1C1C1C" //Not completely black because total black looks bad. So Mostly Black. item_color = "black" + reagent_contents = list("nutriment" = 1, "blackcrayonpowder" = 1) /obj/item/toy/crayon/white icon_state = "crayonwhite" paint_color = "#FFFFFF" item_color = "white" + reagent_contents = list("nutriment" = 1, "whitecrayonpowder" = 1) /obj/item/toy/crayon/mime icon_state = "crayonmime" diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 5c8d695007..6b02e1ed24 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -54,7 +54,9 @@ /obj/item/slime_extract = list(), /obj/item/weapon/reagent_containers/pill = list(), /obj/item/weapon/reagent_containers/food = list(), - /obj/item/weapon/reagent_containers/honeycomb = list() + /obj/item/weapon/reagent_containers/honeycomb = list(), + /obj/item/toy/crayon = list() + ) var/list/juice_items = list ( @@ -456,3 +458,13 @@ O.reagents.trans_to(beaker, amount) if(!O.reagents.total_volume) remove_object(O) + + for (var/obj/item/toy/crayon/O in holdingitems) + if (beaker.reagents.total_volume >= beaker.reagents.maximum_volume) + break + for (var/r_id in O.reagent_contents) + var/space = beaker.reagents.maximum_volume - beaker.reagents.total_volume + if (space == 0) + break + beaker.reagents.add_reagent(r_id, min(O.reagent_contents[r_id], space)) + remove_object(O) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index cf956227ba..c25a1d050d 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -1128,7 +1128,7 @@ //For colouring in /proc/mix_color_from_reagents -/datum/reagent/crayonpowder +/datum/reagent/colorful_reagent/crayonpowder name = "Crayon Powder" id = "crayon powder" var/colorname = "none" @@ -1137,50 +1137,72 @@ color = "#FFFFFF" // rgb: 207, 54, 0 taste_description = "the back of class" -/datum/reagent/crayonpowder/New() +/datum/reagent/colorful_reagent/crayonpowder/New() description = "\an [colorname] powder made by grinding down crayons, good for colouring chemical reagents." -/datum/reagent/crayonpowder/red +/datum/reagent/colorful_reagent/crayonpowder/red name = "Red Crayon Powder" id = "redcrayonpowder" colorname = "red" + color = "#DA0000" // red + random_color_list = list("#DA0000") -/datum/reagent/crayonpowder/orange +/datum/reagent/colorful_reagent/crayonpowder/orange name = "Orange Crayon Powder" id = "orangecrayonpowder" colorname = "orange" color = "#FF9300" // orange + random_color_list = list("#FF9300") -/datum/reagent/crayonpowder/yellow +/datum/reagent/colorful_reagent/crayonpowder/yellow name = "Yellow Crayon Powder" id = "yellowcrayonpowder" colorname = "yellow" color = "#FFF200" // yellow + random_color_list = list("#FFF200") -/datum/reagent/crayonpowder/green +/datum/reagent/colorful_reagent/crayonpowder/green name = "Green Crayon Powder" id = "greencrayonpowder" colorname = "green" color = "#A8E61D" // green + random_color_list = list("#A8E61D") -/datum/reagent/crayonpowder/blue +/datum/reagent/colorful_reagent/crayonpowder/blue name = "Blue Crayon Powder" id = "bluecrayonpowder" colorname = "blue" color = "#00B7EF" // blue + random_color_list = list("#00B7EF") -/datum/reagent/crayonpowder/purple +/datum/reagent/colorful_reagent/crayonpowder/purple name = "Purple Crayon Powder" id = "purplecrayonpowder" colorname = "purple" color = "#DA00FF" // purple + random_color_list = list("#DA00FF") -/datum/reagent/crayonpowder/invisible +/datum/reagent/colorful_reagent/crayonpowder/invisible name = "Invisible Crayon Powder" id = "invisiblecrayonpowder" colorname = "invisible" color = "#FFFFFF00" // white + no alpha + random_color_list = list(null) //because using the powder color turns things invisible + +/datum/reagent/colorful_reagent/crayonpowder/black + name = "Black Crayon Powder" + id = "blackcrayonpowder" + colorname = "black" + color = "#1C1C1C" // not quite black + random_color_list = list("#404040") + +/datum/reagent/colorful_reagent/crayonpowder/white + name = "White Crayon Powder" + id = "whitecrayonpowder" + colorname = "white" + color = "#FFFFFF" // white + random_color_list = list("#FFFFFF") //doesn't actually change appearance at all