From afd94de2058a6916ca6c1d639fffc4532f57b1ec Mon Sep 17 00:00:00 2001 From: explosivekitty Date: Sat, 6 Dec 2025 20:54:46 +0100 Subject: [PATCH] Prismatic extracts from xenobiology now recolor clothing (#4958) ## About The Pull Request Prismatic extracts can now be used to recolor clothing the same way slime potions do it. Just like with spray can you can left click or right click for different coloring mode whatever looks better for you. Also prismatic grey extract will bleach the color making it look like nothing ever happened if you wish to undo it. This also changes floor painting so you can either color decals on it or paint the tile, both of which can be cleaned with a soap ## Why It's Good For The Game You no longer have to be a dark-blue blob after using fireproofing potions on your clothing or worry about cleanbots, water, rain or whatever washing color from your clothes after painting them. ## Proof Of Testing
Screenshots/Videos proof of testing
## Changelog :cl: add: Prismatic extracts from xenobiology can now be used to recolor clothing and floor decals /:cl: --- .../xenobiology/crossbreeding/prismatic.dm | 27 +++++++++++++++++++ tgstation.dme | 1 + 2 files changed, 28 insertions(+) create mode 100644 modular_zubbers/code/modules/research/xenobiology/crossbreeding/prismatic.dm diff --git a/modular_zubbers/code/modules/research/xenobiology/crossbreeding/prismatic.dm b/modular_zubbers/code/modules/research/xenobiology/crossbreeding/prismatic.dm new file mode 100644 index 00000000000..95b7e8abc1f --- /dev/null +++ b/modular_zubbers/code/modules/research/xenobiology/crossbreeding/prismatic.dm @@ -0,0 +1,27 @@ +/obj/item/slimecross/prismatic/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!(isturf(interacting_with) || isclothing(interacting_with)) || isspaceturf(interacting_with)) + return NONE + var/colour_priority = WASHABLE_COLOUR_PRIORITY + if(isclothing(interacting_with)) + colour_priority = FIXED_COLOUR_PRIORITY + var/saturation_mode = SATURATION_MULTIPLY + if (LAZYACCESS(modifiers, RIGHT_CLICK)) + saturation_mode = SATURATION_OVERRIDE + user.do_attack_animation(interacting_with) + interacting_with.add_atom_colour(color_transition_filter(paintcolor, saturation_mode), colour_priority) + playsound(interacting_with, 'sound/effects/slosh.ogg', 20, TRUE) + return ITEM_INTERACT_SUCCESS + +/obj/item/slimecross/prismatic/grey + effect_desc = "When used it restores the orginal color of whatever it hits." + +/obj/item/slimecross/prismatic/grey/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) + if(!(isturf(interacting_with) || isclothing(interacting_with)) || isspaceturf(interacting_with)) + return NONE + user.do_attack_animation(interacting_with) + if(isturf(interacting_with)) + interacting_with.remove_atom_colour(WASHABLE_COLOUR_PRIORITY) + if(isclothing(interacting_with)) + interacting_with.remove_atom_colour(FIXED_COLOUR_PRIORITY) + playsound(interacting_with, 'sound/effects/slosh.ogg', 20, TRUE) + return ITEM_INTERACT_SUCCESS diff --git a/tgstation.dme b/tgstation.dme index 478de58b189..afdc4b0800d 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -9650,6 +9650,7 @@ #include "modular_zubbers\code\modules\research\designs\autolathe\security_designs.dm" #include "modular_zubbers\code\modules\research\techweb\all_nodes.dm" #include "modular_zubbers\code\modules\research\techweb\circuit_nodes.dm" +#include "modular_zubbers\code\modules\research\xenobiology\crossbreeding\prismatic.dm" #include "modular_zubbers\code\modules\rimpoint_newfeatures\code\umbrella.dm" #include "modular_zubbers\code\modules\rr_opt_in\examine.dm" #include "modular_zubbers\code\modules\rr_opt_in\rr_opt_config.dm"