From aa6434b455a1718b6a45104f39b4f3f77138c179 Mon Sep 17 00:00:00 2001 From: Amy Date: Tue, 8 Dec 2020 19:15:48 -0600 Subject: [PATCH] it all works now --- code/_helpers/global_lists_vr.dm | 7 +++ .../mob/living/carbon/human/update_icons.dm | 48 +++++++++--------- .../vore/appearance/sprite_accessories_vr.dm | 2 - .../vore/appearance/update_icons_vr.dm | 15 ------ .../vore/fluffstuff/custom_clothes_vr.dm | 7 +-- .../vore/fluffstuff/custom_items_vr.dm | 27 +++++++--- icons/mob/vore/hair_accessories_vr.dmi | Bin 1113 -> 1098 bytes 7 files changed, 54 insertions(+), 52 deletions(-) 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 e519a6e445a085113887e1a30b6e225fe730aeae..4411f5c00c535ef6f02d360008b902a6d6419571 100644 GIT binary patch delta 791 zcmV+y1L*wO2+9bMFCjIo)-$cv8mZM9yWJJF+ZD9h6~^Ne#^W2#=MTc+55eG(P%b9V z&=k(k6Z!uW`u`I8{~7!L66om>?(Yxo?-lUz4D9U~cSz-6b35 z=LO~F0Pyet?d~$l%NfVX9_8m5)6~}!5o41b0h@n)Nkl@2&YHz4dTN!n9; z7Y=(zONuhFeL7)(-TDX8Iw<0Y+9k~B@T`m;PV0z>&$Vl+qiG#e3CGP&$Sq{zC-uGF z`lo+7*Ix5xr}Y-h7F2Lv-s-Nu*tzyvGCL!;u$?n7=&xV$1$ql@(tyx7^%wR1Wq*J} zbbSB-0001hnxgyrs(y5T-(5etzwfUDui#BaAtxZ?@C&kx*9>z+!uZ}vcLA=CfQ3JMuSd;C zbM*HgcdosjG@t3B`}-@MYp+$#4{&|}000000AR4E!S$bs*z=MvsMz0sQIhmh#G-%u z`>)*fA)!S1vvna z!Iq=Hzuvh{OUTX_RtE=v8{Xe98BpZ6!1)0H00000fPd46=nV)TOOjN7KUz_L|5NQ< zczpiPe}BMTpWh!yzNp|=d8@nrM(2OpYqM^D-+g{zoc_KZa401Ya5Gz56j!Dq$f z^DBFR00000004if==TG;e}CZHNE;biU!7n0Uh)M+Lx5q5jwZ-W{s`{x|Mb_7?e9D5 zHzND{-ujIl|N8^7f32I_(eEc}i3WD2w>{4LiNr(F&u;`9Cg&6R0R;d60Du=i=oez9 VER5%&wTS=#002ovPDHLkV1jNxqlN$g delta 806 zcmV+>1KIq_2-ygbFCjCn)-|lw8mZM4wAvcG-4(Ul6~^Ne#^W2#=MTZ)55nP*P%b9U z&lJzl6Z!uW`u`I8{~7!L66om>?(Yxo?-lUz4D9U~;^Y|P<&mT_20h^7F!=wG-6b34 z<^|^G0Pyet?d~$l%NfVX9_8m5)6~D^qZN}K0h@n}NkllMlj^zuT8iYxL4$}7jPN)kJAb5NUMv@2sV3XJqy#cSSxq;gjxeJHw z%>y^mj*{S!>|D$)c6DR7F~4Uz6no1m?NjgW@5TWmYiT-?4tC>^6>wPOh&pl9%F?LI z)YpIS9UEL#$3;#gXUd#xTfcW|a8;caIg^|zqa`@%=P#h|w0Qq&N`3v|3P%3?1)QSm z0{{R3002~p?(e(nNB8&L^`rayzWQfNN{!@PNqCO)W%XynoAmcDbmO9tb!j>jm&@wU zgtzJMU+KnGE9;ubb#=mBKf1r~t{>gs_tt-p?(es$??-p@%e`h)rcgrg2;qK=L?sen774Sghp*o>={S9hD{rN)g(cr3j zJo(c!IbV1(xT>B`{?ekKA6On-RVzF{!1DtD000000JEM2*MII^AiKZ+!dprAGB`@XGG* ze_G@&96sj;s{Q?FMg9FR|LXS#9QA*D|MB++zFK89-`dvitqrcK^@a8KC*0p3sPFF^ zhZ-qLO3n|sK6g=TFXO7M=35r?_e=kP00000005Dq-w))j|2;QwvwnXdyKVm?H?U0h zvg(5dMg9Gs?fd&h^?xb#qx<{b`qBM;zCU1htrc2A;QNUxn$}86{riE6f4?TGl=;@g kJfE0