diff --git a/code/__DEFINES/dye_keys.dm b/code/__DEFINES/dye_keys.dm index aba886e487b..582f3127380 100644 --- a/code/__DEFINES/dye_keys.dm +++ b/code/__DEFINES/dye_keys.dm @@ -23,6 +23,11 @@ #define DYE_PURPLE "purple" #define DYE_BLACK "black" #define DYE_WHITE "white" +#define DYE_PINK "pink" +#define DYE_YELLOWGREEN "yellowgreen" +#define DYE_LIGHTBLUE "lightblue" +#define DYE_LIGHTPURPLE "lightpurple" +#define DYE_LIGHTRED "lightred" #define DYE_RAINBOW "rainbow" #define DYE_MIME "mime" #define DYE_COSMIC "cosmic" diff --git a/code/_globalvars/lists/dye_registry.dm b/code/_globalvars/lists/dye_registry.dm index 3b16237d0c8..fabac01927f 100644 --- a/code/_globalvars/lists/dye_registry.dm +++ b/code/_globalvars/lists/dye_registry.dm @@ -18,9 +18,14 @@ GLOBAL_LIST_INIT(dye_registry, list( 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_LIGHTPURPLE = /obj/item/clothing/under/color/lightpurple, DYE_BLACK = /obj/item/clothing/under/color/black, DYE_WHITE = /obj/item/clothing/under/color/white, + DYE_PURPLE = /obj/item/clothing/under/color/purple, + DYE_PINK = /obj/item/clothing/under/color/pink, + DYE_YELLOWGREEN = /obj/item/clothing/under/color/yellowgreen, + DYE_LIGHTBLUE = /obj/item/clothing/under/color/lightblue, + DYE_LIGHTRED = /obj/item/clothing/under/color/lightred, 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, @@ -41,9 +46,14 @@ GLOBAL_LIST_INIT(dye_registry, list( DYE_YELLOW = /obj/item/clothing/under/color/jumpskirt/yellow, DYE_GREEN = /obj/item/clothing/under/color/jumpskirt/green, DYE_BLUE = /obj/item/clothing/under/color/jumpskirt/blue, - DYE_PURPLE = /obj/item/clothing/under/color/jumpskirt/lightpurple, + DYE_LIGHTPURPLE = /obj/item/clothing/under/color/jumpskirt/lightpurple, DYE_BLACK = /obj/item/clothing/under/color/jumpskirt/black, DYE_WHITE = /obj/item/clothing/under/color/jumpskirt/white, + DYE_PURPLE = /obj/item/clothing/under/color/jumpskirt/purple, + DYE_PINK = /obj/item/clothing/under/color/jumpskirt/pink, + DYE_YELLOWGREEN = /obj/item/clothing/under/color/jumpskirt/yellowgreen, + DYE_LIGHTBLUE = /obj/item/clothing/under/color/jumpskirt/lightblue, + DYE_LIGHTRED = /obj/item/clothing/under/color/jumpskirt/lightred, DYE_RAINBOW = /obj/item/clothing/under/color/jumpskirt/rainbow, DYE_MIME = /obj/item/clothing/under/rank/civilian/mime/skirt, DYE_QM = /obj/item/clothing/under/rank/cargo/qm/skirt, @@ -56,11 +66,14 @@ GLOBAL_LIST_INIT(dye_registry, list( ), DYE_REGISTRY_GLOVES = list( DYE_RED = /obj/item/clothing/gloves/color/red, + DYE_LIGHTRED = /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_LIGHTBLUE = /obj/item/clothing/gloves/color/blue, DYE_PURPLE = /obj/item/clothing/gloves/color/purple, + DYE_LIGHTPURPLE = /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, @@ -74,54 +87,68 @@ GLOBAL_LIST_INIT(dye_registry, list( 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_CENTCOM = /obj/item/clothing/gloves/combat, ), DYE_REGISTRY_BANDANA = list( DYE_RED = /obj/item/clothing/mask/bandana/red, + DYE_LIGHTRED = /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_LIGHTBLUE = /obj/item/clothing/mask/bandana/blue, DYE_PURPLE = /obj/item/clothing/mask/bandana/purple, + DYE_LIGHTPURPLE = /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_LIGHTRED = /obj/item/clothing/head/beanie/stripedred, 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_LIGHTPURPLE = /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_LIGHTBLUE = /obj/item/clothing/head/beanie/stripedblue, + DYE_YELLOWGREEN = /obj/item/clothing/head/beanie/stripedgreen, ), DYE_REGISTRY_HEADSCARF = list( DYE_BLACK = /obj/item/clothing/head/headscarf/black, DYE_WHITE = /obj/item/clothing/head/headscarf, DYE_RED = /obj/item/clothing/head/headscarf/red, + DYE_LIGHTRED = /obj/item/clothing/head/headscarf/red, DYE_GREEN = /obj/item/clothing/head/headscarf/green, DYE_CAPTAIN = /obj/item/clothing/head/headscarf/darkblue, DYE_NTREP = /obj/item/clothing/head/headscarf/darkblue, DYE_PURPLE = /obj/item/clothing/head/headscarf/purple, + DYE_LIGHTPURPLE = /obj/item/clothing/head/headscarf/purple, DYE_RD = /obj/item/clothing/head/headscarf/purple, DYE_YELLOW = /obj/item/clothing/head/headscarf/yellow, DYE_CE = /obj/item/clothing/head/headscarf/orange, DYE_ORANGE = /obj/item/clothing/head/headscarf/orange, DYE_CMO = /obj/item/clothing/head/headscarf/cyan, DYE_BLUE = /obj/item/clothing/head/headscarf/cyan, + DYE_LIGHTBLUE = /obj/item/clothing/head/headscarf/cyan, ), DYE_REGISTRY_SHOES = list( DYE_RED = /obj/item/clothing/shoes/red, + DYE_LIGHTRED = /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_LIGHTBLUE = /obj/item/clothing/shoes/blue, DYE_PURPLE = /obj/item/clothing/shoes/purple, + DYE_LIGHTPURPLE = /obj/item/clothing/shoes/purple, + DYE_PINK = /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, @@ -134,26 +161,33 @@ GLOBAL_LIST_INIT(dye_registry, list( 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_CENTCOM = /obj/item/clothing/shoes/combat, ), DYE_REGISTRY_FANNYPACK = list( DYE_RED = /obj/item/storage/belt/fannypack/red, + DYE_LIGHTRED = /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_LIGHTBLUE = /obj/item/storage/belt/fannypack/cyan, DYE_PURPLE = /obj/item/storage/belt/fannypack/purple, + DYE_LIGHTPURPLE = /obj/item/storage/belt/fannypack/purple, + DYE_PINK = /obj/item/storage/belt/fannypack/pink, DYE_BLACK = /obj/item/storage/belt/fannypack/black, DYE_WHITE = /obj/item/storage/belt/fannypack/white, - DYE_SYNDICATE = /obj/item/storage/belt/military + DYE_SYNDICATE = /obj/item/storage/belt/military, ), DYE_REGISTRY_BEDSHEET = list( DYE_RED = /obj/item/bedsheet/red, + DYE_LIGHTRED = /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_LIGHTBLUE = /obj/item/bedsheet/blue, DYE_PURPLE = /obj/item/bedsheet/purple, + DYE_LIGHTPURPLE = /obj/item/bedsheet/purple, DYE_BLACK = /obj/item/bedsheet/black, DYE_WHITE = /obj/item/bedsheet, DYE_RAINBOW = /obj/item/bedsheet/rainbow, @@ -168,17 +202,20 @@ GLOBAL_LIST_INIT(dye_registry, list( 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_CENTCOM = /obj/item/bedsheet/centcom, ), DYE_REGISTRY_BOMBER = list( DYE_RED = /obj/item/clothing/suit/jacket/bomber/sec, + DYE_LIGHTRED = /obj/item/clothing/suit/jacket/bomber/chem, DYE_ORANGE = /obj/item/clothing/suit/jacket/bomber/chem, DYE_YELLOW = /obj/item/clothing/suit/jacket/bomber/engi, DYE_GREEN = /obj/item/clothing/suit/jacket/bomber/hydro, DYE_BLUE = /obj/item/clothing/suit/jacket/bomber/atmos, DYE_PURPLE = /obj/item/clothing/suit/jacket/bomber/sci, + DYE_LIGHTPURPLE = /obj/item/clothing/suit/jacket/bomber/sci, DYE_BLACK = /obj/item/clothing/suit/jacket/bomber/coroner, DYE_WHITE = /obj/item/clothing/suit/jacket/bomber/med, + DYE_LIGHTBLUE = /obj/item/clothing/suit/jacket/bomber/med, DYE_SYNDICATE = /obj/item/clothing/suit/jacket/bomber/syndicate ), DYE_REGISTRY_PLASMAMEN = list( @@ -188,8 +225,12 @@ GLOBAL_LIST_INIT(dye_registry, list( 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_LIGHTPURPLE = /obj/item/clothing/under/plasmaman/janitor, DYE_BLACK = /obj/item/clothing/under/plasmaman/robotics, - DYE_WHITE = /obj/item/clothing/under/plasmaman/chef, + DYE_WHITE = /obj/item/clothing/under/plasmaman/chef/bw, + DYE_LIGHTRED = /obj/item/clothing/under/plasmaman/chef, + DYE_LIGHTBLUE = /obj/item/clothing/under/plasmaman/chaplain/blue, + DYE_PINK = /obj/item/clothing/under/plasmaman/genetics, DYE_MIME = /obj/item/clothing/under/plasmaman/mime, DYE_CLOWN = /obj/item/clothing/under/plasmaman/clown, DYE_QM = /obj/item/clothing/under/plasmaman/cargo, @@ -208,8 +249,12 @@ GLOBAL_LIST_INIT(dye_registry, list( DYE_GREEN = /obj/item/clothing/head/helmet/space/plasmaman/botany, DYE_BLUE = /obj/item/clothing/head/helmet/space/plasmaman/atmospherics, DYE_PURPLE = /obj/item/clothing/head/helmet/space/plasmaman/janitor, + DYE_LIGHTPURPLE = /obj/item/clothing/head/helmet/space/plasmaman/janitor, DYE_BLACK = /obj/item/clothing/head/helmet/space/plasmaman/robotics, DYE_WHITE = /obj/item/clothing/head/helmet/space/plasmaman/chef, + DYE_LIGHTRED = /obj/item/clothing/head/helmet/space/plasmaman/chaplain/orange, + DYE_LIGHTBLUE = /obj/item/clothing/head/helmet/space/plasmaman/medical, + DYE_PINK = /obj/item/clothing/head/helmet/space/plasmaman/genetics, DYE_MIME = /obj/item/clothing/head/helmet/space/plasmaman/mime, DYE_CLOWN = /obj/item/clothing/head/helmet/space/plasmaman/clown, DYE_QM = /obj/item/clothing/head/helmet/space/plasmaman/cargo, @@ -223,9 +268,12 @@ GLOBAL_LIST_INIT(dye_registry, list( ), DYE_REGISTRY_VOID_SUIT = list( DYE_RED = /obj/item/clothing/suit/space/void, + DYE_LIGHTRED = /obj/item/clothing/suit/space/void, DYE_GREEN = /obj/item/clothing/suit/space/void/green, DYE_BLUE = /obj/item/clothing/suit/space/void/ltblue, + DYE_LIGHTBLUE = /obj/item/clothing/suit/space/void/ltblue, DYE_PURPLE = /obj/item/clothing/suit/space/void/purple, + DYE_LIGHTPURPLE = /obj/item/clothing/suit/space/void/purple, DYE_YELLOW = /obj/item/clothing/suit/space/void/yellow, DYE_CAPTAIN = /obj/item/clothing/suit/space/void/captain, DYE_SYNDICATE = /obj/item/clothing/suit/space/void/syndi, @@ -234,9 +282,12 @@ GLOBAL_LIST_INIT(dye_registry, list( ), DYE_REGISTRY_VOID_HELMET = list( DYE_RED = /obj/item/clothing/head/helmet/space/void, + DYE_LIGHTRED = /obj/item/clothing/head/helmet/space/void, DYE_GREEN = /obj/item/clothing/head/helmet/space/void/green, DYE_BLUE = /obj/item/clothing/head/helmet/space/void/ltblue, + DYE_LIGHTBLUE = /obj/item/clothing/head/helmet/space/void/ltblue, DYE_PURPLE = /obj/item/clothing/head/helmet/space/void/purple, + DYE_LIGHTPURPLE = /obj/item/clothing/head/helmet/space/void/purple, DYE_YELLOW = /obj/item/clothing/head/helmet/space/void/yellow, DYE_CAPTAIN = /obj/item/clothing/head/helmet/space/void/captain, DYE_SYNDICATE = /obj/item/clothing/head/helmet/space/void/syndi, @@ -245,9 +296,11 @@ GLOBAL_LIST_INIT(dye_registry, list( ), DYE_REGISTRY_SYNDICATE_SUIT = list( DYE_RED = /obj/item/clothing/suit/space/syndicate, + DYE_LIGHTRED = /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_LIGHTBLUE = /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, @@ -256,9 +309,11 @@ GLOBAL_LIST_INIT(dye_registry, list( ), DYE_REGISTRY_SYNDICATE_HELMET = list( DYE_RED = /obj/item/clothing/head/helmet/space/syndicate, + DYE_LIGHTRED = /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_LIGHTBLUE = /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, diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index f42a919fc97..3eb197d81a0 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -270,6 +270,8 @@ color_sources += C for(var/obj/item/stamp/S in contents) color_sources += S + for(var/obj/item/toy/shell/L in contents) + color_sources += L if(!length(color_sources)) return color_source = pick(color_sources) @@ -279,6 +281,9 @@ if(istype(color_source, /obj/item/stamp)) var/obj/item/stamp/S = color_source wash_color = S.dye_color + if(istype(color_source, /obj/item/toy/shell)) + var/obj/item/toy/shell/L = color_source + wash_color = L.dye_color /obj/machinery/washing_machine/proc/start_wash_cycle() if(stat & (NOPOWER|BROKEN)) diff --git a/code/game/objects/effects/spawners/random/toy_spawners.dm b/code/game/objects/effects/spawners/random/toy_spawners.dm index 02b157a8e00..d92e802179e 100644 --- a/code/game/objects/effects/spawners/random/toy_spawners.dm +++ b/code/game/objects/effects/spawners/random/toy_spawners.dm @@ -26,3 +26,8 @@ /obj/item/toy/spinningtoy, ) loot_subtype_path = /obj/item/toy/figure/mech + +// author requests these be exempt from maints loot. intended to be an off-station or beach-specific item +/obj/effect/spawner/random/toy/shell + name = "random beach shell" + loot_type_path = /obj/item/toy/shell diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index 93cd861920c..097e4a5a43f 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -204,7 +204,7 @@ name = "purple crayon" icon_state = "crayonpurple" crayon_color = COLOR_PURPLE - dye_color = DYE_PURPLE + dye_color = DYE_LIGHTPURPLE /obj/item/toy/crayon/random/Initialize(mapload) . = ..() diff --git a/code/game/objects/items/toys.dm b/code/game/objects/items/toys.dm index f815b784d61..93266974e84 100644 --- a/code/game/objects/items/toys.dm +++ b/code/game/objects/items/toys.dm @@ -17,6 +17,7 @@ * Toy chainsaws * Action Figures * Round Tuits + * Beach/Pool Toys */ @@ -2047,3 +2048,44 @@ /obj/item/toy/round_tuit/colorful desc = "Now that you have one, you can accomplish all the things you put aside until you got a Round Tuit." icon_state = "round_tuit_colorful" + +////////////////////////////////////////////////////// +// Beach/Pool Toys // +////////////////////////////////////////////////////// + +/obj/item/toy/shell + name = "orange space shell" + desc = "A whorled orange shell with yellow stripes." + icon = 'icons/obj/toy.dmi' + icon_state = "shell_orange" + var/dye_color = DYE_ORANGE + +/obj/item/toy/shell/pink + name = "pink space shell" + desc = "A pretty pink fan-shaped shell." + icon_state = "shell_pink" + dye_color = DYE_PINK + +/obj/item/toy/shell/purple + name = "purple space shell" + desc = "Could this be a dried space life-form, rather than a shell?" + icon_state = "shell_purple" + dye_color = DYE_PURPLE + +/obj/item/toy/shell/green + name = "space dollar shell" + desc = "If only you knew a merchant who accepts dollars made from space debris..." + icon_state = "shell_green" + dye_color = DYE_YELLOWGREEN + +/obj/item/toy/shell/blue + name = "blue space shell" + desc = "If you put your ear up to it, your headset will start giving you feedback." + icon_state = "shell_blue" + dye_color = DYE_LIGHTBLUE + +/obj/item/toy/shell/red + name = "red space shell" + desc = "Rumor has it that microscopic space life makes its home in these crevices." + icon_state = "shell_red" + dye_color = DYE_LIGHTRED diff --git a/icons/obj/toy.dmi b/icons/obj/toy.dmi index 9d3faa62f71..84a6fb02a1d 100644 Binary files a/icons/obj/toy.dmi and b/icons/obj/toy.dmi differ