diff --git a/code/modules/client/client_colour.dm b/code/modules/client/client_colour.dm
index 22b15ea8..9628dfe0 100644
--- a/code/modules/client/client_colour.dm
+++ b/code/modules/client/client_colour.dm
@@ -89,6 +89,9 @@
/datum/client_colour/glass_colour/yellow
colour = "#ffff66"
+/datum/client_colour/glass_colour/lightyellow
+ colour = "#ffffdd"
+
/datum/client_colour/glass_colour/red
colour = "#ffaaaa"
@@ -107,6 +110,8 @@
/datum/client_colour/glass_colour/gray
colour = "#cccccc"
+/datum/client_colour/glass_colour/white
+ colour = "#ffffff" // Just to force an action where there is no shade.
/datum/client_colour/monochrome
colour = list(rgb(77,77,77), rgb(150,150,150), rgb(28,28,28), rgb(0,0,0))
diff --git a/hyperstation/code/obj/ZaoCorp/hat.dm b/hyperstation/code/obj/ZaoCorp/hat.dm
index 9576ab3c..f8446107 100644
--- a/hyperstation/code/obj/ZaoCorp/hat.dm
+++ b/hyperstation/code/obj/ZaoCorp/hat.dm
@@ -42,7 +42,7 @@
to_chat(user, "You toggle the hat\'s cloaking.")
else
icon_state = "zaohat"
- to_chat(user, "You toggle the hat back to it\'s original state.")
+ to_chat(user, "You reveal the hat again.")
usr.update_inv_head() //so our mob-overlays update
/obj/item/clothing/head/zao/examine(mob/user)
diff --git a/hyperstation/code/obj/ZaoCorp/suit.dm b/hyperstation/code/obj/ZaoCorp/suit.dm
index 02583dae..ddc4cd27 100644
--- a/hyperstation/code/obj/ZaoCorp/suit.dm
+++ b/hyperstation/code/obj/ZaoCorp/suit.dm
@@ -6,6 +6,7 @@
item_state = "zaocoat"
item_color = "zaocoat"
alternate_worn_icon = 'hyperstation/icons/mobs/suits.dmi'
+ togglename = "zipper"
body_parts_covered = CHEST|ARMS|LEGS
cold_protection = CHEST|GROIN|LEGS|ARMS
min_cold_protection_temperature = FIRE_SUIT_MIN_TEMP_PROTECT
@@ -15,4 +16,17 @@
resistance_flags = FLAMMABLE
armor = list("melee" = 25, "bullet" = 25, "laser" = 5, "energy" = 15, "bomb" = 15, "bio" = 0, "rad" = 0, "fire" = 10, "acid" = 30)
// armor = list("melee" = 50, "bullet" = 50, "laser" = 10, "energy" = 30, "bomb" = 30, "bio" = 0, "rad" = 0, "fire" = 20, "acid" = 60)
- allowed = null //For sword later
\ No newline at end of file
+ allowed = list(/obj/item/ammo_box,
+ /obj/item/ammo_casing,
+ /obj/item/flashlight,
+ /obj/item/storage/fancy/cigarettes,
+ /obj/item/gun/ballistic,
+ /obj/item/gun/energy,
+ /obj/item/lighter,
+ /obj/item/melee/baton,
+ /obj/item/melee/classic_baton/telescopic,
+ /obj/item/reagent_containers/spray/pepper,
+ /obj/item/restraints/handcuffs,
+ /obj/item/tank/internals/emergency_oxygen,
+ /obj/item/tank/internals/plasmaman,
+ /obj/item/toy) // Will be modifying/removing/adding more at a later date.
\ No newline at end of file
diff --git a/hyperstation/code/obj/ZaoCorp/uniform.dm b/hyperstation/code/obj/ZaoCorp/uniform.dm
index ffb508dd..4865c105 100644
--- a/hyperstation/code/obj/ZaoCorp/uniform.dm
+++ b/hyperstation/code/obj/ZaoCorp/uniform.dm
@@ -1,6 +1,6 @@
/obj/item/clothing/under/rank/security/zao
name = "zao uniform"
- desc = "The standard-issue police force uniform of Zao Corp. Made with a more formal approach to a dress shirt attire while retaining the protective fibers and identity with the blue arm bands. Tie and waistcoat encouraged."
+ desc = "The standard-issue police force uniform of Zao Corp. Made with a more formal approach to a dress shirt attire while retaining the protective fibers and identity with the blue arm bands. Waistcoat encouraged."
icon = 'hyperstation/icons/obj/clothing/uniforms.dmi'
icon_state = "zaounder"
item_state = "zaounder"
diff --git a/hyperstation/code/obj/ZaoCorp/visor.dm b/hyperstation/code/obj/ZaoCorp/visor.dm
new file mode 100644
index 00000000..d3a5fed5
--- /dev/null
+++ b/hyperstation/code/obj/ZaoCorp/visor.dm
@@ -0,0 +1,45 @@
+/obj/item/clothing/glasses/hud/toggle/zao
+ name = "zao security visor"
+ desc = "A security visor from ZaoCorp designed to deploy and retract it's visor on a whim."
+ icon = 'hyperstation/icons/obj/clothing/glasses.dmi'
+ icon_state = "zaovisor"
+ item_state = "trayson-meson"
+ flash_protect = 1
+ tint = 1
+ flags_cover = GLASSESCOVERSEYES
+ visor_flags_cover = GLASSESCOVERSEYES
+ alternate_worn_icon = 'hyperstation/icons/mobs/eyes.dmi'
+ hud_type = DATA_HUD_SECURITY_ADVANCED
+ actions_types = list(/datum/action/item_action/switch_hud)
+ glass_colour_type = /datum/client_colour/glass_colour/lightyellow
+
+/obj/item/clothing/glasses/hud/toggle/zao/attack_self(mob/user)
+ if(!ishuman(user))
+ return
+ var/mob/living/carbon/human/wearer = user
+ if (wearer.glasses != src)
+ return
+
+ if (hud_type)
+ var/datum/atom_hud/H = GLOB.huds[hud_type]
+ H.remove_hud_from(user)
+
+ if (hud_type == DATA_HUD_SECURITY_ADVANCED)
+ icon_state = "zaovisor_off"
+ item_state = "zaovisor_off"
+ hud_type = null
+ flash_protect = 0
+ tint = 0
+ change_glass_color(user, /datum/client_colour/glass_colour/white)
+ else
+ hud_type = DATA_HUD_SECURITY_ADVANCED
+ icon_state = "zaovisor"
+ item_state = "zaovisor"
+ flash_protect = 1
+ tint = 1
+ change_glass_color(user, /datum/client_colour/glass_colour/lightyellow)
+
+ if (hud_type)
+ var/datum/atom_hud/H = GLOB.huds[hud_type]
+ H.add_hud_to(user)
+ user.update_inv_glasses()
diff --git a/hyperstation/icons/mobs/eyes.dmi b/hyperstation/icons/mobs/eyes.dmi
new file mode 100644
index 00000000..d9ecfc2e
Binary files /dev/null and b/hyperstation/icons/mobs/eyes.dmi differ
diff --git a/hyperstation/icons/mobs/uniforms.dmi b/hyperstation/icons/mobs/uniforms.dmi
index b9ac335e..2a16fa05 100644
Binary files a/hyperstation/icons/mobs/uniforms.dmi and b/hyperstation/icons/mobs/uniforms.dmi differ
diff --git a/hyperstation/icons/obj/clothing/glasses.dmi b/hyperstation/icons/obj/clothing/glasses.dmi
index 5c030a88..7dfa8170 100644
Binary files a/hyperstation/icons/obj/clothing/glasses.dmi and b/hyperstation/icons/obj/clothing/glasses.dmi differ
diff --git a/hyperstation/icons/obj/clothing/uniforms.dmi b/hyperstation/icons/obj/clothing/uniforms.dmi
index 2e2adff5..56e017c5 100644
Binary files a/hyperstation/icons/obj/clothing/uniforms.dmi and b/hyperstation/icons/obj/clothing/uniforms.dmi differ
diff --git a/icons/mob/inhands/clothing_lefthand.dmi b/icons/mob/inhands/clothing_lefthand.dmi
index 1245b5bf..0dc83bbd 100644
Binary files a/icons/mob/inhands/clothing_lefthand.dmi and b/icons/mob/inhands/clothing_lefthand.dmi differ
diff --git a/icons/mob/inhands/clothing_righthand.dmi b/icons/mob/inhands/clothing_righthand.dmi
index 1d41a60a..554c7e59 100644
Binary files a/icons/mob/inhands/clothing_righthand.dmi and b/icons/mob/inhands/clothing_righthand.dmi differ
diff --git a/modular_citadel/code/modules/client/loadout/backpack.dm b/modular_citadel/code/modules/client/loadout/backpack.dm
index 7a257bdb..a9dfec8b 100644
--- a/modular_citadel/code/modules/client/loadout/backpack.dm
+++ b/modular_citadel/code/modules/client/loadout/backpack.dm
@@ -255,3 +255,8 @@
path = /obj/item/toy/plush/mammal/chemlight
ckeywhitelist = list("chemlight")
//Done with that.
+
+/datum/gear/waistcoat
+ name = "Waistcoat"
+ category = SLOT_IN_BACKPACK
+ path = /obj/item/clothing/accessory/waistcoat
diff --git a/modular_citadel/icons/mob/uniform_digi.dmi b/modular_citadel/icons/mob/uniform_digi.dmi
index 964eb9bb..ddc536dd 100644
Binary files a/modular_citadel/icons/mob/uniform_digi.dmi and b/modular_citadel/icons/mob/uniform_digi.dmi differ
diff --git a/tgstation.dme b/tgstation.dme
index 2c63313a..1f769e69 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -3174,6 +3174,7 @@
#include "hyperstation\code\obj\ZaoCorp\hat.dm"
#include "hyperstation\code\obj\ZaoCorp\suit.dm"
#include "hyperstation\code\obj\ZaoCorp\uniform.dm"
+#include "hyperstation\code\obj\ZaoCorp\visor.dm"
#include "interface\interface.dm"
#include "interface\menu.dm"
#include "interface\stylesheet.dm"