From eb765f958ad8d2482b11af2e8481ed732e889d59 Mon Sep 17 00:00:00 2001 From: SkyratBot <59378654+SkyratBot@users.noreply.github.com> Date: Sat, 20 Feb 2021 00:15:11 +0100 Subject: [PATCH] [MIRROR] Crafting menu tells you which colour of crayon is needed (#3519) * Crafting menu tells you which colour of crayon is needed (#56950) Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com> * Crafting menu tells you which colour of crayon is needed Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com> Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com> --- code/game/objects/items/crayons.dm | 15 +++++++++++---- code/modules/unit_tests/_unit_tests.dm | 1 + code/modules/unit_tests/crayons.dm | 11 +++++++++++ 3 files changed, 23 insertions(+), 4 deletions(-) create mode 100644 code/modules/unit_tests/crayons.dm diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 8f47ff2793b..c8fafea6f1b 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -19,7 +19,7 @@ */ /obj/item/toy/crayon - name = "crayon" + name = "red crayon" desc = "A colourful crayon. Looks tasty. Mmmm..." icon = 'icons/obj/crayons.dmi' icon_state = "crayonred" @@ -81,9 +81,6 @@ /obj/item/toy/crayon/Initialize() . = ..() - // Makes crayons identifiable in things like grinders - if(name == "crayon") - name = "[crayon_color] crayon" dye_color = crayon_color @@ -502,6 +499,7 @@ return G /obj/item/toy/crayon/red + name = "red crayon" icon_state = "crayonred" paint_color = "#DA0000" crayon_color = "red" @@ -509,6 +507,7 @@ dye_color = DYE_RED /obj/item/toy/crayon/orange + name = "orange crayon" icon_state = "crayonorange" paint_color = "#FF9300" crayon_color = "orange" @@ -516,6 +515,7 @@ dye_color = DYE_ORANGE /obj/item/toy/crayon/yellow + name = "yellow crayon" icon_state = "crayonyellow" paint_color = "#FFF200" crayon_color = "yellow" @@ -523,6 +523,7 @@ dye_color = DYE_YELLOW /obj/item/toy/crayon/green + name = "green crayon" icon_state = "crayongreen" paint_color = "#A8E61D" crayon_color = "green" @@ -530,6 +531,7 @@ dye_color = DYE_GREEN /obj/item/toy/crayon/blue + name = "blue crayon" icon_state = "crayonblue" paint_color = "#00B7EF" crayon_color = "blue" @@ -537,6 +539,7 @@ dye_color = DYE_BLUE /obj/item/toy/crayon/purple + name = "purple crayon" icon_state = "crayonpurple" paint_color = "#DA00FF" crayon_color = "purple" @@ -544,6 +547,7 @@ dye_color = DYE_PURPLE /obj/item/toy/crayon/black + name = "black crayon" icon_state = "crayonblack" paint_color = "#1C1C1C" //Not completely black because total black looks bad. So Mostly Black. crayon_color = "black" @@ -551,6 +555,7 @@ dye_color = DYE_BLACK /obj/item/toy/crayon/white + name = "white crayon" icon_state = "crayonwhite" paint_color = "#FFFFFF" crayon_color = "white" @@ -558,6 +563,7 @@ dye_color = DYE_WHITE /obj/item/toy/crayon/mime + name = "mime crayon" icon_state = "crayonmime" desc = "A very sad-looking crayon." paint_color = "#FFFFFF" @@ -567,6 +573,7 @@ dye_color = DYE_MIME /obj/item/toy/crayon/rainbow + name = "rainbow crayon" icon_state = "crayonrainbow" paint_color = "#FFF000" crayon_color = "rainbow" diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index 23d194971df..4528a832494 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -45,6 +45,7 @@ #include "combat.dm" #include "component_tests.dm" #include "confusion.dm" +#include "crayons.dm" #include "designs.dm" #include "dynamic_ruleset_sanity.dm" #include "emoting.dm" diff --git a/code/modules/unit_tests/crayons.dm b/code/modules/unit_tests/crayons.dm new file mode 100644 index 00000000000..68decf992c4 --- /dev/null +++ b/code/modules/unit_tests/crayons.dm @@ -0,0 +1,11 @@ +/// Makes sure that crayons have their crayon_color in their initial name (to differentiate them in the crafting menu). +/datum/unit_test/crayon_naming + +/datum/unit_test/crayon_naming/Run() + for(var/obj/item/toy/crayon/crayon_path as anything in typesof(/obj/item/toy/crayon)) + if(ispath(crayon_path, /obj/item/toy/crayon/spraycan)) + continue + var/obj/item/toy/crayon/real_crayon = new crayon_path + if(!findtext(initial(real_crayon.name),real_crayon.crayon_color)) + Fail("[real_crayon] does not have its crayon_color ([real_crayon.crayon_color]) in its initial name ([initial(real_crayon.name)]).") + qdel(real_crayon)