mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-01-18 21:15:21 +00:00
fix: Fixed a bunch of missing inhand icons. fix: Fixed cables in electrical toolboxes not randomizing their colors. fix: Fixed the wrong colored icon showing when trying to make cable cuffs out of cables. fix: The collectable SWAT helmet is now using the proper icon again! refactor: Pipecleaners and power cables now share a unified color system, so they're once again available in ALL the same colors. imageadd: Updated the screwdriver belt overlay to represent the newer sprite. imageadd: Added a bunch of new inhand icons. Special thanks to Twaticus for doing the helmets! <3 fix: Wirecutters now have an icon when inside a belt again! admin: Added a new omnitool subtype that allows you to spawn all items in a typepath! fix: Explorer gaskmasks now properly reflect their adjusted state when held. fix: Fixed balaclavas having the wrong icon when pulled up. fix: Fixed the base energy sword (admin spawn only) being invisible. fix: The rainbow energy sword is now a little bit more rainbowy! fix: Fixed an tk exploit with orange handcuffed shoes. fix: The traitor outfit in the select equipment panel is now actually functional!
42 lines
2.5 KiB
Plaintext
42 lines
2.5 KiB
Plaintext
/// Makes sure items using GAGS have all the icon states needed to work
|
|
/datum/unit_test/greyscale_item_icon_states
|
|
|
|
/datum/unit_test/greyscale_item_icon_states/Run()
|
|
for(var/obj/item/item_path as anything in subtypesof(/obj/item))
|
|
if(isnull(initial(item_path.greyscale_colors)))
|
|
continue //All configs depend on greyscale_colors being defined.
|
|
var/held_icon_state = initial(item_path.inhand_icon_state) || initial(item_path.icon_state)
|
|
|
|
var/datum/greyscale_config/lefthand = SSgreyscale.configurations["[initial(item_path.greyscale_config_inhand_left)]"]
|
|
if(lefthand && !lefthand.icon_states[held_icon_state])
|
|
TEST_FAIL("[lefthand.DebugName()] is missing a sprite for the held lefthand for [item_path]. Expected icon state: '[held_icon_state]'")
|
|
|
|
var/datum/greyscale_config/righthand = SSgreyscale.configurations["[initial(item_path.greyscale_config_inhand_right)]"]
|
|
if(righthand && !righthand.icon_states[held_icon_state])
|
|
TEST_FAIL("[righthand.DebugName()] is missing a sprite for the held righthand for [item_path]. Expected icon state: '[held_icon_state]'")
|
|
|
|
var/datum/greyscale_config/worn = SSgreyscale.configurations["[initial(item_path.greyscale_config_worn)]"]
|
|
var/worn_icon_state = initial(item_path.worn_icon_state) || initial(item_path.icon_state)
|
|
if(worn && !worn.icon_states[worn_icon_state])
|
|
TEST_FAIL("[worn.DebugName()] is missing a sprite for the worn overlay for [item_path]. Expected icon state: '[worn_icon_state]'")
|
|
|
|
var/datum/greyscale_config/belt = SSgreyscale.configurations["[initial(item_path.greyscale_config_belt)]"]
|
|
var/belt_icon_state = initial(item_path.belt_icon_state) || initial(item_path.icon_state)
|
|
if(belt && !belt.icon_states[belt_icon_state])
|
|
TEST_FAIL("[belt.DebugName()] is missing a sprite for the belt overlay for [item_path]. Expected icon state: '[belt_icon_state]'")
|
|
|
|
/// Makes sure objects using greyscale configs have, if any, the correct number of colors
|
|
/datum/unit_test/greyscale_color_count
|
|
|
|
/datum/unit_test/greyscale_color_count/Run()
|
|
for(var/atom/thing as anything in subtypesof(/atom))
|
|
var/datum/greyscale_config/config = SSgreyscale.configurations["[initial(thing.greyscale_config)]"]
|
|
if(!config)
|
|
continue
|
|
var/list/colors = splittext(initial(thing.greyscale_colors), "#")
|
|
if(!length(colors))
|
|
continue
|
|
var/number_of_colors = length(colors) - 1
|
|
if(config.expected_colors != number_of_colors)
|
|
TEST_FAIL("[thing] has the wrong amount of colors configured for [config.DebugName()]. Expected [config.expected_colors] but only found [number_of_colors].")
|