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
<details>
<summary>Screenshots/Videos</summary>
<img width="377" height="358" alt="proof of testing"
src="https://github.com/user-attachments/assets/a7e3afe0-3804-4916-8157-64bd70873b10"
/>

</details>

## Changelog
🆑
add: Prismatic extracts from xenobiology can now be used to recolor
clothing and floor decals
/🆑
This commit is contained in:
explosivekitty
2025-12-06 11:54:46 -08:00
committed by GitHub
parent a09e9bce69
commit afd94de205
2 changed files with 28 additions and 0 deletions
@@ -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
+1
View File
@@ -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"