diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm
index 277d49e7229..2acfcec775f 100644
--- a/_maps/map_files/Deltastation/DeltaStation2.dmm
+++ b/_maps/map_files/Deltastation/DeltaStation2.dmm
@@ -30566,21 +30566,6 @@
},
/turf/open/floor/plasteel,
/area/security/main)
-"bmo" = (
-/obj/structure/table/reinforced,
-/obj/item/storage/fancy/donut_box,
-/obj/effect/turf_decal/tile/red{
- dir = 1
- },
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/turf/open/floor/plasteel,
-/area/security/main)
"bmp" = (
/obj/effect/turf_decal/tile/red{
dir = 1
@@ -35893,25 +35878,6 @@
},
/turf/open/floor/plasteel,
/area/security/execution/transfer)
-"bwc" = (
-/obj/item/kirbyplants/random,
-/obj/structure/reagent_dispensers/peppertank{
- pixel_y = -32
- },
-/obj/effect/turf_decal/tile/red,
-/obj/effect/turf_decal/tile/red{
- dir = 4
- },
-/obj/effect/turf_decal/tile/red{
- dir = 8
- },
-/obj/machinery/firealarm{
- dir = 8;
- pixel_x = 24;
- pixel_y = -26
- },
-/turf/open/floor/plasteel,
-/area/security/execution/transfer)
"bwe" = (
/obj/item/kirbyplants/random,
/obj/effect/turf_decal/tile/red{
@@ -106244,6 +106210,29 @@
/obj/effect/decal/cleanable/dirt,
/turf/open/floor/plasteel,
/area/security/prison)
+"fjD" = (
+/obj/structure/table/reinforced,
+/obj/item/storage/fancy/donut_box{
+ pixel_x = -8;
+ pixel_y = -4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 1
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/item/inspector,
+/obj/item/inspector{
+ pixel_x = 4;
+ pixel_y = 4
+ },
+/turf/open/floor/plasteel,
+/area/security/main)
"fjK" = (
/obj/machinery/door/poddoor/preopen{
id = "transitlock";
@@ -109049,6 +109038,25 @@
"loc" = (
/turf/open/floor/plasteel,
/area/medical/surgery/room_b)
+"lom" = (
+/obj/item/kirbyplants/random,
+/obj/structure/reagent_dispensers/peppertank{
+ pixel_y = -32
+ },
+/obj/effect/turf_decal/tile/red,
+/obj/effect/turf_decal/tile/red{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/red{
+ dir = 8
+ },
+/obj/machinery/firealarm{
+ dir = 8;
+ pixel_x = 24;
+ pixel_y = -26
+ },
+/turf/open/floor/plasteel,
+/area/security/execution/transfer)
"loI" = (
/obj/machinery/door/poddoor/shutters/preopen{
id = "rndlab1";
@@ -112574,6 +112582,16 @@
},
/turf/open/floor/plasteel/white,
/area/security/prison)
+"sJu" = (
+/obj/machinery/door/airlock/highsecurity{
+ name = "Emergency Access";
+ req_one_access_txt = "10"
+ },
+/obj/effect/mapping_helpers/airlock/cyclelink_helper{
+ dir = 1
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
"sJX" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -114167,16 +114185,6 @@
/obj/structure/lattice/catwalk,
/turf/open/space/basic,
/area/space/nearstation)
-"vVo" = (
-/obj/machinery/door/airlock/highsecurity{
- name = "Emergency Access";
- req_one_access_txt = "10"
- },
-/obj/effect/mapping_helpers/airlock/cyclelink_helper{
- dir = 1
- },
-/turf/open/floor/plasteel,
-/area/engine/engineering)
"vVy" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/pinpointer_dispenser,
@@ -136991,7 +136999,7 @@ jDa
fru
cFJ
sSF
-vVo
+sJu
cJN
cLA
cMO
@@ -165736,7 +165744,7 @@ bpi
bAj
bti
bAj
-bwc
+lom
bnG
byI
aHw
@@ -168043,7 +168051,7 @@ aaa
bhd
biJ
bkt
-bmo
+fjD
bnO
aEF
brs
diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
index f1057e677c2..9e2b762196f 100644
--- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm
+++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm
@@ -2990,12 +2990,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/fore)
-"agE" = (
-/obj/structure/table,
-/obj/item/folder/red,
-/obj/item/pen,
-/turf/open/floor/plasteel,
-/area/security/main)
"agF" = (
/obj/structure/toilet/greyscale{
dir = 4
@@ -3230,17 +3224,6 @@
},
/turf/open/floor/plasteel,
/area/security/main)
-"ahh" = (
-/obj/structure/disposalpipe/segment{
- dir = 4
- },
-/obj/structure/table,
-/obj/item/paper_bin{
- pixel_x = -3;
- pixel_y = 7
- },
-/turf/open/floor/plasteel,
-/area/security/main)
"ahi" = (
/obj/structure/disposalpipe/sorting/mail/flip{
dir = 4;
@@ -43557,24 +43540,6 @@
/obj/structure/cable,
/turf/open/floor/plating,
/area/crew_quarters/heads/chief)
-"ckN" = (
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 4
- },
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/machinery/airalarm{
- dir = 1;
- pixel_y = -22
- },
-/obj/effect/decal/cleanable/dirt/dust,
-/obj/structure/chair/sofa/right{
- dir = 1
- },
-/turf/open/floor/plasteel/white,
-/area/medical/break_room)
"ckO" = (
/obj/machinery/door/airlock/command/glass{
name = "Chief Engineer";
@@ -49935,6 +49900,18 @@
},
/turf/open/floor/plasteel,
/area/science/nanite)
+"gop" = (
+/obj/structure/disposalpipe/segment{
+ dir = 4
+ },
+/obj/structure/table,
+/obj/item/paper_bin{
+ pixel_x = -3;
+ pixel_y = 7
+ },
+/obj/item/inspector,
+/turf/open/floor/plasteel,
+/area/security/main)
"goT" = (
/obj/structure/disposalpipe/segment{
dir = 4
@@ -52272,6 +52249,20 @@
/obj/machinery/meter/atmos/layer4,
/turf/open/floor/plating,
/area/maintenance/aft)
+"mhU" = (
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/structure/sign/departments/restroom{
+ pixel_y = -32
+ },
+/obj/machinery/light/small,
+/obj/structure/chair/sofa/left{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/medical/break_room)
"miW" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2{
@@ -52646,6 +52637,24 @@
/obj/effect/turf_decal/trimline/blue/filled/warning,
/turf/open/floor/plasteel/white,
/area/medical/medbay)
+"ncB" = (
+/obj/effect/turf_decal/tile/brown,
+/obj/effect/turf_decal/tile/brown{
+ dir = 4
+ },
+/obj/effect/turf_decal/tile/brown{
+ dir = 8
+ },
+/obj/machinery/airalarm{
+ dir = 1;
+ pixel_y = -22
+ },
+/obj/effect/decal/cleanable/dirt/dust,
+/obj/structure/chair/sofa/right{
+ dir = 1
+ },
+/turf/open/floor/plasteel/white,
+/area/medical/break_room)
"ndD" = (
/obj/effect/turf_decal/tile/red,
/obj/effect/turf_decal/tile/red{
@@ -55693,6 +55702,13 @@
},
/turf/open/floor/plasteel/white,
/area/medical/virology)
+"uZX" = (
+/obj/structure/table,
+/obj/item/folder/red,
+/obj/item/pen,
+/obj/item/inspector,
+/turf/open/floor/plasteel,
+/area/security/main)
"vad" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/structure/cable,
@@ -57074,20 +57090,6 @@
},
/turf/open/floor/plasteel/dark,
/area/medical/virology)
-"yfS" = (
-/obj/effect/turf_decal/tile/brown,
-/obj/effect/turf_decal/tile/brown{
- dir = 8
- },
-/obj/structure/sign/departments/restroom{
- pixel_y = -32
- },
-/obj/machinery/light/small,
-/obj/structure/chair/sofa/left{
- dir = 1
- },
-/turf/open/floor/plasteel/white,
-/area/medical/break_room)
"yiW" = (
/obj/machinery/disposal/bin,
/obj/structure/disposalpipe/trunk{
@@ -90340,8 +90342,8 @@ adh
adm
afk
afZ
-agE
-ahh
+uZX
+gop
ahM
aiv
abp
@@ -98123,7 +98125,7 @@ bHb
bIw
slW
bKT
-yfS
+mhU
xXp
gdg
bNd
@@ -98380,7 +98382,7 @@ bHa
xSj
hGO
lyl
-ckN
+ncB
xXp
lzt
bNd
diff --git a/_maps/map_files/KiloStation/KiloStation.dmm b/_maps/map_files/KiloStation/KiloStation.dmm
index 4eb0176e007..323048b6b0b 100644
--- a/_maps/map_files/KiloStation/KiloStation.dmm
+++ b/_maps/map_files/KiloStation/KiloStation.dmm
@@ -5011,12 +5011,6 @@
icon_state = "panelscorched"
},
/area/maintenance/central)
-"aiG" = (
-/obj/structure/table/reinforced,
-/obj/item/paper_bin,
-/obj/item/pen,
-/turf/open/floor/plasteel/dark,
-/area/security/main)
"aiH" = (
/obj/structure/table/reinforced,
/obj/item/crowbar/red,
@@ -5036,18 +5030,6 @@
},
/turf/open/floor/plasteel/dark,
/area/security/main)
-"aiK" = (
-/obj/structure/table/reinforced,
-/obj/item/clipboard,
-/obj/item/clothing/accessory/armband/deputy,
-/obj/item/clothing/accessory/armband/deputy,
-/obj/item/clothing/accessory/armband/deputy,
-/obj/item/clothing/accessory/armband/deputy,
-/obj/item/clothing/accessory/armband/deputy,
-/obj/effect/turf_decal/tile/red,
-/obj/item/food/donut,
-/turf/open/floor/plasteel/dark,
-/area/security/main)
"aiL" = (
/obj/structure/chair{
dir = 4
@@ -55636,16 +55618,6 @@
/obj/structure/cable,
/turf/open/floor/plasteel,
/area/crew_quarters/fitness/recreation)
-"bJW" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/effect/spawner/randomarcade{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/crew_quarters/fitness/recreation)
"bJX" = (
/obj/effect/turf_decal/delivery,
/obj/machinery/space_heater,
@@ -70097,18 +70069,6 @@
/obj/structure/sign/warning/vacuum/external,
/turf/closed/wall,
/area/ai_monitored/turret_protected/aisat/atmos)
-"chP" = (
-/obj/structure/reagent_dispensers/watertank,
-/obj/effect/turf_decal/delivery,
-/obj/machinery/light,
-/obj/effect/turf_decal/stripes/corner{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/corner{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/ai_monitored/turret_protected/aisat/atmos)
"chQ" = (
/obj/effect/turf_decal/stripes/line{
dir = 1
@@ -74570,19 +74530,6 @@
},
/turf/open/floor/plasteel,
/area/hallway/primary/aft)
-"cpO" = (
-/obj/effect/turf_decal/tile/neutral,
-/obj/effect/turf_decal/tile/neutral{
- dir = 4
- },
-/obj/machinery/newscaster{
- pixel_x = -30
- },
-/obj/effect/spawner/randomarcade{
- dir = 4
- },
-/turf/open/floor/plasteel/dark,
-/area/crew_quarters/fitness/recreation)
"cpP" = (
/obj/structure/grille/broken,
/obj/effect/decal/cleanable/dirt,
@@ -89308,6 +89255,19 @@
},
/turf/open/space/basic,
/area/space/nearstation)
+"jUV" = (
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/machinery/newscaster{
+ pixel_x = -30
+ },
+/obj/effect/spawner/randomarcade{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/crew_quarters/fitness/recreation)
"kfw" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/manifold/supply/hidden/layer4,
@@ -90051,6 +90011,18 @@
},
/turf/open/floor/plasteel/dark,
/area/maintenance/port)
+"pjk" = (
+/obj/structure/reagent_dispensers/watertank,
+/obj/effect/turf_decal/delivery,
+/obj/machinery/light,
+/obj/effect/turf_decal/stripes/corner{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/corner{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/ai_monitored/turret_protected/aisat/atmos)
"pjq" = (
/obj/effect/turf_decal/tile/yellow,
/obj/effect/turf_decal/tile/yellow{
@@ -91333,6 +91305,19 @@
icon_state = "platingdmg1"
},
/area/maintenance/port)
+"wrN" = (
+/obj/structure/table/reinforced,
+/obj/item/clipboard,
+/obj/item/clothing/accessory/armband/deputy,
+/obj/item/clothing/accessory/armband/deputy,
+/obj/item/clothing/accessory/armband/deputy,
+/obj/item/clothing/accessory/armband/deputy,
+/obj/item/clothing/accessory/armband/deputy,
+/obj/effect/turf_decal/tile/red,
+/obj/item/food/donut,
+/obj/item/inspector,
+/turf/open/floor/plasteel/dark,
+/area/security/main)
"wsg" = (
/obj/machinery/atmospherics/pipe/simple/supply/hidden/layer4{
dir = 5
@@ -91507,6 +91492,16 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"xyF" = (
+/obj/effect/turf_decal/tile/neutral,
+/obj/effect/turf_decal/tile/neutral{
+ dir = 4
+ },
+/obj/effect/spawner/randomarcade{
+ dir = 4
+ },
+/turf/open/floor/plasteel/dark,
+/area/crew_quarters/fitness/recreation)
"xzI" = (
/obj/machinery/camera{
c_tag = "Prison Cells";
@@ -91662,6 +91657,13 @@
/obj/structure/plasticflaps/opaque,
/turf/open/floor/plating,
/area/security/prison)
+"ygA" = (
+/obj/structure/table/reinforced,
+/obj/item/paper_bin,
+/obj/item/pen,
+/obj/item/inspector,
+/turf/open/floor/plasteel/dark,
+/area/security/main)
"yio" = (
/turf/closed/wall,
/area/medical/psychology)
@@ -104915,10 +104917,10 @@ beX
cnL
awD
bGR
-bJW
-bJW
-cpO
-bJW
+xyF
+xyF
+jUV
+xyF
cuD
aSL
cJB
@@ -109311,7 +109313,7 @@ aog
aSV
aia
cBu
-aiG
+ygA
cyK
cri
cHe
@@ -110339,7 +110341,7 @@ aQS
cwK
aic
aiy
-aiK
+wrN
ajf
cKn
agS
@@ -119249,7 +119251,7 @@ auf
bmD
ccl
adt
-chP
+pjk
chO
agf
ceF
diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm
index f258095d06a..9b17e27e89a 100644
--- a/_maps/map_files/MetaStation/MetaStation.dmm
+++ b/_maps/map_files/MetaStation/MetaStation.dmm
@@ -7146,12 +7146,6 @@
/obj/item/restraints/handcuffs,
/turf/open/floor/plasteel,
/area/security/main)
-"apU" = (
-/obj/structure/table,
-/obj/item/folder/red,
-/obj/item/storage/secure/briefcase,
-/turf/open/floor/plasteel,
-/area/security/main)
"apV" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/tile/red{
@@ -7167,12 +7161,6 @@
/obj/structure/cable,
/turf/open/floor/plasteel,
/area/security/main)
-"apW" = (
-/obj/structure/table,
-/obj/item/folder/red,
-/obj/item/assembly/flash/handheld,
-/turf/open/floor/plasteel,
-/area/security/main)
"apX" = (
/obj/effect/decal/cleanable/dirt,
/obj/structure/closet/secure_closet/atmospherics,
@@ -20718,16 +20706,6 @@
},
/turf/open/floor/plating,
/area/quartermaster/storage)
-"aXm" = (
-/obj/machinery/mineral/ore_redemption{
- dir = 4;
- input_dir = 8;
- output_dir = 4
- },
-/obj/effect/turf_decal/delivery,
-/obj/machinery/door/firedoor,
-/turf/open/floor/plasteel,
-/area/construction/storage_wing)
"aXn" = (
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 8
@@ -22735,19 +22713,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2,
/turf/open/floor/plasteel/dark,
/area/crew_quarters/heads/chief)
-"bby" = (
-/obj/machinery/light/small{
- dir = 8
- },
-/obj/effect/turf_decal/stripes/line{
- dir = 10
- },
-/obj/machinery/camera{
- c_tag = "Engineering - Entrance";
- dir = 4
- },
-/turf/open/floor/plasteel,
-/area/engine/engineering)
"bbz" = (
/obj/structure/disposalpipe/segment,
/obj/effect/turf_decal/stripes/line,
@@ -32911,10 +32876,6 @@
/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer2,
/turf/open/floor/plasteel/dark,
/area/bridge)
-"bBG" = (
-/obj/structure/cable,
-/turf/open/floor/goonplaque,
-/area/hallway/primary/port)
"bBH" = (
/obj/effect/spawner/structure/window/reinforced,
/obj/machinery/door/poddoor/preopen{
@@ -66022,6 +65983,19 @@
/obj/item/stack/sheet/metal/twenty,
/turf/open/floor/plasteel,
/area/maintenance/port/aft)
+"fJp" = (
+/obj/machinery/light/small{
+ dir = 8
+ },
+/obj/effect/turf_decal/stripes/line{
+ dir = 10
+ },
+/obj/machinery/camera{
+ c_tag = "Engineering - Entrance";
+ dir = 4
+ },
+/turf/open/floor/plasteel,
+/area/engine/engineering)
"fJR" = (
/obj/structure/closet/secure_closet/hydroponics,
/obj/effect/turf_decal/stripes/line{
@@ -66118,6 +66092,16 @@
},
/turf/open/floor/plasteel/white,
/area/security/prison)
+"fRv" = (
+/obj/machinery/mineral/ore_redemption{
+ dir = 4;
+ input_dir = 8;
+ output_dir = 4
+ },
+/obj/effect/turf_decal/delivery,
+/obj/machinery/door/firedoor,
+/turf/open/floor/plasteel,
+/area/construction/storage_wing)
"fRx" = (
/obj/effect/turf_decal/tile/blue{
dir = 8
@@ -67591,6 +67575,15 @@
},
/turf/open/floor/plating,
/area/maintenance/port/aft)
+"hJP" = (
+/obj/structure/table,
+/obj/item/folder/red,
+/obj/item/assembly/flash/handheld,
+/obj/item/inspector{
+ pixel_x = 5
+ },
+/turf/open/floor/plasteel,
+/area/security/main)
"hKX" = (
/obj/effect/spawner/lootdrop/maintenance,
/obj/effect/decal/cleanable/dirt,
@@ -72673,6 +72666,15 @@
/obj/structure/grille,
/turf/open/floor/plating,
/area/maintenance/starboard)
+"oDe" = (
+/obj/structure/table,
+/obj/item/folder/red,
+/obj/item/storage/secure/briefcase,
+/obj/item/inspector{
+ pixel_x = -5
+ },
+/turf/open/floor/plasteel,
+/area/security/main)
"oDq" = (
/obj/structure/table,
/obj/item/training_toolbox,
@@ -77592,6 +77594,10 @@
},
/turf/open/floor/wood,
/area/maintenance/port/aft)
+"vaT" = (
+/obj/structure/cable,
+/turf/open/floor/goonplaque,
+/area/hallway/primary/port)
"vaY" = (
/obj/structure/table,
/obj/item/kitchen/rollingpin,
@@ -97293,7 +97299,7 @@ nOZ
bkg
lDf
boc
-bBG
+vaT
bsy
bua
bvW
@@ -99852,7 +99858,7 @@ bqk
aSZ
nMU
aVM
-aXm
+fRv
bmk
bmk
bmk
@@ -110363,7 +110369,7 @@ akP
ami
anx
dCb
-apU
+oDe
iOo
asF
aiD
@@ -110877,7 +110883,7 @@ akR
amk
bnh
aoF
-apW
+hJP
iOo
asH
aiD
@@ -120928,7 +120934,7 @@ yfS
aBI
aYs
aZI
-bby
+fJp
dgz
aBI
byK
diff --git a/code/__DEFINES/dye_keys.dm b/code/__DEFINES/dye_keys.dm
index a01dcacc18a..dc0d726a593 100644
--- a/code/__DEFINES/dye_keys.dm
+++ b/code/__DEFINES/dye_keys.dm
@@ -30,3 +30,4 @@
#define DYE_CLOWN "clown"
#define DYE_CHAP "chap"
#define DYE_CENTCOM "centcom"
+#define DYE_PRISONER "prisoner"
diff --git a/code/datums/components/crafting/tailoring.dm b/code/datums/components/crafting/tailoring.dm
index 11b539ced80..633b630d674 100644
--- a/code/datums/components/crafting/tailoring.dm
+++ b/code/datums/components/crafting/tailoring.dm
@@ -143,3 +143,24 @@
reqs = list(/obj/item/stack/sheet/animalhide/lizard = 1, /obj/item/stack/sheet/leather = 1)
time = 60
category = CAT_CLOTHING
+
+/datum/crafting_recipe/prisonsuit
+ name = "Prisoner Uniform (Suit)"
+ result = /obj/item/clothing/under/rank/prisoner
+ reqs = list(/obj/item/stack/sheet/cloth = 3, /obj/item/stack/license_plates = 1)
+ time = 20
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/prisonskirt
+ name = "Prisoner Uniform (Skirt)"
+ result = /obj/item/clothing/under/rank/prisoner/skirt
+ reqs = list(/obj/item/stack/sheet/cloth = 3, /obj/item/stack/license_plates = 1)
+ time = 20
+ category = CAT_CLOTHING
+
+/datum/crafting_recipe/prisonshoes
+ name = "Orange Prison Shoes"
+ result = /obj/item/clothing/shoes/sneakers/orange
+ reqs = list(/obj/item/stack/sheet/cloth = 2, /obj/item/stack/license_plates = 1)
+ time = 10
+ category = CAT_CLOTHING
diff --git a/code/game/area/Space_Station_13_areas.dm b/code/game/area/space_station_13_areas.dm
similarity index 99%
rename from code/game/area/Space_Station_13_areas.dm
rename to code/game/area/space_station_13_areas.dm
index edefd6e6b79..9de793be0d2 100644
--- a/code/game/area/Space_Station_13_areas.dm
+++ b/code/game/area/space_station_13_areas.dm
@@ -7,7 +7,7 @@
icon = 'ICON FILENAME' (defaults to 'icons/turf/areas.dmi')
icon_state = "NAME OF ICON" (defaults to "unknown" (blank))
requires_power = FALSE (defaults to true)
- ambience_index = AMBIENCE_GENERIC (picks the ambience from an assoc list in ambience.dm)
+ ambience_index = AMBIENCE_GENERIC (picks the ambience from an assoc list in ambience.dm)
ambientsounds = list() (defaults to ambience_index's assoc on Initialize(). override it as "ambientsounds = list('sound/ambience/signal.ogg')" or by changing ambience_index)
NOTE: there are two lists of areas in the end of this file: centcom and station itself. Please maintain these lists valid. --rastaf0
@@ -79,6 +79,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
//Maintenance
/area/maintenance
+ name = "Generic Maintenance"
ambience_index = AMBIENCE_MAINT
area_flags = BLOBS_ALLOWED | UNIQUE_AREA
airlock_wires = /datum/wires/airlock/maint
@@ -264,6 +265,9 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
/area/hallway
sound_environment = SOUND_AREA_STANDARD_STATION
+/area/hallway/primary
+ name = "Primary Hallway"
+
/area/hallway/primary/aft
name = "Aft Primary Hallway"
icon_state = "hallA"
@@ -383,6 +387,7 @@ NOTE: there are two lists of areas in the end of this file: centcom and station
//Crew
/area/crew_quarters
+ name = "Crew Quarters"
sound_environment = SOUND_AREA_STANDARD_STATION
/area/crew_quarters/dorms
diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm
index da476874229..2fe4c5d82bf 100644
--- a/code/game/machinery/washing_machine.dm
+++ b/code/game/machinery/washing_machine.dm
@@ -22,6 +22,7 @@ GLOBAL_LIST_INIT(dye_registry, list(
DYE_RD = /obj/item/clothing/under/rank/rnd/research_director,
DYE_CMO = /obj/item/clothing/under/rank/medical/chief_medical_officer,
DYE_REDCOAT = /obj/item/clothing/under/costume/redcoat,
+ DYE_PRISONER = /obj/item/clothing/under/rank/prisoner,
DYE_SYNDICATE = /obj/item/clothing/under/syndicate,
DYE_CENTCOM = /obj/item/clothing/under/rank/centcom/commander
),
@@ -44,6 +45,7 @@ GLOBAL_LIST_INIT(dye_registry, list(
DYE_CE = /obj/item/clothing/under/rank/engineering/chief_engineer/skirt,
DYE_RD = /obj/item/clothing/under/rank/rnd/research_director/skirt,
DYE_CMO = /obj/item/clothing/under/rank/medical/chief_medical_officer/skirt,
+ DYE_PRISONER = /obj/item/clothing/under/rank/prisoner/skirt,
),
DYE_REGISTRY_GLOVES = list(
DYE_RED = /obj/item/clothing/gloves/color/red,
diff --git a/code/game/objects/items/documents.dm b/code/game/objects/items/documents.dm
index 0c1c6d8d80a..a640074cabe 100644
--- a/code/game/objects/items/documents.dm
+++ b/code/game/objects/items/documents.dm
@@ -56,3 +56,49 @@
forgedseal = C.crayon_color
to_chat(user, "You forge the official seal with a [C.crayon_color] crayon. No one will notice... right?")
update_icon()
+
+/obj/item/inspector
+ name = "in-spect scanner"
+ desc = "Cental commmand issued inspection device. Does company grade station inspection protocols when activated, and prints encripted sheets of paper regarding the mainenance of the station. Hard to Replace."
+ icon = 'icons/obj/device.dmi'
+ icon_state = "inspector"
+ worn_icon_state = "salestagger"
+ inhand_icon_state = "electronic"
+ throwforce = 0
+ w_class = WEIGHT_CLASS_TINY
+ throw_range = 1
+ throw_speed = 1
+
+/obj/item/inspector/attack(mob/living/M, mob/living/user)
+ . = ..()
+ print_report()
+
+/obj/item/inspector/attack_self(mob/user)
+ . = ..()
+ print_report()
+
+///Prints out a report for bounty purposes, and plays a short audio blip.
+/obj/item/inspector/proc/print_report()
+ // Create our report
+ var/obj/item/report/slip = new(get_turf(src))
+ slip.scanned_area = get_area(src)
+ playsound(src, 'sound/items/biddledeep.ogg', 50, FALSE)
+
+/obj/item/report
+ name = "encrypted station inspection"
+ desc = "Contains detailed information about the station's current status, too bad you can't really read it. You can almost make out some of the words..."
+ icon = 'icons/obj/bureaucracy.dmi'
+ icon_state = "slipfull"
+ ///What area the inspector scanned when the report was made. Used to verify the security bounty.
+ var/area/scanned_area
+
+/obj/item/report/examine_more(mob/user)
+ . = ..()
+ var/list/msg = list("You examine [src] closer, and note the following...")
+ if(scanned_area?.name)
+ msg += "\the [src] contains data on [scanned_area.name]."
+ else if(scanned_area)
+ msg += "\the [src] contains data on an vague area on station, you should throw it away."
+ else
+ msg += "Wait a minute, this thing's blank! You should throw it away."
+ return msg
diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm
index c272d23d57a..c4984eceaaf 100644
--- a/code/game/objects/items/handcuffs.dm
+++ b/code/game/objects/items/handcuffs.dm
@@ -1,5 +1,6 @@
/obj/item/restraints
breakouttime = 600
+ dye_color = DYE_PRISONER
/obj/item/restraints/suicide_act(mob/living/carbon/user)
user.visible_message("[user] is strangling [user.p_them()]self with [src]! It looks like [user.p_theyre()] trying to commit suicide!")
diff --git a/code/modules/cargo/bounties/security.dm b/code/modules/cargo/bounties/security.dm
index 1f317d57c84..03d99cdb260 100644
--- a/code/modules/cargo/bounties/security.dm
+++ b/code/modules/cargo/bounties/security.dm
@@ -1,10 +1,3 @@
-/datum/bounty/item/security/riotshotgun
- name = "Riot Shotguns"
- description = "Hooligans have boarded CentCom! Ship riot shotguns quick, or things are going to get dirty."
- reward = CARGO_CRATE_VALUE * 10
- required_count = 2
- wanted_types = list(/obj/item/gun/ballistic/shotgun/riot)
-
/datum/bounty/item/security/recharger
name = "Rechargers"
description = "Nanotrasen military academy is conducting marksmanship exercises. They request that rechargers be shipped."
@@ -45,3 +38,38 @@
reward = CARGO_CRATE_VALUE * 2
required_count = 5
wanted_types = list(/obj/item/restraints/handcuffs)
+
+
+///Bounties that require you to perform documentation and inspection of your department to send to centcom.
+/datum/bounty/item/security/paperwork
+ name = "Routine Security Inspection"
+ description = "Perform a routine security inspection using an in-spect scanner on the following general area on station:"
+ required_count = 1
+ wanted_types = list(/obj/item/report)
+ reward = CARGO_CRATE_VALUE * 5
+ var/area/demanded_area
+
+/datum/bounty/item/security/paperwork/New()
+ ///list of areas for security to choose from to perform an inspection.
+ var/static/list/possible_areas = list(\
+ /area/maintenance,\
+ /area/library,\
+ /area/crew_quarters,\
+ /area/hallway/primary,\
+ /area/lawoffice,\
+ /area/security/main,\
+ /area/security/prison,\
+ /area/security/range,\
+ /area/security/checkpoint)
+ demanded_area = pick(possible_areas)
+ name = name + ": [initial(demanded_area.name)]"
+ description = initial(description) + " [initial(demanded_area.name)]"
+
+/datum/bounty/item/security/paperwork/applies_to(obj/O)
+ . = ..()
+ if(!istype(O, /obj/item/report))
+ return FALSE
+ var/obj/item/report/slip = O
+ if(istype(slip.scanned_area, demanded_area))
+ return TRUE
+ return FALSE
diff --git a/icons/obj/bureaucracy.dmi b/icons/obj/bureaucracy.dmi
index fb03ee3f4b3..bd3db689649 100644
Binary files a/icons/obj/bureaucracy.dmi and b/icons/obj/bureaucracy.dmi differ
diff --git a/icons/obj/device.dmi b/icons/obj/device.dmi
index 0306177e7e4..c43de3c950c 100644
Binary files a/icons/obj/device.dmi and b/icons/obj/device.dmi differ
diff --git a/sound/items/biddledeep.ogg b/sound/items/biddledeep.ogg
new file mode 100644
index 00000000000..f94b2b7fee1
Binary files /dev/null and b/sound/items/biddledeep.ogg differ
diff --git a/tgstation.dme b/tgstation.dme
index ac60c9869a8..e5850d2af80 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -744,7 +744,7 @@
#include "code\game\world.dm"
#include "code\game\area\ai_monitored.dm"
#include "code\game\area\areas.dm"
-#include "code\game\area\Space_Station_13_areas.dm"
+#include "code\game\area\space_station_13_areas.dm"
#include "code\game\area\areas\away_content.dm"
#include "code\game\area\areas\centcom.dm"
#include "code\game\area\areas\holodeck.dm"