[MDB Ignore] Adds a unit test for typepaths that are required to be mapped onto each station map (#74985)

## About The Pull Request

Inspired by #74967 and #68459 , and the fact that Tramstation regresses
very often -

Adds a unit test, `required_map_items`, which ensures that certain
typepaths which should definitely be mapped onto every map is mapped
onto every map

It can also be used to ensure that items which should not be mapped in
multiple times are not, among other things.

I included a few examples - 
- Min 1, max inf of each head of staff stamps
- Min 1, max 1 departmental order consoles
- Min 1, max inf comms console
- Min 1, max 1 Pun Pun
- Min 1, max 1 Poly
- Min 1, max 1 Ian

If, in the future, a mapper decides they (for some reason) do not want a
certain previously-required item on their map, the test can be adjusted
such that it allows excluding or something, but currently it should be
for items which require conscious thought about.

#### QA: Why not make this a linter?

I attempted to make this a linter before realizing two things
1. Someone might make a spawner which spawns the items, or they might
get placed in a locker, in any case this accounts for everything on init
2. Linters run on every map, non-station maps included

So I went with a test

## Why It's Good For The Game

#50468
#61013
#74967

Why is it always the CMO stamp?

## Changelog

Not necessary (unless I find a map missing something, then this will be
updated)
This commit is contained in:
MrMelbert
2023-05-04 15:20:25 -06:00
committed by GitHub
parent 7aef07fc85
commit 4de3df461e
36 changed files with 202388 additions and 202275 deletions
+138 -138
View File
@@ -61,26 +61,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/main)
"ar" = (
/obj/structure/closet/secure_closet/engineering_welding{
locked = 0
},
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/engineering/main)
"as" = (
/obj/machinery/power/smes{
charge = 5e+006
},
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/obj/structure/cable,
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/engineering/gravity_generator)
"at" = (
/obj/effect/turf_decal/stripes/line{
dir = 5
@@ -320,11 +300,6 @@
/obj/machinery/announcement_system,
/turf/open/floor/iron,
/area/station/engineering/gravity_generator)
"bs" = (
/obj/machinery/rnd/destructive_analyzer,
/obj/machinery/airalarm/directional/north,
/turf/open/floor/iron,
/area/station/science)
"bt" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
/obj/structure/cable,
@@ -373,22 +348,6 @@
/obj/machinery/computer/rdconsole,
/turf/open/floor/iron,
/area/station/science)
"bG" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/structure/table,
/obj/item/uplink/debug{
pixel_x = -4;
pixel_y = 4
},
/obj/item/uplink/nuclear/debug,
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 8
},
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/command/bridge)
"bH" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on,
/turf/open/floor/iron,
@@ -439,13 +398,6 @@
/obj/machinery/door/poddoor,
/turf/open/floor/engine,
/area/station/cargo/miningoffice)
"bP" = (
/obj/structure/table,
/obj/machinery/reagentgrinder,
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
"bQ" = (
/obj/machinery/chem_master,
/turf/open/floor/iron/dark,
@@ -468,19 +420,6 @@
},
/turf/open/floor/iron,
/area/station/security/brig)
"bU" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/structure/cable,
/mob/living/carbon/human,
/obj/effect/turf_decal/tile/blue/opposingcorners{
dir = 1
},
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron/white/corner{
dir = 1
},
/area/station/medical/medbay)
"bV" = (
/obj/machinery/light/directional/north,
/mob/living/carbon/human,
@@ -764,14 +703,6 @@
/obj/machinery/door/airlock/public/glass,
/turf/open/floor/iron,
/area/station/commons/storage/primary)
"cW" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/effect/turf_decal/stripes/corner,
/obj/structure/cable,
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/construction)
"cX" = (
/obj/machinery/atmospherics/components/unary/vent_pump/on{
dir = 1
@@ -804,23 +735,10 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/commons/storage/primary)
"dd" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/effect/turf_decal/stripes/line,
/obj/structure/cable,
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/commons/storage/primary)
"de" = (
/obj/machinery/gulag_teleporter,
/turf/open/floor/iron,
/area/station/security/brig)
"dg" = (
/obj/machinery/airalarm/directional/east,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/security/brig)
"dh" = (
/turf/closed/wall,
/area/station/hallway/secondary/entry)
@@ -1202,11 +1120,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
"eG" = (
/obj/machinery/airalarm/directional/west,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/cargo/storage)
"eH" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
/obj/effect/turf_decal/stripes/line{
@@ -1230,11 +1143,6 @@
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
"eM" = (
/obj/machinery/airalarm/directional/east,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
"eN" = (
/obj/machinery/conveyor{
dir = 9;
@@ -1687,14 +1595,6 @@
},
/turf/open/floor/plating,
/area/station/commons/storage/primary)
"gi" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
/obj/machinery/computer/shuttle/mining,
/obj/machinery/airalarm/directional/east,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
"gk" = (
/obj/structure/sign/departments/evac,
/turf/closed/wall/r_wall,
@@ -1836,6 +1736,11 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/science)
"hm" = (
/obj/machinery/airalarm/directional/west,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/plating,
/area/station/engineering/atmos)
"hD" = (
/obj/structure/closet/secure_closet/chemical/heisenberg{
locked = 0
@@ -1940,11 +1845,6 @@
},
/turf/open/floor/plating,
/area/station/hallway/secondary/entry)
"ou" = (
/obj/machinery/airalarm/directional/west,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/plating,
/area/station/engineering/atmos)
"oV" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 4
@@ -1971,6 +1871,11 @@
/obj/machinery/door/airlock,
/turf/open/floor/plating,
/area/station/engineering/atmos)
"qx" = (
/obj/machinery/airalarm/directional/west,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/cargo/storage)
"qQ" = (
/turf/open/floor/engine,
/area/station/cargo/miningoffice)
@@ -2100,14 +2005,6 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
"wS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 4
},
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
"wU" = (
/turf/closed/wall/r_wall,
/area/station/science/explab)
@@ -2134,11 +2031,11 @@
/obj/structure/cable,
/turf/open/floor/iron,
/area/station/engineering/atmos)
"AE" = (
"zS" = (
/obj/machinery/rnd/destructive_analyzer,
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron/dark,
/area/station/science/explab)
/turf/open/floor/iron,
/area/station/science)
"AP" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 8
@@ -2220,6 +2117,14 @@
/obj/effect/turf_decal/tile/blue/half/contrasted,
/turf/open/floor/iron,
/area/station/command/bridge)
"EM" = (
/obj/machinery/power/apc/auto_name/directional/north,
/obj/structure/cable,
/obj/machinery/computer/shuttle/mining,
/obj/machinery/airalarm/directional/east,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
"ES" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 4
@@ -2234,6 +2139,27 @@
},
/turf/open/floor/iron,
/area/station/medical/chemistry)
"Fd" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/structure/table,
/obj/item/uplink/debug{
pixel_x = -4;
pixel_y = 4
},
/obj/item/uplink/nuclear/debug,
/obj/structure/cable,
/obj/effect/turf_decal/tile/blue/half/contrasted{
dir = 8
},
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/command/bridge)
"HW" = (
/obj/machinery/airalarm/directional/east,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/hallway/secondary/entry)
"If" = (
/obj/machinery/rnd/production/techfab/department,
/turf/open/floor/iron,
@@ -2253,6 +2179,14 @@
/obj/effect/turf_decal/tile/blue/half/contrasted,
/turf/open/floor/iron,
/area/station/command/bridge)
"IH" = (
/obj/structure/closet/secure_closet/engineering_welding{
locked = 0
},
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/engineering/main)
"II" = (
/obj/effect/turf_decal/stripes/line{
dir = 8
@@ -2270,6 +2204,14 @@
},
/turf/open/floor/iron,
/area/station/medical/chemistry)
"JS" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
dir = 4
},
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/hallway/primary/central)
"Kx" = (
/obj/structure/table,
/obj/item/analyzer,
@@ -2329,6 +2271,19 @@
/obj/machinery/rnd/production/protolathe/department,
/turf/open/floor/iron,
/area/station/science)
"Ot" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/structure/cable,
/mob/living/carbon/human,
/obj/effect/turf_decal/tile/blue/opposingcorners{
dir = 1
},
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron/white/corner{
dir = 1
},
/area/station/medical/medbay)
"Ov" = (
/obj/structure/table,
/obj/machinery/cell_charger,
@@ -2341,6 +2296,23 @@
/obj/item/disk/tech_disk/debug,
/turf/open/floor/iron,
/area/station/science)
"Pk" = (
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron/dark,
/area/station/science/explab)
"Px" = (
/obj/structure/table,
/obj/machinery/reagentgrinder,
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron/dark,
/area/station/medical/chemistry)
"PJ" = (
/obj/machinery/airalarm/directional/east,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/security/brig)
"Qi" = (
/obj/structure/cable,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{
@@ -2378,6 +2350,14 @@
/obj/effect/turf_decal/tile/blue/half/contrasted,
/turf/open/floor/iron,
/area/station/command/bridge)
"Sg" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/effect/turf_decal/stripes/corner,
/obj/structure/cable,
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/construction)
"Sj" = (
/obj/structure/table/optable,
/obj/effect/turf_decal/tile/blue{
@@ -2385,11 +2365,6 @@
},
/turf/open/floor/iron/white/corner,
/area/station/medical/medbay)
"Sp" = (
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
"Td" = (
/obj/machinery/light/directional/east,
/obj/effect/turf_decal/stripes/line{
@@ -2416,6 +2391,18 @@
/obj/item/healthanalyzer/advanced,
/turf/open/floor/iron,
/area/station/medical/medbay)
"Va" = (
/obj/machinery/power/smes{
charge = 5e+006
},
/obj/effect/turf_decal/stripes/line{
dir = 9
},
/obj/structure/cable,
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/engineering/gravity_generator)
"Vg" = (
/obj/machinery/light/directional/south,
/obj/structure/cable,
@@ -2544,6 +2531,19 @@
/obj/machinery/camera/autoname/directional/south,
/turf/open/floor/iron,
/area/station/cargo/miningoffice)
"Zd" = (
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/hallway/secondary/exit/departure_lounge)
"Zz" = (
/obj/machinery/power/apc/auto_name/directional/west,
/obj/effect/turf_decal/stripes/line,
/obj/structure/cable,
/obj/machinery/airalarm/directional/north,
/obj/effect/mapping_helpers/airalarm/unlocked,
/turf/open/floor/iron,
/area/station/commons/storage/primary)
"ZD" = (
/obj/machinery/suit_storage_unit/ce,
/turf/open/floor/iron,
@@ -4228,7 +4228,7 @@ em
em
em
em
gi
EM
gm
go
gp
@@ -5699,7 +5699,7 @@ aD
aD
bT
cI
dg
PJ
aD
aD
aD
@@ -5713,7 +5713,7 @@ eh
eh
eh
eF
eM
HW
fM
eh
eh
@@ -5880,12 +5880,12 @@ aa
ah
ut
aw
ou
hm
aw
aw
Kx
ah
bs
zS
bB
ca
If
@@ -5894,7 +5894,7 @@ kn
ES
bE
cN
cW
Sg
dm
dy
ii
@@ -6091,7 +6091,7 @@ dn
dn
dL
cN
AE
Pk
kp
XN
Ym
@@ -6258,7 +6258,7 @@ bD
XC
co
bA
wS
JS
bE
bE
cN
@@ -6438,7 +6438,7 @@ ab
ab
ab
bu
bG
Fd
ce
cp
bu
@@ -7090,7 +7090,7 @@ cE
bE
bE
cS
dd
Zz
dp
dl
dl
@@ -7350,7 +7350,7 @@ aa
aa
aa
aj
ar
IH
aA
aH
aF
@@ -7358,7 +7358,7 @@ lg
bf
bp
aj
bP
Px
Ce
JF
mE
@@ -7536,7 +7536,7 @@ aa
ad
af
ak
as
Va
aG
aV
bg
@@ -7910,7 +7910,7 @@ MN
MN
av
by
bU
Ot
cl
cl
cl
@@ -8380,7 +8380,7 @@ es
by
eu
eu
eG
qx
eP
fY
eZ
@@ -8391,7 +8391,7 @@ eu
eu
eu
et
Sp
Zd
fO
fO
fO