From bcbecabf74bd73ecd5a5eedacc746fa98d4606f5 Mon Sep 17 00:00:00 2001 From: SandPoot Date: Fri, 6 Oct 2023 01:11:28 -0300 Subject: [PATCH] push MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Марк --- code/__HELPERS/mobs.dm | 8 ++ code/modules/arousal/organs/breasts.dm | 2 + code/modules/arousal/organs/butt.dm | 2 + code/modules/arousal/organs/penis.dm | 2 + code/modules/arousal/organs/testicles.dm | 2 + code/modules/arousal/organs/vagina.dm | 2 + code/modules/client/preferences.dm | 78 ++++++++++++------- code/modules/client/preferences_savefile.dm | 16 +++- .../datums/interactions/lewd_definitions.dm | 4 +- modular_sand/code/modules/arousal/genitals.dm | 4 +- 10 files changed, 88 insertions(+), 32 deletions(-) diff --git a/code/__HELPERS/mobs.dm b/code/__HELPERS/mobs.dm index 27e33c7206..4c6a6b340e 100644 --- a/code/__HELPERS/mobs.dm +++ b/code/__HELPERS/mobs.dm @@ -218,6 +218,14 @@ "cock_visibility" = GEN_VISIBLE_NO_UNDIES, "vag_visibility" = GEN_VISIBLE_NO_UNDIES, "butt_visibility" = GEN_VISIBLE_NO_UNDIES, + + "breasts_accessible" = FALSE, + "cock_accessible" = FALSE, + "balls_accessible" = FALSE, + "vag_accessible" = FALSE, + "butt_accessible" = FALSE, + "anus_accessible" = FALSE, + "ipc_screen" = snowflake_ipc_antenna_list ? pick(snowflake_ipc_antenna_list) : "None", "ipc_antenna" = "None", "flavor_text" = "", diff --git a/code/modules/arousal/organs/breasts.dm b/code/modules/arousal/organs/breasts.dm index b9129e28a1..77beca342a 100644 --- a/code/modules/arousal/organs/breasts.dm +++ b/code/modules/arousal/organs/breasts.dm @@ -123,6 +123,8 @@ size = breast_values[size] prev_size = cached_size toggle_visibility(D.features["breasts_visibility"], FALSE) + if(D.features["breasts_accessible"]) + toggle_accessibility(TRUE) #undef BREASTS_ICON_MIN_SIZE #undef BREASTS_ICON_MAX_SIZE diff --git a/code/modules/arousal/organs/butt.dm b/code/modules/arousal/organs/butt.dm index 6cb32488a5..dab8d40966 100644 --- a/code/modules/arousal/organs/butt.dm +++ b/code/modules/arousal/organs/butt.dm @@ -84,3 +84,5 @@ size = D.features["butt_size"] prev_size = size toggle_visibility(D.features["butt_visibility"], FALSE) + if(D.features["butt_accessible"]) + toggle_accessibility(TRUE) diff --git a/code/modules/arousal/organs/penis.dm b/code/modules/arousal/organs/penis.dm index e1025094c3..14410c8a06 100644 --- a/code/modules/arousal/organs/penis.dm +++ b/code/modules/arousal/organs/penis.dm @@ -97,3 +97,5 @@ shape = D.features["cock_shape"] prev_length = length toggle_visibility(D.features["cock_visibility"], FALSE) + if(D.features["cock_accessible"]) + toggle_accessibility(TRUE) diff --git a/code/modules/arousal/organs/testicles.dm b/code/modules/arousal/organs/testicles.dm index bfb5c99a55..59560483d7 100644 --- a/code/modules/arousal/organs/testicles.dm +++ b/code/modules/arousal/organs/testicles.dm @@ -65,3 +65,5 @@ fluid_mult = D.features["balls_cum_mult"] fluid_efficiency = D.features["balls_efficiency"] toggle_visibility(D.features["balls_visibility"], FALSE) + if(D.features["balls_accessible"]) + toggle_accessibility(TRUE) diff --git a/code/modules/arousal/organs/vagina.dm b/code/modules/arousal/organs/vagina.dm index d876db29cd..3722b52784 100644 --- a/code/modules/arousal/organs/vagina.dm +++ b/code/modules/arousal/organs/vagina.dm @@ -74,3 +74,5 @@ color = "[D.features["vag_color"]]" shape = "[D.features["vag_shape"]]" toggle_visibility(D.features["vag_visibility"], FALSE) + if(D.features["vag_accessible"]) + toggle_accessibility(TRUE) diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 4f6199d771..ec4087c7c5 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -147,7 +147,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) var/eye_type = DEFAULT_EYES_TYPE //Eye type var/split_eye_colors = FALSE var/datum/species/pref_species = new /datum/species/human() //Mutant race - var/list/features = list("mcolor" = "FFFFFF", "mcolor2" = "FFFFFF", "mcolor3" = "FFFFFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "horns_color" = "85615a", "ears" = "None", "wings" = "None", "wings_color" = "FFF", "frills" = "None", "deco_wings" = "None", "spines" = "None", "legs" = "Plantigrade", "insect_wings" = "Plain", "insect_fluff" = "None", "insect_markings" = "None", "arachnid_legs" = "Plain", "arachnid_spinneret" = "Plain", "arachnid_mandibles" = "Plain", "mam_body_markings" = list(), "mam_ears" = "None", "mam_snouts" = "None", "mam_tail" = "None", "mam_tail_animated" = "None", "xenodorsal" = "Standard", "xenohead" = "Standard", "xenotail" = "Xenomorph Tail", "taur" = "None", "genitals_use_skintone" = FALSE, "has_cock" = FALSE, "cock_shape" = DEF_COCK_SHAPE, "cock_length" = COCK_SIZE_DEF, "cock_diameter_ratio" = COCK_DIAMETER_RATIO_DEF, "cock_color" = "ffffff", "cock_taur" = FALSE, "has_balls" = FALSE, "balls_color" = "ffffff", "balls_shape" = DEF_BALLS_SHAPE, "balls_size" = BALLS_SIZE_DEF, "balls_cum_rate" = CUM_RATE, "balls_cum_mult" = CUM_RATE_MULT, "balls_efficiency" = CUM_EFFICIENCY, "has_breasts" = FALSE, "breasts_color" = "ffffff", "breasts_size" = BREASTS_SIZE_DEF, "breasts_shape" = DEF_BREASTS_SHAPE, "breasts_producing" = FALSE, "has_vag" = FALSE, "vag_shape" = DEF_VAGINA_SHAPE, "vag_color" = "ffffff", "has_womb" = FALSE, "has_butt" = FALSE, "butt_color" = "ffffff", "butt_size" = BUTT_SIZE_DEF, "balls_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_visibility"= GEN_VISIBLE_NO_UNDIES, "cock_visibility" = GEN_VISIBLE_NO_UNDIES, "vag_visibility" = GEN_VISIBLE_NO_UNDIES, "butt_visibility" = GEN_VISIBLE_NO_UNDIES, "ipc_screen" = "Sunburst", "ipc_antenna" = "None", "flavor_text" = "", "silicon_flavor_text" = "", "ooc_notes" = "", "meat_type" = "Mammalian", "body_model" = MALE, "body_size" = RESIZE_DEFAULT_SIZE, "color_scheme" = OLD_CHARACTER_COLORING) + var/list/features = list("mcolor" = "FFFFFF", "mcolor2" = "FFFFFF", "mcolor3" = "FFFFFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "horns_color" = "85615a", "ears" = "None", "wings" = "None", "wings_color" = "FFF", "frills" = "None", "deco_wings" = "None", "spines" = "None", "legs" = "Plantigrade", "insect_wings" = "Plain", "insect_fluff" = "None", "insect_markings" = "None", "arachnid_legs" = "Plain", "arachnid_spinneret" = "Plain", "arachnid_mandibles" = "Plain", "mam_body_markings" = list(), "mam_ears" = "None", "mam_snouts" = "None", "mam_tail" = "None", "mam_tail_animated" = "None", "xenodorsal" = "Standard", "xenohead" = "Standard", "xenotail" = "Xenomorph Tail", "taur" = "None", "genitals_use_skintone" = FALSE, "has_cock" = FALSE, "cock_shape" = DEF_COCK_SHAPE, "cock_length" = COCK_SIZE_DEF, "cock_diameter_ratio" = COCK_DIAMETER_RATIO_DEF, "cock_color" = "ffffff", "cock_taur" = FALSE, "has_balls" = FALSE, "balls_color" = "ffffff", "balls_shape" = DEF_BALLS_SHAPE, "balls_size" = BALLS_SIZE_DEF, "balls_cum_rate" = CUM_RATE, "balls_cum_mult" = CUM_RATE_MULT, "balls_efficiency" = CUM_EFFICIENCY, "has_breasts" = FALSE, "breasts_color" = "ffffff", "breasts_size" = BREASTS_SIZE_DEF, "breasts_shape" = DEF_BREASTS_SHAPE, "breasts_producing" = FALSE, "has_vag" = FALSE, "vag_shape" = DEF_VAGINA_SHAPE, "vag_color" = "ffffff", "has_womb" = FALSE, "has_butt" = FALSE, "butt_color" = "ffffff", "butt_size" = BUTT_SIZE_DEF, "balls_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_visibility"= GEN_VISIBLE_NO_UNDIES, "cock_visibility" = GEN_VISIBLE_NO_UNDIES, "vag_visibility" = GEN_VISIBLE_NO_UNDIES, "butt_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_accessible" = FALSE, "cock_accessible" = FALSE, "balls_accessible" = FALSE, "vag_accessible" = FALSE, "butt_accessible" = FALSE, "anus_accessible" = FALSE,"ipc_screen" = "Sunburst", "ipc_antenna" = "None", "flavor_text" = "", "silicon_flavor_text" = "", "ooc_notes" = "", "meat_type" = "Mammalian", "body_model" = MALE, "body_size" = RESIZE_DEFAULT_SIZE, "color_scheme" = OLD_CHARACTER_COLORING) var/custom_speech_verb = "default" //if your say_mod is to be something other than your races var/custom_tongue = "default" //if your tongue is to be something other than your races @@ -494,6 +494,25 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Vore : [vorepref]
" //END OF SKYRAT EDIT + dat += "

Clothing & Equipment

" + /* skyrat change + dat += "Underwear:[underwear]" + if(GLOB.underwear_list[underwear]?.has_color) + dat += "Underwear Color: #[undie_color] Change
" + dat += "Undershirt:[undershirt]" + if(GLOB.undershirt_list[undershirt]?.has_color) + dat += "Undershirt Color: #[shirt_color] Change
" + dat += "Socks:[socks]" + if(GLOB.socks_list[socks]?.has_color) + dat += "Socks Color: #[socks_color] Change
" + */ + dat += "Backpack:[backbag]" + dat += "Jumpsuit:
[jumpsuit_style]
" + if((HAS_FLESH in pref_species.species_traits) || (HAS_BONE in pref_species.species_traits)) + dat += "
Temporal Scarring:
[(persistent_scars) ? "Enabled" : "Disabled"]" + dat += "Clear scar slots
" + dat += "Uplink Location:[uplink_spawn_loc]" + dat += APPEARANCE_CATEGORY_COLUMN //body moves right sandstorm change dat += "

Body

" @@ -663,34 +682,15 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "" - dat += "" - dat += "" - dat += "
" - dat += "

Clothing & Equipment

" - /* skyrat change - dat += "Underwear:[underwear]" - if(GLOB.underwear_list[underwear]?.has_color) - dat += "Underwear Color: #[undie_color] Change
" - dat += "Undershirt:[undershirt]" - if(GLOB.undershirt_list[undershirt]?.has_color) - dat += "Undershirt Color: #[shirt_color] Change
" - dat += "Socks:[socks]" - if(GLOB.socks_list[socks]?.has_color) - dat += "Socks Color: #[socks_color] Change
" - */ - dat += "Backpack:[backbag]" - dat += "Jumpsuit:
[jumpsuit_style]
" - if((HAS_FLESH in pref_species.species_traits) || (HAS_BONE in pref_species.species_traits)) - dat += "
Temporal Scarring:
[(persistent_scars) ? "Enabled" : "Disabled"]" - dat += "Clear scar slots
" - dat += "Uplink Location:[uplink_spawn_loc]" dat += "
" - dat += "

Lewd preferences

" + dat += "" - dat += APPEARANCE_CATEGORY_COLUMN + + dat += "" - dat += APPEARANCE_CATEGORY_COLUMN + dat += "" - dat += APPEARANCE_CATEGORY_COLUMN + dat += "" + dat += "" dat += "" dat += "
" + dat += "

Lewd preferences

" dat += "Lust tolerance:[lust_tolerance]" dat += "Sexual potency:[sexual_potency]" dat += "
" if(NOGENITALS in pref_species.species_traits) dat += "Your species ([pref_species.name]) does not support genitals!
" else @@ -715,6 +715,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Penis Shape: [features["cock_shape"]][tauric_shape ? " (Taur)" : ""]" dat += "Penis Length: [features["cock_length"]] inch(es)" dat += "Penis Visibility:[features["cock_visibility"]]" + dat += "Penis Always Accessible:[features["cock_accessible"] ? "Yes" : "No"]" dat += "Has Testicles:[features["has_balls"] == TRUE ? "Yes" : "No"]" if(features["has_balls"]) if(pref_species.use_skintones && features["genitals_use_skintone"] == TRUE) @@ -725,7 +726,8 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "#[features["balls_color"]] Change
" dat += "Testicles Shape: [features["balls_shape"]]" dat += "Testicles Visibility:[features["balls_visibility"]]" - dat += APPEARANCE_CATEGORY_COLUMN + dat += "Testicles Always Accessible:[features["balls_accessible"] ? "Yes" : "No"]" + dat += "
" dat += "

Vagina

" dat += "[features["has_vag"] == TRUE ? "Yes" : "No"]" if(features["has_vag"]) @@ -737,9 +739,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Vagina Color:
" dat += "#[features["vag_color"]] Change
" dat += "Vagina Visibility:[features["vag_visibility"]]" + dat += "Vagina Always Accessible:[features["vag_accessible"] ? "Yes" : "No"]" dat += "Has Womb:[features["has_womb"] == TRUE ? "Yes" : "No"]" dat += "
" dat += "

Breasts

" dat += "[features["has_breasts"] == TRUE ? "Yes" : "No"]" if(features["has_breasts"]) @@ -752,9 +755,10 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "Cup Size:[features["breasts_size"]]" dat += "Breasts Shape:[features["breasts_shape"]]" dat += "Breasts Visibility:[features["breasts_visibility"]]" + dat += "Breasts Always Accessible:[features["breasts_accessible"] ? "Yes" : "No"]" dat += "Lactates:[features["breasts_producing"] == TRUE ? "Yes" : "No"]" dat += "
" dat += "

Butt

" dat += "[features["has_butt"] == TRUE ? "Yes" : "No"]" if(features["has_butt"]) @@ -766,6 +770,11 @@ GLOBAL_LIST_EMPTY(preferences_datums) dat += "#[features["butt_color"]] Change
" dat += "Butt Size:[features["butt_size"]]" dat += "Butt Visibility:[features["butt_visibility"]]" + dat += "Butt Always Accessible:[features["butt_accessible"] ? "Yes" : "No"]" + dat += "
" + dat += "

Anus

" + dat += "Anus Always Accessible:[features["anus_accessible"] ? "Yes" : "No"]" dat += "
" @@ -2914,22 +2923,34 @@ GLOBAL_LIST_EMPTY(preferences_datums) features["has_cock"] = !features["has_cock"] if(features["has_cock"] == FALSE) features["has_balls"] = FALSE + if("cock_accessible") + features["cock_accessible"] = !features["cock_accessible"] if("has_balls") features["has_balls"] = !features["has_balls"] + if("balls_accessible") + features["balls_accessible"] = !features["balls_accessible"] if("has_breasts") features["has_breasts"] = !features["has_breasts"] if(features["has_breasts"] == FALSE) features["breasts_producing"] = FALSE if("breasts_producing") features["breasts_producing"] = !features["breasts_producing"] + if("breasts_accessible") + features["breasts_accessible"] = !features["breasts_accessible"] if("has_vag") features["has_vag"] = !features["has_vag"] if(features["has_vag"] == FALSE) features["has_womb"] = FALSE + if("vag_accessible") + features["vag_accessible"] = !features["vag_accessible"] if("has_womb") features["has_womb"] = !features["has_womb"] if("has_butt") features["has_butt"] = !features["has_butt"] + if("butt_accessible") + features["butt_accessible"] = !features["butt_accessible"] + if("anus_accessible") + features["anus_accessible"] = !features["anus_accessible"] if("widescreenpref") widescreenpref = !widescreenpref user.client.view_size.setDefault(getScreenSize(widescreenpref)) @@ -3582,6 +3603,9 @@ GLOBAL_LIST_EMPTY(preferences_datums) character.dna.features["lust_tolerance"] = lust_tolerance character.dna.features["sexual_potency"] = sexual_potency + if(features["anus_accessible"]) + character.toggle_anus_always_accessible(TRUE) + character.give_genitals(TRUE) //character.update_genitals() is already called on genital.update_appearance() character.update_size(get_size(character), old_size) diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm index 0d8dc25768..7134852ab4 100644 --- a/code/modules/client/preferences_savefile.dm +++ b/code/modules/client/preferences_savefile.dm @@ -725,7 +725,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car . = TRUE - features = list("mcolor" = "FFFFFF", "mcolor2" = "FFFFFF", "mcolor3" = "FFFFFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "horns_color" = "85615a", "ears" = "None", "wings" = "None", "wings_color" = "FFF", "frills" = "None", "deco_wings" = "None", "spines" = "None", "legs" = "Plantigrade", "insect_wings" = "Plain", "insect_fluff" = "None", "insect_markings" = "None", "arachnid_legs" = "Plain", "arachnid_spinneret" = "Plain", "arachnid_mandibles" = "Plain", "mam_body_markings" = "Plain", "mam_ears" = "None", "mam_snouts" = "None", "mam_tail" = "None", "mam_tail_animated" = "None", "xenodorsal" = "Standard", "xenohead" = "Standard", "xenotail" = "Xenomorph Tail", "taur" = "None", "genitals_use_skintone" = FALSE, "has_cock" = FALSE, "cock_shape" = DEF_COCK_SHAPE, "cock_length" = COCK_SIZE_DEF, "cock_diameter_ratio" = COCK_DIAMETER_RATIO_DEF, "cock_color" = "ffffff", "cock_taur" = FALSE, "has_balls" = FALSE, "balls_color" = "ffffff", "balls_shape" = DEF_BALLS_SHAPE, "balls_size" = BALLS_SIZE_DEF, "balls_cum_rate" = CUM_RATE, "balls_cum_mult" = CUM_RATE_MULT, "balls_efficiency" = CUM_EFFICIENCY, "has_breasts" = FALSE, "breasts_color" = "ffffff", "breasts_size" = BREASTS_SIZE_DEF, "breasts_shape" = DEF_BREASTS_SHAPE, "breasts_producing" = FALSE, "has_vag" = FALSE, "vag_shape" = DEF_VAGINA_SHAPE, "vag_color" = "ffffff", "has_womb" = FALSE, "has_butt" = FALSE, "butt_color" = "ffffff", "butt_size" = BUTT_SIZE_DEF, "balls_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_visibility"= GEN_VISIBLE_NO_UNDIES, "cock_visibility" = GEN_VISIBLE_NO_UNDIES, "vag_visibility" = GEN_VISIBLE_NO_UNDIES, "butt_visibility" = GEN_VISIBLE_NO_UNDIES, "ipc_screen" = "Sunburst", "ipc_antenna" = "None", "flavor_text" = "", "silicon_flavor_text" = "", "ooc_notes" = "", "meat_type" = "Mammalian", "body_model" = MALE, "body_size" = RESIZE_DEFAULT_SIZE, "color_scheme" = OLD_CHARACTER_COLORING) + features = list("mcolor" = "FFFFFF", "mcolor2" = "FFFFFF", "mcolor3" = "FFFFFF", "tail_lizard" = "Smooth", "tail_human" = "None", "snout" = "Round", "horns" = "None", "horns_color" = "85615a", "ears" = "None", "wings" = "None", "wings_color" = "FFF", "frills" = "None", "deco_wings" = "None", "spines" = "None", "legs" = "Plantigrade", "insect_wings" = "Plain", "insect_fluff" = "None", "insect_markings" = "None", "arachnid_legs" = "Plain", "arachnid_spinneret" = "Plain", "arachnid_mandibles" = "Plain", "mam_body_markings" = "Plain", "mam_ears" = "None", "mam_snouts" = "None", "mam_tail" = "None", "mam_tail_animated" = "None", "xenodorsal" = "Standard", "xenohead" = "Standard", "xenotail" = "Xenomorph Tail", "taur" = "None", "genitals_use_skintone" = FALSE, "has_cock" = FALSE, "cock_shape" = DEF_COCK_SHAPE, "cock_length" = COCK_SIZE_DEF, "cock_diameter_ratio" = COCK_DIAMETER_RATIO_DEF, "cock_color" = "ffffff", "cock_taur" = FALSE, "has_balls" = FALSE, "balls_color" = "ffffff", "balls_shape" = DEF_BALLS_SHAPE, "balls_size" = BALLS_SIZE_DEF, "balls_cum_rate" = CUM_RATE, "balls_cum_mult" = CUM_RATE_MULT, "balls_efficiency" = CUM_EFFICIENCY, "has_breasts" = FALSE, "breasts_color" = "ffffff", "breasts_size" = BREASTS_SIZE_DEF, "breasts_shape" = DEF_BREASTS_SHAPE, "breasts_producing" = FALSE, "has_vag" = FALSE, "vag_shape" = DEF_VAGINA_SHAPE, "vag_color" = "ffffff", "has_womb" = FALSE, "has_butt" = FALSE, "butt_color" = "ffffff", "butt_size" = BUTT_SIZE_DEF, "balls_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_visibility"= GEN_VISIBLE_NO_UNDIES, "cock_visibility" = GEN_VISIBLE_NO_UNDIES, "vag_visibility" = GEN_VISIBLE_NO_UNDIES, "butt_visibility" = GEN_VISIBLE_NO_UNDIES, "breasts_accessible" = FALSE, "cock_accessible" = FALSE, "vag_accessible" = FALSE, "butt_accessible" = FALSE, "anus_accessible" = FALSE,"ipc_screen" = "Sunburst", "ipc_antenna" = "None", "flavor_text" = "", "silicon_flavor_text" = "", "ooc_notes" = "", "meat_type" = "Mammalian", "body_model" = MALE, "body_size" = RESIZE_DEFAULT_SIZE, "color_scheme" = OLD_CHARACTER_COLORING) //Species var/species_id @@ -872,12 +872,14 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["feature_cock_diameter"] >> features["cock_diameter"] S["feature_cock_taur"] >> features["cock_taur"] S["feature_cock_visibility"] >> features["cock_visibility"] + S["feature_cock_accessible"] >> features["cock_accessible"] //balls features S["feature_has_balls"] >> features["has_balls"] S["feature_balls_color"] >> features["balls_color"] S["feature_balls_shape"] >> features["balls_shape"] S["feature_balls_size"] >> features["balls_size"] S["feature_balls_visibility"] >> features["balls_visibility"] + S["feature_balls_accessible"] >> features["balls_accessible"] //breasts features S["feature_has_breasts"] >> features["has_breasts"] S["feature_breasts_size"] >> features["breasts_size"] @@ -885,11 +887,13 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["feature_breasts_color"] >> features["breasts_color"] S["feature_breasts_producing"] >> features["breasts_producing"] S["feature_breasts_visibility"] >> features["breasts_visibility"] + S["feature_breasts_accessible"] >> features["breasts_accessible"] //vagina features S["feature_has_vag"] >> features["has_vag"] S["feature_vag_shape"] >> features["vag_shape"] S["feature_vag_color"] >> features["vag_color"] S["feature_vag_visibility"] >> features["vag_visibility"] + S["feature_vag_accessible"] >> features["vag_accessible"] //womb features S["feature_has_womb"] >> features["has_womb"] //butt features @@ -897,6 +901,9 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car S["feature_butt_color"] >> features["butt_color"] S["feature_butt_size"] >> features["butt_size"] S["feature_butt_visibility"] >> features["butt_visibility"] + S["feature_butt_accessible"] >> features["butt_accessible"] + //anus features + S["feature_anus_accessible"] >> features["anus_accessible"] // Flavor texts, Made into a standard. S["feature_flavor_text"] >> features["flavor_text"] @@ -1190,12 +1197,14 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["feature_cock_length"], features["cock_length"]) WRITE_FILE(S["feature_cock_taur"], features["cock_taur"]) WRITE_FILE(S["feature_cock_visibility"], features["cock_visibility"]) + WRITE_FILE(S["feature_cock_accessible"], features["cock_accessible"]) WRITE_FILE(S["feature_has_balls"], features["has_balls"]) WRITE_FILE(S["feature_balls_color"], features["balls_color"]) WRITE_FILE(S["feature_balls_shape"], features["balls_shape"]) WRITE_FILE(S["feature_balls_size"], features["balls_size"]) WRITE_FILE(S["feature_balls_visibility"], features["balls_visibility"]) + WRITE_FILE(S["feature_balls_accessible"], features["balls_accessible"]) WRITE_FILE(S["feature_has_breasts"], features["has_breasts"]) WRITE_FILE(S["feature_breasts_size"], features["breasts_size"]) @@ -1203,11 +1212,13 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["feature_breasts_color"], features["breasts_color"]) WRITE_FILE(S["feature_breasts_producing"], features["breasts_producing"]) WRITE_FILE(S["feature_breasts_visibility"], features["breasts_visibility"]) + WRITE_FILE(S["feature_breasts_accessible"], features["breasts_accessible"]) WRITE_FILE(S["feature_has_vag"], features["has_vag"]) WRITE_FILE(S["feature_vag_shape"], features["vag_shape"]) WRITE_FILE(S["feature_vag_color"], features["vag_color"]) WRITE_FILE(S["feature_vag_visibility"], features["vag_visibility"]) + WRITE_FILE(S["feature_vag_accessible"], features["vag_accessible"]) WRITE_FILE(S["feature_has_womb"], features["has_womb"]) @@ -1215,11 +1226,14 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car WRITE_FILE(S["feature_butt_color"], features["butt_color"]) WRITE_FILE(S["feature_butt_size"], features["butt_size"]) WRITE_FILE(S["feature_butt_visibility"], features["butt_visibility"]) + WRITE_FILE(S["feature_butt_accessible"], features["butt_accessible"]) WRITE_FILE(S["feature_ooc_notes"], features["ooc_notes"]) WRITE_FILE(S["feature_color_scheme"], features["color_scheme"]) + WRITE_FILE(S["feature_anus_accessible"], features["anus_accessible"]) + //save every advanced coloring mode thing in one go for(var/feature in features) var/feature_value = features[feature] diff --git a/modular_sand/code/datums/interactions/lewd_definitions.dm b/modular_sand/code/datums/interactions/lewd_definitions.dm index f0ec0bf832..2491f6a0e6 100644 --- a/modular_sand/code/datums/interactions/lewd_definitions.dm +++ b/modular_sand/code/datums/interactions/lewd_definitions.dm @@ -88,8 +88,8 @@ lust = num lastlusttime = world.time -/mob/living/proc/toggle_anus_always_accessible() - anus_always_accessible = !anus_always_accessible +/mob/living/proc/toggle_anus_always_accessible(accessibility) + anus_always_accessible = isnull(accessibility) ? !anus_always_accessible : accessibility /mob/living/proc/has_genital(slot, visibility = REQUIRE_ANY) var/mob/living/carbon/C = src diff --git a/modular_sand/code/modules/arousal/genitals.dm b/modular_sand/code/modules/arousal/genitals.dm index 78eb513a88..d019fa4e7f 100644 --- a/modular_sand/code/modules/arousal/genitals.dm +++ b/modular_sand/code/modules/arousal/genitals.dm @@ -3,5 +3,5 @@ var/always_accessible = FALSE /// Toggles whether such genital can always be accessed -/obj/item/organ/genital/proc/toggle_accessibility() - always_accessible = !always_accessible +/obj/item/organ/genital/proc/toggle_accessibility(accessibility) + always_accessible = isnull(accessibility) ? !always_accessible : accessibility