diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm
index 712f549626e..fd7b43e0002 100644
--- a/code/modules/mob/living/carbon/human/human.dm
+++ b/code/modules/mob/living/carbon/human/human.dm
@@ -32,6 +32,8 @@
var/active_regen_delay = 300
var/list/teleporters = list() //Used for lleill abilities
+ var/rest_dir = 0 //To lay down in a specific direction
+
/mob/living/carbon/human/Initialize(mapload, var/new_species = null)
if(!dna)
dna = new /datum/dna(null)
@@ -1805,3 +1807,19 @@
vore_fullness = min(vore_capacity, vore_fullness)
update_vore_belly_sprite()
update_vore_tail_sprite()
+
+/mob/living/carbon/human/verb/lay_down_left()
+ set name = "Rest-Left"
+
+ rest_dir = -1
+ resting = !resting
+ to_chat(src, "You are now [resting ? "resting" : "getting up"].")
+ update_canmove()
+
+/mob/living/carbon/human/verb/lay_down_right()
+ set name = "Rest-Right"
+
+ rest_dir = 1
+ resting = !resting
+ to_chat(src, "You are now [resting ? "resting" : "getting up"].")
+ update_canmove()
diff --git a/code/modules/mob/living/carbon/human/update_icons.dm b/code/modules/mob/living/carbon/human/update_icons.dm
index 3a1441f334a..c27553b787b 100644
--- a/code/modules/mob/living/carbon/human/update_icons.dm
+++ b/code/modules/mob/living/carbon/human/update_icons.dm
@@ -161,11 +161,19 @@ var/global/list/damage_icon_parts = list() //see UpdateDamageIcon()
update_tail_showing()
M.Scale(desired_scale_x, desired_scale_y)
else
- var/randn = rand(1, 2)
- if(randn <= 1) // randomly choose a rotation
- M.Turn(-90)
+ if(rest_dir)
+ if(rest_dir < 0)
+ M.Turn(-90)
+ rest_dir = 0
+ else
+ M.Turn(90)
+ rest_dir = 0
else
- M.Turn(90)
+ var/randn = rand(1, 2)
+ if(randn <= 1) // randomly choose a rotation
+ M.Turn(-90)
+ else
+ M.Turn(90)
if(species.icon_height == 64)
M.Translate(13,-22)
else
diff --git a/interface/skin.dmf b/interface/skin.dmf
index 1ac282c4a11..0dfad8ccf52 100644
--- a/interface/skin.dmf
+++ b/interface/skin.dmf
@@ -720,6 +720,12 @@ macro "hotkeymode"
elem
name = "U"
command = "Rest"
+ elem
+ name = "SHIFT+U"
+ command = "Rest-Left"
+ elem
+ name = "CTRL+U"
+ command = "Rest-Right"
elem
name = "B"
command = "Resist"