diff --git a/code/datums/mood.dm b/code/datums/mood.dm index cffd9556358..fe91e1db2c6 100644 --- a/code/datums/mood.dm +++ b/code/datums/mood.dm @@ -462,8 +462,8 @@ /datum/mood/proc/set_sanity(amount, minimum = SANITY_INSANE, maximum = SANITY_GREAT, override = FALSE) // If we're out of the acceptable minimum-maximum range move back towards it in steps of 0.7 // If the new amount would move towards the acceptable range faster then use it instead - if(amount < minimum) - amount += clamp(minimum - amount, 0, 0.7) + if(amount < minimum && sanity < minimum) + amount = sanity + 0.7 if((!override && HAS_TRAIT(mob_parent, TRAIT_UNSTABLE)) || amount > maximum) amount = min(sanity, amount) if(amount == sanity) //Prevents stuff from flicking around.