Merge pull request #1392 from haha26315/Ass-Hiding-fix

Ass hiding fix
This commit is contained in:
Dahlular
2021-08-14 23:40:34 -06:00
committed by GitHub
8 changed files with 93 additions and 19 deletions
+3 -2
View File
@@ -182,7 +182,7 @@
"has_cock" = FALSE,
"cock_shape" = pick(GLOB.cock_shapes_list),
"cock_length" = 6,
"belly_size" = 1,
"belly_size" = 1,
"butt_size" = 1,
"cock_girth_ratio" = COCK_GIRTH_RATIO_DEF,
"cock_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
@@ -190,10 +190,11 @@
"sheath_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"has_belly" = FALSE,
"hide_belly" = FALSE,
"inflatable_belly" = FALSE,
"inflatable_belly" = FALSE,
"belly_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"has_balls" = FALSE,
"has_anus" = FALSE,
"butt_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"balls_internal" = FALSE,
"balls_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"balls_amount" = 2,
+22 -2
View File
@@ -148,6 +148,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"inflatable_belly" = FALSE,
"belly_color" = "fff",
"has_anus" = FALSE,
"butt_color" = "fff",
"has_balls" = FALSE,
"balls_internal" = FALSE,
"balls_color" = "fff",
@@ -932,6 +933,13 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<a style='display:block;width:50px' href='?_src_=prefs;preference=has_anus'>[features["has_anus"] == TRUE ? "Yes" : "No"]</a>"
if(features["has_anus"])
dat += "<b>Butt Size:</b> <a style='display:block;width:120px' href='?_src_=prefs;preference=butt_size;task=input'>[features["butt_size"]]</a>"
if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE)
dat += "<b>Color:</b></a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[skintone2hex(skin_tone)];'>&nbsp;&nbsp;&nbsp;</span>(Skin tone overriding)<br>"
else
dat += "<b>Color:</b></a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[features["butt_color"]];'>&nbsp;&nbsp;&nbsp;</span> <a href='?_src_=prefs;preference=butt_color;task=input'>Change</a><br>"
dat += "</td>"
dat += "</td>"
@@ -2274,6 +2282,17 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
if("butt_color")
var/new_buttcolor = input(user, "Butt Color:", "Character Preference") as color|null
if(new_buttcolor)
var/temp_hsv = RGBtoHSV(new_buttcolor)
if(new_buttcolor == "#000000")
features["butt_color"] = pref_species.default_color
else if((MUTCOLORS_PARTSONLY in pref_species.species_traits) || ReadHSV(temp_hsv)[3] >= ReadHSV("#202020")[3])
features["butt_color"] = sanitize_hexcolor(new_buttcolor)
else
to_chat(user,"<span class='danger'>Invalid color. Your color is not bright enough.</span>")
if("balls_shape")
var/new_shape
new_shape = input(user, "Testicle Type:", "Character Preference") as null|anything in GLOB.balls_shapes_list
@@ -2355,8 +2374,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["belly_size"] = clamp(new_bellysize, 1, 3)
if("butt_size")
var/new_buttsize = input(user, "Butt size :\n(0-4)", "Character Preference") as num|null
features["butt_size"] = clamp(new_buttsize, 0, 4)
var/new_buttsize = input(user, "Butt size :\n(0-5)", "Character Preference") as num|null
if(new_buttsize)
features["butt_size"] = clamp(new_buttsize, 0, 5)
if("vag_shape")
var/new_shape
+2 -1
View File
@@ -434,13 +434,14 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//womb features
S["feature_has_womb"] >> features["has_womb"]
S["feature_can_get_preg"] >> features["can_get_preg"] //hyperstation 13
//belly features
//belly features
S["feature_has_belly"] >> features["has_belly"]
S["feature_belly_color"] >> features["belly_color"]
S["feature_hide_belly"] >> features["hide_belly"]
S["feature_inflatable_belly"] >> features["inflatable_belly"]
//anus features
S["feature_has_anus"] >> features["has_anus"]
S["feature_butt_color"] >> features["butt_color"]
//flavor text
//Let's make our players NOT cry desperately as we wipe their savefiles of their special snowflake texts:
@@ -44,7 +44,6 @@
dat += "(Shrink your belly down a size)<BR>"
if(user.pulling)
dat += "<a href='byond://?src=[REF(src)];climaxover=1'>Climax over [user.pulling]</A>" //you can cum on objects if you really want...
dat += "(Orgasm over a person or object.)<BR>"
@@ -127,6 +126,11 @@
var/picked_visibility = input(usr, "Choose visibility", "Expose/Hide genitals", "Hidden by clothes") in list("Always visible", "Hidden by clothes", "Always hidden")
E.toggle_visibility(picked_visibility)
if(href_list["hideanus"])
var/obj/item/organ/genital/anus/A = usr.getorganslot("anus")
var/picked_visibility = input(usr, "Choose visibility", "Expose/Hide genitals", "Hidden by clothes") in list("Always visible", "Hidden by clothes", "Always hidden")
A.toggle_visibility(picked_visibility)
if(href_list["hidetesticles"])
var/obj/item/organ/genital/testicles/T = usr.getorganslot("testicles")
var/picked_visibility = input(usr, "Choose visibility", "Expose/Hide genitals", "Hidden by clothes") in list("Always visible", "Hidden by clothes", "Always hidden")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

@@ -1,29 +1,46 @@
/obj/item/organ/genital/anus
name = "anus"
desc = "You see a butt."
desc = "You see a pair of asscheeks."
icon_state = "butt"
icon = 'modular_citadel/icons/obj/genitals/breasts.dmi'
zone = "anus"
slot = "anus"
w_class = 3
size = 0
var/size_name = "nonexistant"
var/statuscheck = FALSE
shape = "Pair"
can_masturbate_with = FALSE
masturbation_verb = "massage"
can_climax = FALSE
/obj/item/organ/genital/anus/on_life()
if(QDELETED(src))
return
if(!owner)
return
/obj/item/organ/genital/anus/update_appearance()
var/string
var/lowershape = lowertext(shape)
//Reflect the size of dat ass on examine.
switch(size)
if(1)
size_name = "average"
if(2)
size_name = "sizable"
if(3)
size_name = "squeezable"
if(4)
size_name = "hefty"
if(5)
size_name = "godly"
else
size_name = "nonexistant"
desc = "You see a [lowershape] of [size_name] asscheeks."
if(owner)
var/mob/living/carbon/human/H = owner
color = "#[skintone2hex(H.skin_tone)]"
@@ -10,6 +10,7 @@
var/statuscheck = FALSE
shape = "Pair"
masturbation_verb = "massage"
can_masturbate_with = FALSE
can_climax = FALSE
var/sent_full_message = TRUE //defaults to 1 since they're full to start
var/inflatable = FALSE //For inflation connoisseurs
@@ -258,8 +258,6 @@
A.color = "#[skintone2hex(skin_tone)]"
A.update()
/mob/living/carbon/human/proc/give_breasts()
if(!dna)
return FALSE
@@ -397,6 +395,7 @@
dna.features["cock_color"] = dna.features["breasts_color"]
return
//called every time players sprite changes, ie, moves item in hands or equiped item.
/datum/species/proc/handle_genitals(mob/living/carbon/human/H)//more like handle sadness
if(!H)//no args
CRASH("H = null")
@@ -452,6 +451,10 @@
continue
var/mutable_appearance/genital_overlay = mutable_appearance(S.icon, layer = -layer)
//creates another icon with mutable appearance, allows different layering depending on direction
var/mutable_appearance/genital_overlay_directional = mutable_appearance(S.icon, layer = -layer)
//genitals bigger than 11 inches / g-cup will appear over clothing, if accepted
//otherwise, appear under clothing
if(G.slot == "penis" || G.slot == "testicles")
@@ -471,17 +474,28 @@
genital_overlay.icon_state = "belly_[size]"
colourcode = "belly_color"
if(G.slot == "anus") //we have a different size system
//sizecheck added to prevent rendering blank icons
if(G.slot == "anus" && G.size > 0) //we have a different size system
genital_overlay.icon = 'hyperstation/icons/obj/genitals/butt.dmi'
genital_overlay.icon_state = "butt_[size]"
genital_overlay.layer = -FRONT_MUTATIONS_LAYER
genital_overlay.icon_state = "butt_[size]_OTHER"
genital_overlay.layer = -ID_LAYER //in front of suit, behind bellies.
//creates directional layering by rendering twice. North has higher layer priority to occlude hands.
genital_overlay_directional.icon = 'hyperstation/icons/obj/genitals/butt.dmi'
genital_overlay_directional.icon_state = "butt_[size]_NORTH"
genital_overlay_directional.layer = -NECK_LAYER
colourcode = "butt_color"
if(use_skintones) //butts are forced a colour, either skin tones, or main colour. how ever, mutants use a darker version, because of their body tone.
genital_overlay.color = "#[skintone2hex(H.skin_tone)]"
genital_overlay.icon_state = "butt_[size]"
genital_overlay.icon_state = "butt_[size]_OTHER"
genital_overlay_directional.icon_state = "butt_[size]_NORTH"
else
genital_overlay.color = "#[H.dna.features["mcolor"]]"
genital_overlay.icon_state = "butt_[size]_m"
genital_overlay.icon_state = "butt_[size]_OTHER_m"
genital_overlay_directional.icon_state = "butt_[size]_NORTH_m"
if(S.center)
genital_overlay = center_image(genital_overlay, S.dimension_x, S.dimension_y)
@@ -504,10 +518,26 @@
genital_overlay.color = "#[H.dna.features["vag_color"]]"
if("belly_color")
genital_overlay.color = "#[H.dna.features["belly_color"]]"
if("butt_color")
genital_overlay.color = "#[H.dna.features["butt_color"]]"
standing += genital_overlay
//check whether or not there is a directional overlay
if(genital_overlay_directional)
if(S.center)
genital_overlay_directional = center_image(genital_overlay_directional, S.dimension_x, S.dimension_y)
if(use_skintones && H.dna.features["genitals_use_skintone"])
genital_overlay_directional.color = "#[skintone2hex(H.skin_tone)]"
if (colourtint)
genital_overlay_directional.color = "#[colourtint]"
else
genital_overlay_directional.color = "#[H.dna.features["butt_color"]]"
standing += genital_overlay_directional
if(LAZYLEN(standing))
H.overlays_standing[layer] = standing.Copy()
standing = list()