diff --git a/code/controllers/configuration/entries/game_options.dm b/code/controllers/configuration/entries/game_options.dm index fdf7ffd663..e79862c80c 100644 --- a/code/controllers/configuration/entries/game_options.dm +++ b/code/controllers/configuration/entries/game_options.dm @@ -519,10 +519,10 @@ min_val = RESIZE_DEFAULT_SIZE integer = FALSE -//Pun-Pun movement slowdown given to characters with a body size smaller than this value, +//Penalties given to characters with a body size smaller than this value, //to compensate for their smaller hitbox. //To disable, just make sure the value is lower than 'body_size_min' -/datum/config_entry/number/threshold_body_size_slowdown +/datum/config_entry/number/threshold_body_size_penalty config_entry_value = RESIZE_DEFAULT_SIZE * 0.85 min_val = 0 max_val = RESIZE_DEFAULT_SIZE diff --git a/code/datums/dna.dm b/code/datums/dna.dm index a6510d3336..45a9ec3bb3 100644 --- a/code/datums/dna.dm +++ b/code/datums/dna.dm @@ -699,10 +699,11 @@ //new size detected holder.resize = features["body_size"] / old_size holder.update_transform() - if(features["body_size"] < 1 && old_size >= 1) + var/penalty_threshold = CONFIG_GET(number/threshold_body_size_penalty) + if(features["body_size"] < penalty_threshold && old_size >= penalty_threshold) holder.maxhealth -= 10 //reduce the maxhealth else - if(old_size < 1 && features["body_size"] >= 1) + if(old_size < penalty_threshold && features["body_size"] >= penalty_threshold) holder.maxhealth += 10 //give the maxhealth back diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 89a4cdb650..7c9708a249 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -2246,7 +2246,7 @@ GLOBAL_LIST_EMPTY(preferences_datums) if("body_size") var/new_body_size = input(user, "Choose your desired sprite size: (90-125%)\nWarning: This may make your character look distorted. Additionally, any size under 100% takes a 10% maximum health penalty", "Character Preference", features["body_size"]*100) as num|null if(new_body_size) - body_size = clamp(new_body_size * 0.01, 90, 125) + body_size = clamp(new_body_size * 0.01, CONFIG_GET(number/body_size_min), CONFIG_GET(number/body_size_max)) if("tongue") var/selected_custom_tongue = input(user, "Choose your desired tongue (none means your species tongue)", "Character Preference") as null|anything in GLOB.roundstart_tongues