diff --git a/code/_onclick/hud/fullscreen.dm b/code/_onclick/hud/fullscreen.dm
index 496298adfa6..e94445021b9 100644
--- a/code/_onclick/hud/fullscreen.dm
+++ b/code/_onclick/hud/fullscreen.dm
@@ -1,4 +1,3 @@
-
/mob
var/list/screens = list()
@@ -94,9 +93,7 @@
layer = OBFUSCATION_LAYER
/obj/screen/fullscreen/blackout
- icon = 'icons/mob/screen/effects.dmi'
- icon_state = "black"
- screen_loc = ui_entire_screen
+ icon_state = "blackout"
layer = OBFUSCATION_LAYER
/obj/screen/fullscreen/impaired
diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm
index 99109cb79de..b80242ed2f2 100644
--- a/code/game/gamemodes/game_mode.dm
+++ b/code/game/gamemodes/game_mode.dm
@@ -542,7 +542,7 @@ proc/get_logout_report()
continue //AFK client
if(L.stat)
if(L.stat == UNCONSCIOUS)
- msg += "[L.name] ([L.ckey]), the [L.job] (Dying)\n"
+ msg += "[L.name] ([L.ckey]), the [L.job] (Unconscious)\n"
continue //Unconscious
if(L.stat == DEAD)
msg += "[L.name] ([L.ckey]), the [L.job] (Dead)\n"
diff --git a/code/game/machinery/OpTable.dm b/code/game/machinery/OpTable.dm
index 16765f47ce3..14da8624061 100644
--- a/code/game/machinery/OpTable.dm
+++ b/code/game/machinery/OpTable.dm
@@ -91,6 +91,8 @@
if(suppressing && victim.sleeping < 7)
victim.Sleeping(7 - victim.sleeping)
victim.willfully_sleeping = FALSE
+ if(victim.eye_blurry < 7)
+ victim.eye_blurry = (7 - victim.eye_blurry)
icon_state = victim.pulse() ? "[modify_state]-active" : "[modify_state]-idle"
if(victim.stat == DEAD || victim.is_asystole() || victim.status_flags & FAKEDEATH)
icon_state = "[modify_state]-critical"
@@ -103,7 +105,7 @@
/obj/machinery/optable/proc/take_victim(mob/living/carbon/C, mob/living/carbon/user)
if(C == user)
- user.visible_message("\The [user] climbs on \the [src].","You climb on \the [src].")
+ user.visible_message("\The [user] climbs on \the [src].", "You climb on \the [src].")
else
visible_message(SPAN_NOTICE("\The [C] has been laid on \the [src] by \the [user]."))
if(C.client)
diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm
index cf577c09384..71e40a0f385 100644
--- a/code/modules/mob/living/carbon/carbon.dm
+++ b/code/modules/mob/living/carbon/carbon.dm
@@ -381,11 +381,12 @@
set category = "IC"
if(usr.sleeping)
- to_chat(usr, SPAN_WARNING("You are already sleeping"))
+ to_chat(usr, SPAN_WARNING("You are already asleep."))
return
- if(alert(src,"You sure you want to sleep for a while?","Sleep","Yes","No") == "Yes")
+ if(alert(src,"Are you sure you want to sleep for a while?", "Sleep", "Yes", "No") == "Yes")
willfully_sleeping = TRUE
- usr.sleeping = 20 //Short nap
+ usr.sleeping = 20 // Short nap.
+ usr.eye_blurry = 20
/mob/living/carbon/Collide(atom/A)
if(now_pushing)
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index d1361632d01..3279b3300ea 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -766,6 +766,9 @@
blinded = TRUE
if(sleeping)
stat = UNCONSCIOUS
+ if(!sleeping_msg_debounce)
+ sleeping_msg_debounce = TRUE
+ to_chat(src, SPAN_NOTICE(FONT_LARGE("You are now unconscious.
You will not remember anything you \"see\" happening around you until you regain consciousness.")))
adjustHalLoss(-3)
if (species.tail)
@@ -790,6 +793,7 @@
//CONSCIOUS
else if(!InStasis())
stat = CONSCIOUS
+ sleeping_msg_debounce = FALSE
willfully_sleeping = FALSE
// Check everything else.
diff --git a/code/modules/mob/living/life.dm b/code/modules/mob/living/life.dm
index 9eaa8b1b1bb..8be026e8ceb 100644
--- a/code/modules/mob/living/life.dm
+++ b/code/modules/mob/living/life.dm
@@ -174,7 +174,7 @@
/mob/living/proc/update_living_sight()
var/set_sight_flags = is_ventcrawling ? (SEE_TURFS) : sight & ~(SEE_TURFS|SEE_MOBS|SEE_OBJS)
- if((stat & UNCONSCIOUS) || is_ventcrawling)
+ if(is_ventcrawling)
set_sight_flags |= BLIND
else
set_sight_flags &= ~BLIND
diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm
index 82c6c368b72..a0e2126b9a2 100644
--- a/code/modules/mob/mob_defines.dm
+++ b/code/modules/mob/mob_defines.dm
@@ -59,17 +59,17 @@
var/character_id = 0
var/obj/machinery/machine = null
var/other_mobs = null
- var/sdisabilities = 0 //Carbon
- var/disabilities = 0 //Carbon
+ var/sdisabilities = 0 //Carbon
+ var/disabilities = 0 //Carbon
var/atom/movable/pulling = null
var/next_move = null
- var/transforming = null //Carbon
+ var/transforming = null //Carbon
var/other = 0.0
var/hand = null
- var/eye_blind = null //Carbon
- var/eye_blurry = null //Carbon
- var/ear_deaf = null //Carbon
- var/ear_damage = null //Carbon
+ var/eye_blind = null //Carbon
+ var/eye_blurry = null //Carbon
+ var/ear_deaf = null //Carbon
+ var/ear_damage = null //Carbon
var/stuttering = null
var/slurring = null
var/brokejaw = null
@@ -85,14 +85,15 @@
var/list/ccia_actions = list()
var/exploit_record = ""
var/blinded = null
- var/bhunger = 0 //Carbon
+ var/bhunger = 0 //Carbon
var/ajourn = 0
- var/druggy = 0 //Carbon
- var/confused = 0 //Carbon
+ var/druggy = 0 //Carbon
+ var/confused = 0 //Carbon
var/antitoxs = null
var/phoron = null
- var/sleeping = 0 //Carbon
- var/resting = 0 //Carbon
+ var/sleeping = 0 //Carbon
+ var/sleeping_msg_debounce = FALSE //Carbon - Used to show a message once every time someone falls asleep.
+ var/resting = 0 //Carbon
var/lying = 0
var/lying_prev = 0
var/canmove = 1
@@ -245,4 +246,4 @@
var/mob_thinks = TRUE
var/authed = TRUE
- var/player_age = "Requires database"
+ var/player_age = "Requires database"
\ No newline at end of file
diff --git a/code/modules/organs/internal/lungs.dm b/code/modules/organs/internal/lungs.dm
index 2a3444e6dc3..0b3cebbb6c0 100644
--- a/code/modules/organs/internal/lungs.dm
+++ b/code/modules/organs/internal/lungs.dm
@@ -139,7 +139,6 @@
var/safe_exhaled_max = 10
var/safe_toxins_max = 0.2
- var/SA_para_min = 1
var/SA_sleep_min = 5
var/inhaled_gas_used = 0
@@ -243,15 +242,10 @@
if(breath.gas[GAS_N2O])
var/SA_pp = (breath.gas[GAS_N2O] / breath.total_moles) * breath_pressure
- // Enough to make us paralysed for a bit
- if(SA_pp > SA_para_min)
-
- // 3 gives them one second to wake up and run away a bit!
- owner.Paralyse(3)
-
- // Enough to make us sleep as well
- if(SA_pp > SA_sleep_min)
- owner.Sleeping(10)
+ // Enough to make us sleep as well
+ if(SA_pp > SA_sleep_min)
+ owner.Sleeping(10)
+ owner.eye_blurry = 10
// There is sleeping gas in their lungs, but only a little, so give them a bit of a warning
else if(SA_pp > 0.15)
diff --git a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
index 6583d11a44c..7c1eea6b91a 100644
--- a/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
+++ b/code/modules/reagents/Chemistry-Reagents/Chemistry-Reagents-Toxins.dm
@@ -542,6 +542,7 @@
M.eye_blurry = max(M.eye_blurry, 10)
else
M.sleeping = max(M.sleeping, 30)
+ M.eye_blurry = max(M.eye_blurry, 30)
if(dose > 1)
M.add_chemical_effect(CE_TOXIN, removed)
diff --git a/html/changelogs/unconsciousness_overlay.yml b/html/changelogs/unconsciousness_overlay.yml
new file mode 100644
index 00000000000..86827112695
--- /dev/null
+++ b/html/changelogs/unconsciousness_overlay.yml
@@ -0,0 +1,8 @@
+author: SleepyGemmy
+
+delete-after: True
+
+changes:
+ - tweak: "Tweaks unconsciousness so you are able to see 1.5 tiles around your character (including the tile they are on)."
+ - rscadd: "Adds a informative message when losing consciousness."
+ - rscdel: "Removes paralysis from N2O as it was redundant."
\ No newline at end of file
diff --git a/icons/mob/screen/full.dmi b/icons/mob/screen/full.dmi
index 4098cc91720..94f2e10ded4 100644
Binary files a/icons/mob/screen/full.dmi and b/icons/mob/screen/full.dmi differ