From 75fa445d7fcffcbf078b222f6d541201677e306d Mon Sep 17 00:00:00 2001
From: Cursor <102828457+theselfish@users.noreply.github.com>
Date: Sun, 16 Nov 2025 17:50:11 +0000
Subject: [PATCH] Moving Loadouts to Zubbers: Accessories and Glasses (#4923)
## About The Pull Request
To prevent myself from having a mental breakdown again. I'm gonna be
atomizing this project into bite-sized PRs. Part 4 is Accessories and
Glasses, which are grouped together because they're small.
I dunno if I'm gonna finish this project anytime soon, I'm feeling
rather dour, a bit burned out on SS13 truth be told.
## Why It's Good For The Game
Org Good.
## Proof Of Testing
## Changelog
:cl:
code: Accessories and Glasses have been moved to the Zubbers folders.
/:cl:
---
.../modules/loadout/categories/accessories.dm | 53 ----
.../loadout/categories/donator_personal.dm | 31 --
.../modules/loadout/categories/glasses.dm | 230 ---------------
.../modules/loadout/categories/accessories.dm | 82 +++++-
.../modules/loadout/categories/glasses.dm | 268 +++++++++++++++++-
.../categories/~donator/donator_personal.dm | 2 +-
.../overrides/loadout_items/loadout_datum.dm | 20 --
tgstation.dme | 2 -
8 files changed, 339 insertions(+), 349 deletions(-)
delete mode 100644 modular_skyrat/master_files/code/modules/loadout/categories/accessories.dm
delete mode 100644 modular_skyrat/master_files/code/modules/loadout/categories/glasses.dm
diff --git a/modular_skyrat/master_files/code/modules/loadout/categories/accessories.dm b/modular_skyrat/master_files/code/modules/loadout/categories/accessories.dm
deleted file mode 100644
index c198d221773..00000000000
--- a/modular_skyrat/master_files/code/modules/loadout/categories/accessories.dm
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
-* ARMBANDS
-*/
-
-/datum/loadout_item/accessory/armband_medblue
- name = "Blue-White Armband"
- item_path = /obj/item/clothing/accessory/armband/medblue/nonsec
-
-/datum/loadout_item/accessory/armband_med
- name = "White Armband"
- item_path = /obj/item/clothing/accessory/armband/med/nonsec
-
-/datum/loadout_item/accessory/armband_cargo
- name = "Brown Armband"
- item_path = /obj/item/clothing/accessory/armband/cargo/nonsec
-
-/datum/loadout_item/accessory/armband_engineering
- name = "Orange Armband"
- item_path = /obj/item/clothing/accessory/armband/engine/nonsec
-
-/datum/loadout_item/accessory/armband_security_nonsec
- name = "Blue Armband"
- item_path = /obj/item/clothing/accessory/armband/deputy/lopland/nonsec
-
-/datum/loadout_item/accessory/armband_security
- name = "Security Armband"
- item_path = /obj/item/clothing/accessory/armband/deputy/lopland
- restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_CORRECTIONS_OFFICER)
-
-/datum/loadout_item/accessory/armband_security_deputy
- name = "Security Deputy Armband"
- item_path = /obj/item/clothing/accessory/armband/deputy
- restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_CORRECTIONS_OFFICER)
-
-/datum/loadout_item/accessory/armband_science
- name = "Purple Armband"
- item_path = /obj/item/clothing/accessory/armband/science/nonsec
-
-/*
-* ARMOURLESS
-*/
-
-/datum/loadout_item/accessory/bone_charm
- name = "Heirloom Bone Talisman"
- item_path = /obj/item/clothing/accessory/talisman/armourless
-
-/datum/loadout_item/accessory/bone_codpiece
- name = "Heirloom Skull Codpiece"
- item_path = /obj/item/clothing/accessory/skullcodpiece/armourless
-
-/datum/loadout_item/accessory/sinew_kilt
- name = "Heirloom Sinew Skirt"
- item_path = /obj/item/clothing/accessory/skilt/armourless
diff --git a/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm b/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm
index a0d18cd468f..e1421bcf2d6 100644
--- a/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm
+++ b/modular_skyrat/master_files/code/modules/loadout/categories/donator_personal.dm
@@ -172,11 +172,6 @@
item_path = /obj/item/clothing/neck/inferno_collar
//ckeywhitelist = list("inferno707")
-/datum/loadout_item/pocket_items/kiaramedal
- name = "Insignia of Steele"
- item_path = /obj/item/clothing/accessory/medal/steele
- //ckeywhitelist = list("inferno707")
-
/datum/loadout_item/toys/darksabre
name = "Dark Sabre"
item_path = /obj/item/toy/darksabre
@@ -280,11 +275,6 @@
item_path = /obj/item/toy/plush/skyrat/voodoo
//ckeywhitelist = list("gamerguy14948")
-/datum/loadout_item/glasses/roseglasses
- name = "Rose-Colored Glasses"
- item_path = /obj/item/clothing/glasses/rosecolored
- //ckeywhitelist = list("1ceres", "irrigoimport", "zeskorion", "wizardlywoz", "duckymomo", "samarai1000", "funkyfetusstrikesback", "m97screwsyourparents", "lynxqueen", "kaynite", "mahalia", "sapphoqueer", "emmakisst", "ceasethebridge", "valorthix" )
-
/datum/loadout_item/pocket_items/fuzzy_huglicense
name = "License To Hug"
item_path = /obj/item/card/fuzzy_license
@@ -300,11 +290,6 @@
item_path = /obj/item/poster/korpstech
//ckeywhitelist = list("1ceres")
-/datum/loadout_item/glasses/roseeyepatch
- name = "Rose-Colored Eyepatch"
- item_path = /obj/item/clothing/glasses/eyepatch/rosecolored
- //ckeywhitelist = list("kaynite")
-
/datum/loadout_item/suit/tenrai_coat
name = "Tenrai Coat"
item_path = /obj/item/clothing/suit/toggle/labcoat/skyrat/tenrai
@@ -346,22 +331,11 @@
//ckeywhitelist = list("ultimarifox")
restricted_roles = list(JOB_HEAD_OF_SECURITY)
-/datum/loadout_item/glasses/redgigagar
- name = "Red-tinted Giga HUD Gar Glasses"
- item_path = /obj/item/clothing/glasses/hud/security/sunglasses/gars/giga/roselia
- //ckeywhitelist = list("ultimarifox")
- restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER)
-
/datum/loadout_item/toys/roselia_plush
name = "Obscene Sergal Plushie"
item_path = /obj/item/toy/plush/skyrat/roselia
//ckeywhitelist = list("ultimarifox")
-/datum/loadout_item/accessory/mercbadge
- name = "Jade Badge"
- item_path = /obj/item/clothing/accessory/badge/holo/jade
- //ckeywhitelist = list("konstyantyn")
-
/datum/loadout_item/toys/plushe_winrow
name = "Dark and Brooding Lizard Plushie"
item_path = /obj/item/toy/plush/skyrat/chunko/plushie_winrow
@@ -504,11 +478,6 @@
item_path = /obj/item/donator/transponder
// ckeywhitelist = list("glacii")
-/datum/loadout_item/glasses/goldaviator
- name = "Purple and Gold Aviators"
- item_path = /obj/item/clothing/glasses/gold_aviators
- //ckeywhitelist = list("nikohyena")
-
/datum/loadout_item/uniform/caged_dress
name = "Caged Purple Dress"
item_path = /obj/item/clothing/under/caged_dress/skirt
diff --git a/modular_skyrat/master_files/code/modules/loadout/categories/glasses.dm b/modular_skyrat/master_files/code/modules/loadout/categories/glasses.dm
deleted file mode 100644
index 4f02e539058..00000000000
--- a/modular_skyrat/master_files/code/modules/loadout/categories/glasses.dm
+++ /dev/null
@@ -1,230 +0,0 @@
-/*
-* PRESCRIPTION GLASSES
-*/
-
-/datum/loadout_item/glasses/prescription_glasses/thin
- name = "Thin Glasses"
- item_path = /obj/item/clothing/glasses/thin
-
-/datum/loadout_item/glasses/prescription_glasses/better
- name = "Modern Glasses"
- item_path = /obj/item/clothing/glasses/regular/betterunshit
-
-/*
-* COSMETIC GLASSES
-*/
-
-/datum/loadout_item/glasses/cold_glasses
- name = "Cold Glasses"
- item_path = /obj/item/clothing/glasses/cold
-
-/datum/loadout_item/glasses/heat_glasses
- name = "Heat Glasses"
- item_path = /obj/item/clothing/glasses/heat
-
-/datum/loadout_item/glasses/geist_glasses
- name = "Geist Gazers"
- item_path = /obj/item/clothing/glasses/geist_gazers
-
-/datum/loadout_item/glasses/orange_glasses
- name = "Orange Glasses"
- item_path = /obj/item/clothing/glasses/orange
-
-/datum/loadout_item/glasses/psych_glasses
- name = "Psych Glasses"
- item_path = /obj/item/clothing/glasses/psych
-
-/datum/loadout_item/glasses/red_glasses
- name = "Red Glasses"
- item_path = /obj/item/clothing/glasses/red
-
-/*
-* MISC
-*/
-
-/datum/loadout_item/glasses/eyepatch
- name = "Eyepatch"
- item_path = /obj/item/clothing/glasses/eyepatch
-
-/datum/loadout_item/glasses/white_eyepatch
- name = "White Eyepatch"
- item_path = /obj/item/clothing/glasses/eyepatch/white
-
-/datum/loadout_item/glasses/fakeblindfold
- name = "Fake Blindfold"
- item_path = /obj/item/clothing/glasses/trickblindfold
-
-/datum/loadout_item/glasses/obsoleteblindfold
- name = "Obselete Fake Blindfold"
- item_path = /obj/item/clothing/glasses/trickblindfold/obsolete
-
-/datum/loadout_item/glasses/eyewrap
- name = "Eyepatch Wrap"
- item_path = /obj/item/clothing/glasses/eyepatch/wrap
-
-/datum/loadout_item/glasses/monocle
- name = "Monocle"
- item_path = /obj/item/clothing/glasses/monocle
-
-/datum/loadout_item/glasses/biker
- name = "Biker Goggles"
- item_path = /obj/item/clothing/glasses/biker
-
-/datum/loadout_item/glasses/aviator_fake
- name = "Fake Aviators"
- item_path = /obj/item/clothing/glasses/fake_sunglasses/aviator
-
-/datum/loadout_item/glasses/retinal_projector
- name = "Retinal Projector"
- item_path = /obj/item/clothing/glasses/hud/ar/projector
-
-/*
-* JOB-LOCKED
-*/
-
-/datum/loadout_item/glasses/medicpatch
- name = "Medical Eyepatch (Skyrat)"
- item_path = /obj/item/clothing/glasses/hud/eyepatch/med
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
-
-/datum/loadout_item/glasses/robopatch
- name = "Diagnostic Eyepatch"
- item_path = /obj/item/clothing/glasses/hud/eyepatch/diagnostic
- restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_SCIENCE_GUARD)
-
-/datum/loadout_item/glasses/scipatch
- name = "Science Eyepatch"
- item_path = /obj/item/clothing/glasses/hud/eyepatch/sci
- restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_CHEMIST, JOB_SCIENCE_GUARD)
-
-/datum/loadout_item/glasses/mesonpatch
- name = "Meson Eyepatch"
- item_path = /obj/item/clothing/glasses/hud/eyepatch/meson
- restricted_roles = list(JOB_QUARTERMASTER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_CUSTOMS_AGENT, JOB_CHIEF_ENGINEER, JOB_STATION_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_ENGINEERING_GUARD)
-
-/datum/loadout_item/glasses/sechud
- name = "Security HUD"
- item_path = /obj/item/clothing/glasses/hud/security
- restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
-
-/datum/loadout_item/glasses/secpatch
- name = "Security Eyepatch HUD"
- item_path = /obj/item/clothing/glasses/hud/eyepatch/sec
- restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
-
-/datum/loadout_item/glasses/sechud_glasses
- name = "Prescription Security HUD"
- item_path = /obj/item/clothing/glasses/hud/security/prescription
- restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
-
-/datum/loadout_item/glasses/medhud_glasses
- name = "Prescription Medical HUD"
- item_path = /obj/item/clothing/glasses/hud/health/prescription
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
-
-/datum/loadout_item/glasses/diaghud_glasses
- name = "Prescription Diagnostic HUD"
- item_path = /obj/item/clothing/glasses/hud/diagnostic/prescription
- restricted_roles = list(JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST, JOB_ROBOTICIST)
-
-/datum/loadout_item/glasses/science_glasses
- name = "Prescription Science glasses"
- item_path = /obj/item/clothing/glasses/science/prescription
- restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_CHEMIST, JOB_SCIENCE_GUARD)
-
-/datum/loadout_item/glasses/aviator_security
- name = "Security HUD Aviators"
- item_path = /obj/item/clothing/glasses/hud/ar/aviator/security
- restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
-
-/datum/loadout_item/glasses/aviator_health
- name = "Medical HUD Aviators"
- item_path = /obj/item/clothing/glasses/hud/ar/aviator/health
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
-
-/datum/loadout_item/glasses/aviator_meson
- name = "Meson HUD Aviators"
- item_path = /obj/item/clothing/glasses/hud/ar/aviator/meson
- restricted_roles = list(JOB_QUARTERMASTER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_CUSTOMS_AGENT, JOB_CHIEF_ENGINEER, JOB_STATION_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_ENGINEERING_GUARD)
-
-/datum/loadout_item/glasses/aviator_diagnostic
- name = "Diagnostic HUD Aviators"
- item_path = /obj/item/clothing/glasses/hud/ar/aviator/diagnostic
- restricted_roles = list(JOB_RESEARCH_DIRECTOR, JOB_SCIENTIST, JOB_ROBOTICIST)
-
-/datum/loadout_item/glasses/aviator_science
- name = "Science Aviators"
- item_path = /obj/item/clothing/glasses/hud/ar/aviator/science
- restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_CHEMIST, JOB_SCIENCE_GUARD)
-
-
-/datum/loadout_item/glasses/prescription_aviator_security
- name = "Prescription Security HUD Aviators"
- item_path = /obj/item/clothing/glasses/hud/ar/aviator/security/prescription
- restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
-
-/datum/loadout_item/glasses/prescription_aviator_health
- name = "Prescription Medical HUD Aviators"
- item_path = /obj/item/clothing/glasses/hud/ar/aviator/health/prescription
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
-
-/datum/loadout_item/glasses/prescription_aviator_meson
- name = "Prescription Meson HUD Aviators"
- item_path = /obj/item/clothing/glasses/hud/ar/aviator/meson/prescription
- restricted_roles = list(JOB_QUARTERMASTER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_CUSTOMS_AGENT, JOB_CHIEF_ENGINEER, JOB_STATION_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_ENGINEERING_GUARD)
-
-/datum/loadout_item/glasses/prescription_aviator_diagnostic
- name = "Prescription Diagnostic HUD Aviators"
- item_path = /obj/item/clothing/glasses/hud/ar/aviator/diagnostic/prescription
- restricted_roles = list(JOB_RESEARCH_DIRECTOR, JOB_SCIENTIST, JOB_ROBOTICIST)
-
-/datum/loadout_item/glasses/prescription_aviator_science
- name = "Prescription Science Aviators"
- item_path = /obj/item/clothing/glasses/hud/ar/aviator/science/prescription
- restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_CHEMIST, JOB_SCIENCE_GUARD)
-
-/datum/loadout_item/glasses/retinal_projector_security
- name = "Retinal Projector Security HUD"
- item_path = /obj/item/clothing/glasses/hud/ar/projector/security
- restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
-
-/datum/loadout_item/glasses/retinal_projector_health
- name = "Retinal Projector Health HUD"
- item_path = /obj/item/clothing/glasses/hud/ar/projector/health
- restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
-
-/datum/loadout_item/glasses/retinal_projector_meson
- name = "Retinal Projector Meson HUD"
- item_path = /obj/item/clothing/glasses/hud/ar/projector/meson
- restricted_roles = list(JOB_QUARTERMASTER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_CUSTOMS_AGENT, JOB_CHIEF_ENGINEER, JOB_STATION_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_ENGINEERING_GUARD)
-
-/datum/loadout_item/glasses/retinal_projector_diagnostic
- name = "Retinal Projector Diagnostic HUD"
- item_path = /obj/item/clothing/glasses/hud/ar/projector/diagnostic
- restricted_roles = list(JOB_RESEARCH_DIRECTOR, JOB_SCIENTIST, JOB_ROBOTICIST)
-
-/datum/loadout_item/glasses/retinal_projector_science
- name = "Science Retinal Projector"
- item_path = /obj/item/clothing/glasses/hud/ar/projector/science
- restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_CHEMIST, JOB_SCIENCE_GUARD)
-
-/*
-* FAMILIES
-*/
-
-/datum/loadout_item/glasses/osi
- name = "OSI Glasses"
- item_path = /obj/item/clothing/glasses/osi
-
-/datum/loadout_item/glasses/phantom
- name = "Phantom Glasses"
- item_path = /obj/item/clothing/glasses/phantom
-
-/*
-* DONATOR
-*/
-
-/datum/loadout_item/glasses/fake_sunglasses
- name = "Fake Sunglasses"
- item_path = /obj/item/clothing/glasses/fake_sunglasses
- donator_only = TRUE
diff --git a/modular_zubbers/code/modules/loadout/categories/accessories.dm b/modular_zubbers/code/modules/loadout/categories/accessories.dm
index fd7be4d4947..dd9b8ffecd2 100644
--- a/modular_zubbers/code/modules/loadout/categories/accessories.dm
+++ b/modular_zubbers/code/modules/loadout/categories/accessories.dm
@@ -1,21 +1,82 @@
//Title Capitalization for names please!!!
-/datum/loadout_item/accessory/fake_medal
- name = "Fake Medal"
- item_path = /obj/item/clothing/accessory/fake/medal
+/datum/loadout_item/accessory/armband
+ abstract_type = /datum/loadout_item/accessory/armband
+ group = "Armbands"
-/datum/loadout_item/accessory/holobadge
+/datum/loadout_item/accessory/armband/med/blue
+ name = "Blue-White Armband"
+ item_path = /obj/item/clothing/accessory/armband/medblue/nonsec
+
+/datum/loadout_item/accessory/armband/med
+ name = "White Armband"
+ item_path = /obj/item/clothing/accessory/armband/med/nonsec
+
+/datum/loadout_item/accessory/armband/cargo
+ name = "Brown Armband"
+ item_path = /obj/item/clothing/accessory/armband/cargo/nonsec
+
+/datum/loadout_item/accessory/armband/engineering
+ name = "Orange Armband"
+ item_path = /obj/item/clothing/accessory/armband/engine/nonsec
+
+/datum/loadout_item/accessory/armband/blue
+ name = "Blue Armband"
+ item_path = /obj/item/clothing/accessory/armband/deputy/lopland/nonsec
+
+/datum/loadout_item/accessory/armband/security
+ name = "Security Armband"
+ item_path = /obj/item/clothing/accessory/armband/deputy/lopland
+ restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_CORRECTIONS_OFFICER)
+
+/datum/loadout_item/accessory/armband/security/deputy
+ name = "Security Deputy Armband"
+ item_path = /obj/item/clothing/accessory/armband/deputy
+ restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_DETECTIVE, JOB_CORRECTIONS_OFFICER)
+
+/datum/loadout_item/accessory/armband/science
+ name = "Purple Armband"
+ item_path = /obj/item/clothing/accessory/armband/science/nonsec
+
+//No red armband for obvious reasons.
+
+/*
+* MISC
+*/
+
+/datum/loadout_item/accessory/heirloom
+ abstract_type = /datum/loadout_item/accessory/heirloom
+ group = "Heirlooms and Badges"
+
+/datum/loadout_item/accessory/heirloom/bone_charm
+ name = "Heirloom Bone Talisman"
+ item_path = /obj/item/clothing/accessory/talisman/armourless
+
+/datum/loadout_item/accessory/heirloom/bone_codpiece
+ name = "Heirloom Skull Codpiece"
+ item_path = /obj/item/clothing/accessory/skullcodpiece/armourless
+
+/datum/loadout_item/accessory/heirloom/sinew_kilt
+ name = "Heirloom Sinew Skirt"
+ item_path = /obj/item/clothing/accessory/skilt/armourless
+
+/datum/loadout_item/accessory/heirloom/holobadge
name = "Holobadge"
item_path = /obj/item/clothing/accessory/badge/holo
-/datum/loadout_item/accessory/holobadge_cord
+/datum/loadout_item/accessory/heirloom/holobadge/cord
name = "Holobadge with Lanyard"
item_path = /obj/item/clothing/accessory/badge/holo/cord
-/datum/loadout_item/accessory/dogtags
+/datum/loadout_item/accessory/heirloom/dogtags
name = "Dogtags"
item_path = /obj/item/clothing/accessory/dogtags
+/datum/loadout_item/accessory/heirloom/mercbadge
+ name = "Jade Badge"
+ item_path = /obj/item/clothing/accessory/badge/holo/jade
+ //ckeywhitelist = list("konstyantyn")
+
/*
*
* Accessory Medals
@@ -25,6 +86,10 @@
abstract_type = /datum/loadout_item/accessory/medal
group = "Medals"
+/datum/loadout_item/accessory/medal/fake_medal
+ name = "Fake Medal"
+ item_path = /obj/item/clothing/accessory/fake/medal
+
/datum/loadout_item/accessory/medal/shield
name = "Medal - Shield"
item_path = /obj/item/clothing/accessory/bubber/acc_medal/shield
@@ -114,6 +179,11 @@
name = "Rankpin (Double Bars)"
item_path = /obj/item/clothing/accessory/bubber/acc_medal/rankpin/two_bar
+/datum/loadout_item/accessory/medal/kiara
+ name = "Insignia of Steele"
+ item_path = /obj/item/clothing/accessory/medal/steele
+ //ckeywhitelist = list("inferno707")
+
/*
* Special Pins
*/
diff --git a/modular_zubbers/code/modules/loadout/categories/glasses.dm b/modular_zubbers/code/modules/loadout/categories/glasses.dm
index 96c668bf268..1a7ddd48f7e 100644
--- a/modular_zubbers/code/modules/loadout/categories/glasses.dm
+++ b/modular_zubbers/code/modules/loadout/categories/glasses.dm
@@ -1,18 +1,274 @@
//Title Capitalization for names please!!!
-/datum/loadout_item/glasses/surgerygoggles
+/*
+* GLASSES
+*/
+
+/datum/loadout_item/glasses/prescription_glasses/thin
+ name = "Thin Glasses"
+ item_path = /obj/item/clothing/glasses/thin
+
+/datum/loadout_item/glasses/prescription_glasses/better
+ name = "Modern Glasses"
+ item_path = /obj/item/clothing/glasses/regular/betterunshit
+
+/datum/loadout_item/glasses/orange_glasses
+ name = "Orange Glasses"
+ item_path = /obj/item/clothing/glasses/orange
+
+/datum/loadout_item/glasses/psych_glasses
+ name = "Psych Glasses"
+ item_path = /obj/item/clothing/glasses/psych
+
+/datum/loadout_item/glasses/red_glasses
+ name = "Red Glasses"
+ item_path = /obj/item/clothing/glasses/red
+
+/datum/loadout_item/glasses/roseglasses
+ name = "Rose-Colored Glasses"
+ item_path = /obj/item/clothing/glasses/rosecolored
+ //ckeywhitelist = list("1ceres", "irrigoimport", "zeskorion", "wizardlywoz", "duckymomo", "samarai1000", "funkyfetusstrikesback", "m97screwsyourparents", "lynxqueen", "kaynite", "mahalia", "sapphoqueer", "emmakisst", "ceasethebridge", "valorthix" )
+
+/*
+* GOGGLES
+*/
+
+/datum/loadout_item/glasses/goggles
+ abstract_type = /datum/loadout_item/glasses/goggles
+ group = "Goggles"
+
+/datum/loadout_item/glasses/goggles/geist
+ name = "Geist Gazers"
+ item_path = /obj/item/clothing/glasses/geist_gazers
+
+/datum/loadout_item/glasses/goggles/biker
+ name = "Biker Goggles"
+ item_path = /obj/item/clothing/glasses/biker
+
+/datum/loadout_item/glasses/goggles/surgery
name = "Recovery Goggles"
item_path = /obj/item/clothing/glasses/surgerygoggles
-/datum/loadout_item/glasses/surgerygoggles/med
+/datum/loadout_item/glasses/goggles/surgery/med
name = "Surgery Goggles"
item_path = /obj/item/clothing/glasses/hud/health/surgerygoggles
restricted_roles = list(ALL_JOBS_MEDICAL, JOB_GENETICIST)
-/datum/loadout_item/glasses/salesman
+/*
+* MISC
+*/
+
+/datum/loadout_item/glasses/eyepatch
+ abstract_type = /datum/loadout_item/glasses/eyepatch
+ group = "Eyepatches"
+
+/datum/loadout_item/glasses/eyepatch/black
+ name = "Eyepatch"
+ item_path = /obj/item/clothing/glasses/eyepatch
+
+/datum/loadout_item/glasses/eyepatch/white
+ name = "White Eyepatch"
+ item_path = /obj/item/clothing/glasses/eyepatch/white
+
+/datum/loadout_item/glasses/eyepatch/wrap
+ name = "Eyepatch Wrap"
+ item_path = /obj/item/clothing/glasses/eyepatch/wrap
+
+/datum/loadout_item/glasses/eyepatch/rose
+ name = "Rose-Colored Eyepatch"
+ item_path = /obj/item/clothing/glasses/eyepatch/rosecolored
+ //ckeywhitelist = list("kaynite")
+
+/datum/loadout_item/glasses/eyepatch/medical
+ name = "Medical Eyepatch (Skyrat)"
+ item_path = /obj/item/clothing/glasses/hud/eyepatch/med
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
+
+/datum/loadout_item/glasses/eyepatch/robotics
+ name = "Diagnostic Eyepatch"
+ item_path = /obj/item/clothing/glasses/hud/eyepatch/diagnostic
+ restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_SCIENCE_GUARD)
+
+/datum/loadout_item/glasses/eyepatch/science
+ name = "Science Eyepatch"
+ item_path = /obj/item/clothing/glasses/hud/eyepatch/sci
+ restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_CHEMIST, JOB_SCIENCE_GUARD)
+
+/datum/loadout_item/glasses/eyepatch/meson
+ name = "Meson Eyepatch"
+ item_path = /obj/item/clothing/glasses/hud/eyepatch/meson
+ restricted_roles = list(JOB_QUARTERMASTER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_CUSTOMS_AGENT, JOB_CHIEF_ENGINEER, JOB_STATION_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_ENGINEERING_GUARD)
+
+/datum/loadout_item/glasses/eyepatch/security
+ name = "Security Eyepatch HUD"
+ item_path = /obj/item/clothing/glasses/hud/eyepatch/sec
+ restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
+
+//COSTUMES
+
+/datum/loadout_item/glasses/costume
+ abstract_type = /datum/loadout_item/glasses/costume
+ group = "Costumes and Silly Glasses"
+
+/datum/loadout_item/glasses/costume/fakeblindfold
+ name = "Fake Blindfold"
+ item_path = /obj/item/clothing/glasses/trickblindfold
+
+/datum/loadout_item/glasses/costume/obsoleteblindfold
+ name = "Obselete Fake Blindfold"
+ item_path = /obj/item/clothing/glasses/trickblindfold/obsolete
+
+/*
+* JOB-LOCKED
+*/
+
+/datum/loadout_item/glasses/hud
+ abstract_type = /datum/loadout_item/glasses/hud
+ group = "HUDs"
+
+/datum/loadout_item/glasses/hud/civ
+ name = "Civilian HUD"
+ item_path = /obj/item/clothing/glasses/hud/civilian
+
+/datum/loadout_item/glasses/hud/retinal_projector
+ name = "Retinal Projector"
+ item_path = /obj/item/clothing/glasses/hud/ar/projector
+
+/datum/loadout_item/glasses/hud/sec
+ name = "Security HUD"
+ item_path = /obj/item/clothing/glasses/hud/security
+ restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
+
+/datum/loadout_item/glasses/hud/sec/glasses
+ name = "Prescription Security HUD"
+ item_path = /obj/item/clothing/glasses/hud/security/prescription
+ restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
+
+/datum/loadout_item/glasses/hud/med/glasses
+ name = "Prescription Medical HUD"
+ item_path = /obj/item/clothing/glasses/hud/health/prescription
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
+
+/datum/loadout_item/glasses/hud/diag/glasses
+ name = "Prescription Diagnostic HUD"
+ item_path = /obj/item/clothing/glasses/hud/diagnostic/prescription
+ restricted_roles = list(JOB_RESEARCH_DIRECTOR,JOB_SCIENTIST, JOB_ROBOTICIST)
+
+/datum/loadout_item/glasses/hud/science/glasses
+ name = "Prescription Science Glasses"
+ item_path = /obj/item/clothing/glasses/science/prescription
+ restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_CHEMIST, JOB_SCIENCE_GUARD)
+
+/datum/loadout_item/glasses/hud/retinalprojector/security
+ name = "Retinal Projector Security HUD"
+ item_path = /obj/item/clothing/glasses/hud/ar/projector/security
+ restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
+
+/datum/loadout_item/glasses/hud/retinalprojector/health
+ name = "Retinal Projector Health HUD"
+ item_path = /obj/item/clothing/glasses/hud/ar/projector/health
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
+
+/datum/loadout_item/glasses/hud/retinalprojector/meson
+ name = "Retinal Projector Meson HUD"
+ item_path = /obj/item/clothing/glasses/hud/ar/projector/meson
+ restricted_roles = list(JOB_QUARTERMASTER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_CUSTOMS_AGENT, JOB_CHIEF_ENGINEER, JOB_STATION_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_ENGINEERING_GUARD)
+
+/datum/loadout_item/glasses/hud/retinalprojector/diagnostic
+ name = "Retinal Projector Diagnostic HUD"
+ item_path = /obj/item/clothing/glasses/hud/ar/projector/diagnostic
+ restricted_roles = list(JOB_RESEARCH_DIRECTOR, JOB_SCIENTIST, JOB_ROBOTICIST)
+
+/datum/loadout_item/glasses/hud/retinalprojector/science
+ name = "Science Retinal Projector"
+ item_path = /obj/item/clothing/glasses/hud/ar/projector/science
+ restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_CHEMIST, JOB_SCIENCE_GUARD)
+
+/datum/loadout_item/glasses/hud/redgigagar
+ name = "Red-tinted Giga HUD Gar Glasses"
+ item_path = /obj/item/clothing/glasses/hud/security/sunglasses/gars/giga/roselia
+ //ckeywhitelist = list("ultimarifox")
+ restricted_roles = list(JOB_HEAD_OF_SECURITY, JOB_SECURITY_OFFICER)
+
+/*
+* SHADES
+*/
+
+/datum/loadout_item/glasses/shades
+ abstract_type = /datum/loadout_item/glasses/shades
+ group = "Sunglasses and Aviators"
+
+/datum/loadout_item/glasses/shades/aviator/gold
+ name = "Purple and Gold Aviators"
+ item_path = /obj/item/clothing/glasses/gold_aviators
+ //ckeywhitelist = list("nikohyena")
+
+/datum/loadout_item/glasses/shades/osi
+ name = "OSI Glasses"
+ item_path = /obj/item/clothing/glasses/osi
+
+/datum/loadout_item/glasses/shades/phantom
+ name = "Phantom Glasses"
+ item_path = /obj/item/clothing/glasses/phantom
+
+/datum/loadout_item/glasses/shades/fake_sunglasses
+ name = "Fake Sunglasses"
+ item_path = /obj/item/clothing/glasses/fake_sunglasses
+
+/datum/loadout_item/glasses/shades/salesman
name = "Colored Glasses"
item_path = /obj/item/clothing/glasses/salesman
-/datum/loadout_item/glasses/civhud
- name = "Civilian HUD"
- item_path = /obj/item/clothing/glasses/hud/civilian
+/datum/loadout_item/glasses/shades/aviator/security
+ name = "Security HUD Aviators"
+ item_path = /obj/item/clothing/glasses/hud/ar/aviator/security
+ restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
+
+/datum/loadout_item/glasses/shades/aviator/health
+ name = "Medical HUD Aviators"
+ item_path = /obj/item/clothing/glasses/hud/ar/aviator/health
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
+
+/datum/loadout_item/glasses/shades/aviator/meson
+ name = "Meson HUD Aviators"
+ item_path = /obj/item/clothing/glasses/hud/ar/aviator/meson
+ restricted_roles = list(JOB_QUARTERMASTER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_CUSTOMS_AGENT, JOB_CHIEF_ENGINEER, JOB_STATION_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_ENGINEERING_GUARD)
+
+/datum/loadout_item/glasses/shades/aviator/diagnostic
+ name = "Diagnostic HUD Aviators"
+ item_path = /obj/item/clothing/glasses/hud/ar/aviator/diagnostic
+ restricted_roles = list(JOB_RESEARCH_DIRECTOR, JOB_SCIENTIST, JOB_ROBOTICIST)
+
+/datum/loadout_item/glasses/shades/aviator/science
+ name = "Science Aviators"
+ item_path = /obj/item/clothing/glasses/hud/ar/aviator/science
+ restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_CHEMIST, JOB_SCIENCE_GUARD)
+
+/datum/loadout_item/glasses/shades/prescription/aviator/security
+ name = "Prescription Security HUD Aviators"
+ item_path = /obj/item/clothing/glasses/hud/ar/aviator/security/prescription
+ restricted_roles = list(JOB_SECURITY_OFFICER, JOB_WARDEN, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER, JOB_BOUNCER, JOB_ORDERLY, JOB_SCIENCE_GUARD, JOB_CUSTOMS_AGENT, JOB_ENGINEERING_GUARD, JOB_BLUESHIELD)
+
+/datum/loadout_item/glasses/shades/prescription/aviator/health
+ name = "Prescription Medical HUD Aviators"
+ item_path = /obj/item/clothing/glasses/hud/ar/aviator/health/prescription
+ restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER)
+
+/datum/loadout_item/glasses/shades/prescription/aviator/meson
+ name = "Prescription Meson HUD Aviators"
+ item_path = /obj/item/clothing/glasses/hud/ar/aviator/meson/prescription
+ restricted_roles = list(JOB_QUARTERMASTER, JOB_CARGO_TECHNICIAN, JOB_SHAFT_MINER, JOB_CUSTOMS_AGENT, JOB_CHIEF_ENGINEER, JOB_STATION_ENGINEER, JOB_ATMOSPHERIC_TECHNICIAN, JOB_ENGINEERING_GUARD)
+
+/datum/loadout_item/glasses/shades/prescription/aviator/diagnostic
+ name = "Prescription Diagnostic HUD Aviators"
+ item_path = /obj/item/clothing/glasses/hud/ar/aviator/diagnostic/prescription
+ restricted_roles = list(JOB_RESEARCH_DIRECTOR, JOB_SCIENTIST, JOB_ROBOTICIST)
+
+/datum/loadout_item/glasses/shades/prescription/aviator/science
+ name = "Prescription Science Aviators"
+ item_path = /obj/item/clothing/glasses/hud/ar/aviator/science/prescription
+ restricted_roles = list(JOB_SCIENTIST, JOB_ROBOTICIST, JOB_GENETICIST, JOB_RESEARCH_DIRECTOR, JOB_CHEMIST, JOB_SCIENCE_GUARD)
+
+/datum/loadout_item/glasses/shades/aviator_fake
+ name = "Fake Aviators"
+ item_path = /obj/item/clothing/glasses/fake_sunglasses/aviator
diff --git a/modular_zubbers/code/modules/loadout/categories/~donator/donator_personal.dm b/modular_zubbers/code/modules/loadout/categories/~donator/donator_personal.dm
index 833440c00cb..85f331fcabb 100644
--- a/modular_zubbers/code/modules/loadout/categories/~donator/donator_personal.dm
+++ b/modular_zubbers/code/modules/loadout/categories/~donator/donator_personal.dm
@@ -34,7 +34,7 @@
* GLASSES
*/
-/datum/loadout_item/glasses/silk_blindfold
+/datum/loadout_item/glasses/costume/silk_blindfold
name = "Silk Blindfold"
item_path = /obj/item/clothing/glasses/trickblindfold/lace
ckeywhitelist = list("thedragmeme")
diff --git a/modular_zubbers/code/modules/loadout/overrides/loadout_items/loadout_datum.dm b/modular_zubbers/code/modules/loadout/overrides/loadout_items/loadout_datum.dm
index 0569dc7d956..0a833ce991e 100644
--- a/modular_zubbers/code/modules/loadout/overrides/loadout_items/loadout_datum.dm
+++ b/modular_zubbers/code/modules/loadout/overrides/loadout_items/loadout_datum.dm
@@ -2,26 +2,6 @@
. = ..()
restricted_roles |= JOB_SECURITY_MEDIC
-/datum/loadout_item/glasses/medicpatch/New()
- . = ..()
- restricted_roles |= JOB_SECURITY_MEDIC
-
-/datum/loadout_item/glasses/medhud_glasses/New()
- . = ..()
- restricted_roles |= JOB_SECURITY_MEDIC
-
-/datum/loadout_item/glasses/aviator_health/New()
- . = ..()
- restricted_roles |= JOB_SECURITY_MEDIC
-
-/datum/loadout_item/glasses/prescription_aviator_health/New()
- . = ..()
- restricted_roles |= JOB_SECURITY_MEDIC
-
-/datum/loadout_item/glasses/retinal_projector_health/New()
- . = ..()
- restricted_roles |= JOB_SECURITY_MEDIC
-
/datum/loadout_item/head/cowboyhat_sec/New()
. = ..()
restricted_roles |= JOB_SECURITY_MEDIC
diff --git a/tgstation.dme b/tgstation.dme
index d39b0e91555..665f7fb42dd 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -7123,9 +7123,7 @@
#include "modular_skyrat\master_files\code\modules\language\_language.dm"
#include "modular_skyrat\master_files\code\modules\language\language_holder.dm"
#include "modular_skyrat\master_files\code\modules\loadout\category_rebalance.dm"
-#include "modular_skyrat\master_files\code\modules\loadout\categories\accessories.dm"
#include "modular_skyrat\master_files\code\modules\loadout\categories\donator_personal.dm"
-#include "modular_skyrat\master_files\code\modules\loadout\categories\glasses.dm"
#include "modular_skyrat\master_files\code\modules\loadout\categories\heads.dm"
#include "modular_skyrat\master_files\code\modules\loadout\categories\inhands.dm"
#include "modular_skyrat\master_files\code\modules\loadout\categories\neck.dm"