diff --git a/code/_helpers/global_lists_vr.dm b/code/_helpers/global_lists_vr.dm
index b2dfae05444..0406099616a 100644
--- a/code/_helpers/global_lists_vr.dm
+++ b/code/_helpers/global_lists_vr.dm
@@ -3,6 +3,7 @@
*/
var/global/list/ear_styles_list = list() // Stores /datum/sprite_accessory/ears indexed by type
+var/global/list/hair_accesories_list= list()// Stores /datum/sprite_accessory/hair_accessory indexed by type
var/global/list/tail_styles_list = list() // Stores /datum/sprite_accessory/tail indexed by type
var/global/list/wing_styles_list = list() // Stores /datum/sprite_accessory/wing indexed by type
var/global/list/negative_traits = list() // Negative custom species traits, indexed by path
@@ -451,6 +452,12 @@ var/global/list/remainless_species = list(SPECIES_PROMETHEAN,
var/datum/sprite_accessory/wing/instance = new path()
wing_styles_list[path] = instance
+ // Custom Hair Accessories
+ paths = typesof(/datum/sprite_accessory/hair_accessory) - /datum/sprite_accessory/hair_accessory
+ for(var/path in paths)
+ var/datum/sprite_accessory/hair_accessory/instance = new path()
+ hair_accesories_list[path] = instance
+
// Custom species traits
paths = typesof(/datum/trait) - /datum/trait
for(var/path in paths)
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 96c6fdbd671..7401a5674a5 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -408,6 +408,7 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
//Reset our hair
remove_layer(HAIR_LAYER)
+ remove_layer(HAIR_ACCESSORY_LAYER) //VOREStation Edit
update_eyes() //Pirated out of here, for glowing eyes.
var/obj/item/organ/external/head/head_organ = get_organ(BP_HEAD)
@@ -456,7 +457,20 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
var/icon/ears_s = get_ears_overlay()
if(ears_s)
face_standing.Blend(ears_s, ICON_OVERLAY)
- to_chat(src, "getting hair accessory...")
+ if(istype(head_organ,/obj/item/organ/external/head/vr))
+ var/obj/item/organ/external/head/vr/head_organ_vr = head_organ
+ overlays_standing[HAIR_LAYER] = image(face_standing, layer = BODY_LAYER+HAIR_LAYER, "pixel_y" = head_organ_vr.head_offset)
+ apply_layer(HAIR_LAYER)
+ return
+ // VOREStation Edit - END
+
+ if(head_organ.transparent) //VOREStation Edit. For better slime limbs.
+ face_standing += rgb(,,,120)
+
+ overlays_standing[HAIR_LAYER] = image(face_standing, layer = BODY_LAYER+HAIR_LAYER)
+ apply_layer(HAIR_LAYER)
+
+ // VOREStation Edit - START
var/icon/hair_acc_s = get_hair_accessory_overlay()
var/image/hair_acc_s_image = null
to_chat(src, "checking for hair_acc_s...")
@@ -467,32 +481,20 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
hair_acc_s_image = image(hair_acc_s)
hair_acc_s_image.plane = PLANE_LIGHTING_ABOVE
hair_acc_s_image.appearance_flags = appearance_flags
- if(istype(head_organ,/obj/item/organ/external/head/vr))
- var/obj/item/organ/external/head/vr/head_organ_vr = head_organ
- overlays_standing[HAIR_LAYER] = image(face_standing, layer = BODY_LAYER+HAIR_LAYER, "pixel_y" = head_organ_vr.head_offset)
- apply_layer(HAIR_LAYER)
- to_chat(src, "checking for hair_acc_s in the head organ check...")
- if(hair_acc_s)
- to_chat(src, "hair_acc_s found!")
- to_chat(src, "checking for hair_acc_s_image...")
- if (hair_acc_s_image)
- to_chat(src, "hair_acc_s_image found!")
- overlays_standing[HAIR_ACCESSORY_LAYER] = hair_acc_s_image
- apply_layer(HAIR_ACCESSORY_LAYER)
- return
- to_chat(src, "no hair_acc_s_image! wat.")
- overlays_standing[HAIR_ACCESSORY_LAYER] = hair_acc_s
+ to_chat(src, "hair_acc_s found!")
+ to_chat(src, "checking for hair_acc_s_image...")
+ if (hair_acc_s_image)
+ to_chat(src, "hair_acc_s_image found!")
+ overlays_standing[HAIR_ACCESSORY_LAYER] = hair_acc_s_image
to_chat(src, "applying hair_acc_s!")
apply_layer(HAIR_ACCESSORY_LAYER)
- return
+ return
+ to_chat(src, "no hair_acc_s_image! wat.")
+ overlays_standing[HAIR_ACCESSORY_LAYER] = image(hair_acc_s, layer = BODY_LAYER+HAIR_ACCESSORY_LAYER)
+ to_chat(src, "applying hair_acc_s!")
+ apply_layer(HAIR_ACCESSORY_LAYER)
// VOREStation Edit - END
- if(head_organ.transparent) //VOREStation Edit. For better slime limbs.
- face_standing += rgb(,,,120)
-
- overlays_standing[HAIR_LAYER] = image(face_standing, layer = BODY_LAYER+HAIR_LAYER)
- apply_layer(HAIR_LAYER)
-
/mob/living/carbon/human/update_eyes()
if(QDESTROYING(src))
return
diff --git a/code/modules/vore/appearance/sprite_accessories_vr.dm b/code/modules/vore/appearance/sprite_accessories_vr.dm
index b8fb21f261f..0bf95147634 100644
--- a/code/modules/vore/appearance/sprite_accessories_vr.dm
+++ b/code/modules/vore/appearance/sprite_accessories_vr.dm
@@ -2041,8 +2041,6 @@
var/ignores_lighting = 0 // Whether or not this hair accessory will ignore lighting and glow in the dark.
var/color_blend_mode = ICON_ADD // Only appliciable if do_coloration = 1
- var/extra_overlay // Icon state of an additional overlay to blend in.
- var/extra_overlay2
var/desc = "You should not see this..."
/datum/sprite_accessory/hair_accessory/verie_hair_glow
diff --git a/code/modules/vore/appearance/update_icons_vr.dm b/code/modules/vore/appearance/update_icons_vr.dm
index 2cd8311b2cf..de44a0bd567 100644
--- a/code/modules/vore/appearance/update_icons_vr.dm
+++ b/code/modules/vore/appearance/update_icons_vr.dm
@@ -21,26 +21,11 @@ var/global/list/wing_icon_cache = list()
return null
/mob/living/carbon/human/proc/get_hair_accessory_overlay()
- to_chat(src, "starting get_hair_accessory_overlay()...")
if(hair_accessory_style && !(head && (head.flags_inv & BLOCKHEADHAIR)))
- to_chat(src, "found hair accessory style! and ur head's intact. nice")
var/icon/hair_acc_s = icon(hair_accessory_style.icon, hair_accessory_style.icon_state)
- to_chat(src, "hair_acc_s set!")
if(hair_accessory_style.do_colouration)
hair_acc_s.Blend(rgb(src.r_ears, src.g_ears, src.b_ears), hair_accessory_style.color_blend_mode)
- if(hair_accessory_style.extra_overlay)
- var/icon/overlay = icon(hair_accessory_style.icon, hair_accessory_style.extra_overlay)
- overlay.Blend(rgb(src.r_ears2, src.g_ears2, src.b_ears2), hair_accessory_style.color_blend_mode)
- hair_acc_s.Blend(overlay, ICON_OVERLAY)
- qdel(overlay)
-
- if(hair_accessory_style.extra_overlay2) //MORE COLOURS IS BETTERER
- var/icon/overlay = icon(hair_accessory_style.icon, hair_accessory_style.extra_overlay2)
- overlay.Blend(rgb(src.r_ears3, src.g_ears3, src.b_ears3), hair_accessory_style.color_blend_mode)
- hair_acc_s.Blend(overlay, ICON_OVERLAY)
- qdel(overlay)
- to_chat(src, "get_hair_accessory_overlay() completed!")
return hair_acc_s
return null
diff --git a/code/modules/vore/fluffstuff/custom_clothes_vr.dm b/code/modules/vore/fluffstuff/custom_clothes_vr.dm
index fbe9e2d92c0..36e769a082e 100644
--- a/code/modules/vore/fluffstuff/custom_clothes_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_clothes_vr.dm
@@ -2274,7 +2274,8 @@ Departamental Swimsuits, for general use
name = "salaciously stylised suit"
desc = "It's kind of difficult to identify the type of material that makes up this form-fitting suit. It is stretchy and flexible, but \
is firm in its toughness, and clings tightly to the skin. Come to think of it, it glistens quite a bit in the light and- \
- oh god it's latex."
+ oh god it's latex.\
+ \n... A Verie appropriate material choice indeed." //the wordplay never ends
icon = 'icons/vore/custom_clothes_vr.dmi'
icon_state = "veriesuit"
@@ -2283,8 +2284,4 @@ Departamental Swimsuits, for general use
body_parts_covered = UPPER_TORSO|LOWER_TORSO|FEET|ARMS|HANDS
-/obj/item/clothing/under/fluff/verie/examine(mob/user)
- //the wordplay never ends
- . = ..()
- . += "... A Verie appropriate material choice indeed."
diff --git a/code/modules/vore/fluffstuff/custom_items_vr.dm b/code/modules/vore/fluffstuff/custom_items_vr.dm
index 57102f0486c..37d9c95f51a 100644
--- a/code/modules/vore/fluffstuff/custom_items_vr.dm
+++ b/code/modules/vore/fluffstuff/custom_items_vr.dm
@@ -1376,13 +1376,26 @@
this device was not made for people like you.")
return
- user.hair_accessory_style = /datum/sprite_accessory/hair_accessory/verie_hair_glow
- user.update_hair()
- user.visible_message("[user] combs her hair. \The [src] leaves behind glowing cyan highlights as it passes through \
- her black strands.", \
- "You brush your hair. \The [src]'s teeth begin to vibrate and glow as they react to your nanites. \
- The teeth stimulate the nanites in your hair strands until your hair give off a brilliant, faintly pulsing \
- cyan glow!")
+ if (!user.hair_accessory_style)
+ var/datum/sprite_accessory/hair_accessory/verie_hair_glow/V = new(user)
+ user.hair_accessory_style = V
+ user.update_hair()
+ user.visible_message("[user] combs her hair. \The [src] leaves behind glowing cyan highlights as it passes through \
+ her black strands.", \
+ "You brush your hair. \The [src]'s teeth begin to vibrate and glow as they react to your nanites. \
+ The teeth stimulate the nanites in your hair strands until your hair give off a brilliant, faintly pulsing \
+ cyan glow!")
+
+ else
+ user.visible_message("[user] combs her hair. \The [src] brushes away her glowing cyan highlights. Neat!", \
+ "You brush your hair. \The [src]'s teeth wipe away the glowing streaks in your hair \
+ like a sponge scrubbing away a stain.")
+ user.hair_accessory_style = null
+ for(var/datum/sprite_accessory/hair_accessory/verie_hair_glow/V in user)
+ to_chat(user, "found a V to delete!")
+ qdel(V)
+ user.update_hair()
+
else
to_chat(user, "\The [src] isn't compatible with your body as it is now.")
diff --git a/icons/mob/vore/hair_accessories_vr.dmi b/icons/mob/vore/hair_accessories_vr.dmi
index e519a6e445a..4411f5c00c5 100644
Binary files a/icons/mob/vore/hair_accessories_vr.dmi and b/icons/mob/vore/hair_accessories_vr.dmi differ