[MIRROR] Add mapping linter to check for duplicate machinery stacked on same tile [MDB IGNORE] (#24905)

* Add mapping linter to check for duplicate machinery stacked on same tile (#79394)

This has happened quite a few times in the past and it'd be a good idea
to have a linter catch this common mistake. After digging through the
Python code for the mapping linter, it appears the linter wasn't
correctly identifying two duplicate objects. I tweaked the code to fix
this.

* Add mapping linter to check for duplicate machinery stacked on same tile

* Fixes modular mapping errors

* Missed these?

* More errors

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
This commit is contained in:
SkyratBot
2023-11-10 07:00:08 -05:00
committed by GitHub
co-authored by Tim Giz
parent 92ad3101d5
commit ee0d49ad1c
10 changed files with 14 additions and 36 deletions
@@ -2159,11 +2159,6 @@
},
/turf/open/floor/iron/white,
/area/ruin/space/has_grav/cargodise_freighter/trauma)
"IA" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/turf/open/floor/iron/kitchen,
/area/ruin/space/has_grav/cargodise_freighter/kitchen)
"IP" = (
/obj/machinery/vending/dinnerware,
/turf/open/floor/iron/kitchen,
@@ -3039,12 +3034,6 @@
/obj/machinery/light/directional/south,
/turf/open/floor/iron/kitchen,
/area/ruin/space/has_grav/cargodise_freighter/kitchen)
"WE" = (
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4,
/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2,
/turf/open/floor/iron/dark,
/area/ruin/space/has_grav/cargodise_freighter/kitchen)
"WJ" = (
/obj/effect/turf_decal/tile/yellow/half{
dir = 4
@@ -4066,7 +4055,7 @@ Ey
WQ
Gg
Zq
WE
wd
YY
Gg
UL
@@ -4635,7 +4624,7 @@ vH
vH
Gg
gc
IA
FT
FT
FT
JC
@@ -7615,7 +7615,6 @@
"Qy" = (
/obj/machinery/firealarm/directional/west,
/obj/machinery/suit_storage_unit/industrial/hauler,
/obj/machinery/suit_storage_unit/industrial/hauler,
/obj/effect/turf_decal/tile/brown/half{
dir = 8
},
@@ -7213,7 +7213,6 @@
/obj/effect/decal/cleanable/dirt,
/obj/machinery/firealarm/directional/west,
/obj/machinery/suit_storage_unit/industrial/hauler,
/obj/machinery/suit_storage_unit/industrial/hauler,
/obj/effect/turf_decal/tile/brown/half{
dir = 8
},
@@ -6335,7 +6335,6 @@
"Qy" = (
/obj/machinery/firealarm/directional/west,
/obj/machinery/suit_storage_unit/industrial/hauler,
/obj/machinery/suit_storage_unit/industrial/hauler,
/obj/effect/turf_decal/tile/brown/half{
dir = 8
},
@@ -6955,7 +6955,6 @@
"Qy" = (
/obj/machinery/firealarm/directional/west,
/obj/machinery/suit_storage_unit/industrial/hauler,
/obj/machinery/suit_storage_unit/industrial/hauler,
/obj/effect/turf_decal/tile/brown/half{
dir = 8
},
-6
View File
@@ -5090,9 +5090,6 @@
/turf/open/floor/iron/smooth,
/area/awaymission/black_mesa/entrance_internal_hall)
"cTO" = (
/obj/machinery/power/emitter/energycannon{
dir = 8
},
/obj/machinery/power/emitter/energycannon{
dir = 8
},
@@ -6329,9 +6326,6 @@
/turf/open/floor/iron/smooth_large,
/area/awaymission/black_mesa/lambda_teleporter)
"fjj" = (
/obj/machinery/power/emitter/energycannon{
dir = 4
},
/obj/machinery/power/emitter/energycannon{
dir = 4
},
+1 -7
View File
@@ -7548,10 +7548,6 @@
},
/obj/effect/mapping_helpers/requests_console/information,
/obj/effect/mapping_helpers/requests_console/assistance,
/obj/machinery/requests_console/directional/west{
department = "Toxins Lab";
name = "Toxins Requests Console"
},
/obj/effect/mapping_helpers/requests_console/information,
/obj/effect/mapping_helpers/requests_console/assistance,
/obj/effect/turf_decal/bot,
@@ -20850,7 +20846,7 @@
/obj/structure/railing,
/obj/machinery/elevator_control_panel/directional/south{
linked_elevator_id = "publicElevator";
preset_destination_names = list("2"="Lower Deck","3"="Upper Deck")
preset_destination_names = list("2"="Lower Deck","3"="Upper Deck")
},
/turf/open/floor/plating/elevatorshaft,
/area/station/hallway/primary/central)
@@ -91796,7 +91792,6 @@
"pnj" = (
/obj/machinery/hydroponics/constructable,
/obj/structure/flora/bush/sparsegrass,
/obj/machinery/hydroponics/constructable,
/turf/open/floor/grass,
/area/station/security/prison/garden)
"pnk" = (
@@ -135000,7 +134995,6 @@
/obj/effect/turf_decal/box/white{
color = "#52B4E9"
},
/obj/machinery/portable_atmospherics/canister/anesthetic_mix,
/obj/effect/turf_decal/tile/blue{
dir = 4
},
@@ -2144,10 +2144,6 @@
/obj/effect/turf_decal/trimline/purple/filled/line{
dir = 6
},
/obj/machinery/button/door/directional/south{
id = "genetics_shutters";
name = "Genetics Shutters"
},
/obj/item/storage/box/monkeycubes{
pixel_x = 6;
pixel_y = 9
@@ -16605,7 +16601,6 @@
/obj/effect/turf_decal/trimline/brown/filled/line{
dir = 4
},
/obj/machinery/firealarm/directional/east,
/obj/structure/bed/dogbed{
anchored = 1;
name = "Markus's bed"
@@ -0,0 +1,4 @@
/obj/machinery:
banned_neighbors:
/obj/machinery:
identical: true
+7 -1
View File
@@ -66,7 +66,13 @@ class BannedNeighbor:
def matches(self, identified: Content, neighbor: Content):
if self.identical:
return neighbor == identified
if identified.path != neighbor.path:
return False
if identified.var_edits != neighbor.var_edits:
return False
return True
if self.typepath is not None:
if self.typepath.matches_path(neighbor.path):