diff --git a/code/datums/dna.dm b/code/datums/dna.dm
index cd90b554ac..a6510d3336 100644
--- a/code/datums/dna.dm
+++ b/code/datums/dna.dm
@@ -696,11 +696,13 @@
/datum/dna/proc/update_body_size(old_size)
if(!holder || features["body_size"] == old_size)
return
+ //new size detected
holder.resize = features["body_size"] / old_size
holder.update_transform()
- var/danger = CONFIG_GET(number/threshold_body_size_slowdown)
- if(features["body_size"] < danger)
- var/slowdown = (1 - round(features["body_size"] / danger, 0.1)) * CONFIG_GET(number/body_size_slowdown_multiplier)
- holder.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/small_stride, TRUE, slowdown)
- else if(old_size < danger)
- holder.remove_movespeed_modifier(/datum/movespeed_modifier/small_stride)
+ if(features["body_size"] < 1 && old_size >= 1)
+ holder.maxhealth -= 10 //reduce the maxhealth
+ else
+ if(old_size < 1 && features["body_size"] >= 1)
+ holder.maxhealth += 10 //give the maxhealth back
+
+
diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index d817cc3a53..58e91e82c0 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -482,7 +482,6 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += " Change
"
mutant_colors = TRUE
- if (CONFIG_GET(number/body_size_min) != CONFIG_GET(number/body_size_max))
dat += "Sprite Size: [features["body_size"]*100]%
"
if(!(NOEYES in pref_species.species_traits))
@@ -2245,21 +2244,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
gender = chosengender
if("body_size")
- var/min = CONFIG_GET(number/body_size_min)
- var/max = CONFIG_GET(number/body_size_max)
- var/danger = CONFIG_GET(number/threshold_body_size_slowdown)
- var/new_body_size = input(user, "Choose your desired sprite size: ([min*100]%-[max*100]%)\nWarning: This may make your character look distorted[danger > min ? "! Additionally, a proportional movement speed penalty will be applied to characters smaller than [danger*100]%." : "!"]", "Character Preference", features["body_size"]*100) as num|null
- if (new_body_size)
- new_body_size = clamp(new_body_size * 0.01, min, max)
- var/dorfy
- if((new_body_size + 0.01) < danger) // Adding 0.01 as a dumb fix to prevent the warning message from appearing when exactly at threshold... Not sure why that happens in the first place.
- dorfy = alert(user, "You have chosen a size below the slowdown threshold of [danger*100]%. For balancing purposes, the further you go below this percentage, the slower your character will be. Do you wish to keep this size?", "Speed Penalty Alert", "Yes", "Move it to the threshold", "No")
- if(dorfy == "Move it to the threshold")
- new_body_size = danger
- if(!dorfy) //Aborts if this var is somehow empty
- return
- if(dorfy != "No")
- features["body_size"] = new_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)
+
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
if(selected_custom_tongue)