summaryrefslogtreecommitdiff
path: root/revert-06_Obsolete-useless-hub01-basement-1457.patch
blob: a214370a1fc68449064d2f248ef256a8d6684e4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
From 8c5a757dd08a7b8222a12f13972c00f551456259 Mon Sep 17 00:00:00 2001
From: HoneyButterToast <103519677+HoneyButterToast@users.noreply.github.com>
Date: Tue, 3 May 2022 05:48:08 +0200
Subject: [PATCH 04/10] Obsolete useless hub01 basement (#1457)

* Obsolete useless hub01 basement

* turn off the elevator control

* Obsolete NPC that doesn't spawn anymore

* obsolete NPC that doesn't spawn
---
 data/json/mapgen/robofachq_static.json        | 519 +-----------------
 data/json/obsoletion/map.json                 | 519 ++++++++++++++++++
 .../npc.json}                                 |   0
 .../overmap/overmap_special/specials.json     |  50 --
 4 files changed, 520 insertions(+), 568 deletions(-)
 create mode 100644 data/json/obsoletion/map.json
 rename data/json/{npcs/robofac/NPC_Ulysses_Rourke.json => obsoletion/npc.json} (100%)

diff --git a/data/json/mapgen/robofachq_static.json b/data/json/mapgen/robofachq_static.json
index 93e999c36a..74d3c55ee5 100644
--- a/data/json/mapgen/robofachq_static.json
+++ b/data/json/mapgen/robofachq_static.json
@@ -98,7 +98,7 @@
         "-": "t_wall_metal",
         "G": "t_card_robofac",
         "e": "t_elevator",
-        "E": "t_elevator_control",
+        "E": "t_elevator_control_off",
         "Y": "t_utility_light",
         "I": "t_intercom"
       },
@@ -109,522 +109,5 @@
       },
       "place_npcs": [ { "class": "robofac_intercom", "x": 46, "y": 17 } ]
     }
-  },
-  {
-    "type": "mapgen",
-    "om_terrain": [
-      [ "robofachq_exe_a0", "robofachq_exe_a1", "robofachq_exe_a2", "robofachq_exe_a3" ],
-      [ "robofachq_exe_b0", "robofachq_exe_b1", "robofachq_exe_b2", "robofachq_exe_b3" ]
-    ],
-    "method": "json",
-    "object": {
-      "fill_ter": "t_thconc_floor",
-      "rows": [
-        "############################################|      |############################################",
-        "########|||||||||||||||||||||||||#|||||||||||||22|||############################################",
-        "########|k           ht|A   h  ^|#|lll|lllll|  YY  |############################################",
-        "########|i k k  htth ht| Cd6ddC |#|bYb|bYbYb|T YY T|########||||||||############################",
-        "########|k o k  htth ht| CCCCCC |#|b b|b b b|| YY ||######||=A6666A=||##########################",
-        "########|    W        ^|^    h ^|#|l l|l l l|  YY  |######|,=Y    Y=,|##########################",
-        "########|FFFF|  htth  ?||||[[||||||l l|l l l|T YY T|######|,= htth =,|##########################",
-        "########||||||  htth  ?||^^  ^^||           |||22||||||||||,= htth =,|##########################",
-        "########|ffff|         2   YY   2Y bbb  bbbb|      |L |  i|,= htth =,|##########################",
-        "########|    |^??t t??^|   ,,   |||||||||||||      |LY2 Y;|,= htth =,|##########################",
-        "###||||||hd  |||||||||||   ,,   2  r r r|  d( Y   b|||||2||,= htth =,|##########################",
-        "###|;i|T|dd  2         2        (d r r r| Gd( Y   b|AhQ  ^|,=      =,|##########################",
-        "###|@ 2Y2    |  T   T  |G  YY  G(dh    r|   2 Y   b|ddd  H|,[Y    Y[,|##########################",
-        "###|||| |||||||||||||||||||22||||||||||||||||     ^| h    |||||  |||||##########################",
-        "###|;i|  |''''''''''''''''R  R''''''''''''''(     ^|    YH|###|YY|##############################",
-        "###|@ 2Yh|''''''''''''''''R  R''''''''''''''|||22|||====[=|||||22|||||||||||####################",
-        "###|||| t|''''''''''''''''R  R''''''''''''''(<   GY         Y     =,,,,,,,,|||||||||############",
-        "###|;i| h|''''''''''''''''R  R''''''''''''''(> CC           Y    G=,,,,,,,,|^BB  ^^|#|||||######",
-        "###|@ 2Y |''''''''''''''''R  R'''''''|======|| CC ||(RRRRRRRR     =======[=(YY CCC |||:::|######",
-        "###|||||||''''''''''''''''R  R'''''''=Eeeeee2Y CC  ^('''''''([(   Y       Y(H  Cdd  5T  Y|######",
-        "#########|''''''''''''''''RYYR'''''''=eeeeee2CCCC.dG('''''''R<( CCCCCCCCCC 2   C6C Y5   6|######",
-        "#########|''''''''''''''''RYYR'''''''=eeeeee2CCCC dh('''''''R>( CCCCCCCCCC 2  hCdh Y5   :|######",
-        "#########|''''''''''''''''R  R'''''''=Eeeeee2Y CC  ^('''''''([(   Y       Y(   Cdd  5T  Y|######",
-        "#########|''''''''''''''''R  R'''''''|======|| CC ||(RRRRRRRR     =======[=(YY CCC |||:::|######",
-        "#########|''''''''''''''''R  R''''''''''''''(> CC           Y    G=,,,,,,,,|^ A   ^|#|||||######",
-        "#########|''''''''''''''''R  R''''''''''''''(<   GY         Y     =,,,,,,,,||||55||||###########",
-        "#########|''''''''''''''''R  R''''''''''''''|||22|||((2||||||||22|||||||||||^      ^|###########",
-        "#########|''''''''''''''''R  R''''''''''''''(     Y(dG L|L6dd|^YY^|::::::::|   YY   |###########",
-        "#########|====|====|=====||22||=======|||||||     Y(dh  2 Yhd|^  ^| Y    Y |  htth  |###########",
-        "#########| h ^|h  B|h   B|    |A dh  B|A dCCCCCCC |||||||||||||  ||[=======|  htth  |###########",
-        "#########|dd ^|dd B|dd  B|    |Bh6   ^| hdCCCCCCC 5Y       |Wt|  dh dh dh f| h tth  |###########",
-        "#|||||||||^h Y|h Y^|h  Y^|    |B     Y2  dCCCCCCC 5Y             d  d  d  f|  htth  |###########",
-        "#|iii    |===[|==[=|===[=||YY||||||||||       (((((  d  dh dh  Y          f|   YY   |###########",
-        "#|Y Y Y  |Y   ^    ^     ^    ^              Y(,,,(. dh d  dY  Y d  d  d Yf|^      ^|###########",
-        "#|2|2|2| |Y                              CCC Y(,,,[              dh dh dh f||||66||||###########",
-        "#|;|;|;|Y     =========================t CCC  (,,,[  dh d  dY            Yf|##||||##############",
-        "#|||||||Y     [,,,,,,,,,,,,,,,,,,,,,,,=t CCC  (,,,(  d  dh dh  Y d  d  d  f|||||||||||||########",
-        "#|;|;|;|Y     =========================t cCC  (((((            Y dh dh dh f|^^^^^^^^^^^|########",
-        "#|2|2|2| |YG                             CCC Y    5Y                               Y  ^|########",
-        "#|Y Y Y  |Y                                  Y    5Y          G                    Y  ^|########",
-        "#|iii    |====[[||=====|===[=|===[|[==||==[=||2||2|||[=======||  |||=====||||||2|||2||||########",
-        "#|||||||||      ^|  hd^|^   H|    |    |^   |f ff f|  d  dh dh|  |Y      Y^|;2Y  |  Y2;|########",
-        "#########|dd     [   dh|h   t|h h |    | d  |f ff f|  dh d  d |  2  hhhhh ^|||  |||  |||########",
-        "#########| h     [  hh |6dd H|ddd |6dd |hd  |f ff f| Y       Y|  2  ttttt ^|;2Y i|i Y2;|########",
-        "#########|dd   dd|Y    |h  YB|Yh  |Yhd |^  Y|f    f|  d  d  dh|  |  hhh h ^|||  i|i  |||########",
-        "#########|Yh    h|BBBB^|^^BBB|A6^^|    |BBBB|ffffff|  dh d  d |^^|Y   h  Y^|;2Y i|i Y2;|########",
-        "#########|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||########",
-        "################################################################################################"
-      ],
-      "palettes": [ "robofachq" ],
-      "terrain": {
-        ",": [ "t_shrub_rose", "t_shrub", "t_grass", "t_grass", "t_grass_tall" ],
-        "-": "t_wall_metal",
-        "'": "t_open_air",
-        "e": "t_elevator",
-        "C": "t_carpet_red",
-        "E": "t_elevator_control",
-        "Y": "t_thconc_floor_olight",
-        "#": "t_rock",
-        "6": "t_console",
-        "R": "t_railing",
-        "W": "t_water_dispenser"
-      },
-      "furniture": { ":": "f_server", "K": "f_counter", "H": "f_armchair", "L": "f_locker", "f": "f_filing_cabinet" },
-      "item": { "A": { "item": "american_flag" } },
-      "items": {
-        "F": { "item": "fridge", "chance": 80 },
-        "f": { "item": "file_room", "repeat": [ 10, 30 ] },
-        "@": { "item": "bed", "chance": 80 },
-        "r": [
-          { "item": "cop_armory", "chance": 80 },
-          { "item": "energy_weapon_armory", "chance": 33 },
-          { "item": "ammo_milspec", "chance": 40 },
-          { "item": "mags_milspec", "chance": 40 },
-          { "item": "guns_milspec", "chance": 40 }
-        ],
-        "L": [
-          { "item": "energy_weapon_armory", "chance": 33 },
-          { "item": "ammo_milspec", "chance": 40 },
-          { "item": "mags_milspec", "chance": 40 },
-          { "item": "guns_milspec", "chance": 40 }
-        ],
-        "K": { "item": "kitchen", "chance": 40 },
-        "o": { "item": "oven", "chance": 70 },
-        "d": [ { "item": "office_supplies", "chance": 70 }, { "item": "office_mess", "chance": 70, "repeat": [ 1, 3 ] } ],
-        "D": { "item": "NC_ROBOFAC_SCIENTIST_worn", "chance": 50 },
-        "B": [
-          { "item": "magazines", "chance": 75, "repeat": [ 1, 5 ] },
-          { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] }
-        ]
-      },
-      "monster": { "T": { "monster": "mon_turret_light" } },
-      "npcs": { "G": { "class": "hub_security" }, "Q": { "class": "hub_security_head" } }
-    }
-  },
-  {
-    "type": "mapgen",
-    "om_terrain": [
-      [ "robofachq_hab_a0", "robofachq_hab_a1", "robofachq_hab_a2", "robofachq_hab_a3" ],
-      [ "robofachq_hab_b0", "robofachq_hab_b1", "robofachq_hab_b2", "robofachq_hab_b3" ]
-    ],
-    "method": "json",
-    "object": {
-      "fill_ter": "t_concrete",
-      "rows": [
-        "################################################################################################",
-        "################################||||||||||######################################################",
-        "################################|FFFF|FFF|######################################################",
-        "#############||||||||||||||||||||F  F|F F||||#####||||||##||||||################################",
-        "#############|KiKKKKKiKooKKKK  K|F  F|F F|;Y|#####|~Y ~|##|~ Y~|################################",
-        "#############|K   K    YY   o  K|F  F|F f|i |#####|| |||##||| ||################################",
-        "#############|k   K  iKKoK  K  K||2||||2|||2|||||||i 2;|##|;2 i|################################",
-        "#############|              i  i| Y    Y   Y|^^^^^|i |||##||| i|################################",
-        "#############|FFFFFFFF                      2     | Y2;||||;2Y |||||############################",
-        "####|||||||||||||||||||YY||||||||||||||||||||||  ||2||||FF|||2||FFF|||||||||||||||||||||||######",
-        "####|,,,.| htth  Yffff     i|'''''''''''''''(Y   Y|Y               X X X EE|rrrrrrrrrrrrp|######",
-        "####|,,,,= htth           Mi|'''''''''''''''(G CC | TT TT b   CCC  X   X Y |            p|######",
-        "####|,,,,        ccccccff||||'''''''''''''''(  CC |       b   CCC        EE|   c  cccc  p|######",
-        "####|,,,,= htth          |WW|RRRRRRRRRRRRRRR|  CC | TT TT b   CCC  X   X Y |  h6        p|######",
-        "####|,,,,= htth   h          Y                 CC |Y         ^   ^ X X X EE|ccccYYcccc  p|######",
-        "####|,,,,= htth  hth         Y          RRRRRR CC ||=========||22||=======||||||22||||||||######",
-        "####|,,,,=                 ^|      ,,,,,R'''R>YCC           Y     =,,,,,,,,|cccAYYApppppp|######",
-        "####|,,,,= htth  htth htth ^|^bb^  ,,,,,R'''R<YCC           Y     =,,,,,,,,|   A  A p p P|######",
-        "####|,,,,= htth  htth htth ^|      ,,|======|| CC ||====[====     ==========  hA  A p p p|######",
-        "####|,,,,[Y                          =Eeeeee|  CC  ^=,,,,,,,=[(      bb   Y= ddA  A p p p|######",
-        "####|,,,,=&  ^MMM^  ^MMM^  Y         [eeeeee[CCCC.dG=,,,,,,,= (            [   %  %     r|######",
-        "####|,,,,=&  ^MMM^  ^MMM^  Y         [eeeeee[CCCC dh=,,,,,,,=<(            [   AAAA Y Y r|######",
-        "####|,,,,[Y                          =Eeeeee|  CC  ^=,,,,,,,=[(      bb   Y=   A        r|######",
-        "####|,,,,= htth htth hth h ^|G     ,,|======|| CC ||====[====     ==========AAAA  P P P P|######",
-        "####|,,,,= htth htth     t ^|^bb^  ,,,,,R'''R<YCC           Y    G=,,,,,,,,|Y     P P P P|######",
-        "####|,,,,= htth      hth h ^|      ,,,,,R'''R>YCC           Y     =,,,,,,,,|PPPPPPP P P P|######",
-        "####|,,,,=       MM          Y          RRRRRR CC ||=========||22||========|||||||||||||||######",
-        "####|,,,,=       MM          Y                 CC |Y         BB  BB       B|####################",
-        "####|,,,,=  hth      htth|WW|RRRRRRRRRRRRRRR|  CC |htth hhh          htth B|####################",
-        "####|,,,,=  hth thht htth||||'''''''''''''''(  CC |htth ttt    ^^    htth B|####################",
-        "####|,,,,=  hth thht htth|##|'''''''''''''''(  CC |Y         B    B       B|####################",
-        "#|||||||||  hth  YY  htth|##|'''''''''''''''(Y   Y|BBBBBBBBBBBBBBBBBBBBBBBB|####################",
-        "#|iii    |  |||||||||||||||||||||||||||||||||||22|||||||||||||||||||||||||||||||||||############",
-        "#|Y Y Y  |  ^|##|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|^ t  ^        |~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|############",
-        "#|2|2|2| |  ^|##|~ i|~ i|~ i|~ i|~ i|~ i|?   a^   htth |~ i|~ i|~ i|~ i|~ i|~ i|~ i|||||||||||||",
-        "#|;|;|;|Y   ^|##||2|||2|||2|||2|||2|||2||? t  ^   htth ||2|||2|||2|||2|||2|||2|||2||~2 |@@ D @@|",
-        "#|||||||Y   ^|##|@ D|@ D|@ D|@ D|@ D|@ D|? t a^        |@ D|@ D|@ D|@ D|@ D|@ D|  D||| |D  @  D|",
-        "#|;|;|;|Y|YY^|##|@ D|@ D|@ D|@ D|@ D|@ D|         htth |@ D|@ D|@ D|@ D|@ D|@ D|  D|~2 |@@ @ @@|",
-        "#|2|2|2| |||||||||5|||5|||5|||5|||5|||2||at a          ||5|||5|||5|||5|||5|||5|||5||||2|D     D|",
-        "#|Y Y Y  |###|,,,=Y                   Y                                            2       S @@|",
-        "#|iii    |###|,,,=Y                   Y                                            2          D|",
-        "#|||||||||###|||||5|||5|||5|||5|||5|||2||G        ? t ?||5|||5|||5|||5|||5|||5|||5||||2|     @@|",
-        "#############|##|@ D|@ D|@ D|@ D|@ D|@ D|^  h     ? t ?|@ D|@ D|@ D|@ D|@ D|@ D|@ D|i  |D     D|",
-        "#############|##|@ D|@ D|@ D|@ D|@ D|@ D|t??t         ^|@ D|@ D|@ D|@ D|@ D|@ D|@ D|i  |@@ @ @@|",
-        "#############|##||2|||2|||2|||2|||2|||2||======[[======||2|||2|||2|||2|||2|||2|||2||   |D  @  D|",
-        "#############|##|~ i|~ i|~ i|~ i|~ i|~ i|,,,,,,,,,,,,,,|~ i|~ i|~ i|~ i|~ i|~ i|~ i|2|2|@@ D @@|",
-        "#############|##|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|,,,,,,,,,,,,,,|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|;|;|||||||||",
-        "#############|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||########"
-      ],
-      "palettes": [ "robofachq" ],
-      "terrain": {
-        ",": [ "t_shrub_rose", "t_shrub", "t_grass_tall" ],
-        "-": "t_wall_metal",
-        "'": "t_open_air",
-        "e": "t_elevator",
-        "C": "t_carpet_red",
-        "E": "t_elevator_control",
-        "Y": "t_thconc_floor_olight",
-        "#": "t_rock",
-        "6": "t_console",
-        "R": "t_railing",
-        "W": "t_water_dispenser",
-        "&": "t_machinery_electronic"
-      },
-      "furniture": {
-        "K": "f_counter",
-        "M": "f_counter",
-        "S": "f_table",
-        "A": "f_canvas_wall",
-        "%": "f_canvas_door",
-        "E": "f_ergometer",
-        "T": "f_treadmill",
-        "X": "f_exercise"
-      },
-      "sealed_item": {
-        "P": { "item": { "item": "seed_tomato" }, "furniture": "f_planter_mature" },
-        "p": { "item": { "item": "seed_wheat" }, "furniture": "f_planter_mature" }
-      },
-      "items": {
-        "S": [
-          { "item": "tools_robotics", "chance": 30, "repeat": [ 1, 3 ] },
-          { "item": "robots", "chance": 50, "repeat": [ 1, 3 ] },
-          { "item": "supplies_electronics", "chance": 50, "repeat": [ 1, 3 ] }
-        ],
-        "F": { "item": "fridge", "chance": 80, "repeat": [ 2, 6 ] },
-        "@": { "item": "bed", "chance": 80 },
-        "M": [
-          { "item": "SUS_dishes", "chance": 80, "repeat": [ 1, 3 ] },
-          { "item": "SUS_silverware", "chance": 33, "repeat": [ 1, 3 ] }
-        ],
-        "k": [
-          { "item": "kitchen", "chance": 33, "repeat": [ 1, 3 ] },
-          { "item": "SUS_knife_drawer", "chance": 40, "repeat": [ 1, 3 ] },
-          { "item": "SUS_cookware", "chance": 40, "repeat": [ 1, 3 ] }
-        ],
-        "K": { "item": "kitchen", "chance": 40 },
-        "o": { "item": "oven", "chance": 70 },
-        "d": [ { "item": "office_supplies", "chance": 70 }, { "item": "office_mess", "chance": 70, "repeat": [ 1, 3 ] } ],
-        "r": [ { "item": "tools_earthworking", "chance": 50 }, { "item": "supplies_farming", "chance": 70, "repeat": [ 1, 3 ] } ],
-        "D": { "item": "NC_ROBOFAC_SCIENTIST_worn", "chance": 50 },
-        "B": [
-          { "item": "magazines", "chance": 75, "repeat": [ 1, 5 ] },
-          { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] }
-        ]
-      },
-      "npcs": { "G": { "class": "hub_security" } }
-    }
-  },
-  {
-    "type": "mapgen",
-    "om_terrain": [
-      [ "robofachq_res_a0", "robofachq_res_a1", "robofachq_res_a2", "robofachq_res_a3" ],
-      [ "robofachq_res_b0", "robofachq_res_b1", "robofachq_res_b2", "robofachq_res_b3" ]
-    ],
-    "method": "json",
-    "object": {
-      "fill_ter": "t_concrete",
-      "rows": [
-        "############################################|     |#############################################",
-        "################################||||||||||##|     |#############################################",
-        "################################|FFFF|FFF|##|     |#############################################",
-        "#############||||||||||||||||||||F  F|F F|||||222|||||||||||||||||||||||||||####################",
-        "#############|                              |^   ^|                       :|####################",
-        "#############|                              |^   ^|  === === === === ===  :|####################",
-        "#############|                              |^   ^|  =6= =6= =6= =6= =6=  :|####################",
-        "#############|                              |^   ^|  =2= =2= =2= =2= =2=  :|####################",
-        "#############|                 AAAA         |^   ^|                       :|####################",
-        "####||||||||||||||||||||||||||||YY||||||||||||222||  === === === === ===  :|||||||||||||||######",
-        "####|,,,.|SSSS6SSSS| h  B|##|,,(  (,,,,,,,,,(     |  =6= =6= =6= =6= =6=  :|:::::::::::::|######",
-        "####|,,,,|S       S|ddd B|##|,,(  (,,,,,,,,,(     |  =2= =2= =2= =2= =2=  :|            :|######",
-        "####|,,,,|SSS  SSSS|  h B||||,,(  (,,,,,,,,,(     |                       :|   66 66 6  :|######",
-        "####|,,,,|====[====|=[===|YY|(((  ((((((((((|     |         d  d  d  d     2   66 66 6  :|######",
-        "####|,,,,=             G     Y                    |         dh dh dh dh    2            :|######",
-        "####|,,,,=                   Y          RRRRR     ||====[==|||||||||||||||||2(||||||||||||######",
-        "####|,,,,=  |||||||  ((((((((      ======'''(>    2   G   Y(:::::::::::::::|   : : : : : |######",
-        "####|,,,,=  = 666 =  (''''''(^bb^  =,,,,='''(<Y  Y2       Y('''''''''''''':|   : : : : : |######",
-        "####|,,,,=  =     =  (''''''(      ==|======|||dd|| |===[==('''''''''''''':|  Y   Y Y   Y|######",
-        "####|,,,,[  = hth =  (''::''( d      =Eeeeee|   h|^ |6h    ('''''''''''''':|   : : : : : |######",
-        "####|,,,,=  [ hth [  (''::''(Gd      [eeeeee|6h  |^ |6h  h6(''''''MM''''''Y|  6: : : : : |######",
-        "####|,,,,=  [ hth [  (''::''(hd      [eeeeee|d   |^ |6h  h6(''''''MM''''''Y|  6: : : : : |######",
-        "####|,,,,[  = hth =  (''::''( d      =Eeeeee|  Gh|^ |6h    ('''''''''''''':|   : : : : : |######",
-        "####|,,,,=  = hth =  (''''''(      ==|======|||dd|| |===[==('''''''''''''':|  Y   Y Y   Y|######",
-        "####|,,,,=  =     =  (''''''(^bb^  =,,,,='''(<Y  Y2       Y('''''''''''''':|   : : : : : |######",
-        "####|,,,,=  =======  ((((((((      ======'''(>    2   G   Y(:::::::::::::::|   : : : : : |######",
-        "####|,,,,=                              RRRRRR    ||=[=====|||||||||||||||||2(||||||||||||######",
-        "####|,,,,=                                        |?            [          2  |#################",
-        "####|,,,,=   |=[===|=[===|YY|(((  ((((((((((|||||||?            [          ( Y|#################",
-        "####|,,,,=   |S   S|s   S||||,,(  (,,,,,,,,,(    ^|^   |[=======|===[|[====||||#################",
-        "####|,,,,=   |S  hS|S  hS|##|,,(  (,,,,,,,,,( hdhd|ddd |  hhhh ^|h  Y|Y  h |####################",
-        "#|||||||||  ||S6SSS|S6SSS|##|,,(  (,,,,,,,,,(  d6d| h  |  tttt 6|d6d |  dd6|####################",
-        "#|iii    |  ^||||||||||||||||((|YY|(((((((((|[[||||    |  hhhh  | h  |    h|####################",
-        "#|Y Y Y  |  ^|lllll|^Y dh      =  dh^|Y    B|     |ffff|Y      Y|BBBB|BBBBB|####################",
-        "#|2|2|2| |  ^|l    |B h6       [  d  |  hdhB|AAAAA||||||||||||||||||||||||||||||||||||||||||||||",
-        "#|;|;|;|Y    |l ll |B  d   ^||||  ||2|Y  d B|SSSSSSSS9S|SlllSSSS llSSSS  SSS=YDSS SSS SSSll  ll|",
-        "#|||||||Y   ^|||||2|BY   HtH|       G|2||||||        hy|SY G               Y=                 Y|",
-        "#|;|;|;|Y|YY^|S    ||||||||||              A          Y|S  SSSSS  hS  hS  sh=                  |",
-        "#|2|2|2| |||||Sh    SS6  SSS=             y%          Y||  SSSSS  SS  SS  SS=     SSS t  7966 6|",
-        "#|Y Y Y  |###|S       h     [             Y%    SSS   Y2Y                G  [Y   hSSS t  7966 6|",
-        "#|iii    |###|S             2   66         A   h6SS   Y2Y                G Y[Y    688 t       Y|",
-        "#|||||||||###|||||2|========|[=====[=======|AA%AA|AAAAA||yyyyyyyyyyyyyyyyyy =      9  t  &&66 6|",
-        "#############|l ll |Sh                 SSSS|h         d|   y6             y =      9     &&66 6|",
-        "#############|l l  |SSSSS                 6|        hhdA   y              y =t8898888         7|",
-        "#############|l   l|S                    hS|  h      hdA   y              y =Y          6     7|",
-        "#############|lllll|SSSSSYYll   6   llYYSSS|ddd  h     %Y  y              yY=t77 t7799988ttt777|",
-        "#############|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
-        "################################################################################################"
-      ],
-      "palettes": [ "robofachq" ],
-      "terrain": {
-        ",": [ "t_shrub_rose", "t_shrub", "t_grass_tall" ],
-        "-": "t_wall_metal",
-        "'": "t_open_air",
-        "e": "t_elevator",
-        "C": "t_carpet_red",
-        "E": "t_elevator_control",
-        "Y": "t_thconc_floor_olight",
-        "#": "t_rock",
-        "6": "t_console",
-        "R": "t_railing",
-        "9": "t_conveyor",
-        "7": "t_machinery_light",
-        "8": "t_machinery_heavy",
-        "&": "t_machinery_electronic"
-      },
-      "furniture": {
-        ":": "f_server",
-        "K": "f_counter",
-        "S": "f_table",
-        "A": "f_canvas_wall",
-        "%": "f_canvas_door",
-        "H": "f_armchair",
-        "M": "f_server",
-        "E": "f_ergometer",
-        "T": "f_treadmill",
-        "X": "f_exercise"
-      },
-      "items": {
-        "S": [
-          { "item": "tools_robotics", "chance": 30, "repeat": [ 1, 3 ] },
-          { "item": "robots", "chance": 50, "repeat": [ 1, 3 ] },
-          { "item": "supplies_electronics", "chance": 50, "repeat": [ 1, 3 ] }
-        ],
-        "d": [ { "item": "office_supplies", "chance": 70 }, { "item": "office_mess", "chance": 70, "repeat": [ 1, 3 ] } ],
-        "B": [
-          { "item": "magazines", "chance": 75, "repeat": [ 1, 5 ] },
-          { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] }
-        ]
-      },
-      "npcs": { "G": { "class": "hub_security" } }
-    }
-  },
-  {
-    "type": "mapgen",
-    "om_terrain": [ [ "robofachq_sub_a0", "robofachq_sub_a1", "robofachq_sub_a2", "robofachq_sub_a3" ] ],
-    "method": "json",
-    "object": {
-      "fill_ter": "t_thconc_floor",
-      "rows": [
-        "#######################|                      ||||||||||||||####################################",
-        "#######################|Y                    Y       (tt  ^|####################################",
-        "#######################|   bb    bbb    bb           (th   |####################################",
-        "#######################|                             (t    |####################################",
-        "#######################|Y ^bb^  ^bbb^  ^bb   Y       (t   ^|####################################",
-        "#######################||||||||||||||||||||||||      |||2|||####################################",
-        "##############################################||5555||tt tt|####################################",
-        "#####################################||||||||||^    ^| h  h|####################################",
-        "#####################################|rrrrrrrr|^    ^|     |####################################",
-        "#####################################|r      r||    ||||2|||####################################",
-        "#####################################|r  YY   2      (t   r|####################################",
-        "#####################################||||||||||  YY  (thY r|####################################",
-        "#####################################|bbbbbbbb|  YY  (t Y r|####################################",
-        "#####################################|Y      Y2      (    r|####################################",
-        "#####################################| llllll ||2222||||2|||####################################",
-        "#####################################|2||||||2|^         Y^|####################################",
-        "#####################################| ~|  |~ |^         Y^|####################################",
-        "#####################################| i|  |i |^         Y^|####################################",
-        "#####################################|||||||||||    ||||||||####################################",
-        "#####################################|lll   2       ^|##########################################",
-        "#####################################|^     (    YY ^|##########################################",
-        "#####################################|  d   (    YY ^|##########################################",
-        "#####################################|^hdh  (       ^|##########################################",
-        "#####################################||||||||     ||||##########################################"
-      ],
-      "palettes": [ "robofachq" ],
-      "terrain": { "-": "t_wall_metal", "e": "t_elevator", "E": "t_elevator_control", "Y": "t_utility_light", "I": "t_intercom" },
-      "items": {
-        "l": [ { "item": "NC_ROBOFAC_FIELD_RESEARCHER_worn", "chance": 50 }, { "item": "NC_ROBOFAC_SCIENTIST_worn", "chance": 50 } ],
-        "i": { "item": "cleaning", "chance": 50 },
-        "B": [ { "item": "textbooks", "chance": 50 }, { "item": "manuals", "chance": 50 } ]
-      }
-    }
-  },
-  {
-    "type": "mapgen",
-    "om_terrain": [
-      [ "robofachq_ai_a0", "robofachq_ai_a1", "robofachq_ai_a2", "robofachq_ai_a3" ],
-      [ "robofachq_ai_b0", "robofachq_ai_b1", "robofachq_ai_b2", "robofachq_ai_b3" ]
-    ],
-    "method": "json",
-    "object": {
-      "fill_ter": "t_thconc_floor",
-      "rows": [
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "######################################################|||||||||||||||||||||||||||||||||||||||||#",
-        "######################################################|:YY:YY:YY:YY:YY:YY:YY:|     rrrrrrrrrrr|#",
-        "######################################################|:  :  :  :  :  :  :  :|               Y|#",
-        "######################################################|:  :  :  :  :  :  :  :|     rrr   rrrr |#",
-        "######################################################|:  :  :  :  :  :  :  :|               Y|#",
-        "###################################################||||:  :  :  :  :  :  :  :|     rrrrrrrrrrr|#",
-        "############################################||||||||YY|:  :  :  :  :  :  :  :||5(((||||||||||||#",
-        "############################################|      5  5                           Y2>|##########",
-        "############################################|      5  5   Y  Y  Y  Y  Y  Y |||||||2|||##########",
-        "############################################|     Y||||((((((((((((((((((((|6      |############",
-        "############################################|       5 (````````````````````||Y     |||||||######",
-        "#####################################||||||||       |5(````````````````````6|:     ::::::|######",
-        "#####################################|eeeeee      d | (((((((((((``````````6||||        :|######",
-        "#####################################|eeeeee Y    d |          h6``````````6|:    Y  6  :|######",
-        "#####################################|Eeeeee Y    6h|          h6``````````6|:    Y  6  :|######",
-        "#####################################|eeeeee      d | (((((((((((``````````6||||        :|######",
-        "#####################################||||||||       |5(````````````````````6|:     ::::::|######",
-        "########################################|>< 5       5 (````````````````````||Y     |||||||######",
-        "########################################|   |      ||||((((((((((((((((((((|6      |############",
-        "########################################|||||      5  5   Y  Y  Y  Y  Y  Y |||||||2|||##########",
-        "############################################|      5  5                           Y2>|##########",
-        "############################################||||||||YY|:  :  :  :  :  :  :  :||5(((||||||||||||#",
-        "###################################################||||:  :  :  :  :  :  :  :|     rrrrrrrrrrr|#",
-        "######################################################|:  :  :  :  :  :  :  :|               Y|#",
-        "######################################################|:  :  :  :  :  :  :  :|     rrr   rrrr |#",
-        "######################################################|:  :  :  :  :  :  :  :|               Y|#",
-        "######################################################|:YY:YY:YY:YY:YY:YY:YY:|     rrrrrrrrrrr|#",
-        "######################################################|||||||||||||||||||||||||||||||||||||||||#",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################"
-      ],
-      "palettes": [ "robofachq" ],
-      "terrain": {
-        "-": "t_wall_metal",
-        "e": "t_elevator",
-        "E": "t_elevator_control",
-        "Y": "t_thconc_floor_olight",
-        "#": "t_rock",
-        "6": "t_console"
-      },
-      "furniture": { ":": "f_server", "K": "f_counter" },
-      "items": { "r": [ { "item": "electronics", "chance": 75, "repeat": [ 1, 5 ] } ] }
-    }
-  },
-  {
-    "type": "mapgen",
-    "om_terrain": [
-      [ "robofachq_aiutl_a0", "robofachq_aiutl_a1", "robofachq_aiutl_a2", "robofachq_aiutl_a3" ],
-      [ "robofachq_aiutl_b0", "robofachq_aiutl_b1", "robofachq_aiutl_b2", "robofachq_aiutl_b3" ]
-    ],
-    "method": "json",
-    "object": {
-      "fill_ter": "t_thconc_floor",
-      "rows": [
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "################################################################################################",
-        "##############################################||||##############################################",
-        "##############################################|66|##############################################",
-        "##############################################|  |##############################################",
-        "###########################||||||||||||||||||||  ||||||||||||||||||||||||||||||||||||||||||||||#",
-        "###########################|::::::::::::::::|B     d ^|:  :  :  :  :  :  :  :|     :::::::::::|#",
-        "###########################|               :|B Y h dh |:  :  :  :  :  :  :  :|                |#",
-        "###########################|               :|B Y   dd |YYYYYYYYYYYYYYYYYYYYYY|     :::   :::::|#",
-        "###########################|               :|B        |:  :  :  :  :  :  :  :|                |#",
-        "###########################|::::::::    ||||||55||^||||:  :  :  :  :  :  :  :|     :::::::::::|#",
-        "###########################|            5     Y  |||  |||||||||||||||||||||||||5(((||||||||||||#",
-        "###########################|::::::::::::|     Y    5  5                            2<|##########",
-        "###########################||||||||||||||||||      5  5   Y  Y  Y  Y  Y  Y |||||||2|||##########",
-        "############################################||55|||||||((((((((((((((((((((|6      |############",
-        "############################################|       5wwwwwwwwwwwwwwwwwwwwww||Y     |||||||######",
-        "#####################################||||||||       |wwwwwwwwwwwwwwwwwwwwww:|:     ::::::|######",
-        "#####################################|eeeeee        (wwwwwwwwwwwwwwwwwwwwww:||||        :|######",
-        "#####################################|eeeeee Y      (wwwwwwwwwwwwwwwwwwwwww:|:       6  :|######",
-        "#####################################|Eeeeee Y      (wwwwwwwwwwwwwwwwwwwwww:|:       6  :|######",
-        "#####################################|eeeeee        (wwwwwwwwwwwwwwwwwwwwww:||||        :|######",
-        "#####################################||||||||       |wwwwwwwwwwwwwwwwwwwwww:|:     ::::::|######",
-        "########################################|>< 5       5wwwwwwwwwwwwwwwwwwwwww||Y     |||||||######",
-        "########################################|   ||55|||||||((((((((((((((((((((|6      |############",
-        "#############################||||||||||||||||      5  5   Y  Y  Y  Y  Y  Y ||2||||2|||##########",
-        "#############################|^               Y    5  5                       |    2<|##########",
-        "#############################|^               Y  |||  ||||||||||||||22|||||||||5(((||||||||||||#",
-        "#############################||2|2((((|(((2|||222||||||:::|  :  :  :  :  :  :|     :::::::::::|#",
-        "#############################|i |     |h   B|     |::::   |  :  :  :  :  :  :|                |#",
-        "#############################|; |   dd|dd  B|  Y  5     Y 2YYYYYYYYYYYYYYYYY:|     ::::  :::::|#",
-        "#############################||||     |h   B|  Y  |       |  :  :  :  :  :  :|                |#",
-        "################################|    h| ^|2|||   |||2||:::|  :  :  :  :  :  :|     :::::::::::|#",
-        "################################|2||||||||   |555||Y :||||||||||||||  |||||||||22||||||||||||||#",
-        "################################|        (   |   |:Y :|############|  |#######|   |: : : : : :|#",
-        "################################|  cccc  2   2   ||2||||||||||||||||  |||||||||   |: : : : : :|#",
-        "################################|        |||||   |    |::::::::::::|          2   2           |#",
-        "################################|  cccc      |                                2   2           |#",
-        "################################|            2                                |||||||||||||||||#",
-        "################################|  ccccccccc |||||  ||||||||||||||||  |||||||||#################",
-        "################################|            |###|   ::::::::::::::     :|######################",
-        "################################||||||||||||||###|                   6  :|######################",
-        "#################################################|                   6  :|######################",
-        "#################################################|   ::::::::::::::     :|######################",
-        "#################################################|||||||||||||||||||||||||######################",
-        "################################################################################################",
-        "################################################################################################"
-      ],
-      "palettes": [ "robofachq" ],
-      "terrain": {
-        "-": "t_wall_metal",
-        "e": "t_elevator",
-        "w": "t_water_pool_shallow",
-        "E": "t_elevator_control",
-        "Y": "t_thconc_floor_olight",
-        "#": "t_rock",
-        "6": "t_console"
-      },
-      "furniture": { ":": "f_server" },
-      "items": {
-        "B": [
-          { "item": "magazines", "chance": 75, "repeat": [ 1, 5 ] },
-          { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] }
-        ]
-      }
-    }
   }
 ]
--- a/data/json/obsoletion/map.json
+++ b/data/json/obsoletion/map.json
@@ -1,6 +1,523 @@
 [
   {
     "type": "mapgen",
+    "om_terrain": [
+      [ "robofachq_exe_a0", "robofachq_exe_a1", "robofachq_exe_a2", "robofachq_exe_a3" ],
+      [ "robofachq_exe_b0", "robofachq_exe_b1", "robofachq_exe_b2", "robofachq_exe_b3" ]
+    ],
+    "method": "json",
+    "object": {
+      "fill_ter": "t_thconc_floor",
+      "rows": [
+        "############################################|      |############################################",
+        "########|||||||||||||||||||||||||#|||||||||||||22|||############################################",
+        "########|k           ht|A   h  ^|#|lll|lllll|  YY  |############################################",
+        "########|i k k  htth ht| Cd6ddC |#|bYb|bYbYb|T YY T|########||||||||############################",
+        "########|k o k  htth ht| CCCCCC |#|b b|b b b|| YY ||######||=A6666A=||##########################",
+        "########|    W        ^|^    h ^|#|l l|l l l|  YY  |######|,=Y    Y=,|##########################",
+        "########|FFFF|  htth  ?||||[[||||||l l|l l l|T YY T|######|,= htth =,|##########################",
+        "########||||||  htth  ?||^^  ^^||           |||22||||||||||,= htth =,|##########################",
+        "########|ffff|         2   YY   2Y bbb  bbbb|      |L |  i|,= htth =,|##########################",
+        "########|    |^??t t??^|   ,,   |||||||||||||      |LY2 Y;|,= htth =,|##########################",
+        "###||||||hd  |||||||||||   ,,   2  r r r|  d( Y   b|||||2||,= htth =,|##########################",
+        "###|;i|T|dd  2         2        (d r r r| Gd( Y   b|AhQ  ^|,=      =,|##########################",
+        "###|@ 2Y2    |  T   T  |G  YY  G(dh    r|   2 Y   b|ddd  H|,[Y    Y[,|##########################",
+        "###|||| |||||||||||||||||||22||||||||||||||||     ^| h    |||||  |||||##########################",
+        "###|;i|  |''''''''''''''''R  R''''''''''''''(     ^|    YH|###|YY|##############################",
+        "###|@ 2Yh|''''''''''''''''R  R''''''''''''''|||22|||====[=|||||22|||||||||||####################",
+        "###|||| t|''''''''''''''''R  R''''''''''''''(<   GY         Y     =,,,,,,,,|||||||||############",
+        "###|;i| h|''''''''''''''''R  R''''''''''''''(> CC           Y    G=,,,,,,,,|^BB  ^^|#|||||######",
+        "###|@ 2Y |''''''''''''''''R  R'''''''|======|| CC ||(RRRRRRRR     =======[=(YY CCC |||:::|######",
+        "###|||||||''''''''''''''''R  R'''''''=Eeeeee2Y CC  ^('''''''([(   Y       Y(H  Cdd  5T  Y|######",
+        "#########|''''''''''''''''RYYR'''''''=eeeeee2CCCC.dG('''''''R<( CCCCCCCCCC 2   C6C Y5   6|######",
+        "#########|''''''''''''''''RYYR'''''''=eeeeee2CCCC dh('''''''R>( CCCCCCCCCC 2  hCdh Y5   :|######",
+        "#########|''''''''''''''''R  R'''''''=Eeeeee2Y CC  ^('''''''([(   Y       Y(   Cdd  5T  Y|######",
+        "#########|''''''''''''''''R  R'''''''|======|| CC ||(RRRRRRRR     =======[=(YY CCC |||:::|######",
+        "#########|''''''''''''''''R  R''''''''''''''(> CC           Y    G=,,,,,,,,|^ A   ^|#|||||######",
+        "#########|''''''''''''''''R  R''''''''''''''(<   GY         Y     =,,,,,,,,||||55||||###########",
+        "#########|''''''''''''''''R  R''''''''''''''|||22|||((2||||||||22|||||||||||^      ^|###########",
+        "#########|''''''''''''''''R  R''''''''''''''(     Y(dG L|L6dd|^YY^|::::::::|   YY   |###########",
+        "#########|====|====|=====||22||=======|||||||     Y(dh  2 Yhd|^  ^| Y    Y |  htth  |###########",
+        "#########| h ^|h  B|h   B|    |A dh  B|A dCCCCCCC |||||||||||||  ||[=======|  htth  |###########",
+        "#########|dd ^|dd B|dd  B|    |Bh6   ^| hdCCCCCCC 5Y       |Wt|  dh dh dh f| h tth  |###########",
+        "#|||||||||^h Y|h Y^|h  Y^|    |B     Y2  dCCCCCCC 5Y             d  d  d  f|  htth  |###########",
+        "#|iii    |===[|==[=|===[=||YY||||||||||       (((((  d  dh dh  Y          f|   YY   |###########",
+        "#|Y Y Y  |Y   ^    ^     ^    ^              Y(,,,(. dh d  dY  Y d  d  d Yf|^      ^|###########",
+        "#|2|2|2| |Y                              CCC Y(,,,[              dh dh dh f||||66||||###########",
+        "#|;|;|;|Y     =========================t CCC  (,,,[  dh d  dY            Yf|##||||##############",
+        "#|||||||Y     [,,,,,,,,,,,,,,,,,,,,,,,=t CCC  (,,,(  d  dh dh  Y d  d  d  f|||||||||||||########",
+        "#|;|;|;|Y     =========================t cCC  (((((            Y dh dh dh f|^^^^^^^^^^^|########",
+        "#|2|2|2| |YG                             CCC Y    5Y                               Y  ^|########",
+        "#|Y Y Y  |Y                                  Y    5Y          G                    Y  ^|########",
+        "#|iii    |====[[||=====|===[=|===[|[==||==[=||2||2|||[=======||  |||=====||||||2|||2||||########",
+        "#|||||||||      ^|  hd^|^   H|    |    |^   |f ff f|  d  dh dh|  |Y      Y^|;2Y  |  Y2;|########",
+        "#########|dd     [   dh|h   t|h h |    | d  |f ff f|  dh d  d |  2  hhhhh ^|||  |||  |||########",
+        "#########| h     [  hh |6dd H|ddd |6dd |hd  |f ff f| Y       Y|  2  ttttt ^|;2Y i|i Y2;|########",
+        "#########|dd   dd|Y    |h  YB|Yh  |Yhd |^  Y|f    f|  d  d  dh|  |  hhh h ^|||  i|i  |||########",
+        "#########|Yh    h|BBBB^|^^BBB|A6^^|    |BBBB|ffffff|  dh d  d |^^|Y   h  Y^|;2Y i|i Y2;|########",
+        "#########|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||########",
+        "################################################################################################"
+      ],
+      "palettes": [ "robofachq" ],
+      "terrain": {
+        ",": [ "t_shrub_rose", "t_shrub", "t_grass", "t_grass", "t_grass_tall" ],
+        "-": "t_wall_metal",
+        "'": "t_open_air",
+        "e": "t_elevator",
+        "C": "t_carpet_red",
+        "E": "t_elevator_control",
+        "Y": "t_thconc_floor_olight",
+        "#": "t_rock",
+        "6": "t_console",
+        "R": "t_railing",
+        "W": "t_water_dispenser"
+      },
+      "furniture": { ":": "f_server", "K": "f_counter", "H": "f_armchair", "L": "f_locker", "f": "f_filing_cabinet" },
+      "item": { "A": { "item": "american_flag" } },
+      "items": {
+        "F": { "item": "fridge", "chance": 80 },
+        "f": { "item": "file_room", "repeat": [ 10, 30 ] },
+        "@": { "item": "bed", "chance": 80 },
+        "r": [
+          { "item": "cop_armory", "chance": 80 },
+          { "item": "energy_weapon_armory", "chance": 33 },
+          { "item": "ammo_milspec", "chance": 40 },
+          { "item": "mags_milspec", "chance": 40 },
+          { "item": "guns_milspec", "chance": 40 }
+        ],
+        "L": [
+          { "item": "energy_weapon_armory", "chance": 33 },
+          { "item": "ammo_milspec", "chance": 40 },
+          { "item": "mags_milspec", "chance": 40 },
+          { "item": "guns_milspec", "chance": 40 }
+        ],
+        "K": { "item": "kitchen", "chance": 40 },
+        "o": { "item": "oven", "chance": 70 },
+        "d": [ { "item": "office_supplies", "chance": 70 }, { "item": "office_mess", "chance": 70, "repeat": [ 1, 3 ] } ],
+        "D": { "item": "NC_ROBOFAC_SCIENTIST_worn", "chance": 50 },
+        "B": [
+          { "item": "magazines", "chance": 75, "repeat": [ 1, 5 ] },
+          { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] }
+        ]
+      },
+      "monster": { "T": { "monster": "mon_turret_light" } },
+      "npcs": { "G": { "class": "hub_security" }, "Q": { "class": "hub_security_head" } }
+    }
+  },
+  {
+    "type": "mapgen",
+    "om_terrain": [
+      [ "robofachq_hab_a0", "robofachq_hab_a1", "robofachq_hab_a2", "robofachq_hab_a3" ],
+      [ "robofachq_hab_b0", "robofachq_hab_b1", "robofachq_hab_b2", "robofachq_hab_b3" ]
+    ],
+    "method": "json",
+    "object": {
+      "fill_ter": "t_concrete",
+      "rows": [
+        "################################################################################################",
+        "################################||||||||||######################################################",
+        "################################|FFFF|FFF|######################################################",
+        "#############||||||||||||||||||||F  F|F F||||#####||||||##||||||################################",
+        "#############|KiKKKKKiKooKKKK  K|F  F|F F|;Y|#####|~Y ~|##|~ Y~|################################",
+        "#############|K   K    YY   o  K|F  F|F f|i |#####|| |||##||| ||################################",
+        "#############|k   K  iKKoK  K  K||2||||2|||2|||||||i 2;|##|;2 i|################################",
+        "#############|              i  i| Y    Y   Y|^^^^^|i |||##||| i|################################",
+        "#############|FFFFFFFF                      2     | Y2;||||;2Y |||||############################",
+        "####|||||||||||||||||||YY||||||||||||||||||||||  ||2||||FF|||2||FFF|||||||||||||||||||||||######",
+        "####|,,,.| htth  Yffff     i|'''''''''''''''(Y   Y|Y               X X X EE|rrrrrrrrrrrrp|######",
+        "####|,,,,= htth           Mi|'''''''''''''''(G CC | TT TT b   CCC  X   X Y |            p|######",
+        "####|,,,,        ccccccff||||'''''''''''''''(  CC |       b   CCC        EE|   c  cccc  p|######",
+        "####|,,,,= htth          |WW|RRRRRRRRRRRRRRR|  CC | TT TT b   CCC  X   X Y |  h6        p|######",
+        "####|,,,,= htth   h          Y                 CC |Y         ^   ^ X X X EE|ccccYYcccc  p|######",
+        "####|,,,,= htth  hth         Y          RRRRRR CC ||=========||22||=======||||||22||||||||######",
+        "####|,,,,=                 ^|      ,,,,,R'''R>YCC           Y     =,,,,,,,,|cccAYYApppppp|######",
+        "####|,,,,= htth  htth htth ^|^bb^  ,,,,,R'''R<YCC           Y     =,,,,,,,,|   A  A p p P|######",
+        "####|,,,,= htth  htth htth ^|      ,,|======|| CC ||====[====     ==========  hA  A p p p|######",
+        "####|,,,,[Y                          =Eeeeee|  CC  ^=,,,,,,,=[(      bb   Y= ddA  A p p p|######",
+        "####|,,,,=&  ^MMM^  ^MMM^  Y         [eeeeee[CCCC.dG=,,,,,,,= (            [   %  %     r|######",
+        "####|,,,,=&  ^MMM^  ^MMM^  Y         [eeeeee[CCCC dh=,,,,,,,=<(            [   AAAA Y Y r|######",
+        "####|,,,,[Y                          =Eeeeee|  CC  ^=,,,,,,,=[(      bb   Y=   A        r|######",
+        "####|,,,,= htth htth hth h ^|G     ,,|======|| CC ||====[====     ==========AAAA  P P P P|######",
+        "####|,,,,= htth htth     t ^|^bb^  ,,,,,R'''R<YCC           Y    G=,,,,,,,,|Y     P P P P|######",
+        "####|,,,,= htth      hth h ^|      ,,,,,R'''R>YCC           Y     =,,,,,,,,|PPPPPPP P P P|######",
+        "####|,,,,=       MM          Y          RRRRRR CC ||=========||22||========|||||||||||||||######",
+        "####|,,,,=       MM          Y                 CC |Y         BB  BB       B|####################",
+        "####|,,,,=  hth      htth|WW|RRRRRRRRRRRRRRR|  CC |htth hhh          htth B|####################",
+        "####|,,,,=  hth thht htth||||'''''''''''''''(  CC |htth ttt    ^^    htth B|####################",
+        "####|,,,,=  hth thht htth|##|'''''''''''''''(  CC |Y         B    B       B|####################",
+        "#|||||||||  hth  YY  htth|##|'''''''''''''''(Y   Y|BBBBBBBBBBBBBBBBBBBBBBBB|####################",
+        "#|iii    |  |||||||||||||||||||||||||||||||||||22|||||||||||||||||||||||||||||||||||############",
+        "#|Y Y Y  |  ^|##|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|^ t  ^        |~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|############",
+        "#|2|2|2| |  ^|##|~ i|~ i|~ i|~ i|~ i|~ i|?   a^   htth |~ i|~ i|~ i|~ i|~ i|~ i|~ i|||||||||||||",
+        "#|;|;|;|Y   ^|##||2|||2|||2|||2|||2|||2||? t  ^   htth ||2|||2|||2|||2|||2|||2|||2||~2 |@@ D @@|",
+        "#|||||||Y   ^|##|@ D|@ D|@ D|@ D|@ D|@ D|? t a^        |@ D|@ D|@ D|@ D|@ D|@ D|  D||| |D  @  D|",
+        "#|;|;|;|Y|YY^|##|@ D|@ D|@ D|@ D|@ D|@ D|         htth |@ D|@ D|@ D|@ D|@ D|@ D|  D|~2 |@@ @ @@|",
+        "#|2|2|2| |||||||||5|||5|||5|||5|||5|||2||at a          ||5|||5|||5|||5|||5|||5|||5||||2|D     D|",
+        "#|Y Y Y  |###|,,,=Y                   Y                                            2       S @@|",
+        "#|iii    |###|,,,=Y                   Y                                            2          D|",
+        "#|||||||||###|||||5|||5|||5|||5|||5|||2||G        ? t ?||5|||5|||5|||5|||5|||5|||5||||2|     @@|",
+        "#############|##|@ D|@ D|@ D|@ D|@ D|@ D|^  h     ? t ?|@ D|@ D|@ D|@ D|@ D|@ D|@ D|i  |D     D|",
+        "#############|##|@ D|@ D|@ D|@ D|@ D|@ D|t??t         ^|@ D|@ D|@ D|@ D|@ D|@ D|@ D|i  |@@ @ @@|",
+        "#############|##||2|||2|||2|||2|||2|||2||======[[======||2|||2|||2|||2|||2|||2|||2||   |D  @  D|",
+        "#############|##|~ i|~ i|~ i|~ i|~ i|~ i|,,,,,,,,,,,,,,|~ i|~ i|~ i|~ i|~ i|~ i|~ i|2|2|@@ D @@|",
+        "#############|##|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|,,,,,,,,,,,,,,|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|~Y;|;|;|||||||||",
+        "#############|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||########"
+      ],
+      "palettes": [ "robofachq" ],
+      "terrain": {
+        ",": [ "t_shrub_rose", "t_shrub", "t_grass_tall" ],
+        "-": "t_wall_metal",
+        "'": "t_open_air",
+        "e": "t_elevator",
+        "C": "t_carpet_red",
+        "E": "t_elevator_control",
+        "Y": "t_thconc_floor_olight",
+        "#": "t_rock",
+        "6": "t_console",
+        "R": "t_railing",
+        "W": "t_water_dispenser",
+        "&": "t_machinery_electronic"
+      },
+      "furniture": {
+        "K": "f_counter",
+        "M": "f_counter",
+        "S": "f_table",
+        "A": "f_canvas_wall",
+        "%": "f_canvas_door",
+        "E": "f_ergometer",
+        "T": "f_treadmill",
+        "X": "f_exercise"
+      },
+      "sealed_item": {
+        "P": { "item": { "item": "seed_tomato" }, "furniture": "f_planter_mature" },
+        "p": { "item": { "item": "seed_wheat" }, "furniture": "f_planter_mature" }
+      },
+      "items": {
+        "S": [
+          { "item": "tools_robotics", "chance": 30, "repeat": [ 1, 3 ] },
+          { "item": "robots", "chance": 50, "repeat": [ 1, 3 ] },
+          { "item": "supplies_electronics", "chance": 50, "repeat": [ 1, 3 ] }
+        ],
+        "F": { "item": "fridge", "chance": 80, "repeat": [ 2, 6 ] },
+        "@": { "item": "bed", "chance": 80 },
+        "M": [
+          { "item": "SUS_dishes", "chance": 80, "repeat": [ 1, 3 ] },
+          { "item": "SUS_silverware", "chance": 33, "repeat": [ 1, 3 ] }
+        ],
+        "k": [
+          { "item": "kitchen", "chance": 33, "repeat": [ 1, 3 ] },
+          { "item": "SUS_knife_drawer", "chance": 40, "repeat": [ 1, 3 ] },
+          { "item": "SUS_cookware", "chance": 40, "repeat": [ 1, 3 ] }
+        ],
+        "K": { "item": "kitchen", "chance": 40 },
+        "o": { "item": "oven", "chance": 70 },
+        "d": [ { "item": "office_supplies", "chance": 70 }, { "item": "office_mess", "chance": 70, "repeat": [ 1, 3 ] } ],
+        "r": [ { "item": "tools_earthworking", "chance": 50 }, { "item": "supplies_farming", "chance": 70, "repeat": [ 1, 3 ] } ],
+        "D": { "item": "NC_ROBOFAC_SCIENTIST_worn", "chance": 50 },
+        "B": [
+          { "item": "magazines", "chance": 75, "repeat": [ 1, 5 ] },
+          { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] }
+        ]
+      },
+      "npcs": { "G": { "class": "hub_security" } }
+    }
+  },
+  {
+    "type": "mapgen",
+    "om_terrain": [
+      [ "robofachq_res_a0", "robofachq_res_a1", "robofachq_res_a2", "robofachq_res_a3" ],
+      [ "robofachq_res_b0", "robofachq_res_b1", "robofachq_res_b2", "robofachq_res_b3" ]
+    ],
+    "method": "json",
+    "object": {
+      "fill_ter": "t_concrete",
+      "rows": [
+        "############################################|     |#############################################",
+        "################################||||||||||##|     |#############################################",
+        "################################|FFFF|FFF|##|     |#############################################",
+        "#############||||||||||||||||||||F  F|F F|||||222|||||||||||||||||||||||||||####################",
+        "#############|                              |^   ^|                       :|####################",
+        "#############|                              |^   ^|  === === === === ===  :|####################",
+        "#############|                              |^   ^|  =6= =6= =6= =6= =6=  :|####################",
+        "#############|                              |^   ^|  =2= =2= =2= =2= =2=  :|####################",
+        "#############|                 AAAA         |^   ^|                       :|####################",
+        "####||||||||||||||||||||||||||||YY||||||||||||222||  === === === === ===  :|||||||||||||||######",
+        "####|,,,.|SSSS6SSSS| h  B|##|,,(  (,,,,,,,,,(     |  =6= =6= =6= =6= =6=  :|:::::::::::::|######",
+        "####|,,,,|S       S|ddd B|##|,,(  (,,,,,,,,,(     |  =2= =2= =2= =2= =2=  :|            :|######",
+        "####|,,,,|SSS  SSSS|  h B||||,,(  (,,,,,,,,,(     |                       :|   66 66 6  :|######",
+        "####|,,,,|====[====|=[===|YY|(((  ((((((((((|     |         d  d  d  d     2   66 66 6  :|######",
+        "####|,,,,=             G     Y                    |         dh dh dh dh    2            :|######",
+        "####|,,,,=                   Y          RRRRR     ||====[==|||||||||||||||||2(||||||||||||######",
+        "####|,,,,=  |||||||  ((((((((      ======'''(>    2   G   Y(:::::::::::::::|   : : : : : |######",
+        "####|,,,,=  = 666 =  (''''''(^bb^  =,,,,='''(<Y  Y2       Y('''''''''''''':|   : : : : : |######",
+        "####|,,,,=  =     =  (''''''(      ==|======|||dd|| |===[==('''''''''''''':|  Y   Y Y   Y|######",
+        "####|,,,,[  = hth =  (''::''( d      =Eeeeee|   h|^ |6h    ('''''''''''''':|   : : : : : |######",
+        "####|,,,,=  [ hth [  (''::''(Gd      [eeeeee|6h  |^ |6h  h6(''''''MM''''''Y|  6: : : : : |######",
+        "####|,,,,=  [ hth [  (''::''(hd      [eeeeee|d   |^ |6h  h6(''''''MM''''''Y|  6: : : : : |######",
+        "####|,,,,[  = hth =  (''::''( d      =Eeeeee|  Gh|^ |6h    ('''''''''''''':|   : : : : : |######",
+        "####|,,,,=  = hth =  (''''''(      ==|======|||dd|| |===[==('''''''''''''':|  Y   Y Y   Y|######",
+        "####|,,,,=  =     =  (''''''(^bb^  =,,,,='''(<Y  Y2       Y('''''''''''''':|   : : : : : |######",
+        "####|,,,,=  =======  ((((((((      ======'''(>    2   G   Y(:::::::::::::::|   : : : : : |######",
+        "####|,,,,=                              RRRRRR    ||=[=====|||||||||||||||||2(||||||||||||######",
+        "####|,,,,=                                        |?            [          2  |#################",
+        "####|,,,,=   |=[===|=[===|YY|(((  ((((((((((|||||||?            [          ( Y|#################",
+        "####|,,,,=   |S   S|s   S||||,,(  (,,,,,,,,,(    ^|^   |[=======|===[|[====||||#################",
+        "####|,,,,=   |S  hS|S  hS|##|,,(  (,,,,,,,,,( hdhd|ddd |  hhhh ^|h  Y|Y  h |####################",
+        "#|||||||||  ||S6SSS|S6SSS|##|,,(  (,,,,,,,,,(  d6d| h  |  tttt 6|d6d |  dd6|####################",
+        "#|iii    |  ^||||||||||||||||((|YY|(((((((((|[[||||    |  hhhh  | h  |    h|####################",
+        "#|Y Y Y  |  ^|lllll|^Y dh      =  dh^|Y    B|     |ffff|Y      Y|BBBB|BBBBB|####################",
+        "#|2|2|2| |  ^|l    |B h6       [  d  |  hdhB|AAAAA||||||||||||||||||||||||||||||||||||||||||||||",
+        "#|;|;|;|Y    |l ll |B  d   ^||||  ||2|Y  d B|SSSSSSSS9S|SlllSSSS llSSSS  SSS=YDSS SSS SSSll  ll|",
+        "#|||||||Y   ^|||||2|BY   HtH|       G|2||||||        hy|SY G               Y=                 Y|",
+        "#|;|;|;|Y|YY^|S    ||||||||||              A          Y|S  SSSSS  hS  hS  sh=                  |",
+        "#|2|2|2| |||||Sh    SS6  SSS=             y%          Y||  SSSSS  SS  SS  SS=     SSS t  7966 6|",
+        "#|Y Y Y  |###|S       h     [             Y%    SSS   Y2Y                G  [Y   hSSS t  7966 6|",
+        "#|iii    |###|S             2   66         A   h6SS   Y2Y                G Y[Y    688 t       Y|",
+        "#|||||||||###|||||2|========|[=====[=======|AA%AA|AAAAA||yyyyyyyyyyyyyyyyyy =      9  t  &&66 6|",
+        "#############|l ll |Sh                 SSSS|h         d|   y6             y =      9     &&66 6|",
+        "#############|l l  |SSSSS                 6|        hhdA   y              y =t8898888         7|",
+        "#############|l   l|S                    hS|  h      hdA   y              y =Y          6     7|",
+        "#############|lllll|SSSSSYYll   6   llYYSSS|ddd  h     %Y  y              yY=t77 t7799988ttt777|",
+        "#############|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||",
+        "################################################################################################"
+      ],
+      "palettes": [ "robofachq" ],
+      "terrain": {
+        ",": [ "t_shrub_rose", "t_shrub", "t_grass_tall" ],
+        "-": "t_wall_metal",
+        "'": "t_open_air",
+        "e": "t_elevator",
+        "C": "t_carpet_red",
+        "E": "t_elevator_control",
+        "Y": "t_thconc_floor_olight",
+        "#": "t_rock",
+        "6": "t_console",
+        "R": "t_railing",
+        "9": "t_conveyor",
+        "7": "t_machinery_light",
+        "8": "t_machinery_heavy",
+        "&": "t_machinery_electronic"
+      },
+      "furniture": {
+        ":": "f_server",
+        "K": "f_counter",
+        "S": "f_table",
+        "A": "f_canvas_wall",
+        "%": "f_canvas_door",
+        "H": "f_armchair",
+        "M": "f_server",
+        "E": "f_ergometer",
+        "T": "f_treadmill",
+        "X": "f_exercise"
+      },
+      "items": {
+        "S": [
+          { "item": "tools_robotics", "chance": 30, "repeat": [ 1, 3 ] },
+          { "item": "robots", "chance": 50, "repeat": [ 1, 3 ] },
+          { "item": "supplies_electronics", "chance": 50, "repeat": [ 1, 3 ] }
+        ],
+        "d": [ { "item": "office_supplies", "chance": 70 }, { "item": "office_mess", "chance": 70, "repeat": [ 1, 3 ] } ],
+        "B": [
+          { "item": "magazines", "chance": 75, "repeat": [ 1, 5 ] },
+          { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] }
+        ]
+      },
+      "npcs": { "G": { "class": "hub_security" } }
+    }
+  },
+  {
+    "type": "mapgen",
+    "om_terrain": [ [ "robofachq_sub_a0", "robofachq_sub_a1", "robofachq_sub_a2", "robofachq_sub_a3" ] ],
+    "method": "json",
+    "object": {
+      "fill_ter": "t_thconc_floor",
+      "rows": [
+        "#######################|                      ||||||||||||||####################################",
+        "#######################|Y                    Y       (tt  ^|####################################",
+        "#######################|   bb    bbb    bb           (th   |####################################",
+        "#######################|                             (t    |####################################",
+        "#######################|Y ^bb^  ^bbb^  ^bb   Y       (t   ^|####################################",
+        "#######################||||||||||||||||||||||||      |||2|||####################################",
+        "##############################################||5555||tt tt|####################################",
+        "#####################################||||||||||^    ^| h  h|####################################",
+        "#####################################|rrrrrrrr|^    ^|     |####################################",
+        "#####################################|r      r||    ||||2|||####################################",
+        "#####################################|r  YY   2      (t   r|####################################",
+        "#####################################||||||||||  YY  (thY r|####################################",
+        "#####################################|bbbbbbbb|  YY  (t Y r|####################################",
+        "#####################################|Y      Y2      (    r|####################################",
+        "#####################################| llllll ||2222||||2|||####################################",
+        "#####################################|2||||||2|^         Y^|####################################",
+        "#####################################| ~|  |~ |^         Y^|####################################",
+        "#####################################| i|  |i |^         Y^|####################################",
+        "#####################################|||||||||||    ||||||||####################################",
+        "#####################################|lll   2       ^|##########################################",
+        "#####################################|^     (    YY ^|##########################################",
+        "#####################################|  d   (    YY ^|##########################################",
+        "#####################################|^hdh  (       ^|##########################################",
+        "#####################################||||||||     ||||##########################################"
+      ],
+      "palettes": [ "robofachq" ],
+      "terrain": { "-": "t_wall_metal", "e": "t_elevator", "E": "t_elevator_control", "Y": "t_utility_light", "I": "t_intercom" },
+      "items": {
+        "l": [ { "item": "NC_ROBOFAC_FIELD_RESEARCHER_worn", "chance": 50 }, { "item": "NC_ROBOFAC_SCIENTIST_worn", "chance": 50 } ],
+        "i": { "item": "cleaning", "chance": 50 },
+        "B": [ { "item": "textbooks", "chance": 50 }, { "item": "manuals", "chance": 50 } ]
+      }
+    }
+  },
+  {
+    "type": "mapgen",
+    "om_terrain": [
+      [ "robofachq_ai_a0", "robofachq_ai_a1", "robofachq_ai_a2", "robofachq_ai_a3" ],
+      [ "robofachq_ai_b0", "robofachq_ai_b1", "robofachq_ai_b2", "robofachq_ai_b3" ]
+    ],
+    "method": "json",
+    "object": {
+      "fill_ter": "t_thconc_floor",
+      "rows": [
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "######################################################|||||||||||||||||||||||||||||||||||||||||#",
+        "######################################################|:YY:YY:YY:YY:YY:YY:YY:|     rrrrrrrrrrr|#",
+        "######################################################|:  :  :  :  :  :  :  :|               Y|#",
+        "######################################################|:  :  :  :  :  :  :  :|     rrr   rrrr |#",
+        "######################################################|:  :  :  :  :  :  :  :|               Y|#",
+        "###################################################||||:  :  :  :  :  :  :  :|     rrrrrrrrrrr|#",
+        "############################################||||||||YY|:  :  :  :  :  :  :  :||5(((||||||||||||#",
+        "############################################|      5  5                           Y2>|##########",
+        "############################################|      5  5   Y  Y  Y  Y  Y  Y |||||||2|||##########",
+        "############################################|     Y||||((((((((((((((((((((|6      |############",
+        "############################################|       5 (````````````````````||Y     |||||||######",
+        "#####################################||||||||       |5(````````````````````6|:     ::::::|######",
+        "#####################################|eeeeee      d | (((((((((((``````````6||||        :|######",
+        "#####################################|eeeeee Y    d |          h6``````````6|:    Y  6  :|######",
+        "#####################################|Eeeeee Y    6h|          h6``````````6|:    Y  6  :|######",
+        "#####################################|eeeeee      d | (((((((((((``````````6||||        :|######",
+        "#####################################||||||||       |5(````````````````````6|:     ::::::|######",
+        "########################################|>< 5       5 (````````````````````||Y     |||||||######",
+        "########################################|   |      ||||((((((((((((((((((((|6      |############",
+        "########################################|||||      5  5   Y  Y  Y  Y  Y  Y |||||||2|||##########",
+        "############################################|      5  5                           Y2>|##########",
+        "############################################||||||||YY|:  :  :  :  :  :  :  :||5(((||||||||||||#",
+        "###################################################||||:  :  :  :  :  :  :  :|     rrrrrrrrrrr|#",
+        "######################################################|:  :  :  :  :  :  :  :|               Y|#",
+        "######################################################|:  :  :  :  :  :  :  :|     rrr   rrrr |#",
+        "######################################################|:  :  :  :  :  :  :  :|               Y|#",
+        "######################################################|:YY:YY:YY:YY:YY:YY:YY:|     rrrrrrrrrrr|#",
+        "######################################################|||||||||||||||||||||||||||||||||||||||||#",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################"
+      ],
+      "palettes": [ "robofachq" ],
+      "terrain": {
+        "-": "t_wall_metal",
+        "e": "t_elevator",
+        "E": "t_elevator_control",
+        "Y": "t_thconc_floor_olight",
+        "#": "t_rock",
+        "6": "t_console"
+      },
+      "furniture": { ":": "f_server", "K": "f_counter" },
+      "items": { "r": [ { "item": "electronics", "chance": 75, "repeat": [ 1, 5 ] } ] }
+    }
+  },
+  {
+    "type": "mapgen",
+    "om_terrain": [
+      [ "robofachq_aiutl_a0", "robofachq_aiutl_a1", "robofachq_aiutl_a2", "robofachq_aiutl_a3" ],
+      [ "robofachq_aiutl_b0", "robofachq_aiutl_b1", "robofachq_aiutl_b2", "robofachq_aiutl_b3" ]
+    ],
+    "method": "json",
+    "object": {
+      "fill_ter": "t_thconc_floor",
+      "rows": [
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "################################################################################################",
+        "##############################################||||##############################################",
+        "##############################################|66|##############################################",
+        "##############################################|  |##############################################",
+        "###########################||||||||||||||||||||  ||||||||||||||||||||||||||||||||||||||||||||||#",
+        "###########################|::::::::::::::::|B     d ^|:  :  :  :  :  :  :  :|     :::::::::::|#",
+        "###########################|               :|B Y h dh |:  :  :  :  :  :  :  :|                |#",
+        "###########################|               :|B Y   dd |YYYYYYYYYYYYYYYYYYYYYY|     :::   :::::|#",
+        "###########################|               :|B        |:  :  :  :  :  :  :  :|                |#",
+        "###########################|::::::::    ||||||55||^||||:  :  :  :  :  :  :  :|     :::::::::::|#",
+        "###########################|            5     Y  |||  |||||||||||||||||||||||||5(((||||||||||||#",
+        "###########################|::::::::::::|     Y    5  5                            2<|##########",
+        "###########################||||||||||||||||||      5  5   Y  Y  Y  Y  Y  Y |||||||2|||##########",
+        "############################################||55|||||||((((((((((((((((((((|6      |############",
+        "############################################|       5wwwwwwwwwwwwwwwwwwwwww||Y     |||||||######",
+        "#####################################||||||||       |wwwwwwwwwwwwwwwwwwwwww:|:     ::::::|######",
+        "#####################################|eeeeee        (wwwwwwwwwwwwwwwwwwwwww:||||        :|######",
+        "#####################################|eeeeee Y      (wwwwwwwwwwwwwwwwwwwwww:|:       6  :|######",
+        "#####################################|Eeeeee Y      (wwwwwwwwwwwwwwwwwwwwww:|:       6  :|######",
+        "#####################################|eeeeee        (wwwwwwwwwwwwwwwwwwwwww:||||        :|######",
+        "#####################################||||||||       |wwwwwwwwwwwwwwwwwwwwww:|:     ::::::|######",
+        "########################################|>< 5       5wwwwwwwwwwwwwwwwwwwwww||Y     |||||||######",
+        "########################################|   ||55|||||||((((((((((((((((((((|6      |############",
+        "#############################||||||||||||||||      5  5   Y  Y  Y  Y  Y  Y ||2||||2|||##########",
+        "#############################|^               Y    5  5                       |    2<|##########",
+        "#############################|^               Y  |||  ||||||||||||||22|||||||||5(((||||||||||||#",
+        "#############################||2|2((((|(((2|||222||||||:::|  :  :  :  :  :  :|     :::::::::::|#",
+        "#############################|i |     |h   B|     |::::   |  :  :  :  :  :  :|                |#",
+        "#############################|; |   dd|dd  B|  Y  5     Y 2YYYYYYYYYYYYYYYYY:|     ::::  :::::|#",
+        "#############################||||     |h   B|  Y  |       |  :  :  :  :  :  :|                |#",
+        "################################|    h| ^|2|||   |||2||:::|  :  :  :  :  :  :|     :::::::::::|#",
+        "################################|2||||||||   |555||Y :||||||||||||||  |||||||||22||||||||||||||#",
+        "################################|        (   |   |:Y :|############|  |#######|   |: : : : : :|#",
+        "################################|  cccc  2   2   ||2||||||||||||||||  |||||||||   |: : : : : :|#",
+        "################################|        |||||   |    |::::::::::::|          2   2           |#",
+        "################################|  cccc      |                                2   2           |#",
+        "################################|            2                                |||||||||||||||||#",
+        "################################|  ccccccccc |||||  ||||||||||||||||  |||||||||#################",
+        "################################|            |###|   ::::::::::::::     :|######################",
+        "################################||||||||||||||###|                   6  :|######################",
+        "#################################################|                   6  :|######################",
+        "#################################################|   ::::::::::::::     :|######################",
+        "#################################################|||||||||||||||||||||||||######################",
+        "################################################################################################",
+        "################################################################################################"
+      ],
+      "palettes": [ "robofachq" ],
+      "terrain": {
+        "-": "t_wall_metal",
+        "e": "t_elevator",
+        "w": "t_water_pool_shallow",
+        "E": "t_elevator_control",
+        "Y": "t_thconc_floor_olight",
+        "#": "t_rock",
+        "6": "t_console"
+      },
+      "furniture": { ":": "f_server" },
+      "items": {
+        "B": [
+          { "item": "magazines", "chance": 75, "repeat": [ 1, 5 ] },
+          { "item": "lab_bookshelves", "chance": 55, "repeat": [ 1, 3 ] }
+        ]
+      }
+    }
+  },
+  {
+    "type": "mapgen",
     "method": "json",
     "nested_mapgen_id": "bunker_mech_spawn",
     "weight": 25,
diff --git a/data/json/npcs/robofac/NPC_Ulysses_Rourke.json b/data/json/obsoletion/npc.json
similarity index 100%
rename from data/json/npcs/robofac/NPC_Ulysses_Rourke.json
rename to data/json/obsoletion/npc.json
diff --git a/data/json/overmap/overmap_special/specials.json b/data/json/overmap/overmap_special/specials.json
index 9d6302c72c..2c73e69a2c 100644
--- a/data/json/overmap/overmap_special/specials.json
+++ b/data/json/overmap/overmap_special/specials.json
@@ -4208,56 +4208,6 @@
       { "point": [ 1, 1, 0 ], "overmap": "robofachq_surface_b1_north" },
       { "point": [ 2, 1, 0 ], "overmap": "robofachq_surface_b2_north" },
       { "point": [ 3, 1, 0 ], "overmap": "robofachq_surface_b3_north" },
-      { "point": [ 1, -2, -2 ], "overmap": "microlab_sub_connector_north" },
-      { "point": [ 0, -1, -2 ], "overmap": "robofachq_sub_a0_north" },
-      { "point": [ 1, -1, -2 ], "overmap": "robofachq_sub_a1_north" },
-      { "point": [ 2, -1, -2 ], "overmap": "robofachq_sub_a2_north" },
-      { "point": [ 3, -1, -2 ], "overmap": "robofachq_sub_a3_north" },
-      { "point": [ 0, 0, -2 ], "overmap": "robofachq_exe_a0_north" },
-      { "point": [ 1, 0, -2 ], "overmap": "robofachq_exe_a1_north" },
-      { "point": [ 2, 0, -2 ], "overmap": "robofachq_exe_a2_north" },
-      { "point": [ 3, 0, -2 ], "overmap": "robofachq_exe_a3_north" },
-      { "point": [ 0, 1, -2 ], "overmap": "robofachq_exe_b0_north" },
-      { "point": [ 1, 1, -2 ], "overmap": "robofachq_exe_b1_north" },
-      { "point": [ 2, 1, -2 ], "overmap": "robofachq_exe_b2_north" },
-      { "point": [ 3, 1, -2 ], "overmap": "robofachq_exe_b3_north" },
-      { "point": [ 0, 0, -3 ], "overmap": "robofachq_hab_a0_north" },
-      { "point": [ 1, 0, -3 ], "overmap": "robofachq_hab_a1_north" },
-      { "point": [ 2, 0, -3 ], "overmap": "robofachq_hab_a2_north" },
-      { "point": [ 3, 0, -3 ], "overmap": "robofachq_hab_a3_north" },
-      { "point": [ 0, 1, -3 ], "overmap": "robofachq_hab_b0_north" },
-      { "point": [ 1, 1, -3 ], "overmap": "robofachq_hab_b1_north" },
-      { "point": [ 2, 1, -3 ], "overmap": "robofachq_hab_b2_north" },
-      { "point": [ 3, 1, -3 ], "overmap": "robofachq_hab_b3_north" },
-      { "point": [ 1, -2, -4 ], "overmap": "microlab_sub_connector_north" },
-      { "point": [ 0, -1, -4 ], "overmap": "robofachq_sub_a0_north" },
-      { "point": [ 1, -1, -4 ], "overmap": "robofachq_sub_a1_north" },
-      { "point": [ 2, -1, -4 ], "overmap": "robofachq_sub_a2_north" },
-      { "point": [ 3, -1, -4 ], "overmap": "robofachq_sub_a3_north" },
-      { "point": [ 0, 0, -4 ], "overmap": "robofachq_res_a0_north" },
-      { "point": [ 1, 0, -4 ], "overmap": "robofachq_res_a1_north" },
-      { "point": [ 2, 0, -4 ], "overmap": "robofachq_res_a2_north" },
-      { "point": [ 3, 0, -4 ], "overmap": "robofachq_res_a3_north" },
-      { "point": [ 0, 1, -4 ], "overmap": "robofachq_res_b0_north" },
-      { "point": [ 1, 1, -4 ], "overmap": "robofachq_res_b1_north" },
-      { "point": [ 2, 1, -4 ], "overmap": "robofachq_res_b2_north" },
-      { "point": [ 3, 1, -4 ], "overmap": "robofachq_res_b3_north" },
-      { "point": [ 0, 0, -6 ], "overmap": "robofachq_ai_a0_north" },
-      { "point": [ 1, 0, -6 ], "overmap": "robofachq_ai_a1_north" },
-      { "point": [ 2, 0, -6 ], "overmap": "robofachq_ai_a2_north" },
-      { "point": [ 3, 0, -6 ], "overmap": "robofachq_ai_a3_north" },
-      { "point": [ 0, 1, -6 ], "overmap": "robofachq_ai_b0_north" },
-      { "point": [ 1, 1, -6 ], "overmap": "robofachq_ai_b1_north" },
-      { "point": [ 2, 1, -6 ], "overmap": "robofachq_ai_b2_north" },
-      { "point": [ 3, 1, -6 ], "overmap": "robofachq_ai_b3_north" },
-      { "point": [ 0, 0, -7 ], "overmap": "robofachq_aiutl_a0_north" },
-      { "point": [ 1, 0, -7 ], "overmap": "robofachq_aiutl_a1_north" },
-      { "point": [ 2, 0, -7 ], "overmap": "robofachq_aiutl_a2_north" },
-      { "point": [ 3, 0, -7 ], "overmap": "robofachq_aiutl_a3_north" },
-      { "point": [ 0, 1, -7 ], "overmap": "robofachq_aiutl_b0_north" },
-      { "point": [ 1, 1, -7 ], "overmap": "robofachq_aiutl_b1_north" },
-      { "point": [ 2, 1, -7 ], "overmap": "robofachq_aiutl_b2_north" },
-      { "point": [ 3, 1, -7 ], "overmap": "robofachq_aiutl_b3_north" },
       { "point": [ 10, 2, 0 ], "overmap": "radio_tower_1_north" },
       { "point": [ 10, 2, 1 ], "overmap": "radio_tower_roof_1_north" },
       { "point": [ 10, 2, 2 ], "overmap": "radio_tower_even_stair_only_north" },
-- 
2.35.1