diff --git a/code/__DEFINES/~skyrat_defines/DNA.dm b/code/__DEFINES/~skyrat_defines/DNA.dm index d8c48d45066..bec7a87da31 100644 --- a/code/__DEFINES/~skyrat_defines/DNA.dm +++ b/code/__DEFINES/~skyrat_defines/DNA.dm @@ -70,19 +70,13 @@ //In inches #define PENIS_MIN_GIRTH PENIS_MIN_LENGTH #define PENIS_MAX_GIRTH 20 -/// for non oversized mobs with a 'normal' body size -#define PENIS_MAX_GIRTH_NORMAL_SIZED 15 #define PENIS_DEFAULT_GIRTH 5 // a lil big but not by much #define PENIS_MIN_LENGTH 1 #define PENIS_MAX_LENGTH 36 -/// for non oversized mobs with a 'normal' body size -#define PENIS_MAX_LENGTH_NORMAL_SIZED 20 #define PENIS_DEFAULT_LENGTH 6 //still a lil long but not insane #define TESTICLES_MIN_SIZE 0 #define TESTICLES_MAX_SIZE 6 -/// for non oversized mobs with a 'normal' body size -#define TESTICLES_MAX_NORMAL_SIZED 3 #define SHEATH_NONE "None" #define SHEATH_NORMAL "Sheath" diff --git a/modular_skyrat/master_files/code/modules/client/preferences/genitals.dm b/modular_skyrat/master_files/code/modules/client/preferences/genitals.dm index 8c89617fa16..7bc229b0d0a 100644 --- a/modular_skyrat/master_files/code/modules/client/preferences/genitals.dm +++ b/modular_skyrat/master_files/code/modules/client/preferences/genitals.dm @@ -199,24 +199,9 @@ var/part_enabled = is_factual_sprite_accessory(relevant_mutant_bodypart, preferences.read_preference(/datum/preference/choiced/genital/penis)) return erp_allowed && part_enabled && (passed_initial_check || allowed) -/// The difference between the absolute max length and the length for normal sized mobs -#define PENIS_LENGTH_ABOVE_NORMAL PENIS_MAX_LENGTH - PENIS_MAX_LENGTH_NORMAL_SIZED - /datum/preference/numeric/penis_length/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences) - // Adjust allowed size based on character size - var/body_size = preferences?.read_preference(/datum/preference/numeric/body_size) || BODY_SIZE_NORMAL - var/has_oversized_quirk = preferences?.all_quirks.Find(/datum/quirk/oversized::name) - // Clamp this for normal sized characters. Max allowed size is proportional to the mob's body_size, rounded up. - if(!has_oversized_quirk) - var/adjusted_size = PENIS_MAX_LENGTH_NORMAL_SIZED - if(body_size > 1) - adjusted_size = ceil(round(PENIS_MAX_LENGTH_NORMAL_SIZED, step) + ((((body_size - round(1, step)) * round(2, step))) * round(PENIS_LENGTH_ABOVE_NORMAL, step))) // floating point inaccuracy fun - if(value > adjusted_size) - value = adjusted_size target.dna.features["penis_size"] = value -#undef PENIS_LENGTH_ABOVE_NORMAL - /datum/preference/numeric/penis_length/create_default_value() // if you change from this to PENIS_MAX_LENGTH the game should laugh at you return round(max(PENIS_MIN_LENGTH, PENIS_DEFAULT_LENGTH)) @@ -235,24 +220,9 @@ var/part_enabled = is_factual_sprite_accessory(relevant_mutant_bodypart, preferences.read_preference(/datum/preference/choiced/genital/penis)) return erp_allowed && part_enabled && (passed_initial_check || allowed) -/// The difference between the absolute max girth and the girth for normal sized mobs -#define PENIS_GIRTH_ABOVE_NORMAL PENIS_MAX_GIRTH - PENIS_MAX_GIRTH_NORMAL_SIZED - /datum/preference/numeric/penis_girth/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences) - // Adjust allowed size based on character size - var/body_size = preferences?.read_preference(/datum/preference/numeric/body_size) || BODY_SIZE_NORMAL - var/has_oversized_quirk = preferences?.all_quirks.Find(/datum/quirk/oversized::name) - // Clamp this for normal sized characters. Max allowed size is proportional to the mob's body_size, rounded up. - if(!has_oversized_quirk) - var/adjusted_size = PENIS_MAX_GIRTH_NORMAL_SIZED - if(body_size > 1) - adjusted_size = ceil(round(PENIS_MAX_GIRTH_NORMAL_SIZED, step) + ((((body_size - round(1, step)) * round(2, step))) * round(PENIS_GIRTH_ABOVE_NORMAL, step))) // floating point inaccuracy fun - if(value > adjusted_size) - value = adjusted_size target.dna.features["penis_girth"] = value -#undef PENIS_GIRTH_ABOVE_NORMAL - /datum/preference/numeric/penis_girth/create_default_value() return round(max(PENIS_MIN_GIRTH, PENIS_DEFAULT_GIRTH)) @@ -352,8 +322,8 @@ savefile_identifier = PREFERENCE_CHARACTER savefile_key = "balls_size" relevant_mutant_bodypart = ORGAN_SLOT_TESTICLES - minimum = 0 - maximum = 6 + minimum = TESTICLES_MIN_SIZE + maximum = TESTICLES_MAX_SIZE /datum/preference/numeric/balls_size/is_accessible(datum/preferences/preferences) var/passed_initial_check = ..(preferences) diff --git a/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm b/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm index 68e72da16c2..4708d892bd5 100644 --- a/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm +++ b/modular_skyrat/modules/customization/modules/surgery/organs/genitals.dm @@ -259,7 +259,7 @@ layers = EXTERNAL_ADJACENT | EXTERNAL_BEHIND /obj/item/organ/external/genital/testicles/update_genital_icon_state() - var/measured_size = clamp(genital_size, 1, 6) + var/measured_size = clamp(genital_size, 1, TESTICLES_MAX_SIZE) var/passed_string = "testicles_[genital_type]_[measured_size]" if(uses_skintones) passed_string += "_s" @@ -283,7 +283,7 @@ /obj/item/organ/external/genital/testicles/get_sprite_size_string() var/measured_size = FLOOR(genital_size,1) - measured_size = clamp(measured_size, 0, 6) + measured_size = clamp(measured_size, 0, TESTICLES_MAX_SIZE) var/passed_string = "[genital_type]_[measured_size]" if(uses_skintones) passed_string += "_s"