diff --git a/code/modules/mob/living/carbon/human/emote_vr.dm b/code/modules/mob/living/carbon/human/emote_vr.dm index 2be90ec8dce..6a3e65b880e 100644 --- a/code/modules/mob/living/carbon/human/emote_vr.dm +++ b/code/modules/mob/living/carbon/human/emote_vr.dm @@ -247,3 +247,17 @@ 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" + set desc = "Hide your wings, or show them if you already hid them." + wings_hidden = !wings_hidden + update_wing_showing() + var/message = "" + if(!wings_hidden) + message = "reveals their wings!" + else + message = "hides their wings." + visible_message("[src] [message]") + diff --git a/code/modules/mob/living/carbon/human/human_defines_vr.dm b/code/modules/mob/living/carbon/human/human_defines_vr.dm index 9316b90e889..3a52565d084 100644 --- a/code/modules/mob/living/carbon/human/human_defines_vr.dm +++ b/code/modules/mob/living/carbon/human/human_defines_vr.dm @@ -9,6 +9,7 @@ var/impersonate_bodytype //For impersonating a bodytype var/ability_flags = 0 //Shadekin abilities/potentially other species-based? var/sensorpref = 5 //Suit sensor loadout pref + var/wings_hidden = FALSE /mob/living/carbon/human/proc/shadekin_get_energy() var/datum/species/shadekin/SK = species @@ -48,4 +49,4 @@ if(!istype(SK)) return 0 - SK.set_energy(src, SK.get_energy(src) + amount) \ No newline at end of file + SK.set_energy(src, SK.get_energy(src) + amount) diff --git a/code/modules/mob/living/carbon/human/update_icons_vr.dm b/code/modules/mob/living/carbon/human/update_icons_vr.dm index 45a5690ae64..d05f8afa222 100644 --- a/code/modules/mob/living/carbon/human/update_icons_vr.dm +++ b/code/modules/mob/living/carbon/human/update_icons_vr.dm @@ -3,13 +3,13 @@ return //If you are FBP with wing style and didn't set a custom one - if(synthetic && synthetic.includes_wing && !wing_style) + if((synthetic && synthetic.includes_wing && !wing_style) && !wings_hidden) var/icon/wing_s = new/icon("icon" = synthetic.icon, "icon_state" = "wing") //I dunno. If synths have some custom wing? wing_s.Blend(rgb(src.r_skin, src.g_skin, src.b_skin), species.color_mult ? ICON_MULTIPLY : ICON_ADD) return image(wing_s) //If you have custom wings selected - if(wing_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL)) + if((wing_style && !(wear_suit && wear_suit.flags_inv & HIDETAIL)) && !wings_hidden) var/icon/wing_s = new/icon("icon" = wing_style.icon, "icon_state" = flapping && wing_style.ani_state ? wing_style.ani_state : wing_style.icon_state) if(wing_style.do_colouration) wing_s.Blend(rgb(src.r_wing, src.g_wing, src.b_wing), wing_style.color_blend_mode)