From e35b3e4a33bce1ec64f4a9c1da4995a456afc170 Mon Sep 17 00:00:00 2001 From: timothyteakettle <59849408+timothyteakettle@users.noreply.github.com> Date: Mon, 26 Oct 2020 00:47:40 +0000 Subject: [PATCH] color editing --- code/controllers/subsystem/job.dm | 8 ++++++++ code/modules/client/preferences.dm | 11 ++++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/code/controllers/subsystem/job.dm b/code/controllers/subsystem/job.dm index 7677dd3b0f..404bc16364 100644 --- a/code/controllers/subsystem/job.dm +++ b/code/controllers/subsystem/job.dm @@ -705,6 +705,14 @@ SUBSYSTEM_DEF(job) I.forceMove(get_turf(M)) // If everything fails, just put it on the floor under the mob. else qdel(I) + if(I) //handle loadout colors last + if((G.loadout_flags & LOADOUT_CAN_COLOR_POLYCHROMIC) && length(G.loadout_initial_colors)) + var/datum/element/polychromic/polychromic = SSdcs.GetElement(list(/datum/element/polychromic)) + if(polychromic) + var/list/polychromic_entry = polychromic.colors_by_atom[I] + if(polychromic_entry) + polychromic.colors_by_atom[I] = I[LOADOUT_COLOR] + /datum/controller/subsystem/job/proc/FreeRole(rank) if(!rank) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 6784ff33c6..f5b6becf55 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2666,17 +2666,14 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/user_gear = has_loadout_gear(loadout_slot, G.type) if(!user_gear) return + message_admins("the gear is of length [length(user_gear)]") + message_admins("the color list is of length [length(user_gear[LOADOUT_COLOR])]") var/list/color_options = list() - var/list/color_option_format = list("Primary", "Secondary", "Tertiary") //could make this a define and use it everywhere for(var/i=1, i<=length(G.loadout_initial_colors), i++) - var/option = color_option_format[i] - if(option) - color_options += option - else - color_options += "Color [i]" + color_options += "Color [i]" var/color_to_change = input(user, "Polychromic options", "Recolor [name]") as null|anything in color_options if(color_to_change) - var/color_index = color_options[color_to_change] + var/color_index = text2num(copytext(color_to_change, 7)) message_admins("chosen index is [color_index]") var/current_color = user_gear[LOADOUT_COLOR][color_index] message_admins("current color is [current_color]")