diff --git a/code/modules/surgery/organs/internal/eyes/_eyes.dm b/code/modules/surgery/organs/internal/eyes/_eyes.dm index 3dab5ef3190..17a34ea269e 100644 --- a/code/modules/surgery/organs/internal/eyes/_eyes.dm +++ b/code/modules/surgery/organs/internal/eyes/_eyes.dm @@ -334,15 +334,28 @@ var/mutable_appearance/left_scar = mutable_appearance('icons/mob/human/human_eyes.dmi', "eye_scar_left", -EYES_LAYER, parent, alpha = eyes_opacity) left_scar.color = my_head.draw_color overlays += left_scar - //BUBBER EDIT END - EYES OPACITY - // BUBBER EDIT START - Customization Emissives and eyes opacity + + // BUBBER EDIT START - Customization Emissives & Quad Eyes if(is_emissive) var/mutable_appearance/emissive_left = emissive_appearance_copy(eye_left, owner) var/mutable_appearance/emissive_right = emissive_appearance_copy(eye_right, owner) overlays += emissive_left overlays += emissive_right - // BUBBER EDIT END - Customization Emissives and eyes opacity + + if(HAS_TRAIT(owner, TRAIT_QUAD_EYES)) // (*) (*) v (*) (*) + var/mutable_appearance/eye_left_2 = mutable_appearance('icons/mob/human/human_eyes.dmi', "eyes_l", -EYES_LAYER, parent) + eye_left_2.color = parent.get_left_eye_color() + eye_left_2.pixel_w -= parent.quad_eyes_offset_width + eye_left_2.pixel_z += parent.quad_eyes_offset + var/mutable_appearance/eye_right_2 = mutable_appearance('icons/mob/human/human_eyes.dmi', "eyes_r", -EYES_LAYER, parent) + eye_right_2.color = parent.get_right_eye_color() + eye_right_2.pixel_w += parent.quad_eyes_offset_width + eye_right_2.pixel_z += parent.quad_eyes_offset + + overlays += eye_left_2 + overlays += eye_right_2 + // BUBBER EDIT END - Customization Emissives & Quad Eyes if(my_head.worn_face_offset) for (var/mutable_appearance/overlay as anything in overlays) diff --git a/modular_zubbers/code/modules/customization/modules/client/augment/organs.dm b/modular_zubbers/code/modules/customization/modules/client/augment/organs.dm index 950cc7321c8..29f54d32a46 100644 --- a/modular_zubbers/code/modules/customization/modules/client/augment/organs.dm +++ b/modular_zubbers/code/modules/customization/modules/client/augment/organs.dm @@ -1,3 +1,7 @@ +/datum/augment_item/organ/eyes/jelly + name = "Slime Tri-eyes" + path = /obj/item/organ/eyes/jelly + /datum/augment_item/organ/tongue/xenobubble_tongue name = "Alien tongue" path = /obj/item/organ/tongue/xenobubble_tongue diff --git a/modular_zubbers/code/modules/customization/quad_eyes/preferences.dm b/modular_zubbers/code/modules/customization/quad_eyes/preferences.dm index c3739f46037..358a0e46a6f 100644 --- a/modular_zubbers/code/modules/customization/quad_eyes/preferences.dm +++ b/modular_zubbers/code/modules/customization/quad_eyes/preferences.dm @@ -19,7 +19,7 @@ category = PREFERENCE_CATEGORY_SECONDARY_FEATURES savefile_key = "quad_eyes_offset" savefile_identifier = PREFERENCE_CHARACTER - maximum = 0 // Any value higher than this and the eyes don't appear after the character is spawned in. + maximum = 2 // Any value higher than this and the eyes don't appear after the character is spawned in. minimum = -2 /datum/preference/numeric/quad_eyes_offset/is_accessible(datum/preferences/preferences) @@ -31,3 +31,20 @@ if(!value) return target.quad_eyes_offset = value + +/datum/preference/numeric/quad_eyes_offset_width + category = PREFERENCE_CATEGORY_SECONDARY_FEATURES + savefile_key = "quad_eyes_offset_width" + savefile_identifier = PREFERENCE_CHARACTER + maximum = 2 + minimum = -2 + +/datum/preference/numeric/quad_eyes_offset_width/is_accessible(datum/preferences/preferences) + if(!..(preferences)) + return FALSE + return (preferences.read_preference(/datum/preference/toggle/quad_eyes)) + +/datum/preference/numeric/quad_eyes_offset_width/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences) + if(!value) + return + target.quad_eyes_offset_width = value diff --git a/modular_zubbers/code/modules/mob/living/carbon/human/human.dm b/modular_zubbers/code/modules/mob/living/carbon/human/human.dm index d275f5f59ce..0546c0a3b0f 100644 --- a/modular_zubbers/code/modules/mob/living/carbon/human/human.dm +++ b/modular_zubbers/code/modules/mob/living/carbon/human/human.dm @@ -1,6 +1,7 @@ /mob/living/carbon/human /// Quad eyes offset in pixels. Positive is up, negative is down. (Suggested to not go above 2 or below -2) var/quad_eyes_offset = 0 + var/quad_eyes_offset_width = 1 /// Used for footstep type pref, to apply to any new legs that get added to this mob. Uses a var instead of checking prefs because there are a lot of clientless mob situations. var/footstep_type diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx index 5d1b123687f..3d14ba49a9d 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx @@ -289,6 +289,11 @@ export const quad_eyes_offset: Feature = { component: FeatureNumberInput, }; +export const quad_eyes_offset_width: Feature = { + name: 'Quad Eyes Offset Width', + component: FeatureNumberInput, +}; + export const wings_toggle: FeatureToggle = { name: 'Wings', component: CheckboxInput,