Mobility exoskeleton & modules, max fat genital sizes

Added the mobility exoskeleton, weak MODsuit that comes with mobility-related modules.
Added mobility-related modules
Added preference for max genital sizes due to fat increase
This commit is contained in:
Alphas00
2024-12-22 13:05:34 +01:00
parent f2ab8dc9a5
commit 7597de2ab8
16 changed files with 316 additions and 11 deletions

View File

@@ -9,6 +9,7 @@
zone = BODY_ZONE_CHEST
slot = ORGAN_SLOT_BREASTS
size = BREASTS_SIZE_DEF // "c". Refer to the breast_values static list below for the cups associated number values
var/max_size = 0 //GS13 Edit
fluid_id = /datum/reagent/consumable/milk
fluid_rate = MILK_RATE
producing = TRUE
@@ -115,6 +116,7 @@
else
color = "#[D.features["breasts_color"]]"
size = D.features["breasts_size"]
max_size = D.features["max_breasts_size"]
starting_size = D.features["breasts_size"]
shape = D.features["breasts_shape"]
if(!D.features["breasts_producing"])

View File

@@ -7,6 +7,7 @@
slot = ORGAN_SLOT_BUTT
w_class = 3
size = 0
var/max_size = 0 //GS13 Edit
var/size_name = "nonexistent"
shape = "Pair" //turn this into a default constant if for some inexplicable reason we get more than one butt type but I doubt it.
genital_flags = UPDATE_OWNER_APPEARANCE|GENITAL_UNDIES_HIDDEN
@@ -84,6 +85,7 @@
else
color = "#[D.features["butt_color"]]"
size = D.features["butt_size"]
max_size = D.features["max_butt_size"]
starting_size = D.features["butt_size"] // GS13 EDIT
prev_size = size
toggle_visibility(D.features["butt_visibility"], FALSE)

View File

@@ -810,6 +810,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<b>Color:</b></a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[features["breasts_color"]];'><font color='[color_hex2num(features["breasts_color"]) < 200 ? "FFFFFF" : "000000"]'>#[features["breasts_color"]]</font></span> <a href='?_src_=prefs;preference=breasts_color;task=input'>Change</a><br>"
dat += "<b>Cup Size:</b><a style='display:block;width:50px' href='?_src_=prefs;preference=breasts_size;task=input'>[features["breasts_size"]]</a>"
dat += "<b>Max Fat Breast Size:</b><a style='display:block;width:50px' href='?_src_=prefs;preference=max_breasts_size;task=input'>[features["max_breasts_size"]]</a>" //GS13 Edit
dat += "<b>Breasts Shape:</b><a style='display:block;width:50px' href='?_src_=prefs;preference=breasts_shape;task=input'>[features["breasts_shape"]]</a>"
dat += "<b>Breasts Visibility:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=breasts_visibility;task=input'>[features["breasts_visibility"]]</a>"
dat += "<b>Lactates:</b><a style='display:block;width:50px' href='?_src_=prefs;preference=breasts_producing'>[features["breasts_producing"] == TRUE ? "Yes" : "No"]</a>"
@@ -846,6 +847,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "<b>Color:</b></a><BR>"
dat += "<span style='border: 1px solid #161616; background-color: #[features["butt_color"]];'><font color='[color_hex2num(features["butt_color"]) < 200 ? "FFFFFF" : "000000"]'>#[features["butt_color"]]</font></span> <a href='?_src_=prefs;preference=butt_color;task=input'>Change</a><br>"
dat += "<b>Butt Size:</b><a style='display:block;width:50px' href='?_src_=prefs;preference=butt_size;task=input'>[features["butt_size"]]</a>"
dat += "<b>Max Fat Butt Size:</b><a style='display:block;width:50px' href='?_src_=prefs;preference=max_butt_size;task=input'>[features["max_butt_size"]]</a>" //GS13 Edit
dat += "<b>Butt Visibility:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=butt_visibility;task=input'>[features["butt_visibility"]]</a>"
dat += "</td>"
dat += "</td>"
@@ -860,6 +862,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
else
dat += "<span style='border: 1px solid #161616; background-color: #[features["belly_color"]];'><font color='[color_hex2num(features["belly_color"]) < 200 ? "FFFFFF" : "000000"]'>#[features["belly_color"]]</font></span> <a href='?_src_=prefs;preference=belly_color;task=input'>Change</a><br>"
dat += "<b>Belly Size:</b> <a style='display:block;width:120px' href='?_src_=prefs;preference=belly_size;task=input'>[features["belly_size"]]</a>"
dat += "<b>Max Fat Belly Size:</b> <a style='display:block;width:120px' href='?_src_=prefs;preference=max_belly_size;task=input'>[features["max_belly_size"]]</a>"
dat += "<b>Belly Shape:</b> <a style='display:block;width:120px' href='?_src_=prefs;preference=belly_shape;task=input'>[features["belly_shape"]]</a>"
dat += "<b>Belly Visibility:</b><a style='display:block;width:100px' href='?_src_=prefs;preference=belly_visibility;task=input'>[features["belly_visibility"]]</a>"
// GS13: tweak inflation description
@@ -2698,6 +2701,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_size = input(user, "Breast Size", "Character Preference") as null|anything in CONFIG_GET(keyed_list/breasts_cups_prefs)
if(new_size)
features["breasts_size"] = new_size
//GS13 Edit
if("max_breasts_size")
var/new_max = input(user, "Max fat breasts size:\n([0]-[30])", "Character Preference") as num|null
if(new_max)
features["max_breasts_size"] = clamp(round(new_max), 0, 30)
if("breasts_shape")
var/new_shape
@@ -2783,6 +2791,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/new_length = input(user, "Butt size:\n([min_B]-[max_B])", "Character Preference") as num|null
if(new_length)
features["butt_size"] = clamp(round(new_length), min_B, max_B)
//GS13 Edit
if("max_butt_size")
var/new_max = input(user, "Max fat butt size:\n([0]-[10])", "Character Preference") as num|null
if(new_max)
features["max_butt_size"] = clamp(round(new_max), 0, 10)
if("butt_visibility")
var/n_vis = input(user, "Butt Visibility", "Character Preference") as null|anything in CONFIG_GET(str_list/safe_visibility_toggles)
@@ -2806,6 +2819,11 @@ GLOBAL_LIST_EMPTY(preferences_datums)
if(new_bellysize)
features["belly_size"] = clamp(round(new_bellysize), 1, 10)
if("max_belly_size")
var/new_bellymax = input(user, "Max belly fat size :\n(0-10, 0 = none)", "Character Preference") as num|null
if(new_bellymax)
features["max_belly_size"] = clamp(round(new_bellymax), 0, 10)
if("belly_shape") //GS13 - belly shapes
var/new_shape
new_shape = input(user, "Belly Type", "Character Preference") as null|anything in GLOB.belly_shapes_list

View File

@@ -874,6 +874,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
//breasts features
S["feature_has_breasts"] >> features["has_breasts"]
S["feature_breasts_size"] >> features["breasts_size"]
S["feature_max_breasts_size"] >> features["max_breasts_size"] //GS13 Edit - Max size
S["feature_breasts_shape"] >> features["breasts_shape"]
S["feature_breasts_color"] >> features["breasts_color"]
S["feature_breasts_producing"] >> features["breasts_producing"]
@@ -889,10 +890,12 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
S["feature_has_butt"] >> features["has_butt"]
S["feature_butt_color"] >> features["butt_color"]
S["feature_butt_size"] >> features["butt_size"]
S["feature_max_butt_size"] >> features["max_butt_size"] //GS13 Edit - Max size
S["feature_butt_visibility"] >> features["butt_visibility"]
//belly features
S["feature_has_belly"] >> features["has_belly"]
S["feature_belly_size"] >> features["belly_size"]
S["feature_max_belly_size"] >> features["max_belly_size"]
S["feature_belly_shape"] >> features["belly_shape"]
S["feature_belly_color"] >> features["belly_color"]
S["feature_hide_belly"] >> features["hide_belly"]
@@ -1291,6 +1294,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["feature_has_breasts"], features["has_breasts"])
WRITE_FILE(S["feature_breasts_size"], features["breasts_size"])
WRITE_FILE(S["feature_max_breasts_size"], features["max_breasts_size"]) //GS13 Edit - Max size
WRITE_FILE(S["feature_breasts_shape"], features["breasts_shape"])
WRITE_FILE(S["feature_breasts_color"], features["breasts_color"])
WRITE_FILE(S["feature_breasts_producing"], features["breasts_producing"])
@@ -1306,10 +1310,12 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
WRITE_FILE(S["feature_has_butt"], features["has_butt"])
WRITE_FILE(S["feature_butt_color"], features["butt_color"])
WRITE_FILE(S["feature_butt_size"], features["butt_size"])
WRITE_FILE(S["feature_max_butt_size"], features["max_butt_size"]) //GS13 Edit - Max size
WRITE_FILE(S["feature_butt_visibility"], features["butt_visibility"])
//belly features
WRITE_FILE(S["feature_has_belly"], features["has_belly"])
WRITE_FILE(S["feature_belly_size"], features["belly_size"])
WRITE_FILE(S["feature_max_belly_size"], features["max_belly_size"])
WRITE_FILE(S["feature_belly_shape"], features["belly_shape"])
WRITE_FILE(S["feature_belly_color"], features["belly_color"])
WRITE_FILE(S["feature_hide_belly"], features["hide_belly"])

View File

@@ -15,6 +15,10 @@
"mod_welding",
"mod_mouthhole",
"mod_flashlight",
//GS13 Edit
"mod_hydraulic",
"mod_calovoltaic",
"mod_exoskeleton",
)
/datum/techweb_node/mod_advanced