rust-map-parser 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. rust_map_parser-0.1.0.dist-info/METADATA +538 -0
  2. rust_map_parser-0.1.0.dist-info/RECORD +110 -0
  3. rust_map_parser-0.1.0.dist-info/WHEEL +5 -0
  4. rust_map_parser-0.1.0.dist-info/licenses/LICENSE +21 -0
  5. rust_map_parser-0.1.0.dist-info/top_level.txt +1 -0
  6. rustmap/__init__.py +44 -0
  7. rustmap/config.py +236 -0
  8. rustmap/data/__init__.py +1 -0
  9. rustmap/data/monument_metadata.json +954 -0
  10. rustmap/data/no_build_zones.json +9543 -0
  11. rustmap/data/prefab_manifest.json +242637 -0
  12. rustmap/data/spawn_rules.json +3308 -0
  13. rustmap/data/tunnel_tiles/__init__.py +1 -0
  14. rustmap/data/tunnel_tiles/template_000__curve-nw-0.png +0 -0
  15. rustmap/data/tunnel_tiles/template_001__curve-nw-1.png +0 -0
  16. rustmap/data/tunnel_tiles/template_002__intersection-bb1-n.png +0 -0
  17. rustmap/data/tunnel_tiles/template_003__intersection-bb4-n.png +0 -0
  18. rustmap/data/tunnel_tiles/template_004__intersection-b5-n.png +0 -0
  19. rustmap/data/tunnel_tiles/template_005__intersection-b3-n.png +0 -0
  20. rustmap/data/tunnel_tiles/template_006__intersection-b2-n.png +0 -0
  21. rustmap/data/tunnel_tiles/template_007__intersection-bb2-n.png +0 -0
  22. rustmap/data/tunnel_tiles/template_008__intersection-b6-n.png +0 -0
  23. rustmap/data/tunnel_tiles/template_009__intersection-bb3-n.png +0 -0
  24. rustmap/data/tunnel_tiles/template_010__intersection-b4-n.png +0 -0
  25. rustmap/data/tunnel_tiles/template_011__intersection-bb6-n.png +0 -0
  26. rustmap/data/tunnel_tiles/template_012__intersection-n.png +0 -0
  27. rustmap/data/tunnel_tiles/template_013__intersection-b1-n.png +0 -0
  28. rustmap/data/tunnel_tiles/template_014__intersection-bb5-n.png +0 -0
  29. rustmap/data/tunnel_tiles/template_015__station-sn-0.png +0 -0
  30. rustmap/data/tunnel_tiles/template_016__straight-sn-3.png +0 -0
  31. rustmap/data/tunnel_tiles/template_017__straight-sn-2.png +0 -0
  32. rustmap/data/tunnel_tiles/template_018__station-sn-1.png +0 -0
  33. rustmap/data/tunnel_tiles/template_019__straight-sn-0.png +0 -0
  34. rustmap/data/tunnel_tiles/template_020__straight-sn-1.png +0 -0
  35. rustmap/data/tunnel_tiles/template_021__station-sn-3.png +0 -0
  36. rustmap/data/tunnel_tiles/template_022__straight-sn-4.png +0 -0
  37. rustmap/data/tunnel_tiles/template_023__station-sn-2.png +0 -0
  38. rustmap/data/tunnel_tiles/template_024__straight-sn-5.png +0 -0
  39. rustmap/data/tunnel_tiles/template_025__curve-ne-1.png +0 -0
  40. rustmap/data/tunnel_tiles/template_026__curve-ne-0.png +0 -0
  41. rustmap/data/tunnel_tiles/template_027__intersection.png +0 -0
  42. rustmap/data/tunnel_tiles/template_028__intersection-bb2-s.png +0 -0
  43. rustmap/data/tunnel_tiles/template_029__intersection-b2-s.png +0 -0
  44. rustmap/data/tunnel_tiles/template_030__intersection-b6-s.png +0 -0
  45. rustmap/data/tunnel_tiles/template_031__intersection-bb5-s.png +0 -0
  46. rustmap/data/tunnel_tiles/template_032__intersection-bb1-s.png +0 -0
  47. rustmap/data/tunnel_tiles/template_033__intersection-s.png +0 -0
  48. rustmap/data/tunnel_tiles/template_034__intersection-b1-s.png +0 -0
  49. rustmap/data/tunnel_tiles/template_035__intersection-bb6-s.png +0 -0
  50. rustmap/data/tunnel_tiles/template_036__intersection-b5-s.png +0 -0
  51. rustmap/data/tunnel_tiles/template_037__intersection-bb4-s.png +0 -0
  52. rustmap/data/tunnel_tiles/template_038__intersection-b3-s.png +0 -0
  53. rustmap/data/tunnel_tiles/template_039__intersection-bb3-s.png +0 -0
  54. rustmap/data/tunnel_tiles/template_040__intersection-b4-s.png +0 -0
  55. rustmap/data/tunnel_tiles/template_041__straight-we-3.png +0 -0
  56. rustmap/data/tunnel_tiles/template_042__station-we-1.png +0 -0
  57. rustmap/data/tunnel_tiles/template_043__straight-we-5.png +0 -0
  58. rustmap/data/tunnel_tiles/template_044__straight-we-4.png +0 -0
  59. rustmap/data/tunnel_tiles/template_045__station-we-2.png +0 -0
  60. rustmap/data/tunnel_tiles/template_046__station-we-3.png +0 -0
  61. rustmap/data/tunnel_tiles/template_047__station-we-0.png +0 -0
  62. rustmap/data/tunnel_tiles/template_048__straight-we-2.png +0 -0
  63. rustmap/data/tunnel_tiles/template_049__straight-we-1.png +0 -0
  64. rustmap/data/tunnel_tiles/template_050__straight-we-0.png +0 -0
  65. rustmap/data/tunnel_tiles/template_051__curve-se-0.png +0 -0
  66. rustmap/data/tunnel_tiles/template_052__curve-se-1.png +0 -0
  67. rustmap/data/tunnel_tiles/template_053__intersection-bb3-w.png +0 -0
  68. rustmap/data/tunnel_tiles/template_054__intersection-w.png +0 -0
  69. rustmap/data/tunnel_tiles/template_055__intersection-bb5-w.png +0 -0
  70. rustmap/data/tunnel_tiles/template_056__intersection-b5-w.png +0 -0
  71. rustmap/data/tunnel_tiles/template_057__intersection-b1-w.png +0 -0
  72. rustmap/data/tunnel_tiles/template_058__intersection-bb1-w.png +0 -0
  73. rustmap/data/tunnel_tiles/template_059__intersection-bb4-w.png +0 -0
  74. rustmap/data/tunnel_tiles/template_060__intersection-b4-w.png +0 -0
  75. rustmap/data/tunnel_tiles/template_061__intersection-b6-w.png +0 -0
  76. rustmap/data/tunnel_tiles/template_062__intersection-bb2-w.png +0 -0
  77. rustmap/data/tunnel_tiles/template_063__intersection-b3-w.png +0 -0
  78. rustmap/data/tunnel_tiles/template_064__intersection-b2-w.png +0 -0
  79. rustmap/data/tunnel_tiles/template_065__intersection-bb6-w.png +0 -0
  80. rustmap/data/tunnel_tiles/template_066__curve-sw-0.png +0 -0
  81. rustmap/data/tunnel_tiles/template_067__curve-sw-1.png +0 -0
  82. rustmap/data/tunnel_tiles/template_068__intersection-bb3-e.png +0 -0
  83. rustmap/data/tunnel_tiles/template_069__intersection-bb6-e.png +0 -0
  84. rustmap/data/tunnel_tiles/template_070__intersection-b4-e.png +0 -0
  85. rustmap/data/tunnel_tiles/template_071__intersection-b6-e.png +0 -0
  86. rustmap/data/tunnel_tiles/template_072__intersection-b5-e.png +0 -0
  87. rustmap/data/tunnel_tiles/template_073__intersection-b1-e.png +0 -0
  88. rustmap/data/tunnel_tiles/template_074__intersection-b3-e.png +0 -0
  89. rustmap/data/tunnel_tiles/template_075__intersection-bb2-e.png +0 -0
  90. rustmap/data/tunnel_tiles/template_076__intersection-e.png +0 -0
  91. rustmap/data/tunnel_tiles/template_077__intersection-bb1-e.png +0 -0
  92. rustmap/data/tunnel_tiles/template_078__intersection-bb4-e.png +0 -0
  93. rustmap/data/tunnel_tiles/template_079__intersection-b2-e.png +0 -0
  94. rustmap/data/tunnel_tiles/template_080__intersection-bb5-e.png +0 -0
  95. rustmap/data/tunnel_tiles/tiles.json +997 -0
  96. rustmap/exporter.py +409 -0
  97. rustmap/layers.py +323 -0
  98. rustmap/monument_assets.py +145 -0
  99. rustmap/monuments.py +226 -0
  100. rustmap/no_build.py +288 -0
  101. rustmap/no_build_assets.py +303 -0
  102. rustmap/parser.py +297 -0
  103. rustmap/png.py +18 -0
  104. rustmap/populations.py +361 -0
  105. rustmap/prefabs.py +281 -0
  106. rustmap/renderer.py +460 -0
  107. rustmap/resources.py +26 -0
  108. rustmap/tunnel_assets.py +398 -0
  109. rustmap/tunnels.py +417 -0
  110. rustmap/validation.py +106 -0
@@ -0,0 +1,954 @@
1
+ {
2
+ "schema_version": 1,
3
+ "source": {
4
+ "schema_version": 5,
5
+ "rust_build_id": "24091435",
6
+ "bundles": {
7
+ "content": {
8
+ "size": 4412718160,
9
+ "mtime_ns": 1783536348287478600
10
+ },
11
+ "asset_scenes": {
12
+ "size": 1007244752,
13
+ "mtime_ns": 1783536348287478600
14
+ },
15
+ "maps": {
16
+ "size": 114147120,
17
+ "mtime_ns": 1783116536193229800
18
+ }
19
+ }
20
+ },
21
+ "extraction": {
22
+ "asset_scene_count": 25,
23
+ "method": "prefab component and named loot-spawner scan",
24
+ "keycard_access_levels": {
25
+ "1": "green",
26
+ "2": "blue",
27
+ "3": "red"
28
+ },
29
+ "loot_tier_scale": {
30
+ "0": "none detected",
31
+ "1": "low/normal",
32
+ "2": "tier 2",
33
+ "3": "tier 3/elite"
34
+ }
35
+ },
36
+ "prefab_count": 58,
37
+ "prefabs": {
38
+ "assets/bundled/prefabs/autospawn/monument/arctic_bases/arctic_research_base_a.prefab": {
39
+ "recycler_count": 1,
40
+ "keycard_requirements": [
41
+ "blue"
42
+ ],
43
+ "keycard_reader_counts": {
44
+ "green": 0,
45
+ "blue": 2,
46
+ "red": 0
47
+ },
48
+ "puzzle_type": "keycard_and_electrical",
49
+ "puzzle_reset_count": 1,
50
+ "loot_tier": 2,
51
+ "loot_spawner_count": 4,
52
+ "safe_zone": false,
53
+ "vending_machine_count": 0
54
+ },
55
+ "assets/bundled/prefabs/autospawn/monument/cave/cave_large_hard.prefab": {
56
+ "recycler_count": 0,
57
+ "keycard_requirements": [],
58
+ "keycard_reader_counts": {
59
+ "green": 0,
60
+ "blue": 0,
61
+ "red": 0
62
+ },
63
+ "puzzle_type": "none",
64
+ "puzzle_reset_count": 0,
65
+ "loot_tier": 0,
66
+ "loot_spawner_count": 0,
67
+ "safe_zone": false,
68
+ "vending_machine_count": 0
69
+ },
70
+ "assets/bundled/prefabs/autospawn/monument/cave/cave_large_medium.prefab": {
71
+ "recycler_count": 0,
72
+ "keycard_requirements": [],
73
+ "keycard_reader_counts": {
74
+ "green": 0,
75
+ "blue": 0,
76
+ "red": 0
77
+ },
78
+ "puzzle_type": "none",
79
+ "puzzle_reset_count": 0,
80
+ "loot_tier": 0,
81
+ "loot_spawner_count": 0,
82
+ "safe_zone": false,
83
+ "vending_machine_count": 0
84
+ },
85
+ "assets/bundled/prefabs/autospawn/monument/cave/cave_large_sewers_hard.prefab": {
86
+ "recycler_count": 0,
87
+ "keycard_requirements": [],
88
+ "keycard_reader_counts": {
89
+ "green": 0,
90
+ "blue": 0,
91
+ "red": 0
92
+ },
93
+ "puzzle_type": "none",
94
+ "puzzle_reset_count": 0,
95
+ "loot_tier": 0,
96
+ "loot_spawner_count": 0,
97
+ "safe_zone": false,
98
+ "vending_machine_count": 0
99
+ },
100
+ "assets/bundled/prefabs/autospawn/monument/cave/cave_medium_easy.prefab": {
101
+ "recycler_count": 0,
102
+ "keycard_requirements": [],
103
+ "keycard_reader_counts": {
104
+ "green": 0,
105
+ "blue": 0,
106
+ "red": 0
107
+ },
108
+ "puzzle_type": "none",
109
+ "puzzle_reset_count": 0,
110
+ "loot_tier": 0,
111
+ "loot_spawner_count": 0,
112
+ "safe_zone": false,
113
+ "vending_machine_count": 0
114
+ },
115
+ "assets/bundled/prefabs/autospawn/monument/cave/cave_medium_hard.prefab": {
116
+ "recycler_count": 0,
117
+ "keycard_requirements": [],
118
+ "keycard_reader_counts": {
119
+ "green": 0,
120
+ "blue": 0,
121
+ "red": 0
122
+ },
123
+ "puzzle_type": "none",
124
+ "puzzle_reset_count": 0,
125
+ "loot_tier": 0,
126
+ "loot_spawner_count": 0,
127
+ "safe_zone": false,
128
+ "vending_machine_count": 0
129
+ },
130
+ "assets/bundled/prefabs/autospawn/monument/cave/cave_medium_medium.prefab": {
131
+ "recycler_count": 0,
132
+ "keycard_requirements": [],
133
+ "keycard_reader_counts": {
134
+ "green": 0,
135
+ "blue": 0,
136
+ "red": 0
137
+ },
138
+ "puzzle_type": "none",
139
+ "puzzle_reset_count": 0,
140
+ "loot_tier": 0,
141
+ "loot_spawner_count": 0,
142
+ "safe_zone": false,
143
+ "vending_machine_count": 0
144
+ },
145
+ "assets/bundled/prefabs/autospawn/monument/cave/cave_small_easy.prefab": {
146
+ "recycler_count": 0,
147
+ "keycard_requirements": [],
148
+ "keycard_reader_counts": {
149
+ "green": 0,
150
+ "blue": 0,
151
+ "red": 0
152
+ },
153
+ "puzzle_type": "none",
154
+ "puzzle_reset_count": 0,
155
+ "loot_tier": 0,
156
+ "loot_spawner_count": 0,
157
+ "safe_zone": false,
158
+ "vending_machine_count": 0
159
+ },
160
+ "assets/bundled/prefabs/autospawn/monument/cave/cave_small_hard.prefab": {
161
+ "recycler_count": 0,
162
+ "keycard_requirements": [],
163
+ "keycard_reader_counts": {
164
+ "green": 0,
165
+ "blue": 0,
166
+ "red": 0
167
+ },
168
+ "puzzle_type": "none",
169
+ "puzzle_reset_count": 0,
170
+ "loot_tier": 0,
171
+ "loot_spawner_count": 0,
172
+ "safe_zone": false,
173
+ "vending_machine_count": 0
174
+ },
175
+ "assets/bundled/prefabs/autospawn/monument/cave/cave_small_medium.prefab": {
176
+ "recycler_count": 0,
177
+ "keycard_requirements": [],
178
+ "keycard_reader_counts": {
179
+ "green": 0,
180
+ "blue": 0,
181
+ "red": 0
182
+ },
183
+ "puzzle_type": "none",
184
+ "puzzle_reset_count": 0,
185
+ "loot_tier": 0,
186
+ "loot_spawner_count": 0,
187
+ "safe_zone": false,
188
+ "vending_machine_count": 0
189
+ },
190
+ "assets/bundled/prefabs/autospawn/monument/fishing_village/fishing_village_a.prefab": {
191
+ "recycler_count": 0,
192
+ "keycard_requirements": [],
193
+ "keycard_reader_counts": {
194
+ "green": 0,
195
+ "blue": 0,
196
+ "red": 0
197
+ },
198
+ "puzzle_type": "none",
199
+ "puzzle_reset_count": 0,
200
+ "loot_tier": 0,
201
+ "loot_spawner_count": 0,
202
+ "safe_zone": true,
203
+ "vending_machine_count": 1
204
+ },
205
+ "assets/bundled/prefabs/autospawn/monument/fishing_village/fishing_village_b.prefab": {
206
+ "recycler_count": 0,
207
+ "keycard_requirements": [],
208
+ "keycard_reader_counts": {
209
+ "green": 0,
210
+ "blue": 0,
211
+ "red": 0
212
+ },
213
+ "puzzle_type": "none",
214
+ "puzzle_reset_count": 0,
215
+ "loot_tier": 0,
216
+ "loot_spawner_count": 0,
217
+ "safe_zone": true,
218
+ "vending_machine_count": 1
219
+ },
220
+ "assets/bundled/prefabs/autospawn/monument/fishing_village/fishing_village_c.prefab": {
221
+ "recycler_count": 0,
222
+ "keycard_requirements": [],
223
+ "keycard_reader_counts": {
224
+ "green": 0,
225
+ "blue": 0,
226
+ "red": 0
227
+ },
228
+ "puzzle_type": "none",
229
+ "puzzle_reset_count": 0,
230
+ "loot_tier": 0,
231
+ "loot_spawner_count": 0,
232
+ "safe_zone": true,
233
+ "vending_machine_count": 1
234
+ },
235
+ "assets/bundled/prefabs/autospawn/monument/harbor/ferry_terminal_1.prefab": {
236
+ "recycler_count": 1,
237
+ "keycard_requirements": [
238
+ "green"
239
+ ],
240
+ "keycard_reader_counts": {
241
+ "green": 1,
242
+ "blue": 0,
243
+ "red": 0
244
+ },
245
+ "puzzle_type": "keycard",
246
+ "puzzle_reset_count": 0,
247
+ "loot_tier": 1,
248
+ "loot_spawner_count": 1,
249
+ "safe_zone": false,
250
+ "vending_machine_count": 0
251
+ },
252
+ "assets/bundled/prefabs/autospawn/monument/harbor/harbor_1.prefab": {
253
+ "recycler_count": 1,
254
+ "keycard_requirements": [
255
+ "green"
256
+ ],
257
+ "keycard_reader_counts": {
258
+ "green": 1,
259
+ "blue": 0,
260
+ "red": 0
261
+ },
262
+ "puzzle_type": "keycard",
263
+ "puzzle_reset_count": 0,
264
+ "loot_tier": 2,
265
+ "loot_spawner_count": 1,
266
+ "safe_zone": false,
267
+ "vending_machine_count": 0
268
+ },
269
+ "assets/bundled/prefabs/autospawn/monument/harbor/harbor_2.prefab": {
270
+ "recycler_count": 1,
271
+ "keycard_requirements": [
272
+ "green"
273
+ ],
274
+ "keycard_reader_counts": {
275
+ "green": 1,
276
+ "blue": 0,
277
+ "red": 0
278
+ },
279
+ "puzzle_type": "keycard_and_electrical",
280
+ "puzzle_reset_count": 1,
281
+ "loot_tier": 2,
282
+ "loot_spawner_count": 1,
283
+ "safe_zone": false,
284
+ "vending_machine_count": 0
285
+ },
286
+ "assets/bundled/prefabs/autospawn/monument/jungle_ruins/jungle_ruins_b.prefab": {
287
+ "recycler_count": 0,
288
+ "keycard_requirements": [],
289
+ "keycard_reader_counts": {
290
+ "green": 0,
291
+ "blue": 0,
292
+ "red": 0
293
+ },
294
+ "puzzle_type": "none",
295
+ "puzzle_reset_count": 0,
296
+ "loot_tier": 0,
297
+ "loot_spawner_count": 0,
298
+ "safe_zone": false,
299
+ "vending_machine_count": 0
300
+ },
301
+ "assets/bundled/prefabs/autospawn/monument/jungle_ruins/jungle_ruins_c.prefab": {
302
+ "recycler_count": 0,
303
+ "keycard_requirements": [],
304
+ "keycard_reader_counts": {
305
+ "green": 0,
306
+ "blue": 0,
307
+ "red": 0
308
+ },
309
+ "puzzle_type": "none",
310
+ "puzzle_reset_count": 0,
311
+ "loot_tier": 0,
312
+ "loot_spawner_count": 0,
313
+ "safe_zone": false,
314
+ "vending_machine_count": 0
315
+ },
316
+ "assets/bundled/prefabs/autospawn/monument/jungle_ruins/jungle_ruins_d.prefab": {
317
+ "recycler_count": 0,
318
+ "keycard_requirements": [],
319
+ "keycard_reader_counts": {
320
+ "green": 0,
321
+ "blue": 0,
322
+ "red": 0
323
+ },
324
+ "puzzle_type": "none",
325
+ "puzzle_reset_count": 0,
326
+ "loot_tier": 0,
327
+ "loot_spawner_count": 0,
328
+ "safe_zone": false,
329
+ "vending_machine_count": 0
330
+ },
331
+ "assets/bundled/prefabs/autospawn/monument/jungle_ruins/jungle_ziggurat_a.prefab": {
332
+ "recycler_count": 1,
333
+ "keycard_requirements": [],
334
+ "keycard_reader_counts": {
335
+ "green": 0,
336
+ "blue": 0,
337
+ "red": 0
338
+ },
339
+ "puzzle_type": "none",
340
+ "puzzle_reset_count": 0,
341
+ "loot_tier": 0,
342
+ "loot_spawner_count": 0,
343
+ "safe_zone": false,
344
+ "vending_machine_count": 0
345
+ },
346
+ "assets/bundled/prefabs/autospawn/monument/large/airfield_1.prefab": {
347
+ "recycler_count": 2,
348
+ "keycard_requirements": [
349
+ "green",
350
+ "blue"
351
+ ],
352
+ "keycard_reader_counts": {
353
+ "green": 4,
354
+ "blue": 1,
355
+ "red": 0
356
+ },
357
+ "puzzle_type": "keycard",
358
+ "puzzle_reset_count": 0,
359
+ "loot_tier": 1,
360
+ "loot_spawner_count": 1,
361
+ "safe_zone": false,
362
+ "vending_machine_count": 0
363
+ },
364
+ "assets/bundled/prefabs/autospawn/monument/large/excavator_1.prefab": {
365
+ "recycler_count": 1,
366
+ "keycard_requirements": [],
367
+ "keycard_reader_counts": {
368
+ "green": 0,
369
+ "blue": 0,
370
+ "red": 0
371
+ },
372
+ "puzzle_type": "none",
373
+ "puzzle_reset_count": 0,
374
+ "loot_tier": 0,
375
+ "loot_spawner_count": 0,
376
+ "safe_zone": false,
377
+ "vending_machine_count": 0
378
+ },
379
+ "assets/bundled/prefabs/autospawn/monument/large/military_tunnel_1.prefab": {
380
+ "recycler_count": 1,
381
+ "keycard_requirements": [
382
+ "green",
383
+ "blue",
384
+ "red"
385
+ ],
386
+ "keycard_reader_counts": {
387
+ "green": 2,
388
+ "blue": 2,
389
+ "red": 2
390
+ },
391
+ "puzzle_type": "keycard",
392
+ "puzzle_reset_count": 0,
393
+ "loot_tier": 1,
394
+ "loot_spawner_count": 1,
395
+ "safe_zone": false,
396
+ "vending_machine_count": 0
397
+ },
398
+ "assets/bundled/prefabs/autospawn/monument/large/powerplant_1.prefab": {
399
+ "recycler_count": 3,
400
+ "keycard_requirements": [
401
+ "green",
402
+ "blue"
403
+ ],
404
+ "keycard_reader_counts": {
405
+ "green": 4,
406
+ "blue": 2,
407
+ "red": 0
408
+ },
409
+ "puzzle_type": "keycard",
410
+ "puzzle_reset_count": 0,
411
+ "loot_tier": 1,
412
+ "loot_spawner_count": 1,
413
+ "safe_zone": false,
414
+ "vending_machine_count": 0
415
+ },
416
+ "assets/bundled/prefabs/autospawn/monument/large/trainyard_1.prefab": {
417
+ "recycler_count": 1,
418
+ "keycard_requirements": [
419
+ "green",
420
+ "blue"
421
+ ],
422
+ "keycard_reader_counts": {
423
+ "green": 3,
424
+ "blue": 1,
425
+ "red": 0
426
+ },
427
+ "puzzle_type": "keycard",
428
+ "puzzle_reset_count": 0,
429
+ "loot_tier": 1,
430
+ "loot_spawner_count": 1,
431
+ "safe_zone": false,
432
+ "vending_machine_count": 0
433
+ },
434
+ "assets/bundled/prefabs/autospawn/monument/large/water_treatment_plant_1.prefab": {
435
+ "recycler_count": 1,
436
+ "keycard_requirements": [
437
+ "green",
438
+ "blue"
439
+ ],
440
+ "keycard_reader_counts": {
441
+ "green": 1,
442
+ "blue": 1,
443
+ "red": 0
444
+ },
445
+ "puzzle_type": "keycard",
446
+ "puzzle_reset_count": 0,
447
+ "loot_tier": 1,
448
+ "loot_spawner_count": 2,
449
+ "safe_zone": false,
450
+ "vending_machine_count": 0
451
+ },
452
+ "assets/bundled/prefabs/autospawn/monument/lighthouse/lighthouse.prefab": {
453
+ "recycler_count": 1,
454
+ "keycard_requirements": [],
455
+ "keycard_reader_counts": {
456
+ "green": 0,
457
+ "blue": 0,
458
+ "red": 0
459
+ },
460
+ "puzzle_type": "none",
461
+ "puzzle_reset_count": 0,
462
+ "loot_tier": 1,
463
+ "loot_spawner_count": 1,
464
+ "safe_zone": false,
465
+ "vending_machine_count": 0
466
+ },
467
+ "assets/bundled/prefabs/autospawn/monument/medium/apartments_complex_1.prefab": {
468
+ "recycler_count": 0,
469
+ "keycard_requirements": [],
470
+ "keycard_reader_counts": {
471
+ "green": 0,
472
+ "blue": 0,
473
+ "red": 0
474
+ },
475
+ "puzzle_type": "none",
476
+ "puzzle_reset_count": 0,
477
+ "loot_tier": 0,
478
+ "loot_spawner_count": 0,
479
+ "safe_zone": true,
480
+ "vending_machine_count": 0
481
+ },
482
+ "assets/bundled/prefabs/autospawn/monument/medium/bandit_town.prefab": {
483
+ "recycler_count": 2,
484
+ "keycard_requirements": [],
485
+ "keycard_reader_counts": {
486
+ "green": 0,
487
+ "blue": 0,
488
+ "red": 0
489
+ },
490
+ "puzzle_type": "none",
491
+ "puzzle_reset_count": 0,
492
+ "loot_tier": 0,
493
+ "loot_spawner_count": 0,
494
+ "safe_zone": true,
495
+ "vending_machine_count": 0
496
+ },
497
+ "assets/bundled/prefabs/autospawn/monument/medium/compound.prefab": {
498
+ "recycler_count": 3,
499
+ "keycard_requirements": [],
500
+ "keycard_reader_counts": {
501
+ "green": 0,
502
+ "blue": 0,
503
+ "red": 0
504
+ },
505
+ "puzzle_type": "none",
506
+ "puzzle_reset_count": 0,
507
+ "loot_tier": 0,
508
+ "loot_spawner_count": 0,
509
+ "safe_zone": true,
510
+ "vending_machine_count": 7
511
+ },
512
+ "assets/bundled/prefabs/autospawn/monument/medium/junkyard_1.prefab": {
513
+ "recycler_count": 1,
514
+ "keycard_requirements": [],
515
+ "keycard_reader_counts": {
516
+ "green": 0,
517
+ "blue": 0,
518
+ "red": 0
519
+ },
520
+ "puzzle_type": "none",
521
+ "puzzle_reset_count": 0,
522
+ "loot_tier": 0,
523
+ "loot_spawner_count": 0,
524
+ "safe_zone": false,
525
+ "vending_machine_count": 0
526
+ },
527
+ "assets/bundled/prefabs/autospawn/monument/medium/nuclear_missile_silo.prefab": {
528
+ "recycler_count": 0,
529
+ "keycard_requirements": [
530
+ "red"
531
+ ],
532
+ "keycard_reader_counts": {
533
+ "green": 0,
534
+ "blue": 0,
535
+ "red": 1
536
+ },
537
+ "puzzle_type": "keycard_and_electrical",
538
+ "puzzle_reset_count": 2,
539
+ "loot_tier": 3,
540
+ "loot_spawner_count": 4,
541
+ "safe_zone": false,
542
+ "vending_machine_count": 0
543
+ },
544
+ "assets/bundled/prefabs/autospawn/monument/medium/radtown_small_3.prefab": {
545
+ "recycler_count": 2,
546
+ "keycard_requirements": [
547
+ "green"
548
+ ],
549
+ "keycard_reader_counts": {
550
+ "green": 2,
551
+ "blue": 0,
552
+ "red": 0
553
+ },
554
+ "puzzle_type": "keycard",
555
+ "puzzle_reset_count": 0,
556
+ "loot_tier": 1,
557
+ "loot_spawner_count": 1,
558
+ "safe_zone": false,
559
+ "vending_machine_count": 0
560
+ },
561
+ "assets/bundled/prefabs/autospawn/monument/offshore/oilrig_1.prefab": {
562
+ "recycler_count": 0,
563
+ "keycard_requirements": [
564
+ "green",
565
+ "blue",
566
+ "red"
567
+ ],
568
+ "keycard_reader_counts": {
569
+ "green": 1,
570
+ "blue": 1,
571
+ "red": 1
572
+ },
573
+ "puzzle_type": "keycard",
574
+ "puzzle_reset_count": 0,
575
+ "loot_tier": 1,
576
+ "loot_spawner_count": 4,
577
+ "safe_zone": false,
578
+ "vending_machine_count": 0
579
+ },
580
+ "assets/bundled/prefabs/autospawn/monument/offshore/oilrig_2.prefab": {
581
+ "recycler_count": 0,
582
+ "keycard_requirements": [
583
+ "green",
584
+ "blue",
585
+ "red"
586
+ ],
587
+ "keycard_reader_counts": {
588
+ "green": 1,
589
+ "blue": 1,
590
+ "red": 1
591
+ },
592
+ "puzzle_type": "keycard",
593
+ "puzzle_reset_count": 0,
594
+ "loot_tier": 1,
595
+ "loot_spawner_count": 3,
596
+ "safe_zone": false,
597
+ "vending_machine_count": 0
598
+ },
599
+ "assets/bundled/prefabs/autospawn/monument/roadside/gas_station_1.prefab": {
600
+ "recycler_count": 1,
601
+ "keycard_requirements": [],
602
+ "keycard_reader_counts": {
603
+ "green": 0,
604
+ "blue": 0,
605
+ "red": 0
606
+ },
607
+ "puzzle_type": "none",
608
+ "puzzle_reset_count": 0,
609
+ "loot_tier": 1,
610
+ "loot_spawner_count": 1,
611
+ "safe_zone": false,
612
+ "vending_machine_count": 0
613
+ },
614
+ "assets/bundled/prefabs/autospawn/monument/roadside/radtown_1.prefab": {
615
+ "recycler_count": 1,
616
+ "keycard_requirements": [
617
+ "green"
618
+ ],
619
+ "keycard_reader_counts": {
620
+ "green": 1,
621
+ "blue": 0,
622
+ "red": 0
623
+ },
624
+ "puzzle_type": "keycard",
625
+ "puzzle_reset_count": 0,
626
+ "loot_tier": 1,
627
+ "loot_spawner_count": 1,
628
+ "safe_zone": false,
629
+ "vending_machine_count": 0
630
+ },
631
+ "assets/bundled/prefabs/autospawn/monument/roadside/supermarket_1.prefab": {
632
+ "recycler_count": 1,
633
+ "keycard_requirements": [],
634
+ "keycard_reader_counts": {
635
+ "green": 0,
636
+ "blue": 0,
637
+ "red": 0
638
+ },
639
+ "puzzle_type": "none",
640
+ "puzzle_reset_count": 0,
641
+ "loot_tier": 1,
642
+ "loot_spawner_count": 1,
643
+ "safe_zone": false,
644
+ "vending_machine_count": 0
645
+ },
646
+ "assets/bundled/prefabs/autospawn/monument/roadside/warehouse.prefab": {
647
+ "recycler_count": 1,
648
+ "keycard_requirements": [],
649
+ "keycard_reader_counts": {
650
+ "green": 0,
651
+ "blue": 0,
652
+ "red": 0
653
+ },
654
+ "puzzle_type": "none",
655
+ "puzzle_reset_count": 0,
656
+ "loot_tier": 0,
657
+ "loot_spawner_count": 0,
658
+ "safe_zone": false,
659
+ "vending_machine_count": 0
660
+ },
661
+ "assets/bundled/prefabs/autospawn/monument/small/mining_quarry_a.prefab": {
662
+ "recycler_count": 0,
663
+ "keycard_requirements": [],
664
+ "keycard_reader_counts": {
665
+ "green": 0,
666
+ "blue": 0,
667
+ "red": 0
668
+ },
669
+ "puzzle_type": "none",
670
+ "puzzle_reset_count": 0,
671
+ "loot_tier": 0,
672
+ "loot_spawner_count": 0,
673
+ "safe_zone": false,
674
+ "vending_machine_count": 0
675
+ },
676
+ "assets/bundled/prefabs/autospawn/monument/small/mining_quarry_b.prefab": {
677
+ "recycler_count": 0,
678
+ "keycard_requirements": [],
679
+ "keycard_reader_counts": {
680
+ "green": 0,
681
+ "blue": 0,
682
+ "red": 0
683
+ },
684
+ "puzzle_type": "none",
685
+ "puzzle_reset_count": 0,
686
+ "loot_tier": 0,
687
+ "loot_spawner_count": 0,
688
+ "safe_zone": false,
689
+ "vending_machine_count": 0
690
+ },
691
+ "assets/bundled/prefabs/autospawn/monument/small/mining_quarry_c.prefab": {
692
+ "recycler_count": 0,
693
+ "keycard_requirements": [],
694
+ "keycard_reader_counts": {
695
+ "green": 0,
696
+ "blue": 0,
697
+ "red": 0
698
+ },
699
+ "puzzle_type": "none",
700
+ "puzzle_reset_count": 0,
701
+ "loot_tier": 0,
702
+ "loot_spawner_count": 0,
703
+ "safe_zone": false,
704
+ "vending_machine_count": 0
705
+ },
706
+ "assets/bundled/prefabs/autospawn/monument/small/satellite_dish.prefab": {
707
+ "recycler_count": 1,
708
+ "keycard_requirements": [
709
+ "green"
710
+ ],
711
+ "keycard_reader_counts": {
712
+ "green": 1,
713
+ "blue": 0,
714
+ "red": 0
715
+ },
716
+ "puzzle_type": "keycard",
717
+ "puzzle_reset_count": 0,
718
+ "loot_tier": 1,
719
+ "loot_spawner_count": 1,
720
+ "safe_zone": false,
721
+ "vending_machine_count": 0
722
+ },
723
+ "assets/bundled/prefabs/autospawn/monument/small/sphere_tank.prefab": {
724
+ "recycler_count": 1,
725
+ "keycard_requirements": [
726
+ "green"
727
+ ],
728
+ "keycard_reader_counts": {
729
+ "green": 1,
730
+ "blue": 0,
731
+ "red": 0
732
+ },
733
+ "puzzle_type": "keycard",
734
+ "puzzle_reset_count": 0,
735
+ "loot_tier": 1,
736
+ "loot_spawner_count": 1,
737
+ "safe_zone": false,
738
+ "vending_machine_count": 0
739
+ },
740
+ "assets/bundled/prefabs/autospawn/monument/small/stables_a.prefab": {
741
+ "recycler_count": 0,
742
+ "keycard_requirements": [],
743
+ "keycard_reader_counts": {
744
+ "green": 0,
745
+ "blue": 0,
746
+ "red": 0
747
+ },
748
+ "puzzle_type": "none",
749
+ "puzzle_reset_count": 0,
750
+ "loot_tier": 0,
751
+ "loot_spawner_count": 0,
752
+ "safe_zone": true,
753
+ "vending_machine_count": 0
754
+ },
755
+ "assets/bundled/prefabs/autospawn/monument/small/stables_b.prefab": {
756
+ "recycler_count": 0,
757
+ "keycard_requirements": [],
758
+ "keycard_reader_counts": {
759
+ "green": 0,
760
+ "blue": 0,
761
+ "red": 0
762
+ },
763
+ "puzzle_type": "none",
764
+ "puzzle_reset_count": 0,
765
+ "loot_tier": 0,
766
+ "loot_spawner_count": 0,
767
+ "safe_zone": true,
768
+ "vending_machine_count": 0
769
+ },
770
+ "assets/bundled/prefabs/autospawn/monument/swamp/swamp_b.prefab": {
771
+ "recycler_count": 0,
772
+ "keycard_requirements": [],
773
+ "keycard_reader_counts": {
774
+ "green": 0,
775
+ "blue": 0,
776
+ "red": 0
777
+ },
778
+ "puzzle_type": "none",
779
+ "puzzle_reset_count": 0,
780
+ "loot_tier": 0,
781
+ "loot_spawner_count": 0,
782
+ "safe_zone": false,
783
+ "vending_machine_count": 0
784
+ },
785
+ "assets/bundled/prefabs/autospawn/monument/swamp/swamp_c.prefab": {
786
+ "recycler_count": 0,
787
+ "keycard_requirements": [],
788
+ "keycard_reader_counts": {
789
+ "green": 0,
790
+ "blue": 0,
791
+ "red": 0
792
+ },
793
+ "puzzle_type": "none",
794
+ "puzzle_reset_count": 0,
795
+ "loot_tier": 1,
796
+ "loot_spawner_count": 2,
797
+ "safe_zone": false,
798
+ "vending_machine_count": 0
799
+ },
800
+ "assets/bundled/prefabs/autospawn/monument/tiny/water_well_a.prefab": {
801
+ "recycler_count": 0,
802
+ "keycard_requirements": [],
803
+ "keycard_reader_counts": {
804
+ "green": 0,
805
+ "blue": 0,
806
+ "red": 0
807
+ },
808
+ "puzzle_type": "none",
809
+ "puzzle_reset_count": 0,
810
+ "loot_tier": 0,
811
+ "loot_spawner_count": 0,
812
+ "safe_zone": false,
813
+ "vending_machine_count": 0
814
+ },
815
+ "assets/bundled/prefabs/autospawn/monument/tiny/water_well_b.prefab": {
816
+ "recycler_count": 0,
817
+ "keycard_requirements": [],
818
+ "keycard_reader_counts": {
819
+ "green": 0,
820
+ "blue": 0,
821
+ "red": 0
822
+ },
823
+ "puzzle_type": "none",
824
+ "puzzle_reset_count": 0,
825
+ "loot_tier": 0,
826
+ "loot_spawner_count": 0,
827
+ "safe_zone": false,
828
+ "vending_machine_count": 0
829
+ },
830
+ "assets/bundled/prefabs/autospawn/monument/tiny/water_well_c.prefab": {
831
+ "recycler_count": 0,
832
+ "keycard_requirements": [],
833
+ "keycard_reader_counts": {
834
+ "green": 0,
835
+ "blue": 0,
836
+ "red": 0
837
+ },
838
+ "puzzle_type": "none",
839
+ "puzzle_reset_count": 0,
840
+ "loot_tier": 0,
841
+ "loot_spawner_count": 0,
842
+ "safe_zone": false,
843
+ "vending_machine_count": 0
844
+ },
845
+ "assets/bundled/prefabs/autospawn/monument/tiny/water_well_d.prefab": {
846
+ "recycler_count": 0,
847
+ "keycard_requirements": [],
848
+ "keycard_reader_counts": {
849
+ "green": 0,
850
+ "blue": 0,
851
+ "red": 0
852
+ },
853
+ "puzzle_type": "none",
854
+ "puzzle_reset_count": 0,
855
+ "loot_tier": 0,
856
+ "loot_spawner_count": 0,
857
+ "safe_zone": false,
858
+ "vending_machine_count": 0
859
+ },
860
+ "assets/bundled/prefabs/autospawn/monument/tiny/water_well_e.prefab": {
861
+ "recycler_count": 0,
862
+ "keycard_requirements": [],
863
+ "keycard_reader_counts": {
864
+ "green": 0,
865
+ "blue": 0,
866
+ "red": 0
867
+ },
868
+ "puzzle_type": "none",
869
+ "puzzle_reset_count": 0,
870
+ "loot_tier": 0,
871
+ "loot_spawner_count": 0,
872
+ "safe_zone": false,
873
+ "vending_machine_count": 0
874
+ },
875
+ "assets/bundled/prefabs/autospawn/monument/underwater_lab/underwater_lab_a.prefab": {
876
+ "recycler_count": 0,
877
+ "keycard_requirements": [],
878
+ "keycard_reader_counts": {
879
+ "green": 0,
880
+ "blue": 0,
881
+ "red": 0
882
+ },
883
+ "puzzle_type": "none",
884
+ "puzzle_reset_count": 0,
885
+ "loot_tier": 1,
886
+ "loot_spawner_count": 1,
887
+ "safe_zone": false,
888
+ "vending_machine_count": 0
889
+ },
890
+ "assets/bundled/prefabs/autospawn/monument/underwater_lab/underwater_lab_b.prefab": {
891
+ "recycler_count": 0,
892
+ "keycard_requirements": [],
893
+ "keycard_reader_counts": {
894
+ "green": 0,
895
+ "blue": 0,
896
+ "red": 0
897
+ },
898
+ "puzzle_type": "none",
899
+ "puzzle_reset_count": 0,
900
+ "loot_tier": 1,
901
+ "loot_spawner_count": 1,
902
+ "safe_zone": false,
903
+ "vending_machine_count": 0
904
+ },
905
+ "assets/bundled/prefabs/autospawn/monument/underwater_lab/underwater_lab_c.prefab": {
906
+ "recycler_count": 0,
907
+ "keycard_requirements": [],
908
+ "keycard_reader_counts": {
909
+ "green": 0,
910
+ "blue": 0,
911
+ "red": 0
912
+ },
913
+ "puzzle_type": "none",
914
+ "puzzle_reset_count": 0,
915
+ "loot_tier": 1,
916
+ "loot_spawner_count": 1,
917
+ "safe_zone": false,
918
+ "vending_machine_count": 0
919
+ },
920
+ "assets/bundled/prefabs/autospawn/monument/underwater_lab/underwater_lab_d.prefab": {
921
+ "recycler_count": 0,
922
+ "keycard_requirements": [],
923
+ "keycard_reader_counts": {
924
+ "green": 0,
925
+ "blue": 0,
926
+ "red": 0
927
+ },
928
+ "puzzle_type": "none",
929
+ "puzzle_reset_count": 0,
930
+ "loot_tier": 1,
931
+ "loot_spawner_count": 1,
932
+ "safe_zone": false,
933
+ "vending_machine_count": 0
934
+ },
935
+ "assets/bundled/prefabs/autospawn/monument/xlarge/launch_site_1.prefab": {
936
+ "recycler_count": 1,
937
+ "keycard_requirements": [
938
+ "green",
939
+ "red"
940
+ ],
941
+ "keycard_reader_counts": {
942
+ "green": 1,
943
+ "blue": 0,
944
+ "red": 4
945
+ },
946
+ "puzzle_type": "keycard_and_electrical",
947
+ "puzzle_reset_count": 1,
948
+ "loot_tier": 3,
949
+ "loot_spawner_count": 3,
950
+ "safe_zone": false,
951
+ "vending_machine_count": 0
952
+ }
953
+ }
954
+ }