mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Fix improper skin tones and lots of DNA inconsistencies. Improve mob spawners by a little (#29271)
* sane appearance * updatepaths * flip-vitiligo * equal color options * ... * Update golems.dm * typo
This commit is contained in:
+26
-27
@@ -98,7 +98,7 @@ GLOBAL_LIST_EMPTY(bad_blocks)
|
||||
|
||||
/datum/dna/proc/ResetUIFrom(mob/living/carbon/human/character)
|
||||
// INITIALIZE!
|
||||
ResetUI(1)
|
||||
ResetUI(TRUE)
|
||||
// Hair
|
||||
// FIXME: Species-specific defaults pls
|
||||
var/obj/item/organ/external/head/head = character.get_organ("head")
|
||||
@@ -120,33 +120,33 @@ GLOBAL_LIST_EMPTY(bad_blocks)
|
||||
head_traits_to_dna(character, head)
|
||||
eye_color_to_dna(eyes_organ)
|
||||
|
||||
SetUIValueRange(DNA_UI_SKIN_R, color2R(character.skin_colour), 255, 1)
|
||||
SetUIValueRange(DNA_UI_SKIN_G, color2G(character.skin_colour), 255, 1)
|
||||
SetUIValueRange(DNA_UI_SKIN_B, color2B(character.skin_colour), 255, 1)
|
||||
SetUIValueRange(DNA_UI_SKIN_R, color2R(character.skin_colour), 255, TRUE)
|
||||
SetUIValueRange(DNA_UI_SKIN_G, color2G(character.skin_colour), 255, TRUE)
|
||||
SetUIValueRange(DNA_UI_SKIN_B, color2B(character.skin_colour), 255, TRUE)
|
||||
|
||||
SetUIValueRange(DNA_UI_HEAD_MARK_R, color2R(character.m_colours["head"]), 255, 1)
|
||||
SetUIValueRange(DNA_UI_HEAD_MARK_G, color2G(character.m_colours["head"]), 255, 1)
|
||||
SetUIValueRange(DNA_UI_HEAD_MARK_B, color2B(character.m_colours["head"]), 255, 1)
|
||||
SetUIValueRange(DNA_UI_HEAD_MARK_R, color2R(character.m_colours["head"]), 255, TRUE)
|
||||
SetUIValueRange(DNA_UI_HEAD_MARK_G, color2G(character.m_colours["head"]), 255, TRUE)
|
||||
SetUIValueRange(DNA_UI_HEAD_MARK_B, color2B(character.m_colours["head"]), 255, TRUE)
|
||||
|
||||
SetUIValueRange(DNA_UI_BODY_MARK_R, color2R(character.m_colours["body"]), 255, 1)
|
||||
SetUIValueRange(DNA_UI_BODY_MARK_G, color2G(character.m_colours["body"]), 255, 1)
|
||||
SetUIValueRange(DNA_UI_BODY_MARK_B, color2B(character.m_colours["body"]), 255, 1)
|
||||
SetUIValueRange(DNA_UI_BODY_MARK_R, color2R(character.m_colours["body"]), 255, TRUE)
|
||||
SetUIValueRange(DNA_UI_BODY_MARK_G, color2G(character.m_colours["body"]), 255, TRUE)
|
||||
SetUIValueRange(DNA_UI_BODY_MARK_B, color2B(character.m_colours["body"]), 255, TRUE)
|
||||
|
||||
SetUIValueRange(DNA_UI_TAIL_MARK_R, color2R(character.m_colours["tail"]), 255, 1)
|
||||
SetUIValueRange(DNA_UI_TAIL_MARK_G, color2G(character.m_colours["tail"]), 255, 1)
|
||||
SetUIValueRange(DNA_UI_TAIL_MARK_B, color2B(character.m_colours["tail"]), 255, 1)
|
||||
SetUIValueRange(DNA_UI_TAIL_MARK_R, color2R(character.m_colours["tail"]), 255, TRUE)
|
||||
SetUIValueRange(DNA_UI_TAIL_MARK_G, color2G(character.m_colours["tail"]), 255, TRUE)
|
||||
SetUIValueRange(DNA_UI_TAIL_MARK_B, color2B(character.m_colours["tail"]), 255, TRUE)
|
||||
|
||||
SetUIValueRange(DNA_UI_SKIN_TONE, 35-character.s_tone, 220, 1) // Value can be negative.
|
||||
SetUIValueRange(DNA_UI_SKIN_TONE, abs(35 - character.s_tone), 220, TRUE)
|
||||
|
||||
SetUIValueRange(DNA_UI_HEAD_MARK_STYLE, head_marks, length(GLOB.marking_styles_list), 1)
|
||||
SetUIValueRange(DNA_UI_BODY_MARK_STYLE, body_marks, length(GLOB.marking_styles_list), 1)
|
||||
SetUIValueRange(DNA_UI_TAIL_MARK_STYLE, tail_marks, length(GLOB.marking_styles_list), 1)
|
||||
SetUIValueRange(DNA_UI_HEAD_MARK_STYLE, head_marks, length(GLOB.marking_styles_list), TRUE)
|
||||
SetUIValueRange(DNA_UI_BODY_MARK_STYLE, body_marks, length(GLOB.marking_styles_list), TRUE)
|
||||
SetUIValueRange(DNA_UI_TAIL_MARK_STYLE, tail_marks, length(GLOB.marking_styles_list), TRUE)
|
||||
|
||||
SetUIValueRange(DNA_UI_PHYSIQUE, GLOB.character_physiques.Find(character.physique), length(GLOB.character_physiques), 1)
|
||||
SetUIValueRange(DNA_UI_HEIGHT, GLOB.character_heights.Find(character.height), length(GLOB.character_heights), 1)
|
||||
SetUIValueRange(DNA_UI_PHYSIQUE, GLOB.character_physiques.Find(character.physique), length(GLOB.character_physiques), TRUE)
|
||||
SetUIValueRange(DNA_UI_HEIGHT, GLOB.character_heights.Find(character.height), length(GLOB.character_heights), TRUE)
|
||||
|
||||
var/list/bodyacc = GLOB.body_accessory_by_name.Find(character.body_accessory?.name || "None")
|
||||
SetUIValueRange(DNA_UI_BACC_STYLE, bodyacc, length(GLOB.body_accessory_by_name), 1)
|
||||
SetUIValueRange(DNA_UI_BACC_STYLE, bodyacc, length(GLOB.body_accessory_by_name), TRUE)
|
||||
|
||||
switch(character.body_type)
|
||||
if(FEMALE)
|
||||
@@ -157,16 +157,15 @@ GLOBAL_LIST_EMPTY(bad_blocks)
|
||||
//Set the Gender
|
||||
switch(character.gender)
|
||||
if(FEMALE)
|
||||
SetUITriState(DNA_UI_GENDER, DNA_GENDER_FEMALE, 1)
|
||||
SetUITriState(DNA_UI_GENDER, DNA_GENDER_FEMALE, TRUE)
|
||||
if(MALE)
|
||||
SetUITriState(DNA_UI_GENDER, DNA_GENDER_MALE, 1)
|
||||
SetUITriState(DNA_UI_GENDER, DNA_GENDER_MALE, TRUE)
|
||||
if(PLURAL)
|
||||
SetUITriState(DNA_UI_GENDER, DNA_GENDER_PLURAL, 1)
|
||||
SetUITriState(DNA_UI_GENDER, DNA_GENDER_PLURAL, TRUE)
|
||||
|
||||
if(head)
|
||||
head.dna.UI = character.dna.UI
|
||||
if(eyes_organ)
|
||||
eyes_organ.dna.UI = character.dna.UI
|
||||
// updates DNA for our external and internal organs
|
||||
for(var/obj/item/organ/organ in (character.bodyparts + character.internal_organs))
|
||||
organ.dna.UI = character.dna.UI
|
||||
|
||||
UpdateUI()
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@
|
||||
H.m_colours["body"] = rgb(dna.GetUIValueRange(DNA_UI_BODY_MARK_R, 255), dna.GetUIValueRange(DNA_UI_BODY_MARK_G, 255), dna.GetUIValueRange(DNA_UI_BODY_MARK_B, 255))
|
||||
H.m_colours["tail"] = rgb(dna.GetUIValueRange(DNA_UI_TAIL_MARK_R, 255), dna.GetUIValueRange(DNA_UI_TAIL_MARK_G, 255), dna.GetUIValueRange(DNA_UI_TAIL_MARK_B, 255))
|
||||
|
||||
H.s_tone = 35 - dna.GetUIValueRange(DNA_UI_SKIN_TONE, 220) // Value can be negative.
|
||||
H.s_tone = 35 - dna.GetUIValueRange(DNA_UI_SKIN_TONE, 220)
|
||||
|
||||
switch(dna.GetUIState(DNA_UI_BODY_TYPE))
|
||||
if(DNA_GENDER_FEMALE)
|
||||
|
||||
@@ -939,7 +939,7 @@
|
||||
if(!new_tone)
|
||||
new_tone = 35
|
||||
else
|
||||
new_tone = 35 - max(min(round(text2num(new_tone)), 220), 1)
|
||||
new_tone = max(min(round(text2num(new_tone)), 220), 1)
|
||||
M.change_skin_tone(new_tone)
|
||||
|
||||
if(M.dna.species.bodyflags & HAS_ICON_SKIN_TONE)
|
||||
|
||||
Reference in New Issue
Block a user