Underwear overlays Gentials, can toggle each seperately (#8602)
* Gentials layered under underclothes * screm
@@ -2236,8 +2236,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
|
|||||||
character.hair_style = hair_style
|
character.hair_style = hair_style
|
||||||
character.facial_hair_style = facial_hair_style
|
character.facial_hair_style = facial_hair_style
|
||||||
character.underwear = underwear
|
character.underwear = underwear
|
||||||
|
character.saved_underwear = underwear
|
||||||
character.undershirt = undershirt
|
character.undershirt = undershirt
|
||||||
|
character.saved_undershirt = undershirt
|
||||||
character.socks = socks
|
character.socks = socks
|
||||||
|
character.saved_socks = socks
|
||||||
|
|
||||||
character.backbag = backbag
|
character.backbag = backbag
|
||||||
|
|
||||||
|
|||||||
@@ -8,6 +8,7 @@
|
|||||||
/mob/living/carbon/human/Initialize()
|
/mob/living/carbon/human/Initialize()
|
||||||
verbs += /mob/living/proc/mob_sleep
|
verbs += /mob/living/proc/mob_sleep
|
||||||
verbs += /mob/living/proc/lay_down
|
verbs += /mob/living/proc/lay_down
|
||||||
|
verbs += /mob/living/carbon/human/proc/underwear_toggle //fwee
|
||||||
|
|
||||||
//initialize limbs first
|
//initialize limbs first
|
||||||
create_bodyparts()
|
create_bodyparts()
|
||||||
|
|||||||
@@ -490,11 +490,19 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
|||||||
//Underwear, Undershirts & Socks
|
//Underwear, Undershirts & Socks
|
||||||
if(!(NO_UNDERWEAR in species_traits))
|
if(!(NO_UNDERWEAR in species_traits))
|
||||||
if(H.underwear)
|
if(H.underwear)
|
||||||
|
if(H.hidden_underwear)
|
||||||
|
H.underwear = "Nude"
|
||||||
|
else
|
||||||
|
H.underwear = H.saved_underwear
|
||||||
var/datum/sprite_accessory/underwear/underwear = GLOB.underwear_list[H.underwear]
|
var/datum/sprite_accessory/underwear/underwear = GLOB.underwear_list[H.underwear]
|
||||||
if(underwear)
|
if(underwear)
|
||||||
standing += mutable_appearance(underwear.icon, underwear.icon_state, -BODY_LAYER)
|
standing += mutable_appearance(underwear.icon, underwear.icon_state, -BODY_LAYER)
|
||||||
|
|
||||||
if(H.undershirt)
|
if(H.undershirt)
|
||||||
|
if(H.hidden_undershirt)
|
||||||
|
H.undershirt = "Nude"
|
||||||
|
else
|
||||||
|
H.undershirt = H.saved_undershirt
|
||||||
var/datum/sprite_accessory/undershirt/undershirt = GLOB.undershirt_list[H.undershirt]
|
var/datum/sprite_accessory/undershirt/undershirt = GLOB.undershirt_list[H.undershirt]
|
||||||
if(undershirt)
|
if(undershirt)
|
||||||
if(H.dna.species.sexes && H.gender == FEMALE)
|
if(H.dna.species.sexes && H.gender == FEMALE)
|
||||||
@@ -503,6 +511,10 @@ GLOBAL_LIST_EMPTY(roundstart_races)
|
|||||||
standing += mutable_appearance(undershirt.icon, undershirt.icon_state, -BODY_LAYER)
|
standing += mutable_appearance(undershirt.icon, undershirt.icon_state, -BODY_LAYER)
|
||||||
|
|
||||||
if(H.socks && H.get_num_legs(FALSE) >= 2)
|
if(H.socks && H.get_num_legs(FALSE) >= 2)
|
||||||
|
if(H.hidden_socks)
|
||||||
|
H.socks = "Nude"
|
||||||
|
else
|
||||||
|
H.socks = H.saved_socks
|
||||||
var/datum/sprite_accessory/socks/socks = GLOB.socks_list[H.socks]
|
var/datum/sprite_accessory/socks/socks = GLOB.socks_list[H.socks]
|
||||||
if(socks)
|
if(socks)
|
||||||
if(DIGITIGRADE in species_traits)
|
if(DIGITIGRADE in species_traits)
|
||||||
|
|||||||
@@ -14,6 +14,10 @@
|
|||||||
|
|
||||||
var/saved_underwear = ""//saves their underwear so it can be toggled later
|
var/saved_underwear = ""//saves their underwear so it can be toggled later
|
||||||
var/saved_undershirt = ""
|
var/saved_undershirt = ""
|
||||||
|
var/saved_socks = ""
|
||||||
|
var/hidden_underwear = FALSE
|
||||||
|
var/hidden_undershirt = FALSE
|
||||||
|
var/hidden_socks = FALSE
|
||||||
|
|
||||||
/mob/living/carbon/human/New()
|
/mob/living/carbon/human/New()
|
||||||
..()
|
..()
|
||||||
@@ -29,6 +33,33 @@
|
|||||||
var/list/femcum_fluids = list("femcum")
|
var/list/femcum_fluids = list("femcum")
|
||||||
|
|
||||||
//Mob procs
|
//Mob procs
|
||||||
|
/mob/living/carbon/human/proc/underwear_toggle()
|
||||||
|
set name = "Toggle undergarments"
|
||||||
|
set category = "Object"
|
||||||
|
if(ishuman(src))
|
||||||
|
var/mob/living/carbon/human/humz = src
|
||||||
|
var/confirm = input(src, "Select what part of your form to alter", "Undergarment Toggling", "Cancel") in list("Top", "Bottom", "Socks", "All", "Cancel")
|
||||||
|
if(confirm == "Top")
|
||||||
|
humz.hidden_undershirt = !humz.hidden_undershirt
|
||||||
|
|
||||||
|
if(confirm == "Bottom")
|
||||||
|
humz.hidden_underwear = !humz.hidden_underwear
|
||||||
|
|
||||||
|
if(confirm == "Socks")
|
||||||
|
humz.hidden_socks = !humz.hidden_socks
|
||||||
|
|
||||||
|
if(confirm == "All")
|
||||||
|
humz.hidden_undershirt = !humz.hidden_undershirt
|
||||||
|
humz.hidden_underwear = !humz.hidden_underwear
|
||||||
|
humz.hidden_socks = !humz.hidden_socks
|
||||||
|
|
||||||
|
if(confirm == "Cancel")
|
||||||
|
return
|
||||||
|
src.update_body()
|
||||||
|
|
||||||
|
else
|
||||||
|
to_chat(src, "Humans only. How the fuck did you get this verb anyway.")
|
||||||
|
|
||||||
/mob/living/proc/handle_arousal()
|
/mob/living/proc/handle_arousal()
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,7 @@
|
|||||||
owner.exposed_genitals += src
|
owner.exposed_genitals += src
|
||||||
if("Hidden by clothes")
|
if("Hidden by clothes")
|
||||||
through_clothes = FALSE
|
through_clothes = FALSE
|
||||||
hidden = FALSE
|
hidden = TRUE
|
||||||
if(src in owner.exposed_genitals)
|
if(src in owner.exposed_genitals)
|
||||||
owner.exposed_genitals -= src
|
owner.exposed_genitals -= src
|
||||||
if("Always hidden")
|
if("Always hidden")
|
||||||
@@ -303,6 +303,8 @@
|
|||||||
for(var/obj/item/organ/O in H.internal_organs)
|
for(var/obj/item/organ/O in H.internal_organs)
|
||||||
if(isgenital(O))
|
if(isgenital(O))
|
||||||
var/obj/item/organ/genital/G = O
|
var/obj/item/organ/genital/G = O
|
||||||
|
if(G.hidden)
|
||||||
|
return //we're gunna just hijack this for updates.
|
||||||
if(G.is_exposed()) //Checks appropriate clothing slot and if it's through_clothes
|
if(G.is_exposed()) //Checks appropriate clothing slot and if it's through_clothes
|
||||||
genitals_to_add += H.getorganslot(G.slot)
|
genitals_to_add += H.getorganslot(G.slot)
|
||||||
//Now we added all genitals that aren't internal and should be rendered
|
//Now we added all genitals that aren't internal and should be rendered
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 762 B After Width: | Height: | Size: 759 B |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.0 KiB |