Hyper butts

players can now have larger asses.
This commit is contained in:
quotefox
2021-07-20 11:59:33 +01:00
parent e65d691415
commit 357749cd5f
8 changed files with 59 additions and 7 deletions
+1
View File
@@ -183,6 +183,7 @@
"cock_shape" = pick(GLOB.cock_shapes_list),
"cock_length" = 6,
"belly_size" = 1,
"butt_size" = 1,
"cock_girth_ratio" = COCK_GIRTH_RATIO_DEF,
"cock_color" = pick("FFFFFF","7F7F7F", "7FFF7F", "7F7FFF", "FF7F7F", "7FFFFF", "FF7FFF", "FFFF7F"),
"has_sheath" = FALSE,
+10 -1
View File
@@ -134,6 +134,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
"cock_shape" = "Human",
"cock_length" = 6,
"belly_size" = 1,
"butt_size" = 1,
"cock_girth_ratio" = COCK_GIRTH_RATIO_DEF,
"cock_color" = "fff",
"has_sheath" = FALSE,
@@ -923,8 +924,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "</td>"
dat += APPEARANCE_CATEGORY_COLUMN
dat += "<h3>Anus</h3>"
dat += "<h3>Butt</h3>"
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>"
dat += "</td>"
dat += "</td>"
@@ -2347,6 +2350,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(new_bellysize)
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)
if("vag_shape")
var/new_shape
new_shape = input(user, "Vagina Type", "Character Preference") as null|anything in GLOB.vagina_shapes_list
@@ -2511,6 +2518,8 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["can_get_preg"] = FALSE
if("has_anus")
features["has_anus"] = !features["has_anus"]
if(features["has_anus"] == FALSE)
features["butt_size"] = 0
if("has_womb")
features["has_womb"] = !features["has_womb"]
if("can_get_preg")
@@ -402,6 +402,8 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["feature_has_sheath"] >> features["sheath_color"]
//belly size
S["feature_belly_size"] >> features["belly_size"]
//belly size
S["feature_butt_size"] >> features["butt_size"]
//balls features
S["feature_has_balls"] >> features["has_balls"]
S["feature_balls_color"] >> features["balls_color"]
Binary file not shown.

Before

Width:  |  Height:  |  Size: 182 B

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -1,18 +1,19 @@
/obj/item/organ/genital/anus
name = "anus"
desc = ""
desc = "You see a butt."
icon_state = "butt"
icon = 'modular_citadel/icons/obj/genitals/breasts.dmi'
zone = "groin"
slot = "anus"
w_class = 3
size = 0
var/statuscheck = FALSE
shape = "Pair"
masturbation_verb = "massage"
can_climax = FALSE //no poo poo 4 u
nochange = TRUE
can_climax = FALSE
/obj/item/organ/genital/anus/Initialize()
. = ..()
/obj/item/organ/genital/anus/on_life()
if(QDELETED(src))
@@ -21,5 +22,15 @@
return
/obj/item/organ/genital/anus/update_appearance()
var/string
if(owner)
var/mob/living/carbon/human/H = owner
color = "#[skintone2hex(H.skin_tone)]"
if(ishuman(owner))
icon_state = sanitize_text(string)
H.update_genitals()
icon_state = sanitize_text(string)
@@ -251,6 +251,8 @@
return FALSE
if(!getorganslot("anus"))
var/obj/item/organ/genital/anus/A = new
if(dna.features["butt_size"])
A.size = dna.features["butt_size"]
A.Insert(src)
if(A)
A.color = "#[skintone2hex(skin_tone)]"
@@ -443,6 +445,8 @@
S = GLOB.breasts_shapes_list[G.shape]
if(/obj/item/organ/genital/belly)
S = GLOB.breasts_shapes_list[G.shape]
if(/obj/item/organ/genital/anus)
S = GLOB.breasts_shapes_list[G.shape]
if(!S || S.icon_state == "none")
continue
@@ -461,11 +465,24 @@
//Get the icon
genital_overlay.icon_state = "[G.slot]_[S.icon_state]_[size]_[aroused_state]_[layertext]"
colourcode = S.color_src
if(G.slot == "belly") //we have a different size system
genital_overlay.icon = 'hyperstation/icons/obj/genitals/belly.dmi'
genital_overlay.icon_state = "belly_[size]"
colourcode = "belly_color"
if(G.slot == "anus") //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
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]"
else
genital_overlay.color = "#[H.dna.features["mcolor"]]"
genital_overlay.icon_state = "butt_[size]_m"
if(S.center)
genital_overlay = center_image(genital_overlay, S.dimension_x, S.dimension_y)
@@ -488,6 +505,7 @@
if("belly_color")
genital_overlay.color = "#[H.dna.features["belly_color"]]"
standing += genital_overlay
if(LAZYLEN(standing))
@@ -136,7 +136,7 @@
icon_state = "gaping"
name = "Gaping"
//BREASTS BE HERE
//BELLY BE HERE
/datum/sprite_accessory/belly
icon = 'hyperstation/icons/obj/genitals/belly.dmi'
icon_state = "belly"
@@ -145,6 +145,15 @@
color_src = "belly_color"
locked = 0
//BUTT BE HERE
/datum/sprite_accessory/anus
icon = 'hyperstation/icons/obj/genitals/butt.dmi'
icon_state = "butt"
name = "butt"
gender_specific = 0
color_src = "butt_color"
locked = 0
//BREASTS BE HERE
/datum/sprite_accessory/breasts
icon = 'modular_citadel/icons/obj/genitals/breasts_onmob.dmi'
@@ -63,6 +63,8 @@
WRITE_FILE(S["feature_has_sheath"], features["sheath_color"])
//belly feature
WRITE_FILE(S["feature_belly_size"], features["belly_size"])
//butt feature
WRITE_FILE(S["feature_butt_size"], features["butt_size"])
//balls features
WRITE_FILE(S["feature_has_balls"], features["has_balls"])
WRITE_FILE(S["feature_balls_color"], features["balls_color"])