diff --git a/GainStation13/code/modules/client/preferences/preferences.dm b/GainStation13/code/modules/client/preferences/preferences.dm index 1175fde5..17f77625 100644 --- a/GainStation13/code/modules/client/preferences/preferences.dm +++ b/GainStation13/code/modules/client/preferences/preferences.dm @@ -22,8 +22,69 @@ ///stuckage var/stuckage = FALSE + // Helplessness, a set of prefs that make things extra tough at higher weights. If set to FALSE, they won't do anything. + ///What fatness level disables movement? + var/helplessness_no_movement = FALSE + ///What fatness level makes the user clumsy? + var/helplessness_clumsy = FALSE + ///What fatness level makes the user nearsighted + var/helplessness_nearsighted = FALSE + ///What fatness level makes the user's face unrecognizable. + var/helplessness_hidden_face = FALSE + ///What fatness level makes the user unable to speak? + var/helplessness_mute = FALSE + + ///What fatness level, makes the user unable to use their arms? + var/helplessness_immobile_arms = FALSE + ///What fatness level prevents the user from wearing jumpsuits + var/helplessness_clothing_jumpsuit = FALSE + ///What fatness level prevents the user from wearing non-jumpsuit clothing + var/helplessness_clothing_misc = FALSE + ///What fatness level prevents the user from wearing anything on their back + var/helplessness_clothing_back = FALSE + ///What fatness level prevents the user from being buckled to anything? + var/helplessness_no_buckle + + + ///Does the person wish to be involved with non-con weight gain events? var/noncon_weight_gain = FALSE ///What is the max weight that the person wishes to be? If set to FALSE, there will be no max weight var/max_weight = FALSE + +/// Prompts the user to choose a weight and returns said weight. +/datum/preferences/proc/chose_weight(input_text = "Choose a weight.", mob/user) + var/chosen_weight = FALSE + var/picked_weight_class = input(user, + input_text, + "Character Preference", "None") as null|anything in list( + "None", "Fat", "Fatter", "Very Fat", "Obese", "Morbidly Obese", "Extremely Obese", "Barely Mobile", "Immobile", "Other") + + switch(picked_weight_class) + if("Fat") + chosen_weight = FATNESS_LEVEL_FATTER + if("Fatter") + chosen_weight = FATNESS_LEVEL_VERYFAT + if("Very Fat") + chosen_weight = FATNESS_LEVEL_OBESE + if("Obese") + chosen_weight = FATNESS_LEVEL_MORBIDLY_OBESE + if("Morbidly Obese") + chosen_weight = FATNESS_LEVEL_EXTREMELY_OBESE + if("Extremely Obese") + chosen_weight = FATNESS_LEVEL_BARELYMOBILE + if("Barely Mobile") + chosen_weight = FATNESS_LEVEL_IMMOBILE + if("Immobile") + chosen_weight = FATNESS_LEVEL_BLOB + + if(picked_weight_class != "Other") + return chosen_weight + + var/custom_fatness = input(user, "What fatness level (BFI) would you like to use?", "Character Preference") as null|num + if(isnull(custom_fatness)) + custom_fatness = FALSE + + return custom_fatness + \ No newline at end of file diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index b7c55eec..5469e3e3 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2654,31 +2654,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("blueberry_inflation") blueberry_inflation = !blueberry_inflation if("max_fatness") - var/pickedweight = input(user, - "Choose your max fatness level, your weight will not go beyond this. None will let you gain without a limit", - "Character Preference", "None") as null|anything in list( - "None", "Fat", "Fatter", "Very Fat", "Obese", "Morbidly Obese", "Extremely Obese", "Barely Mobile", "Immobile") - if(pickedweight) - switch(pickedweight) - if("None") - max_weight = FALSE - if("Fat") - max_weight = FATNESS_LEVEL_FATTER - if("Fatter") - max_weight = FATNESS_LEVEL_VERYFAT - if("Very Fat") - max_weight = FATNESS_LEVEL_OBESE - if("Obese") - max_weight = FATNESS_LEVEL_MORBIDLY_OBESE - if("Morbidly Obese") - max_weight = FATNESS_LEVEL_EXTREMELY_OBESE - if("Extremely Obese") - max_weight = FATNESS_LEVEL_BARELYMOBILE - if("Barely Mobile") - max_weight = FATNESS_LEVEL_IMMOBILE - if("Immobile") - max_weight = FATNESS_LEVEL_BLOB - + max_weight = chose_weight("Choose your max fatness level, your weight will not go beyond this. None will let you gain without a limit", user) if("inflatable_belly") features["inflatable_belly"] = !features["inflatable_belly"] if("hide_belly")