Files
Paradise/code/_globalvars/lists/dye_registry.dm
Ryan 0104291682 Slaying Goliath: a Washing Machine and Dyeing overhaul (#26265)
* Washing Machine Updates

* Dye Registry Improvement + Bug Fixes

* a couple bug fixes + beanie dyeing

* oopsie

* removes washing blacklist, it is unused

* Apply suggestions from Lewcc's code review

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Signed-off-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* why is all my code fucking

* Update code/modules/clothing/gloves/colored_gloves.dm

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Signed-off-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* cleanup

* Update code/modules/clothing/gloves/colored_gloves.dm

Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Signed-off-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* machine wash updates for simple animals

* Update code/modules/clothing/clothing.dm

Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Signed-off-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* adds dyeing.dm documentation

* optimizations & visible_messages

* adds SIGNAL_HANDLER

* Update code/game/machinery/washing_machine.dm

Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>

* update comment

* cleans up cleaning_act()

---------

Signed-off-by: Ryan <80364400+Sirryan2002@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
Co-authored-by: Contrabang <91113370+Contrabang@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
2024-08-19 09:38:47 +00:00

220 lines
10 KiB
Plaintext

/*
* Dye Registry
*
* This is the easiest way to expand the range of dyeable clothes in-game.
* Adding an entry to one of the registry lists allows all types with that dyeing_key to
* be dyed to one of the included paths (given a specific dye key) unless otherwise precluded
* by setting dyeable to FALSE
*
* For example, /obj/item/clothing/under dyeing_key is set to
*/
//dye registry, add dye colors and their resulting output here if you want the sprite to change
GLOBAL_LIST_INIT(dye_registry, list(
DYE_REGISTRY_UNDER = list(
DYE_RED = /obj/item/clothing/under/color/red,
DYE_ORANGE = /obj/item/clothing/under/color/orange,
DYE_YELLOW = /obj/item/clothing/under/color/yellow,
DYE_GREEN = /obj/item/clothing/under/color/green,
DYE_BLUE = /obj/item/clothing/under/color/blue,
DYE_PURPLE = /obj/item/clothing/under/color/lightpurple,
DYE_BLACK = /obj/item/clothing/under/color/black,
DYE_WHITE = /obj/item/clothing/under/color/white,
DYE_RAINBOW = /obj/item/clothing/under/color/rainbow,
DYE_MIME = /obj/item/clothing/under/rank/civilian/mime,
DYE_CLOWN = /obj/item/clothing/under/rank/civilian/clown,
DYE_QM = /obj/item/clothing/under/rank/cargo/qm,
DYE_LAW = /obj/item/clothing/under/suit/black,
DYE_CAPTAIN = /obj/item/clothing/under/rank/captain,
DYE_HOP = /obj/item/clothing/under/rank/civilian/hop,
DYE_HOS = /obj/item/clothing/under/rank/security/head_of_security,
DYE_CE = /obj/item/clothing/under/rank/engineering/chief_engineer,
DYE_RD = /obj/item/clothing/under/rank/rnd/research_director,
DYE_CMO = /obj/item/clothing/under/rank/medical/chief_medical_officer,
DYE_SYNDICATE = /obj/item/clothing/under/syndicate,
DYE_CENTCOM = /obj/item/clothing/under/rank/centcom/commander,
),
DYE_REGISTRY_JUMPSKIRT = list(
DYE_RED = /obj/item/clothing/under/dress/plaid_red,
DYE_BLUE = /obj/item/clothing/under/dress/plaid_blue,
DYE_PURPLE = /obj/item/clothing/under/dress/plaid_purple,
DYE_BLACK = /obj/item/clothing/under/dress/blackskirt,
DYE_MIME = /obj/item/clothing/under/rank/civilian/mime/skirt,
DYE_QM = /obj/item/clothing/under/rank/cargo/qm/skirt,
DYE_CAPTAIN = /obj/item/clothing/under/rank/captain/dress,
DYE_HOP = /obj/item/clothing/under/rank/civilian/hop/skirt,
DYE_HOS = /obj/item/clothing/under/rank/security/head_of_security/skirt,
DYE_CE = /obj/item/clothing/under/rank/engineering/chief_engineer/skirt,
DYE_RD = /obj/item/clothing/under/rank/rnd/research_director/dress,
DYE_CMO = /obj/item/clothing/under/rank/medical/chief_medical_officer/skirt,
),
DYE_REGISTRY_GLOVES = list(
DYE_RED = /obj/item/clothing/gloves/color/red,
DYE_ORANGE = /obj/item/clothing/gloves/color/orange,
DYE_YELLOW = /obj/item/clothing/gloves/color/yellow,
DYE_GREEN = /obj/item/clothing/gloves/color/green,
DYE_BLUE = /obj/item/clothing/gloves/color/blue,
DYE_PURPLE = /obj/item/clothing/gloves/color/purple,
DYE_BLACK = /obj/item/clothing/gloves/color/black,
DYE_WHITE = /obj/item/clothing/gloves/color/white,
DYE_RAINBOW = /obj/item/clothing/gloves/color/rainbow,
DYE_MIME = /obj/item/clothing/gloves/color/white,
DYE_CLOWN = /obj/item/clothing/gloves/color/rainbow,
DYE_QM = /obj/item/clothing/gloves/color/brown,
DYE_CAPTAIN = /obj/item/clothing/gloves/color/blue,
DYE_HOP = /obj/item/clothing/gloves/color/grey,
DYE_HOS = /obj/item/clothing/gloves/color/black,
DYE_CE = /obj/item/clothing/gloves/color/yellow,
DYE_RD = /obj/item/clothing/gloves/color/grey,
DYE_CMO = /obj/item/clothing/gloves/color/blue,
DYE_SYNDICATE = /obj/item/clothing/gloves/combat,
DYE_CENTCOM = /obj/item/clothing/gloves/combat
),
DYE_REGISTRY_BANDANA = list(
DYE_RED = /obj/item/clothing/mask/bandana/red,
DYE_ORANGE = /obj/item/clothing/mask/bandana/orange,
DYE_YELLOW = /obj/item/clothing/mask/bandana/gold,
DYE_GREEN = /obj/item/clothing/mask/bandana/green,
DYE_BLUE = /obj/item/clothing/mask/bandana/blue,
DYE_PURPLE = /obj/item/clothing/mask/bandana/purple,
DYE_BLACK = /obj/item/clothing/mask/bandana/black,
),
DYE_REGISTRY_BEANIE = list(
DYE_BLACK = /obj/item/clothing/head/beanie/black,
DYE_WHITE = /obj/item/clothing/head/beanie,
DYE_RED = /obj/item/clothing/head/beanie/red,
DYE_GREEN = /obj/item/clothing/head/beanie/green,
DYE_CAPTAIN = /obj/item/clothing/head/beanie/darkblue,
DYE_NTREP = /obj/item/clothing/head/beanie/darkblue,
DYE_PURPLE = /obj/item/clothing/head/beanie/purple,
DYE_RD = /obj/item/clothing/head/beanie/purple,
DYE_YELLOW = /obj/item/clothing/head/beanie/yellow,
DYE_CE = /obj/item/clothing/head/beanie/orange,
DYE_ORANGE = /obj/item/clothing/head/beanie/orange,
DYE_CMO = /obj/item/clothing/head/beanie/cyan,
DYE_BLUE = /obj/item/clothing/head/beanie/cyan,
),
DYE_REGISTRY_SHOES = list(
DYE_RED = /obj/item/clothing/shoes/red,
DYE_ORANGE = /obj/item/clothing/shoes/orange,
DYE_YELLOW = /obj/item/clothing/shoes/yellow,
DYE_GREEN = /obj/item/clothing/shoes/green,
DYE_BLUE = /obj/item/clothing/shoes/blue,
DYE_PURPLE = /obj/item/clothing/shoes/purple,
DYE_BLACK = /obj/item/clothing/shoes/black,
DYE_WHITE = /obj/item/clothing/shoes/white,
DYE_RAINBOW = /obj/item/clothing/shoes/rainbow,
DYE_MIME = /obj/item/clothing/shoes/black,
DYE_CLOWN = /obj/item/clothing/shoes/rainbow,
DYE_QM = /obj/item/clothing/shoes/brown,
DYE_CAPTAIN = /obj/item/clothing/shoes/brown,
DYE_HOP = /obj/item/clothing/shoes/brown,
DYE_CE = /obj/item/clothing/shoes/brown,
DYE_RD = /obj/item/clothing/shoes/brown,
DYE_CMO = /obj/item/clothing/shoes/brown,
DYE_SYNDICATE = /obj/item/clothing/shoes/combat,
DYE_CENTCOM = /obj/item/clothing/shoes/combat
),
DYE_REGISTRY_FANNYPACK = list(
DYE_RED = /obj/item/storage/belt/fannypack/red,
DYE_ORANGE = /obj/item/storage/belt/fannypack/orange,
DYE_YELLOW = /obj/item/storage/belt/fannypack/yellow,
DYE_GREEN = /obj/item/storage/belt/fannypack/green,
DYE_BLUE = /obj/item/storage/belt/fannypack/blue,
DYE_PURPLE = /obj/item/storage/belt/fannypack/purple,
DYE_BLACK = /obj/item/storage/belt/fannypack/black,
DYE_WHITE = /obj/item/storage/belt/fannypack/white,
DYE_SYNDICATE = /obj/item/storage/belt/military
),
DYE_REGISTRY_BEDSHEET = list(
DYE_RED = /obj/item/bedsheet/red,
DYE_ORANGE = /obj/item/bedsheet/orange,
DYE_YELLOW = /obj/item/bedsheet/yellow,
DYE_GREEN = /obj/item/bedsheet/green,
DYE_BLUE = /obj/item/bedsheet/blue,
DYE_PURPLE = /obj/item/bedsheet/purple,
DYE_BLACK = /obj/item/bedsheet/black,
DYE_WHITE = /obj/item/bedsheet,
DYE_RAINBOW = /obj/item/bedsheet/rainbow,
DYE_MIME = /obj/item/bedsheet/mime,
DYE_CLOWN = /obj/item/bedsheet/clown,
DYE_QM = /obj/item/bedsheet/qm,
DYE_LAW = /obj/item/bedsheet/black,
DYE_CAPTAIN = /obj/item/bedsheet/captain,
DYE_HOP = /obj/item/bedsheet/hop,
DYE_HOS = /obj/item/bedsheet/hos,
DYE_CE = /obj/item/bedsheet/ce,
DYE_RD = /obj/item/bedsheet/rd,
DYE_CMO = /obj/item/bedsheet/cmo,
DYE_SYNDICATE = /obj/item/bedsheet/syndie,
DYE_CENTCOM = /obj/item/bedsheet/centcom
),
DYE_REGISTRY_PLASMAMEN = list(
DYE_RED = /obj/item/clothing/under/plasmaman/security,
DYE_ORANGE = /obj/item/clothing/under/plasmaman,
DYE_YELLOW = /obj/item/clothing/under/plasmaman/engineering,
DYE_GREEN = /obj/item/clothing/under/plasmaman/botany,
DYE_BLUE = /obj/item/clothing/under/plasmaman/atmospherics,
DYE_PURPLE = /obj/item/clothing/under/plasmaman/janitor,
DYE_BLACK = /obj/item/clothing/under/plasmaman/robotics,
DYE_WHITE = /obj/item/clothing/under/plasmaman/chef,
DYE_MIME = /obj/item/clothing/under/plasmaman/mime,
DYE_CLOWN = /obj/item/clothing/under/plasmaman/clown,
DYE_QM = /obj/item/clothing/under/plasmaman/cargo,
DYE_LAW = /obj/item/clothing/under/plasmaman/security/warden,
DYE_CAPTAIN = /obj/item/clothing/under/plasmaman/captain,
DYE_HOP = /obj/item/clothing/under/plasmaman/hop,
DYE_HOS =/obj/item/clothing/under/plasmaman/security/hos,
DYE_CE = /obj/item/clothing/under/plasmaman/engineering/ce,
DYE_RD = /obj/item/clothing/under/plasmaman/rd,
DYE_CMO = /obj/item/clothing/under/plasmaman/cmo,
),
DYE_REGISTRY_VOID_SUIT = list(
DYE_RED = /obj/item/clothing/suit/space/nasavoid,
DYE_GREEN = /obj/item/clothing/suit/space/nasavoid/green,
DYE_BLUE = /obj/item/clothing/suit/space/nasavoid/ltblue,
DYE_PURPLE = /obj/item/clothing/suit/space/nasavoid/purple,
DYE_YELLOW = /obj/item/clothing/suit/space/nasavoid/yellow,
DYE_CAPTAIN = /obj/item/clothing/suit/space/nasavoid/captain,
DYE_SYNDICATE = /obj/item/clothing/suit/space/nasavoid/syndi,
DYE_HOP = /obj/item/clothing/suit/space/nasavoid/ntblue,
DYE_NTREP = /obj/item/clothing/suit/space/nasavoid/ntblue,
),
DYE_REGISTRY_VOID_HELMET = list(
DYE_RED = /obj/item/clothing/head/helmet/space/nasavoid,
DYE_GREEN = /obj/item/clothing/head/helmet/space/nasavoid/green,
DYE_BLUE = /obj/item/clothing/head/helmet/space/nasavoid/ltblue,
DYE_PURPLE = /obj/item/clothing/head/helmet/space/nasavoid/purple,
DYE_YELLOW = /obj/item/clothing/head/helmet/space/nasavoid/yellow,
DYE_CAPTAIN = /obj/item/clothing/head/helmet/space/nasavoid/captain,
DYE_SYNDICATE = /obj/item/clothing/head/helmet/space/nasavoid/syndi,
DYE_HOP = /obj/item/clothing/head/helmet/space/nasavoid/ntblue,
DYE_NTREP = /obj/item/clothing/head/helmet/space/nasavoid/ntblue,
),
DYE_REGISTRY_SYNDICATE_SUIT = list(
DYE_RED = /obj/item/clothing/suit/space/syndicate,
DYE_GREEN = /obj/item/clothing/suit/space/syndicate/green,
DYE_ORANGE = /obj/item/clothing/suit/space/syndicate/orange,
DYE_BLUE = /obj/item/clothing/suit/space/syndicate/blue,
DYE_YELLOW = /obj/item/clothing/suit/space/syndicate/black/engie,
DYE_BLACK = /obj/item/clothing/suit/space/syndicate/black,
DYE_CMO = /obj/item/clothing/suit/space/syndicate/black/med,
DYE_CE = /obj/item/clothing/suit/space/syndicate/black/engie,
DYE_NTREP = /obj/item/clothing/suit/space/syndicate/blue,
),
DYE_REGISTRY_SYNDICATE_HELMET = list(
DYE_RED = /obj/item/clothing/head/helmet/space/syndicate,
DYE_GREEN = /obj/item/clothing/head/helmet/space/syndicate/green,
DYE_ORANGE = /obj/item/clothing/head/helmet/space/syndicate/orange,
DYE_BLUE = /obj/item/clothing/head/helmet/space/syndicate/blue,
DYE_YELLOW = /obj/item/clothing/head/helmet/space/syndicate/black/engie,
DYE_BLACK = /obj/item/clothing/head/helmet/space/syndicate/black,
DYE_CMO = /obj/item/clothing/head/helmet/space/syndicate/black/med,
DYE_CE = /obj/item/clothing/head/helmet/space/syndicate/black/engie,
DYE_NTREP = /obj/item/clothing/head/helmet/space/syndicate/blue,
),
))