diff --git a/code/defines/global.dm b/code/defines/global.dm
index 5e58dde1824..4906c6a80df 100644
--- a/code/defines/global.dm
+++ b/code/defines/global.dm
@@ -71,6 +71,7 @@ var
enter_allowed = 1
shuttle_frozen = 0
shuttle_left = 0
+ tinted_weldhelh = 0
captainMax = 1
engineerMax = 5
diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm
index 092c07fa692..76134694e1e 100644
--- a/code/modules/admin/admin.dm
+++ b/code/modules/admin/admin.dm
@@ -2209,6 +2209,17 @@ var/showadminmessages = 1
usr << "Sorry, this mob have no mind!"
M.mind.edit_memory()
+/obj/admins/proc/toggletintedweldhelmets()
+ set category = "Debug"
+ set desc="Reduces view range when wearing welding helmets"
+ set name="Toggle tinted welding helmes"
+ tinted_weldhelh = !( tinted_weldhelh )
+ if (tinted_weldhelh)
+ world << "The tinted_weldhelh has been enabled!"
+ else
+ world << "The tinted_weldhelh has been disabled!"
+ log_admin("[key_name(usr)] toggled tinted_weldhelh.")
+ message_admins("[key_name_admin(usr)] toggled tinted_weldhelh.", 1)
//
//
//ALL DONE
diff --git a/code/modules/admin/admin_verbs.dm b/code/modules/admin/admin_verbs.dm
index 05d231790e1..30565accaed 100644
--- a/code/modules/admin/admin_verbs.dm
+++ b/code/modules/admin/admin_verbs.dm
@@ -80,6 +80,8 @@
src.verbs += /client/proc/ticklag
src.verbs += /proc/givetestverbs
src.verbs += /obj/admins/proc/spawn_atom
+ src.verbs += /obj/admins/proc/toggletintedweldhelmets
+
// Admin helpers
src.verbs += /client/proc/cmd_admin_attack_log
@@ -204,6 +206,7 @@
src.verbs += /client/proc/ticklag
src.verbs += /proc/givetestverbs
src.verbs += /obj/admins/proc/spawn_atom
+ src.verbs += /obj/admins/proc/toggletintedweldhelmets
// Admin helpers
src.verbs += /client/proc/cmd_admin_attack_log
@@ -329,6 +332,7 @@
//src.verbs += /client/proc/ticklag
//src.verbs += /proc/givetestverbs
//src.verbs += /obj/admins/proc/spawn_atom
+ src.verbs += /obj/admins/proc/toggletintedweldhelmets
// Admin helpers
src.verbs += /client/proc/cmd_admin_attack_log
@@ -481,6 +485,7 @@
//src.verbs += /client/proc/ticklag
//src.verbs += /proc/givetestverbs
//src.verbs += /obj/admins/proc/spawn_atom
+ src.verbs += /obj/admins/proc/toggletintedweldhelmets
// Admin helpers
src.verbs += /client/proc/cmd_admin_attack_log
@@ -623,6 +628,7 @@
//src.verbs += /client/proc/ticklag
//src.verbs += /proc/givetestverbs
//src.verbs += /obj/admins/proc/spawn_atom
+ src.verbs += /obj/admins/proc/toggletintedweldhelmets
// Admin helpers
//src.verbs += /client/proc/cmd_admin_attack_log
@@ -1036,6 +1042,7 @@
src.verbs -= /client/proc/ticklag
src.verbs -= /proc/givetestverbs
src.verbs -= /obj/admins/proc/spawn_atom
+ src.verbs -= /obj/admins/proc/toggletintedweldhelmets
// Admin helpers
src.verbs -= /client/proc/cmd_admin_attack_log
diff --git a/code/modules/mob/living/carbon/human/hud.dm b/code/modules/mob/living/carbon/human/hud.dm
index 0bb2ba5d3fa..5cf851b4fdd 100644
--- a/code/modules/mob/living/carbon/human/hud.dm
+++ b/code/modules/mob/living/carbon/human/hud.dm
@@ -388,6 +388,71 @@
using.mouse_opacity = 0
src.vimpaired += using
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "dither50"
+ using.screen_loc = "3,3 to 5,13"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "dither50"
+ using.screen_loc = "5,3 to 10,5"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "dither50"
+ using.screen_loc = "6,11 to 10,13"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "dither50"
+ using.screen_loc = "11,3 to 13,13"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "black"
+ using.screen_loc = "1,1 to 15,2"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "black"
+ using.screen_loc = "1,3 to 2,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "black"
+ using.screen_loc = "14,3 to 15,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+ using = new src.h_type( src )
+ using.name = null
+ using.icon = ui_style
+ using.icon_state = "black"
+ using.screen_loc = "3,14 to 13,15"
+ using.layer = 17
+ using.mouse_opacity = 0
+ src.darkMask += using
+
mymob.throw_icon = new /obj/screen(null)
mymob.throw_icon.icon = ui_style
mymob.throw_icon.icon_state = "act_throw_off"
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 04f648c8528..96967aaa0d9 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -720,6 +720,9 @@
if(!seer)
src.see_invisible = 0
+ if (istype(src.head, /obj/item/clothing/head/helmet/welding) && tinted_weldhelh)
+ src.see_in_dark = 0
+
if (src.sleep) src.sleep.icon_state = text("sleep[]", src.sleeping)
if (src.rest) src.rest.icon_state = text("rest[]", src.resting)
@@ -791,6 +794,7 @@
src.client.screen -= src.hud_used.blurry
src.client.screen -= src.hud_used.druggy
src.client.screen -= src.hud_used.vimpaired
+ src.client.screen -= src.hud_used.darkMask
if ((src.blind && src.stat != 2))
if ((src.blinded))
@@ -807,6 +811,9 @@
if (src.druggy)
src.client.screen += src.hud_used.druggy
+ if (istype(src.head, /obj/item/clothing/head/helmet/welding) && tinted_weldhelh)
+ src.client.screen += src.hud_used.darkMask
+
if (src.stat != 2)
if (src.machine)
if (!( src.machine.check_eye(src) ))
diff --git a/code/modules/power/apc.dm b/code/modules/power/apc.dm
index 0ac6d248d7c..9765e46eaf7 100644
--- a/code/modules/power/apc.dm
+++ b/code/modules/power/apc.dm
@@ -261,7 +261,7 @@
W.loc = src
cell = W
user.visible_message(\
- "\red [user.name] has inserted the power cell. to [src.name]!",\
+ "\red [user.name] has inserted the power cell to [src.name]!",\
"You insert the power cell.")
chargecount = 0
updateicon()
@@ -271,7 +271,7 @@
user << "\red Close the APC first." //Less hints more mystery!
return
else
- if (has_electronics==1)
+ if (has_electronics==1 && terminal)
has_electronics = 2
stat &= ~MAINT
playsound(src.loc, 'Screwdriver.ogg', 50, 1)