diff --git a/code/modules/antagonists/cult/cult.dm b/code/modules/antagonists/cult/cult.dm index aa837b95385..20a0778d4da 100644 --- a/code/modules/antagonists/cult/cult.dm +++ b/code/modules/antagonists/cult/cult.dm @@ -504,11 +504,11 @@ shoes = /obj/item/clothing/shoes/cult/alt r_hand = /obj/item/melee/blood_magic/stun -/datum/outfit/cultist/post_equip(mob/living/carbon/human/H, visualsOnly) - H.eye_color_left = BLOODCULT_EYE - H.eye_color_right = BLOODCULT_EYE - H.update_body() +/datum/outfit/cultist/post_equip(mob/living/carbon/human/equipped, visualsOnly) + equipped.eye_color_left = BLOODCULT_EYE + equipped.eye_color_right = BLOODCULT_EYE + equipped.update_body() - var/obj/item/clothing/suit/hooded/hooded = locate() in H + var/obj/item/clothing/suit/hooded/hooded = locate() in equipped hooded.MakeHood() // This is usually created on Initialize, but we run before atoms hooded.ToggleHood() diff --git a/code/modules/client/preferences/species_features/basic.dm b/code/modules/client/preferences/species_features/basic.dm index 91d134b4228..0a9ba1b53a5 100644 --- a/code/modules/client/preferences/species_features/basic.dm +++ b/code/modules/client/preferences/species_features/basic.dm @@ -37,17 +37,18 @@ var/obj/item/organ/eyes/eyes_organ = target.getorgan(/obj/item/organ/eyes) if (!eyes_organ || !istype(eyes_organ)) return - + if (!initial(eyes_organ.eye_color_left)) eyes_organ.eye_color_left = value eyes_organ.old_eye_color_left = value if(hetero) // Don't override the snowflakes please return - + if (!initial(eyes_organ.eye_color_right)) eyes_organ.eye_color_right = value eyes_organ.old_eye_color_right = value + eyes_organ.refresh() /datum/preference/color/eye_color/create_default_value() return random_eye_color() diff --git a/code/modules/mob/living/carbon/human/species.dm b/code/modules/mob/living/carbon/human/species.dm index 78003994601..bc93ec67d08 100644 --- a/code/modules/mob/living/carbon/human/species.dm +++ b/code/modules/mob/living/carbon/human/species.dm @@ -592,6 +592,8 @@ GLOBAL_LIST_EMPTY(features_by_species) no_eyeslay.pixel_x += add_pixel_x no_eyeslay.pixel_y += add_pixel_y standing += no_eyeslay + else + eye_organ.refresh(call_update = FALSE) if(!no_eyeslay) for(var/eye_overlay in eye_organ.generate_body_overlay(species_human)) diff --git a/code/modules/mob/living/carbon/human/species_types/dullahan.dm b/code/modules/mob/living/carbon/human/species_types/dullahan.dm index c8600e3ec7b..03b0616a2f3 100644 --- a/code/modules/mob/living/carbon/human/species_types/dullahan.dm +++ b/code/modules/mob/living/carbon/human/species_types/dullahan.dm @@ -49,6 +49,7 @@ head.eyes = new /obj/item/organ/eyes(head) head.eyes.eye_color_left = human.eye_color_left head.eyes.eye_color_right = human.eye_color_right + human.update_body() head.update_icon_dropped() human.set_safe_hunger_level() diff --git a/code/modules/surgery/organs/eyes.dm b/code/modules/surgery/organs/eyes.dm index 580302005f5..254499a6527 100644 --- a/code/modules/surgery/organs/eyes.dm +++ b/code/modules/surgery/organs/eyes.dm @@ -49,11 +49,11 @@ // SKYRAT EDIT END old_eye_color_left = human_owner.eye_color_left old_eye_color_right = human_owner.eye_color_right - if(eye_color_left) + if(initial(eye_color_left)) human_owner.eye_color_left = eye_color_left else eye_color_left = human_owner.eye_color_left - if(eye_color_right) + if(initial(eye_color_right)) human_owner.eye_color_right = eye_color_right else eye_color_right = human_owner.eye_color_right @@ -64,7 +64,7 @@ if(eye_owner.has_dna() && ishuman(eye_owner)) eye_owner.dna.species.handle_body(eye_owner) //updates eye icon -/obj/item/organ/eyes/proc/refresh() +/obj/item/organ/eyes/proc/refresh(call_update = TRUE) if(ishuman(owner)) var/mob/living/carbon/human/affected_human = owner // SKYRAT EDIT ADDITION @@ -73,11 +73,11 @@ // SKYRAT EDIT END old_eye_color_left = affected_human.eye_color_left old_eye_color_right = affected_human.eye_color_right - if(eye_color_left) + if(initial(eye_color_left)) affected_human.eye_color_left = eye_color_left else eye_color_left = affected_human.eye_color_left - if(eye_color_right) + if(initial(eye_color_right)) affected_human.eye_color_right = eye_color_right else eye_color_right = affected_human.eye_color_right @@ -85,7 +85,7 @@ lighting_alpha = LIGHTING_PLANE_ALPHA_NV_TRAIT owner.update_tint() owner.update_sight() - if(owner.has_dna() && ishuman(owner)) + if(call_update && owner.has_dna() && ishuman(owner)) var/mob/living/carbon/human/affected_human = owner affected_human.dna.species.handle_body(affected_human) //updates eye icon @@ -94,9 +94,9 @@ ..() if(ishuman(eye_owner)) var/mob/living/carbon/human/human_owner = eye_owner - if(eye_color_left) + if(initial(eye_color_left)) human_owner.eye_color_left = old_eye_color_left - if(eye_color_right) + if(initial(eye_color_right)) human_owner.eye_color_right = old_eye_color_right human_owner.update_body() eye_owner.cure_blind(EYE_DAMAGE)