colour backend
This commit is contained in:
@@ -528,8 +528,21 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
||||
dat += "<table>"
|
||||
var/list/markings = features[marking_type]
|
||||
for(var/list/marking_list in markings)
|
||||
var/marking_index = markings.Find(marking_list) // consider changing loop to go through indexes over lists instead of using Find here
|
||||
var/actual_name = GLOB.bodypart_names[num2text(marking_list[1])] // get the actual name from the bitflag representing the part the marking is applied to
|
||||
dat += "<tr><td>[marking_list[2]] - [actual_name]</td> <td><a href='?_src_=prefs;preference=marking_down;task=input;marking_index=[markings.Find(marking_list)];marking_type=[marking_type]'>˄</a> <a href='?_src_=prefs;preference=marking_up;task=input;marking_index=[markings.Find(marking_list)];marking_type=[marking_type]'>˅</a> <a href='?_src_=prefs;preference=marking_remove;task=input;marking_index=[markings.Find(marking_list)];marking_type=[marking_type]'>X</a></td></tr>"
|
||||
var/color_marking_dat = ""
|
||||
var/datum/sprite_accessory/S = (actual_name == "mam_body_markings") ? GLOB.mam_body_markings_list[marking_list[2]] : GLOB.body_markings_list[marking_list[2]]
|
||||
if(S && S.matrixed_sections && S.matrixed_sections != MATRIX_NONE)
|
||||
// we know it has one matrixed section at minimum
|
||||
color_marking_dat += "<span style='border: 1px solid #161616; background-color: #[marking_list[3][1]];'> </span>"
|
||||
// if it has a second section, add it
|
||||
if(S.matrixed_sections == MATRIX_RED_BLUE || S.matrixed_sections == MATRIX_GREEN_BLUE || S.matrixed_sections == MATRIX_RED_GREEN)
|
||||
color_marking_dat += "<span style='border: 1px solid #161616; background-color: #[marking_list[3][2]];'> </span>"
|
||||
// if it has a third section, add it
|
||||
if(S.matrixed_sections == MATRIX_ALL)
|
||||
color_marking_dat += "<span style='border: 1px solid #161616; background-color: #[marking_list[3][3]];'> </span>"
|
||||
color_marking_dat += " <a href='?_src_=prefs;preference=marking_color;marking_index=[marking_index]task=input'>Change</a><BR>"
|
||||
dat += "<tr><td>[marking_list[2]] - [actual_name]</td> <td><a href='?_src_=prefs;preference=marking_down;task=input;marking_index=[marking_index];marking_type=[marking_type]'>˄</a> <a href='?_src_=prefs;preference=marking_up;task=input;marking_index=[marking_index];marking_type=[marking_type]'>˅</a> <a href='?_src_=prefs;preference=marking_remove;task=input;marking_index=[marking_index];marking_type=[marking_type]'>X</a> [color_marking_dat]</td></tr>"
|
||||
dat += "</table>"
|
||||
|
||||
for(var/mutant_part in GLOB.all_mutant_parts)
|
||||
|
||||
@@ -700,8 +700,12 @@
|
||||
marking_value = Smark?.icon_state || lowertext(H.dna.features["mam_body_markings"])
|
||||
else
|
||||
marking_value = "plain"
|
||||
message_admins("MATCH FOUND FOR [marking[1]] ON PART [body_part] ON USER [C], VALUE IS [body_markings_icon] AND [marking_value]")
|
||||
body_markings_list += list(list(body_markings_icon, marking_value))
|
||||
var/list/color_values
|
||||
if(length(marking) == 3)
|
||||
color_values = marking[3]
|
||||
else
|
||||
color_values = list("#FFFFFF", "#FFFFFF", "#FFFFFF")
|
||||
body_markings_list += list(list(body_markings_icon, marking_value, color_values))
|
||||
|
||||
markings_color = list(colorlist)
|
||||
else
|
||||
@@ -796,8 +800,8 @@
|
||||
if((body_zone != BODY_ZONE_HEAD && body_zone != BODY_ZONE_CHEST))
|
||||
should_draw_gender = FALSE
|
||||
|
||||
var/list/markings_list = list()
|
||||
if(is_organic_limb())
|
||||
message_admins("UPDATING ORGANIC LIMB FOR [owner] AT [src]")
|
||||
limb.icon = base_bp_icon || 'icons/mob/human_parts.dmi'
|
||||
if(should_draw_gender)
|
||||
limb.icon_state = "[species_id]_[body_zone]_[icon_gender]"
|
||||
@@ -810,23 +814,28 @@
|
||||
limb.icon_state = "[species_id]_[body_zone]"
|
||||
|
||||
// Body markings
|
||||
var/list/marking_list
|
||||
if(length(body_markings_list))
|
||||
if(species_id == "husk")
|
||||
marking_list += image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[body_zone]", -MARKING_LAYER, image_dir)
|
||||
. += image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[body_zone]", -MARKING_LAYER, image_dir)
|
||||
else if(species_id == "husk" && use_digitigrade)
|
||||
marking_list += image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[digitigrade_type]_[use_digitigrade]_[body_zone]", -MARKING_LAYER, image_dir)
|
||||
. += image('modular_citadel/icons/mob/markings_notmammals.dmi', "husk_[digitigrade_type]_[use_digitigrade]_[body_zone]", -MARKING_LAYER, image_dir)
|
||||
else
|
||||
for(var/list/marking_list in body_markings_list)
|
||||
// marking stores icon and value for the specific bodypart
|
||||
if(!use_digitigrade)
|
||||
if(body_zone == BODY_ZONE_CHEST)
|
||||
marking_list += image(marking_list[1], "[marking_list[2]]_[body_zone]_[icon_gender]", -MARKING_LAYER, image_dir)
|
||||
markings_list.Add(image(marking_list[1], "[marking_list[2]]_[body_zone]_[icon_gender]", -MARKING_LAYER, image_dir))
|
||||
message_admins("length is now [length(markings_list)]")
|
||||
else
|
||||
marking_list += image(marking_list[1], "[marking_list[2]]_[body_zone]", -MARKING_LAYER, image_dir)
|
||||
markings_list.Add(image(marking_list[1], "[marking_list[2]]_[body_zone]", -MARKING_LAYER, image_dir))
|
||||
message_admins("length is now [length(markings_list)]")
|
||||
else
|
||||
marking_list += image(marking_list[1], "[marking_list[2]]_[digitigrade_type]_[use_digitigrade]_[body_zone]", -MARKING_LAYER, image_dir)
|
||||
. += marking_list
|
||||
markings_list.Add(image(marking_list[1], "[marking_list[2]]_[digitigrade_type]_[use_digitigrade]_[body_zone]", -MARKING_LAYER, image_dir))
|
||||
message_admins("length is now [length(markings_list)]")
|
||||
if(color_src && length(marking_list) == 3)
|
||||
message_admins("trying to color list of length [length(marking_list)] and also trying to access index [length(markings_list)] on a list of the same length")
|
||||
markings_list[length(markings_list)].color = marking_list[3]
|
||||
. += markings_list
|
||||
|
||||
// Citadel End
|
||||
|
||||
@@ -908,10 +917,8 @@
|
||||
|
||||
if(!isnull(body_markings))
|
||||
if(species_id == "husk")
|
||||
|
||||
marking.color = "#141414"
|
||||
else
|
||||
marking.color = list(markings_color)
|
||||
for(var/image/marking in markings_list)
|
||||
marking.color = "#141414"
|
||||
|
||||
/obj/item/bodypart/deconstruct(disassembled = TRUE)
|
||||
drop_organs()
|
||||
|
||||
Reference in New Issue
Block a user