diff --git a/code/datums/elements/corrupted_organ.dm b/code/datums/elements/corrupted_organ.dm index fda892887ca..792ee2fc25a 100644 --- a/code/datums/elements/corrupted_organ.dm +++ b/code/datums/elements/corrupted_organ.dm @@ -2,7 +2,7 @@ /// Mostly just does something spooky when it is removed /datum/element/corrupted_organ -/datum/element/corrupted_organ/Attach(obj/item/organ/target) +/datum/element/corrupted_organ/Attach(obj/item/organ/target, add_color = TRUE) . = ..() if (!istype(target) || (target.organ_flags & ORGAN_EXTERNAL)) return ELEMENT_INCOMPATIBLE @@ -10,7 +10,8 @@ RegisterSignal(target, COMSIG_ORGAN_SURGICALLY_REMOVED, PROC_REF(on_removed)) var/atom/atom_parent = target - atom_parent.color = COLOR_VOID_PURPLE + if(add_color) + atom_parent.add_atom_colour(COLOR_VOID_PURPLE, FIXED_COLOUR_PRIORITY) atom_parent.add_filter(name = "ray", priority = 1, params = list( type = "rays", diff --git a/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm b/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm index b35a755f241..646290db0e2 100644 --- a/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/fly_organs.dm @@ -23,11 +23,11 @@ name = "fly eyes" desc = "These eyes seem to stare back no matter the direction you look at it from." eye_icon_state = "flyeyes" - icon_state = "eyeballs-fly" + icon_state = "eyes_fly" flash_protect = FLASH_PROTECTION_HYPER_SENSITIVE native_fov = NONE //flies can see all around themselves. blink_animation = FALSE - iris_overlays = FALSE + iris_overlay = null /obj/item/organ/eyes/fly/Initialize(mapload) . = ..() diff --git a/code/game/machinery/dna_infuser/organ_sets/goliath_organs.dm b/code/game/machinery/dna_infuser/organ_sets/goliath_organs.dm index 063fa030d9d..73e26998a54 100644 --- a/code/game/machinery/dna_infuser/organ_sets/goliath_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/goliath_organs.dm @@ -18,7 +18,7 @@ icon = 'icons/obj/medical/organs/infuser_organs.dmi' icon_state = "eyes" - iris_overlays = FALSE + iris_overlay = null greyscale_config = /datum/greyscale_config/mutant_organ greyscale_colors = GOLIATH_COLORS diff --git a/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm b/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm index 8369d1568a1..d9034ac5687 100644 --- a/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm +++ b/code/game/machinery/dna_infuser/organ_sets/rat_organs.dm @@ -21,7 +21,7 @@ icon = 'icons/obj/medical/organs/infuser_organs.dmi' icon_state = "eyes" - iris_overlays = FALSE + iris_overlay = null greyscale_config = /datum/greyscale_config/mutant_organ greyscale_colors = RAT_COLORS low_light_cutoff = list(16, 11, 0) diff --git a/code/modules/antagonists/heretic/items/corrupted_organs.dm b/code/modules/antagonists/heretic/items/corrupted_organs.dm index 0e8699f6771..4d35675ff24 100644 --- a/code/modules/antagonists/heretic/items/corrupted_organs.dm +++ b/code/modules/antagonists/heretic/items/corrupted_organs.dm @@ -2,13 +2,17 @@ /obj/item/organ/eyes/corrupt name = "corrupt orbs" desc = "These eyes have seen something they shouldn't have." + icon_state = "eyes_voidwalker" + iris_overlay = null + eye_color_left = COLOR_VOID_PURPLE + eye_color_right = COLOR_VOID_PURPLE organ_flags = parent_type::organ_flags | ORGAN_HAZARDOUS /// The override images we are applying var/list/hallucinations /obj/item/organ/eyes/corrupt/Initialize(mapload) . = ..() - AddElement(/datum/element/corrupted_organ) + AddElement(/datum/element/corrupted_organ, FALSE) AddElement(/datum/element/noticable_organ, "%PRONOUN_Their eyes have wide dilated pupils, and no iris. Something is moving in the darkness.", BODY_ZONE_PRECISE_EYES) /obj/item/organ/eyes/corrupt/on_mob_insert(mob/living/carbon/organ_owner, special, movement_flags) diff --git a/code/modules/antagonists/voidwalker/voidwalker_organs.dm b/code/modules/antagonists/voidwalker/voidwalker_organs.dm index 4fd0215a2e4..9903b5e3077 100644 --- a/code/modules/antagonists/voidwalker/voidwalker_organs.dm +++ b/code/modules/antagonists/voidwalker/voidwalker_organs.dm @@ -2,9 +2,10 @@ /obj/item/organ/eyes/voidwalker name = "blackened orbs" desc = "These orbs will withstand the light of the sun, yet still see within the darkest voids." + icon_state = "eyes_voidwalker" eye_icon_state = null blink_animation = FALSE - iris_overlays = FALSE + iris_overlay = null pepperspray_protect = TRUE flash_protect = FLASH_PROTECTION_WELDER color_cutoffs = list(20, 10, 40) diff --git a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm index f67f7fbeeab..82cfccfe3c8 100644 --- a/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/shadowpeople.dm @@ -93,7 +93,7 @@ name = "burning red eyes" desc = "Even without their shadowy owner, looking at these eyes gives you a sense of dread." icon = 'icons/obj/medical/organs/shadow_organs.dmi' - iris_overlays = FALSE + iris_overlay = null color_cutoffs = list(20, 10, 40) pepperspray_protect = TRUE flash_protect = FLASH_PROTECTION_SENSITIVE diff --git a/code/modules/surgery/organs/internal/eyes/_eyes.dm b/code/modules/surgery/organs/internal/eyes/_eyes.dm index ee6ec8eeb8c..adf162c3e73 100644 --- a/code/modules/surgery/organs/internal/eyes/_eyes.dm +++ b/code/modules/surgery/organs/internal/eyes/_eyes.dm @@ -42,8 +42,8 @@ var/eye_icon_state = "eyes" /// Do these eyes have blinking animations var/blink_animation = TRUE - /// Do these eyes have iris overlays - var/iris_overlays = TRUE + /// Icon state for iris overlays + var/iris_overlay = "eyes_iris" /// Should our blinking be synchronized or can separate eyes have (slightly) separate blinking times var/synchronized_blinking = TRUE // A pair of abstract eyelid objects (yes, really) used to animate blinking @@ -268,18 +268,18 @@ overlays += eyelids if (scarring & RIGHT_EYE_SCAR) - var/mutable_appearance/right_scar = mutable_appearance('icons/mob/human/human_face.dmi', "eye_scar_right", -BODY_LAYER) + var/mutable_appearance/right_scar = mutable_appearance('icons/mob/human/human_face.dmi', "eye_scar_right", -BODY_LAYER, parent) right_scar.color = my_head.draw_color overlays += right_scar if (scarring & LEFT_EYE_SCAR) - var/mutable_appearance/left_scar = mutable_appearance('icons/mob/human/human_face.dmi', "eye_scar_left", -BODY_LAYER) + var/mutable_appearance/left_scar = mutable_appearance('icons/mob/human/human_face.dmi', "eye_scar_left", -BODY_LAYER, parent) left_scar.color = my_head.draw_color overlays += left_scar if(my_head.worn_face_offset) - my_head.worn_face_offset.apply_offset(eye_left) - my_head.worn_face_offset.apply_offset(eye_right) + for (var/mutable_appearance/overlay as anything in overlays) + my_head.worn_face_offset.apply_offset(overlay) return overlays @@ -295,9 +295,9 @@ left_scar.blend_mode = BLEND_INSET_OVERLAY . += left_scar - if (iris_overlays && eye_color_left && eye_color_right) - var/mutable_appearance/left_iris = mutable_appearance(icon, "[icon_state]_iris_l") - var/mutable_appearance/right_iris = mutable_appearance(icon, "[icon_state]_iris_r") + if (iris_overlay && length(eye_color_left) && length(eye_color_right)) + var/mutable_appearance/left_iris = mutable_appearance(icon, "[iris_overlay]_l") + var/mutable_appearance/right_iris = mutable_appearance(icon, "[iris_overlay]_r") var/list/color_left = rgb2num(eye_color_left, COLORSPACE_HSL) var/list/color_right = rgb2num(eye_color_right, COLORSPACE_HSL) // Ugly as sin? Indeed it is! But otherwise eyeballs turn out to be super dark, and this way even lighter colors are mostly preserved @@ -547,7 +547,7 @@ icon_state = "adamantine_cords" eye_icon_state = null blink_animation = FALSE - iris_overlays = FALSE + iris_overlay = null color = COLOR_GOLEM_GRAY visual = FALSE organ_flags = ORGAN_MINERAL @@ -572,8 +572,7 @@ /obj/item/organ/eyes/robotic name = "robotic eyes" desc = "Your vision is augmented." - icon_state = "cybernetic_eyeballs" - iris_overlays = FALSE + icon_state = "eyes_cyber" organ_flags = ORGAN_ROBOTIC failing_desc = "seems to be broken." @@ -589,8 +588,10 @@ /obj/item/organ/eyes/robotic/basic name = "basic robotic eyes" desc = "A pair of basic cybernetic eyes that restore vision, but at some vulnerability to light." - eye_color_left = "5500ff" - eye_color_right = "5500ff" + icon_state = "eyes_cyber_basic" + iris_overlay = null + eye_color_left = "#2f3032" + eye_color_right = "#2f3032" flash_protect = FLASH_PROTECTION_SENSITIVE /obj/item/organ/eyes/robotic/basic/emp_act(severity) @@ -606,8 +607,10 @@ /obj/item/organ/eyes/robotic/xray name = "x-ray eyes" desc = "These cybernetic eyes will give you X-ray vision. Blinking is futile." - eye_color_left = "000" - eye_color_right = "000" + icon_state = "eyes_cyber_xray" + iris_overlay = null + eye_color_left = "#3cb8a5" + eye_color_right = "#3cb8a5" sight_flags = SEE_MOBS | SEE_OBJS | SEE_TURFS /obj/item/organ/eyes/robotic/xray/on_mob_insert(mob/living/carbon/eye_owner) @@ -621,8 +624,10 @@ /obj/item/organ/eyes/robotic/thermals name = "thermal eyes" desc = "These cybernetic eye implants will give you thermal vision. Vertical slit pupil included." - eye_color_left = "FC0" - eye_color_right = "FC0" + icon_state = "eyes_cyber_thermal" + iris_overlay = null + eye_color_left = "#ce2525" + eye_color_right = "#ce2525" // We're gonna downshift green and blue a bit so darkness looks yellow color_cutoffs = list(25, 8, 5) sight_flags = SEE_MOBS @@ -663,6 +668,10 @@ /obj/item/organ/eyes/robotic/shield name = "shielded robotic eyes" desc = "These reactive micro-shields will protect you from welders and flashes without obscuring your vision." + icon_state = "eyes_cyber_shield" + iris_overlay = null + eye_color_left = "#353845" + eye_color_right = "#353845" flash_protect = FLASH_PROTECTION_WELDER /obj/item/organ/eyes/robotic/shield/Initialize(mapload) @@ -678,8 +687,10 @@ /obj/item/organ/eyes/robotic/glow name = "high luminosity eyes" desc = "Special glowing eyes, used by snowflakes who want to be special." - eye_color_left = "000" - eye_color_right = "000" + icon_state = "eyes_cyber_glow" + iris_overlay = "eyes_cyber_glow_iris" + eye_color_left = "#19191a" + eye_color_right = "#19191a" actions_types = list(/datum/action/item_action/organ_action/use, /datum/action/item_action/organ_action/toggle) var/max_light_beam_distance = 5 var/obj/item/flashlight/eyelight/glow/eye @@ -937,71 +948,78 @@ /obj/item/organ/eyes/moth name = "moth eyes" desc = "These eyes seem to have increased sensitivity to bright light, with no improvement to low light vision." - icon_state = "eyeballs-moth" + icon_state = "eyes_moth" eye_icon_state = "motheyes" blink_animation = FALSE - iris_overlays = FALSE + iris_overlay = null flash_protect = FLASH_PROTECTION_SENSITIVE /obj/item/organ/eyes/robotic/moth name = "robotic moth eyes" desc = "Your vision is augmented. Much like actual moth eyes, very sensitive to bright lights." - icon_state = "eyeballs-cybermoth" - eye_icon_state = "motheyes" - blink_animation = FALSE + icon_state = "eyes_moth_cyber" + eye_icon_state = "motheyes_cyber" flash_protect = FLASH_PROTECTION_SENSITIVE /obj/item/organ/eyes/robotic/basic/moth name = "basic robotic moth eyes" - icon_state = "eyeballs-cybermoth" - eye_icon_state = "motheyes" + icon_state = "eyes_moth_cyber_basic" + eye_icon_state = "motheyes_white" + eye_color_left = "#65686f" + eye_color_right = "#65686f" blink_animation = FALSE flash_protect = FLASH_PROTECTION_SENSITIVE /obj/item/organ/eyes/robotic/xray/moth name = "moth x-ray eyes" desc = "These cybernetic imitation moth eyes will give you X-ray vision. Blinking is futile. Much like actual moth eyes, very sensitive to bright lights." - icon_state = "eyeballs-cybermoth" - eye_icon_state = "motheyes" + icon_state = "eyes_moth_cyber_xray" + eye_icon_state = "motheyes_white" + eye_color_left = "#3c4e52" + eye_color_right = "#3c4e52" blink_animation = FALSE flash_protect = FLASH_PROTECTION_SENSITIVE /obj/item/organ/eyes/robotic/shield/moth name = "shielded robotic moth eyes" - icon_state = "eyeballs-cybermoth" - eye_icon_state = "motheyes" + icon_state = "eyes_moth_cyber_shield" + eye_icon_state = "motheyes_white" + eye_color_left = "#353845" + eye_color_right = "#353845" blink_animation = FALSE /obj/item/organ/eyes/robotic/glow/moth name = "high luminosity moth eyes" desc = "Special glowing eyes, to be one with the lamp. Much like actual moth eyes, very sensitive to bright lights." - icon_state = "eyeballs-cybermoth" - eye_icon_state = "motheyes" + icon_state = "eyes_moth_cyber_glow" + eye_icon_state = "motheyes_cyber" + iris_overlay = "eyes_moth_cyber_glow_iris" blink_animation = FALSE base_eye_state = "eyes_mothglow" flash_protect = FLASH_PROTECTION_SENSITIVE /obj/item/organ/eyes/robotic/thermals/moth //we inherit flash weakness from thermals name = "thermal moth eyes" - icon_state = "eyeballs-cybermoth" - eye_icon_state = "motheyes" + icon_state = "eyes_moth_cyber_thermal" + eye_icon_state = "motheyes_white" + eye_color_left = "#901f38" + eye_color_right = "#901f38" blink_animation = FALSE /obj/item/organ/eyes/snail name = "snail eyes" desc = "These eyes seem to have a large range, but might be cumbersome with glasses." - icon_state = "snail_eyeballs" + icon_state = "eyes_snail" eye_icon_state = "snail_eyes" blink_animation = FALSE - iris_overlays = FALSE /obj/item/organ/eyes/jelly name = "jelly eyes" desc = "These eyes are made of a soft jelly. Unlike all other eyes, though, there are three of them." - icon_state = "eyeballs-jelly" + icon_state = "eyes_jelly" eye_icon_state = "jelleyes" blink_animation = FALSE - iris_overlays = FALSE + iris_overlay = null /obj/item/organ/eyes/lizard name = "reptile eyes" @@ -1012,13 +1030,13 @@ /obj/item/organ/eyes/night_vision/maintenance_adapted name = "adapted eyes" desc = "These red eyes look like two foggy marbles. They give off a particularly worrying glow in the dark." - flash_protect = FLASH_PROTECTION_HYPER_SENSITIVE - eye_color_left = "f00" - eye_color_right = "f00" - icon_state = "adapted_eyes" + icon_state = "eyes_adapted" + eye_color_left = "#f74a4d" + eye_color_right = "#f74a4d" eye_icon_state = "eyes_glow" - iris_overlays = FALSE + iris_overlay = null overlay_ignore_lighting = TRUE + flash_protect = FLASH_PROTECTION_HYPER_SENSITIVE low_light_cutoff = list(5, 12, 20) medium_light_cutoff = list(15, 20, 30) high_light_cutoff = list(30, 35, 50) @@ -1043,4 +1061,8 @@ /obj/item/organ/eyes/pod name = "pod eyes" desc = "Strangest salad you've ever seen." + icon_state = "eyes_pod" + eye_color_left = "#375846" + eye_color_right = "#375846" + iris_overlay = null foodtype_flags = PODPERSON_ORGAN_FOODTYPES diff --git a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_pod.png b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_pod.png index abdb8e82734..b12d5f4f72f 100644 Binary files a/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_pod.png and b/code/modules/unit_tests/screenshots/screenshot_humanoids__datum_species_pod.png differ diff --git a/icons/mob/human/human_face.dmi b/icons/mob/human/human_face.dmi index 97096506227..2ef0ff02167 100644 Binary files a/icons/mob/human/human_face.dmi and b/icons/mob/human/human_face.dmi differ diff --git a/icons/obj/medical/organs/infuser_organs.dmi b/icons/obj/medical/organs/infuser_organs.dmi index 57c719dbbbb..96d2a305e8c 100644 Binary files a/icons/obj/medical/organs/infuser_organs.dmi and b/icons/obj/medical/organs/infuser_organs.dmi differ diff --git a/icons/obj/medical/organs/organs.dmi b/icons/obj/medical/organs/organs.dmi index 3c3cc83b858..212b34faa98 100644 Binary files a/icons/obj/medical/organs/organs.dmi and b/icons/obj/medical/organs/organs.dmi differ diff --git a/icons/obj/medical/organs/shadow_organs.dmi b/icons/obj/medical/organs/shadow_organs.dmi index 402e3fc8ecc..303b4e11cb3 100644 Binary files a/icons/obj/medical/organs/shadow_organs.dmi and b/icons/obj/medical/organs/shadow_organs.dmi differ