From 65f4fe7af10ae1e47f929f8e7bcc65a55f42bb49 Mon Sep 17 00:00:00 2001 From: CHOMPStation2StaffMirrorBot <94713762+CHOMPStation2StaffMirrorBot@users.noreply.github.com> Date: Sat, 14 Mar 2026 15:52:28 -0700 Subject: [PATCH] [MIRROR] Slime Research Unittest (#12529) Co-authored-by: Will <7099514+Willburd@users.noreply.github.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com> --- code/controllers/subsystems/research.dm | 14 +++++++++++++- code/modules/unit_tests/_unit_tests.dm | 1 + code/modules/unit_tests/slime_tests.dm | 12 ++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 code/modules/unit_tests/slime_tests.dm diff --git a/code/controllers/subsystems/research.dm b/code/controllers/subsystems/research.dm index c3808c53c3..a5516d331a 100644 --- a/code/controllers/subsystems/research.dm +++ b/code/controllers/subsystems/research.dm @@ -71,10 +71,22 @@ SUBSYSTEM_DEF(research) /obj/item/slime_extract/green = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS*0.75), /obj/item/slime_extract/pink = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS*0.75), /obj/item/slime_extract/gold = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS*0.75), + /obj/item/slime_extract/light_pink = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS), /obj/item/slime_extract/oil = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS), /obj/item/slime_extract/sapphire = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS), /obj/item/slime_extract/emerald = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS), - /obj/item/slime_extract/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) + /obj/item/slime_extract/rainbow = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS), + // CHOMPAdd Start + /obj/item/slime_extract/sepia = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS*0.5), + /obj/item/slime_extract/redspace = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS*0.5), + /obj/item/slime_extract/dark = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS*0.5), + /obj/item/slime_extract/plague = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS*0.5), + /obj/item/slime_extract/oceanic = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS*0.5), + /obj/item/slime_extract/nuclear = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS*0.75), + /obj/item/slime_extract/dream = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS*0.75), + /obj/item/slime_extract/nightmare = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS*0.75), + /obj/item/slime_extract/sound = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS), + // CHOMPAdd End ) ///Allows repeated deconstruction of these items for points. These items MUST be in techweb_point_items as well. var/list/techweb_repeatable_items = list( diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index 8dc1f82a5c..61a5a2a37a 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -114,6 +114,7 @@ #include "recipe_tests.dm" #include "recycler_vendor_tests.dm" #include "robot_tests.dm" +#include "slime_tests.dm" #include "spritesheets.dm" #include "sqlite_tests.dm" #include "subsystem_init.dm" diff --git a/code/modules/unit_tests/slime_tests.dm b/code/modules/unit_tests/slime_tests.dm new file mode 100644 index 0000000000..f16322f9ec --- /dev/null +++ b/code/modules/unit_tests/slime_tests.dm @@ -0,0 +1,12 @@ +/datum/unit_test/all_slimes_must_have_research_values + +/datum/unit_test/all_slimes_must_have_research_values/Run() + var/failed = FALSE + + for(var/slime in subtypesof(/obj/item/slime_extract)) + if(!(slime in SSresearch.techweb_point_items)) + TEST_NOTICE(src, "Slimes - [slime] type did not have a SSresearch.techweb_point_items value associated with it.") + failed = TRUE + + if(failed) + TEST_FAIL("All xenobio slimes must have a research point value")