From ae8970ab2fdbec1e5be3521b271e90e40803bc5f Mon Sep 17 00:00:00 2001 From: KasparoVy <12377767+KasparoVy@users.noreply.github.com> Date: Sat, 21 Nov 2020 18:11:31 -0500 Subject: [PATCH] Eyes Synth Monitor, Switching Eye Layer Verb Everything works, trust me. --- .../mob/living/carbon/human/emote_vr.dm | 3 +-- .../living/carbon/human/human_powers_vr.dm | 23 +++++++++++++++++- code/modules/organs/organ_icon.dm | 17 +++++++++++-- code/modules/organs/robolimbs_vr.dm | 2 +- code/modules/organs/subtypes/standard.dm | 1 + .../vore/appearance/sprite_accessories_vr.dm | 2 +- icons/mob/monitor_icons_vr.dmi | Bin 5701 -> 5733 bytes 7 files changed, 41 insertions(+), 7 deletions(-) diff --git a/code/modules/mob/living/carbon/human/emote_vr.dm b/code/modules/mob/living/carbon/human/emote_vr.dm index 6a3e65b880..352729c5da 100644 --- a/code/modules/mob/living/carbon/human/emote_vr.dm +++ b/code/modules/mob/living/carbon/human/emote_vr.dm @@ -247,7 +247,7 @@ set desc = "Switch tail layer on top." tail_alt = !tail_alt update_tail_showing() - + /mob/living/carbon/human/verb/hide_wings_vr() set name = "Show/Hide wings" set category = "IC" @@ -260,4 +260,3 @@ else message = "hides their wings." visible_message("[src] [message]") - diff --git a/code/modules/mob/living/carbon/human/human_powers_vr.dm b/code/modules/mob/living/carbon/human/human_powers_vr.dm index 1d1954ac33..d21fbfeb05 100644 --- a/code/modules/mob/living/carbon/human/human_powers_vr.dm +++ b/code/modules/mob/living/carbon/human/human_powers_vr.dm @@ -13,4 +13,25 @@ to_chat(src, "Reagents purged!") return TRUE - + +/mob/living/carbon/human/verb/toggle_eyes_layer() + set name = "Switch Eyes/Monitor Layer" + set desc = "Toggle rendering of eyes/monitor above markings." + set category = "IC" + + if(stat) + to_chat(src, "You must be awake and standing to perform this action!") + return + var/obj/item/organ/external/head/vr/H = organs_by_name[BP_HEAD] + if(!H) + to_chat(src, "You don't seem to have a head!") + return + + H.eyes_over_markings = !H.eyes_over_markings + update_icons_body() + + var/datum/robolimb/robohead = all_robolimbs[H.model] + if(robohead.monitor_styles && robohead.monitor_icon) + to_chat(src, "You reconfigure the rendering order of your facial display.") + + return TRUE diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm index 1fda536c93..86e71c4fc2 100644 --- a/code/modules/organs/organ_icon.dm +++ b/code/modules/organs/organ_icon.dm @@ -61,6 +61,8 @@ var/global/list/limb_icon_cache = list() if(!iscarbon(owner) || !owner.species) return + var/icon/eyecon //VOREStation Edit -- holds eye icon to render over markings later. + //Eye color/icon var/should_have_eyes = owner.should_have_organ(O_EYES) var/has_eye_color = owner.species.appearance_flags & HAS_EYE_COLOR @@ -79,8 +81,14 @@ var/global/list/limb_icon_cache = list() //We have weird other-sorts of eyes (as we're not supposed to have eye organ, but we have HAS_EYE_COLOR species) else eyes_icon.Blend(rgb(owner.r_eyes, owner.g_eyes, owner.b_eyes), ICON_ADD) - add_overlay(eyes_icon) - mob_icon.Blend(eyes_icon, ICON_OVERLAY) + + //VOREStation edit -- allow rendering of eyes over markings. + if(eyes_over_markings) + eyecon = eyes_icon + else + add_overlay(eyes_icon) + mob_icon.Blend(eyes_icon, ICON_OVERLAY) + icon_cache_key += "[eye_icon]" //Lip color/icon if(owner.lip_style && (species && (species.appearance_flags & HAS_LIPS))) @@ -97,6 +105,11 @@ var/global/list/limb_icon_cache = list() mob_icon.Blend(mark_s, ICON_OVERLAY) //So when it's on your body, it has icons icon_cache_key += "[M][markings[M]["color"]]" + if(eyes_over_markings && eyecon) //VOREStation edit -- toggle to render eyes above markings. + add_overlay(eyecon) + mob_icon.Blend(eyecon, ICON_OVERLAY) + icon_cache_key += "[eye_icon]" + add_overlay(get_hair_icon()) return mob_icon diff --git a/code/modules/organs/robolimbs_vr.dm b/code/modules/organs/robolimbs_vr.dm index 219950c7fa..2ed4d60fcd 100644 --- a/code/modules/organs/robolimbs_vr.dm +++ b/code/modules/organs/robolimbs_vr.dm @@ -6,6 +6,7 @@ //CitRP Port var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\ default=cyber_default;\ + eyes=eyes;\ static=cyber_static;\ alert=cyber_alert;\ happy=cyber_happ;\ @@ -64,7 +65,6 @@ var/const/cyberbeast_monitor_styles = "blank=cyber_blank;\ icon = 'icons/obj/items_vr.dmi' icon_state = "verkdisk" - // tucker0666 : Frost /datum/robolimb/zenghu_frost company = "Zeng-Hu (Custom)" diff --git a/code/modules/organs/subtypes/standard.dm b/code/modules/organs/subtypes/standard.dm index 1ebd92106c..1c4fb5ee27 100644 --- a/code/modules/organs/subtypes/standard.dm +++ b/code/modules/organs/subtypes/standard.dm @@ -269,6 +269,7 @@ var/eye_icon = "eyes_s" force = 3 throwforce = 7 + var/eyes_over_markings = FALSE //VOREStation edit var/eye_icon_location = 'icons/mob/human_face.dmi' diff --git a/code/modules/vore/appearance/sprite_accessories_vr.dm b/code/modules/vore/appearance/sprite_accessories_vr.dm index b2ffb19e82..d301244d80 100644 --- a/code/modules/vore/appearance/sprite_accessories_vr.dm +++ b/code/modules/vore/appearance/sprite_accessories_vr.dm @@ -1998,7 +1998,7 @@ do_colouration = 1 color_blend_mode = ICON_MULTIPLY -/datum/sprite_accessory/tail/xenotail_fullcolour +/datum/sprite_accessory/tail/xenotailalt_fullcolour name = "xenomorph tail alt. (fully colourable)" desc = "" icon_state = "xenotailalt_fullcolour" diff --git a/icons/mob/monitor_icons_vr.dmi b/icons/mob/monitor_icons_vr.dmi index 9e48c64a4a00c45d3edaceea34179189bb35c6b6..7b291cbcffd3e388d1f119bac37a126a03d69856 100644 GIT binary patch literal 5733 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 N-Sxy#hReAh{s-PRb)WzM literal 5701 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 G_5TIaREkvq