diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
old mode 100755
new mode 100644
index bb5154797c..476760dae0
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -171,16 +171,16 @@ datum/preferences
used_skillpoints += 6 * multiplier
/datum/preferences/proc/GetSkillClass(points)
+ return CalculateSkillClass(points, age)
+
+/proc/CalculateSkillClass(points, age)
+ if(points <= 0) return "Unconfigured"
// skill classes describe how your character compares in total points
- var/original_points = points
points -= min(round((age - 20) / 2.5), 4) // every 2.5 years after 20, one extra skillpoint
if(age > 30)
points -= round((age - 30) / 5) // every 5 years after 30, one extra skillpoint
- if(original_points > 0 && points <= 0) points = 1
switch(points)
- if(0)
- return "Unconfigured"
- if(1 to 3)
+ if(-1000 to 3)
return "Terrifying"
if(4 to 6)
return "Below Average"
@@ -394,7 +394,7 @@ datum/preferences
dat += "Set Antag Options
"
- dat += "\tSet Skills ([GetSkillClass(used_skillpoints)][used_skillpoints > 0 ? " [used_skillpoints]" : "0"])
"
+ dat += "\tSet Skills ([GetSkillClass(used_skillpoints)] [used_skillpoints > 0 ? "[used_skillpoints]" : "0"])
"
dat += "Set Flavor Text
"
dat += "Set Robot Flavour Text
"
diff --git a/code/modules/mob/new_player/skill.dm b/code/modules/mob/new_player/skill.dm
index 3eb1c6a246..1d6fbf01a4 100644
--- a/code/modules/mob/new_player/skill.dm
+++ b/code/modules/mob/new_player/skill.dm
@@ -168,30 +168,7 @@ proc/setup_skills()
mob/living/carbon/human/proc/GetSkillClass(points)
- // skill classes describe how your character compares in total points
- var/original_points = points
- points -= min(round((age - 20) / 2.5), 4) // every 2.5 years after 20, one extra skillpoint
- if(age > 30)
- points -= round((age - 30) / 5) // every 5 years after 30, one extra skillpoint
- if(original_points > 0 && points <= 0) points = 1
- switch(points)
- if(0)
- return "Unconfigured"
- if(1 to 3)
- return "Terrifying"
- if(4 to 6)
- return "Below Average"
- if(7 to 10)
- return "Average"
- if(11 to 14)
- return "Above Average"
- if(15 to 18)
- return "Exceptional"
- if(19 to 24)
- return "Genius"
- if(24 to 1000)
- return "God"
-
+ return CalculateSkillClass(points, age)
proc/show_skill_window(var/mob/user, var/mob/living/carbon/human/M)
if(!istype(M)) return