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 e8ba13c437..72eda2e609 100644
--- a/code/modules/mob/living/carbon/human/human_powers_vr.dm
+++ b/code/modules/mob/living/carbon/human/human_powers_vr.dm
@@ -22,7 +22,7 @@
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]
+ var/obj/item/organ/external/head/H = organs_by_name[BP_HEAD]
if(!H)
to_chat(src, "You don't seem to have a head!")
return
diff --git a/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm b/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm
index 625f79a3da..c175412f3b 100644
--- a/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm
+++ b/code/modules/mob/living/carbon/human/species/shadekin/shadekin.dm
@@ -90,7 +90,7 @@
has_limbs = list(
BP_TORSO = list("path" = /obj/item/organ/external/chest),
BP_GROIN = list("path" = /obj/item/organ/external/groin),
- BP_HEAD = list("path" = /obj/item/organ/external/head/vr/shadekin),
+ BP_HEAD = list("path" = /obj/item/organ/external/head/shadekin),
BP_L_ARM = list("path" = /obj/item/organ/external/arm),
BP_R_ARM = list("path" = /obj/item/organ/external/arm/right),
BP_L_LEG = list("path" = /obj/item/organ/external/leg),
diff --git a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
index 707368c88a..801fde1afa 100644
--- a/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station_special_vr.dm
@@ -487,7 +487,7 @@
has_limbs = list(
BP_TORSO = list("path" = /obj/item/organ/external/chest),
BP_GROIN = list("path" = /obj/item/organ/external/groin),
- BP_HEAD = list("path" = /obj/item/organ/external/head/vr/werebeast),
+ BP_HEAD = list("path" = /obj/item/organ/external/head/werebeast),
BP_L_ARM = list("path" = /obj/item/organ/external/arm),
BP_R_ARM = list("path" = /obj/item/organ/external/arm/right),
BP_L_LEG = list("path" = /obj/item/organ/external/leg),
diff --git a/code/modules/mob/living/carbon/human/species/station/station_vr.dm b/code/modules/mob/living/carbon/human/species/station/station_vr.dm
index dc3a5ed74d..d28019f63f 100644
--- a/code/modules/mob/living/carbon/human/species/station/station_vr.dm
+++ b/code/modules/mob/living/carbon/human/species/station/station_vr.dm
@@ -51,7 +51,7 @@
has_limbs = list(
BP_TORSO = list("path" = /obj/item/organ/external/chest),
BP_GROIN = list("path" = /obj/item/organ/external/groin),
- BP_HEAD = list("path" = /obj/item/organ/external/head/vr/sergal),
+ BP_HEAD = list("path" = /obj/item/organ/external/head/sergal),
BP_L_ARM = list("path" = /obj/item/organ/external/arm),
BP_R_ARM = list("path" = /obj/item/organ/external/arm/right),
BP_L_LEG = list("path" = /obj/item/organ/external/leg),
@@ -486,7 +486,7 @@ datum/species/harpy
has_limbs = list(
BP_TORSO = list("path" = /obj/item/organ/external/chest/crewkin),
BP_GROIN = list("path" = /obj/item/organ/external/groin/crewkin),
- BP_HEAD = list("path" = /obj/item/organ/external/head/vr/crewkin),
+ BP_HEAD = list("path" = /obj/item/organ/external/head/crewkin),
BP_L_ARM = list("path" = /obj/item/organ/external/arm/crewkin),
BP_R_ARM = list("path" = /obj/item/organ/external/arm/right/crewkin),
BP_L_LEG = list("path" = /obj/item/organ/external/leg/crewkin),
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index f876ebc24d..69c10d6152 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -531,7 +531,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
if(!head_organ.eye_icon)
return
- var/icon/eyes_icon = new/icon(head_organ.eye_icon_location, head_organ.eye_icon)
+ var/icon/eyes_icon = new/icon(head_organ.eye_icon_location, head_organ.eye_icon) //VOREStation Edit
if(eyes)
eyes_icon.Blend(rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3]), ICON_ADD)
else
diff --git a/code/modules/organs/organ_icon.dm b/code/modules/organs/organ_icon.dm
index 6239577b8d..43b4e35788 100644
--- a/code/modules/organs/organ_icon.dm
+++ b/code/modules/organs/organ_icon.dm
@@ -51,69 +51,6 @@ var/global/list/limb_icon_cache = list()
var/obj/item/organ/internal/eyes/eyes = owner.internal_organs_by_name[O_EYES]
if(eyes) eyes.update_colour()
-/obj/item/organ/external/head/get_icon()
- ..()
-
- //The overlays are not drawn on the mob, they are used for if the head is removed and becomes an item
- cut_overlays()
-
- //Every 'addon' below requires information from species
- 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
- if((should_have_eyes || has_eye_color) && eye_icon)
- var/obj/item/organ/internal/eyes/eyes = owner.internal_organs_by_name[O_EYES]
- var/icon/eyes_icon = new/icon(eye_icon_location, eye_icon)
- //Should have eyes
- if(should_have_eyes)
- //And we have them
- if(eyes)
- if(has_eye_color)
- eyes_icon.Blend(rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3]), ICON_ADD)
- //They're gone!
- else
- eyes_icon.Blend(rgb(128,0,0), ICON_ADD)
- //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)
-
- //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)))
- var/icon/lip_icon = new/icon('icons/mob/human_face.dmi', "lips_[owner.lip_style]_s")
- add_overlay(lip_icon)
- mob_icon.Blend(lip_icon, ICON_OVERLAY)
-
- //Head markings
- for(var/M in markings)
- var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
- var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
- mark_s.Blend(markings[M]["color"], mark_style.color_blend_mode) // VOREStation edit
- add_overlay(mark_s) //So when it's not on your body, it has icons
- 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
-
/obj/item/organ/external/head/proc/get_hair_icon()
var/image/res = image('icons/mob/human_face.dmi',"bald_s")
//Facial hair
diff --git a/code/modules/organs/subtypes/shadekin_vr.dm b/code/modules/organs/subtypes/shadekin_vr.dm
index 8b17b70d6e..90ecbad9cf 100644
--- a/code/modules/organs/subtypes/shadekin_vr.dm
+++ b/code/modules/organs/subtypes/shadekin_vr.dm
@@ -4,11 +4,11 @@
/obj/item/organ/external/groin/crewkin
min_broken_damage = 20
-/obj/item/organ/external/head/vr/crewkin
+/obj/item/organ/external/head/crewkin
min_broken_damage = 15
- eye_icons_vr = 'icons/mob/human_face_vr.dmi'
- eye_icon_vr = "eyes_shadekin_station"
+ eye_icon_location = 'icons/mob/human_face_vr.dmi'
+ eye_icon = "eyes_shadekin_station"
/obj/item/organ/external/arm/crewkin
min_broken_damage = 15
diff --git a/code/modules/organs/subtypes/standard.dm b/code/modules/organs/subtypes/standard.dm
index 79eb04f255..9dc249167b 100644
--- a/code/modules/organs/subtypes/standard.dm
+++ b/code/modules/organs/subtypes/standard.dm
@@ -266,15 +266,13 @@
encased = "skull"
base_miss_chance = 40
var/can_intake_reagents = 1
- var/eye_icons = 'icons/mob/human_face_alt.dmi'
var/head_offset = 0
var/eye_icon = "eyes_s"
+ var/eye_icon_location = 'icons/mob/human_face.dmi'
force = 3
throwforce = 7
var/eyes_over_markings = FALSE //VOREStation edit
- var/eye_icon_location = 'icons/mob/human_face.dmi'
-
/obj/item/organ/external/head/Initialize()
if(config.allow_headgibs)
cannot_gib = FALSE
@@ -328,50 +326,65 @@
/obj/item/organ/external/head/get_icon()
..()
- overlays.Cut()
- if(!owner || !owner.species)
+
+ //The overlays are not drawn on the mob, they are used for if the head is removed and becomes an item
+ cut_overlays()
+
+ //Every 'addon' below requires information from species
+ 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
+ if((should_have_eyes || has_eye_color) && eye_icon)
+ var/obj/item/organ/internal/eyes/eyes = owner.internal_organs_by_name[O_EYES]
+ var/icon/eyes_icon = new/icon(eye_icon_location, eye_icon)
+ //Should have eyes
+ if(should_have_eyes)
+ //And we have them
+ if(eyes)
+ if(has_eye_color)
+ eyes_icon.Blend(rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3]), ICON_ADD)
+ //They're gone!
+ else
+ eyes_icon.Blend(rgb(128,0,0), ICON_ADD)
+ //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)
+
+ //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)))
+ var/icon/lip_icon = new/icon('icons/mob/human_face.dmi', "lips_[owner.lip_style]_s")
+ add_overlay(lip_icon)
+ mob_icon.Blend(lip_icon, ICON_OVERLAY)
+
+ //Head markings
for(var/M in markings)
var/datum/sprite_accessory/marking/mark_style = markings[M]["datum"]
var/icon/mark_s = new/icon("icon" = mark_style.icon, "icon_state" = "[mark_style.icon_state]-[organ_tag]")
- mark_s.Blend(markings[M]["color"], mark_style.color_blend_mode)
- overlays |= mark_s //So when it's not on your body, it has icons
+ mark_s.Blend(markings[M]["color"], mark_style.color_blend_mode) // VOREStation edit
+ add_overlay(mark_s) //So when it's not on your body, it has icons
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(owner.should_have_organ(O_EYES))//Moved on top of markings.
- var/obj/item/organ/internal/eyes/eyes = owner.internal_organs_by_name[O_EYES]
- if(eye_icon)
- var/icon/eyes_icon = new/icon(eye_icons, eye_icon)
- if(eyes)
- if(owner.species.appearance_flags & HAS_EYE_COLOR)
- eyes_icon.Blend(rgb(eyes.eye_colour[1], eyes.eye_colour[2], eyes.eye_colour[3]), ICON_ADD)
- else
- eyes_icon.Blend(rgb(128,0,0), ICON_ADD)
- mob_icon.Blend(eyes_icon, ICON_OVERLAY)
- overlays |= eyes_icon
+ 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]"
- if(owner.lip_style && (species && (species.appearance_flags & HAS_LIPS)))
- var/icon/lip_icon = new/icon('icons/mob/human_face.dmi', "lips_[owner.lip_style]_s")
- overlays |= lip_icon
- mob_icon.Blend(lip_icon, ICON_OVERLAY)
+ add_overlay(get_hair_icon())
- if(owner.f_style)
- var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[owner.f_style]
- if(facial_hair_style && facial_hair_style.species_allowed && (species.get_bodytype(owner) in facial_hair_style.species_allowed))
- var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s")
- if(facial_hair_style.do_colouration)
- facial_s.Blend(rgb(owner.r_facial, owner.g_facial, owner.b_facial), ICON_ADD)
- overlays |= image(facial_s, "pixel_y" = head_offset)
-
- if(owner.h_style && !(owner.head && (owner.head.flags_inv & BLOCKHEADHAIR)))
- var/datum/sprite_accessory/hair_style = hair_styles_list[owner.h_style]
- if(hair_style && (species.get_bodytype(owner) in hair_style.species_allowed))
- var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
- if(hair_style.do_colouration && islist(h_col) && h_col.len >= 3)
- hair_s.Blend(rgb(h_col[1], h_col[2], h_col[3]), ICON_MULTIPLY)
- overlays |= image(hair_s, "pixel_y" = head_offset)
return mob_icon
/obj/item/organ/external/head/skrell
diff --git a/code/modules/organs/subtypes/standard_vr.dm b/code/modules/organs/subtypes/standard_vr.dm
index fb3fe58364..2337ea3c7c 100644
--- a/code/modules/organs/subtypes/standard_vr.dm
+++ b/code/modules/organs/subtypes/standard_vr.dm
@@ -1,21 +1,21 @@
//For custom heads with custom parts since the base code is restricted to a single icon file.
-/obj/item/organ/external/head/vr
- var/eye_icons_vr = 'icons/mob/human_face_vr.dmi'
- var/eye_icon_vr = "blank_eyes"
+/obj/item/organ/external/head/blank_vr // Unused for now. Might be at some point.
+ eye_icon_location = 'icons/mob/human_face_vr.dmi'
eye_icon = "blank_eyes"
-/obj/item/organ/external/head/vr/sergal
- eye_icon_vr = "eyes_sergal"
+/obj/item/organ/external/head/sergal
+ eye_icon_location = 'icons/mob/human_face_vr.dmi'
+ eye_icon = "eyes_sergal"
-/obj/item/organ/external/head/vr/werebeast
- eye_icons_vr = 'icons/mob/werebeast_face_vr.dmi'
- eye_icon_vr = "werebeast_eyes"
+/obj/item/organ/external/head/werebeast
+ eye_icon_location = 'icons/mob/werebeast_face_vr.dmi'
+ eye_icon = "werebeast_eyes"
head_offset = 6
-/obj/item/organ/external/head/vr/shadekin
+/obj/item/organ/external/head/shadekin
cannot_gib = 1
cannot_amputate = 1
- eye_icons_vr = 'icons/mob/human_face_vr.dmi'
- eye_icon_vr = "eyes_shadekin"
+ eye_icon_location = 'icons/mob/human_face_vr.dmi'
+ eye_icon = "eyes_shadekin"