diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm
index f8909b8f4a..92551d485d 100644
--- a/code/modules/client/preferences.dm
+++ b/code/modules/client/preferences.dm
@@ -47,7 +47,7 @@ GLOBAL_LIST_EMPTY(preferences_datums)
var/uses_glasses_colour = 0
- var/screenshake = 1
+ var/screenshake = 100
var/damagescreenshake = 2
//character preferences
@@ -364,10 +364,9 @@ GLOBAL_LIST_EMPTY(preferences_datums)
dat += "Disabled"
else
dat += "High"
-
dat += "
"
- dat += "Screen Shake: [(screenshake==1) ? "Full" : ((screenshake==0) ? "None" : "Reduced")]
"
+ dat += "Screen Shake: [(screenshake==100) ? "Full" : ((screenshake==0) ? "None" : [screenshake])]
"
if (!user.client.prefs.screenshake==0)
dat += "Damage Screen Shake: [(damagescreenshake==1) ? "On" : ((damagescreenshake==0) ? "Off" : "Only when down")]
"
@@ -1495,16 +1494,10 @@ GLOBAL_LIST_EMPTY(preferences_datums)
features["exhibitionist"] = TRUE
else
features["exhibitionist"] = FALSE
- if("screenshake")
- switch(screenshake)
- if(0)
- screenshake = 1
- if(1)
- screenshake = 2
- if(2)
- screenshake = 0
- else
- screenshake = 1
+ if ("screenshake")
+ var/desiredshake = input(user, "Set the amount of screenshake you want. \n(0 = disabled, 100 = full, 200 = maximum.)", "Character Preference", screenshake) as null|num
+ if (!isnull(desiredshake))
+ screenshake = desiredshake
if("damagescreenshake")
switch(damagescreenshake)
if(0)
diff --git a/code/modules/client/preferences_savefile.dm b/code/modules/client/preferences_savefile.dm
index a6acba8c69..9daad5cae7 100644
--- a/code/modules/client/preferences_savefile.dm
+++ b/code/modules/client/preferences_savefile.dm
@@ -217,7 +217,7 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
ghost_others = sanitize_inlist(ghost_others, GLOB.ghost_others_options, GHOST_OTHERS_DEFAULT_OPTION)
menuoptions = SANITIZE_LIST(menuoptions)
be_special = SANITIZE_LIST(be_special)
- screenshake = sanitize_integer(screenshake, 0, 2, initial(screenshake))
+ screenshake = sanitize_integer(screenshake, 0, 200, initial(screenshake))
damagescreenshake = sanitize_integer(damagescreenshake, 0, 2, initial(damagescreenshake))