powergrid-engine 1.9.7

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 (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +31 -0
  3. package/dist/index.d.ts +6 -0
  4. package/dist/index.js +17 -0
  5. package/dist/src/available-moves.d.ts +24 -0
  6. package/dist/src/available-moves.js +363 -0
  7. package/dist/src/engine.d.ts +20 -0
  8. package/dist/src/engine.js +1937 -0
  9. package/dist/src/gamestate.d.ts +135 -0
  10. package/dist/src/gamestate.js +30 -0
  11. package/dist/src/log.d.ts +14 -0
  12. package/dist/src/log.js +2 -0
  13. package/dist/src/maps/america.d.ts +55 -0
  14. package/dist/src/maps/america.js +411 -0
  15. package/dist/src/maps/australia.d.ts +46 -0
  16. package/dist/src/maps/australia.js +138 -0
  17. package/dist/src/maps/badenwurttemberg.d.ts +46 -0
  18. package/dist/src/maps/badenwurttemberg.js +163 -0
  19. package/dist/src/maps/benelux.d.ts +46 -0
  20. package/dist/src/maps/benelux.js +210 -0
  21. package/dist/src/maps/brazil.d.ts +54 -0
  22. package/dist/src/maps/brazil.js +292 -0
  23. package/dist/src/maps/centraleurope.d.ts +54 -0
  24. package/dist/src/maps/centraleurope.js +236 -0
  25. package/dist/src/maps/china.d.ts +54 -0
  26. package/dist/src/maps/china.js +262 -0
  27. package/dist/src/maps/france.d.ts +54 -0
  28. package/dist/src/maps/france.js +290 -0
  29. package/dist/src/maps/germany.d.ts +57 -0
  30. package/dist/src/maps/germany.js +328 -0
  31. package/dist/src/maps/indian.d.ts +54 -0
  32. package/dist/src/maps/indian.js +283 -0
  33. package/dist/src/maps/italy.d.ts +54 -0
  34. package/dist/src/maps/italy.js +190 -0
  35. package/dist/src/maps/japan.d.ts +46 -0
  36. package/dist/src/maps/japan.js +144 -0
  37. package/dist/src/maps/korea.d.ts +54 -0
  38. package/dist/src/maps/korea.js +186 -0
  39. package/dist/src/maps/middleeast.d.ts +54 -0
  40. package/dist/src/maps/middleeast.js +225 -0
  41. package/dist/src/maps/northerneurope.d.ts +54 -0
  42. package/dist/src/maps/northerneurope.js +197 -0
  43. package/dist/src/maps/quebec.d.ts +54 -0
  44. package/dist/src/maps/quebec.js +283 -0
  45. package/dist/src/maps/russia.d.ts +54 -0
  46. package/dist/src/maps/russia.js +286 -0
  47. package/dist/src/maps/southafrica.d.ts +46 -0
  48. package/dist/src/maps/southafrica.js +152 -0
  49. package/dist/src/maps/spainportugal.d.ts +54 -0
  50. package/dist/src/maps/spainportugal.js +289 -0
  51. package/dist/src/maps/ukireland.d.ts +52 -0
  52. package/dist/src/maps/ukireland.js +176 -0
  53. package/dist/src/maps.d.ts +50 -0
  54. package/dist/src/maps.js +61 -0
  55. package/dist/src/move.d.ts +63 -0
  56. package/dist/src/move.js +15 -0
  57. package/dist/src/powerPlants.d.ts +4 -0
  58. package/dist/src/powerPlants.js +60 -0
  59. package/dist/src/prices.d.ts +7 -0
  60. package/dist/src/prices.js +10 -0
  61. package/dist/src/randomizeMap.d.ts +3 -0
  62. package/dist/src/randomizeMap.js +244 -0
  63. package/dist/src/utils.d.ts +2 -0
  64. package/dist/src/utils.js +24 -0
  65. package/dist/wrapper.d.ts +30 -0
  66. package/dist/wrapper.js +127 -0
  67. package/index.ts +6 -0
  68. package/package.json +51 -0
  69. package/src/available-moves.ts +450 -0
  70. package/src/engine.spec.ts +163 -0
  71. package/src/engine.ts +2270 -0
  72. package/src/fixtures/GermanyRecharged.json +6627 -0
  73. package/src/fixtures/USAOriginal.json +5216 -0
  74. package/src/fixtures/supply.json +5792 -0
  75. package/src/fixtures/undo.json +4102 -0
  76. package/src/gamestate.ts +164 -0
  77. package/src/log.ts +17 -0
  78. package/src/maps/america.ts +411 -0
  79. package/src/maps/australia.ts +137 -0
  80. package/src/maps/badenwurttemberg.ts +162 -0
  81. package/src/maps/benelux.ts +210 -0
  82. package/src/maps/brazil.ts +306 -0
  83. package/src/maps/centraleurope.ts +235 -0
  84. package/src/maps/china.ts +268 -0
  85. package/src/maps/france.ts +295 -0
  86. package/src/maps/germany.ts +328 -0
  87. package/src/maps/indian.ts +289 -0
  88. package/src/maps/italy.ts +189 -0
  89. package/src/maps/japan.ts +143 -0
  90. package/src/maps/korea.ts +185 -0
  91. package/src/maps/middleeast.ts +225 -0
  92. package/src/maps/northerneurope.ts +196 -0
  93. package/src/maps/quebec.ts +304 -0
  94. package/src/maps/russia.ts +292 -0
  95. package/src/maps/southafrica.ts +151 -0
  96. package/src/maps/spainportugal.ts +295 -0
  97. package/src/maps/ukireland.ts +175 -0
  98. package/src/maps.ts +123 -0
  99. package/src/move.ts +83 -0
  100. package/src/powerPlants.ts +59 -0
  101. package/src/prices.ts +10 -0
  102. package/src/randomizeMap.ts +288 -0
  103. package/src/rankings.spec.ts +18 -0
  104. package/src/utils.spec.ts +13 -0
  105. package/src/utils.ts +23 -0
  106. package/tsconfig.json +17 -0
  107. package/wrapper.ts +126 -0
@@ -0,0 +1,144 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.map = exports.Cities = exports.Regions = void 0;
4
+ var Regions;
5
+ (function (Regions) {
6
+ Regions["Brown"] = "brown";
7
+ Regions["Green"] = "green";
8
+ Regions["Purple"] = "purple";
9
+ Regions["Yellow"] = "yellow";
10
+ Regions["Red"] = "red";
11
+ })(Regions = exports.Regions || (exports.Regions = {}));
12
+ var Cities;
13
+ (function (Cities) {
14
+ Cities["Asahikawa"] = "Asahikawa";
15
+ Cities["Sapporo"] = "Sapporo";
16
+ Cities["Hakodate"] = "Hakodate";
17
+ Cities["Admori"] = "Admori";
18
+ Cities["Morioka"] = "Morioka";
19
+ Cities["Akita"] = "Akita";
20
+ Cities["Sendai"] = "Sendai";
21
+ Cities["Niigata"] = "Niigata";
22
+ Cities["Koriyama"] = "Koriyama";
23
+ Cities["Nagano"] = "Nagano";
24
+ Cities["Saitama"] = "Saitama";
25
+ Cities["Tokyo"] = "Tokyo";
26
+ Cities["Chiba"] = "Chiba";
27
+ Cities["Yokohama"] = "Yokohama";
28
+ Cities["Kanazawa"] = "Kanazawa";
29
+ Cities["Toyama"] = "Toyama";
30
+ Cities["Kyoto"] = "Kyoto";
31
+ Cities["Osaka"] = "Osaka";
32
+ Cities["Nagoya"] = "Nagoya";
33
+ Cities["Kofu"] = "Kofu";
34
+ Cities["Hamamatsu"] = "Hamamatsu";
35
+ Cities["Kobe"] = "Kobe";
36
+ Cities["Matsue"] = "Matsue";
37
+ Cities["Okayama"] = "Okayama";
38
+ Cities["Takamatsu"] = "Takamatsu";
39
+ Cities["Kochi"] = "Kochi";
40
+ Cities["Matsuyama"] = "Matsuyama";
41
+ Cities["Hiroshima"] = "Hiroshima";
42
+ Cities["Shimonoseki"] = "Shimonoseki";
43
+ Cities["Oita"] = "Oita";
44
+ Cities["Miyazaki"] = "Miyazaki";
45
+ Cities["Kagoshima"] = "Kagoshima";
46
+ Cities["Kumamoto"] = "Kumamoto";
47
+ Cities["Fukuoka"] = "Fukuoka";
48
+ Cities["Nagasaki"] = "Nagasaki";
49
+ })(Cities = exports.Cities || (exports.Cities = {}));
50
+ exports.map = {
51
+ name: 'Japan',
52
+ cities: [
53
+ { name: Cities.Asahikawa, region: Regions.Brown, x: 3384, y: 414 },
54
+ { name: Cities.Sapporo, region: Regions.Brown, x: 3028, y: 382 },
55
+ { name: Cities.Hakodate, region: Regions.Brown, x: 2622, y: 512 },
56
+ { name: Cities.Admori, region: Regions.Brown, x: 3818, y: 1336 },
57
+ { name: Cities.Morioka, region: Regions.Brown, x: 3636, y: 1646 },
58
+ { name: Cities.Akita, region: Regions.Brown, x: 3472, y: 1480 },
59
+ { name: Cities.Sendai, region: Regions.Brown, x: 3408, y: 1886 },
60
+ { name: Cities.Niigata, region: Regions.Green, x: 2874, y: 1628 },
61
+ { name: Cities.Koriyama, region: Regions.Green, x: 3086, y: 1932 },
62
+ { name: Cities.Nagano, region: Regions.Green, x: 2486, y: 1722 },
63
+ { name: Cities.Saitama, region: Regions.Green, x: 2450, y: 1986 },
64
+ { name: Cities.Tokyo, region: Regions.Green, x: 2524, y: 2122 },
65
+ { name: Cities.Chiba, region: Regions.Green, x: 2650, y: 2316 },
66
+ { name: Cities.Yokohama, region: Regions.Green, x: 2306, y: 2244 },
67
+ { name: Cities.Kanazawa, region: Regions.Purple, x: 2207, y: 1385 },
68
+ { name: Cities.Toyama, region: Regions.Purple, x: 2257, y: 1595 },
69
+ { name: Cities.Kyoto, region: Regions.Purple, x: 1765, y: 1595 },
70
+ { name: Cities.Osaka, region: Regions.Purple, x: 1517, y: 1631 },
71
+ { name: Cities.Nagoya, region: Regions.Purple, x: 1942, y: 1751 },
72
+ { name: Cities.Kofu, region: Regions.Purple, x: 2179, y: 1897 },
73
+ { name: Cities.Hamamatsu, region: Regions.Purple, x: 1958, y: 2024 },
74
+ { name: Cities.Kobe, region: Regions.Yellow, x: 1555, y: 1451 },
75
+ { name: Cities.Matsue, region: Regions.Yellow, x: 1457, y: 1006 },
76
+ { name: Cities.Okayama, region: Regions.Yellow, x: 1390, y: 1286 },
77
+ { name: Cities.Takamatsu, region: Regions.Yellow, x: 1268, y: 1507 },
78
+ { name: Cities.Kochi, region: Regions.Yellow, x: 974, y: 1472 },
79
+ { name: Cities.Matsuyama, region: Regions.Yellow, x: 1036, y: 1268 },
80
+ { name: Cities.Hiroshima, region: Regions.Yellow, x: 1103, y: 1078 },
81
+ { name: Cities.Shimonoseki, region: Regions.Red, x: 856, y: 962 },
82
+ { name: Cities.Oita, region: Regions.Red, x: 731, y: 1166 },
83
+ { name: Cities.Miyazaki, region: Regions.Red, x: 469, y: 1318 },
84
+ { name: Cities.Kagoshima, region: Regions.Red, x: 157, y: 1255 },
85
+ { name: Cities.Kumamoto, region: Regions.Red, x: 457, y: 1045 },
86
+ { name: Cities.Fukuoka, region: Regions.Red, x: 644, y: 823 },
87
+ { name: Cities.Nagasaki, region: Regions.Red, x: 313, y: 875 },
88
+ ],
89
+ connections: [
90
+ { nodes: [Cities.Nagasaki, Cities.Fukuoka], cost: 10 },
91
+ { nodes: [Cities.Fukuoka, Cities.Shimonoseki], cost: 10 },
92
+ { nodes: [Cities.Shimonoseki, Cities.Hiroshima], cost: 12 },
93
+ { nodes: [Cities.Hiroshima, Cities.Matsue], cost: 13 },
94
+ { nodes: [Cities.Kumamoto, Cities.Kagoshima], cost: 13 },
95
+ { nodes: [Cities.Kagoshima, Cities.Miyazaki], cost: 8 },
96
+ { nodes: [Cities.Miyazaki, Cities.Kumamoto], cost: 11 },
97
+ { nodes: [Cities.Kumamoto, Cities.Oita], cost: 12 },
98
+ { nodes: [Cities.Oita, Cities.Miyazaki], cost: 12 },
99
+ { nodes: [Cities.Oita, Cities.Matsuyama], cost: 14 },
100
+ { nodes: [Cities.Matsuyama, Cities.Kochi], cost: 7 },
101
+ { nodes: [Cities.Kochi, Cities.Takamatsu], cost: 9 },
102
+ { nodes: [Cities.Hiroshima, Cities.Okayama], cost: 11 },
103
+ { nodes: [Cities.Okayama, Cities.Matsue], cost: 11 },
104
+ { nodes: [Cities.Okayama, Cities.Kobe], cost: 9 },
105
+ { nodes: [Cities.Kobe, Cities.Matsue], cost: 16 },
106
+ { nodes: [Cities.Matsuyama, Cities.Takamatsu], cost: 10 },
107
+ { nodes: [Cities.Takamatsu, Cities.Okayama], cost: 9 },
108
+ { nodes: [Cities.Osaka, Cities.Nagoya], cost: 9 },
109
+ { nodes: [Cities.Nagoya, Cities.Kyoto], cost: 9 },
110
+ { nodes: [Cities.Kyoto, Cities.Kobe], cost: 3 },
111
+ { nodes: [Cities.Osaka, Cities.Kyoto], cost: 0 },
112
+ { nodes: [Cities.Kyoto, Cities.Kanazawa], cost: 19 },
113
+ { nodes: [Cities.Kanazawa, Cities.Toyama], cost: 3 },
114
+ { nodes: [Cities.Kanazawa, Cities.Nagoya], cost: 16 },
115
+ { nodes: [Cities.Nagoya, Cities.Toyama], cost: 15 },
116
+ { nodes: [Cities.Toyama, Cities.Nagano], cost: 9 },
117
+ { nodes: [Cities.Nagano, Cities.Niigata], cost: 12 },
118
+ { nodes: [Cities.Niigata, Cities.Akita], cost: 16 },
119
+ { nodes: [Cities.Hamamatsu, Cities.Kofu], cost: 12 },
120
+ { nodes: [Cities.Kofu, Cities.Nagoya], cost: 15 },
121
+ { nodes: [Cities.Nagoya, Cities.Hamamatsu], cost: 6 },
122
+ { nodes: [Cities.Kofu, Cities.Saitama], cost: 8 },
123
+ { nodes: [Cities.Saitama, Cities.Tokyo], cost: 0 },
124
+ { nodes: [Cities.Tokyo, Cities.Yokohama], cost: 0 },
125
+ { nodes: [Cities.Tokyo, Cities.Chiba], cost: 4 },
126
+ { nodes: [Cities.Chiba, Cities.Sendai], cost: 21 },
127
+ { nodes: [Cities.Tokyo, Cities.Koriyama], cost: 14 },
128
+ { nodes: [Cities.Koriyama, Cities.Niigata], cost: 11 },
129
+ { nodes: [Cities.Saitama, Cities.Nagano], cost: 17 },
130
+ { nodes: [Cities.Saitama, Cities.Niigata], cost: 21 },
131
+ { nodes: [Cities.Koriyama, Cities.Sendai], cost: 7 },
132
+ { nodes: [Cities.Sendai, Cities.Akita], cost: 14 },
133
+ { nodes: [Cities.Akita, Cities.Koriyama], cost: 21 },
134
+ { nodes: [Cities.Sendai, Cities.Morioka], cost: 10 },
135
+ { nodes: [Cities.Morioka, Cities.Akita], cost: 7 },
136
+ { nodes: [Cities.Akita, Cities.Admori], cost: 10 },
137
+ { nodes: [Cities.Admori, Cities.Morioka], cost: 10 },
138
+ { nodes: [Cities.Admori, Cities.Hakodate], cost: 15 },
139
+ { nodes: [Cities.Hakodate, Cities.Sapporo], cost: 14 },
140
+ { nodes: [Cities.Sapporo, Cities.Asahikawa], cost: 8 },
141
+ { nodes: [Cities.Kumamoto, Cities.Shimonoseki], cost: 16 },
142
+ { nodes: [Cities.Kumamoto, Cities.Fukuoka], cost: 8 },
143
+ ],
144
+ };
@@ -0,0 +1,54 @@
1
+ import { GameMap } from './../maps';
2
+ export declare enum Regions {
3
+ Yellow = "yellow",
4
+ Red = "red",
5
+ Brown = "brown",
6
+ Green = "green",
7
+ Purple = "purple",
8
+ Pink = "pink"
9
+ }
10
+ export declare enum Cities {
11
+ Gyeongju = "Gyeongju",
12
+ Ulsan = "Ulsan",
13
+ Busan = "Busan",
14
+ Jinju = "Jinju",
15
+ Daegu = "Daegu",
16
+ Andong = "Andong",
17
+ Sangju = "Sangju",
18
+ Rasun = "Rasun",
19
+ Cheongjin = "Cheongjin",
20
+ Gyeongseong = "Gyeongseong",
21
+ Seongjin = "Seongjin",
22
+ Hyesan = "Hyesan",
23
+ Hamheung = "Hamheung",
24
+ Wonsan = "Wonsan",
25
+ Samcheok = "Samcheok",
26
+ Donghae = "Donghae",
27
+ Taeraek = "Taeraek",
28
+ Gangneung = "Gangneung",
29
+ Sokcho = "Sokcho",
30
+ Wonju = "Wonju",
31
+ Chuncheon = "Chuncheon",
32
+ Chungju = "Chungju",
33
+ Cheongju = "Cheongju",
34
+ Jeju = "Jeju",
35
+ Gwangju = "Gwangju",
36
+ Naju = "Naju",
37
+ Jeonju = "Jeonju",
38
+ Daejeon = "Daejeon",
39
+ Yongin = "Yongin",
40
+ Seoul = "Seoul",
41
+ Suwon = "Suwon",
42
+ Goyang = "Goyang",
43
+ Anyang = "Anyang",
44
+ Incheon = "Incheon",
45
+ Gaesung = "Gaesung",
46
+ Ganggye = "Ganggye",
47
+ Haeju = "Haeju",
48
+ Pyeongyang = "Pyeongyang",
49
+ Hwangju = "Hwangju",
50
+ Nampo = "Nampo",
51
+ Anju = "Anju",
52
+ Sinuiju = "Sinuiju"
53
+ }
54
+ export declare const map: GameMap;
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.map = exports.Cities = exports.Regions = void 0;
4
+ var Regions;
5
+ (function (Regions) {
6
+ Regions["Yellow"] = "yellow";
7
+ Regions["Red"] = "red";
8
+ Regions["Brown"] = "brown";
9
+ Regions["Green"] = "green";
10
+ Regions["Purple"] = "purple";
11
+ Regions["Pink"] = "pink";
12
+ })(Regions = exports.Regions || (exports.Regions = {}));
13
+ var Cities;
14
+ (function (Cities) {
15
+ Cities["Gyeongju"] = "Gyeongju";
16
+ Cities["Ulsan"] = "Ulsan";
17
+ Cities["Busan"] = "Busan";
18
+ Cities["Jinju"] = "Jinju";
19
+ Cities["Daegu"] = "Daegu";
20
+ Cities["Andong"] = "Andong";
21
+ Cities["Sangju"] = "Sangju";
22
+ Cities["Rasun"] = "Rasun";
23
+ Cities["Cheongjin"] = "Cheongjin";
24
+ Cities["Gyeongseong"] = "Gyeongseong";
25
+ Cities["Seongjin"] = "Seongjin";
26
+ Cities["Hyesan"] = "Hyesan";
27
+ Cities["Hamheung"] = "Hamheung";
28
+ Cities["Wonsan"] = "Wonsan";
29
+ Cities["Samcheok"] = "Samcheok";
30
+ Cities["Donghae"] = "Donghae";
31
+ Cities["Taeraek"] = "Taeraek";
32
+ Cities["Gangneung"] = "Gangneung";
33
+ Cities["Sokcho"] = "Sokcho";
34
+ Cities["Wonju"] = "Wonju";
35
+ Cities["Chuncheon"] = "Chuncheon";
36
+ Cities["Chungju"] = "Chungju";
37
+ Cities["Cheongju"] = "Cheongju";
38
+ Cities["Jeju"] = "Jeju";
39
+ Cities["Gwangju"] = "Gwangju";
40
+ Cities["Naju"] = "Naju";
41
+ Cities["Jeonju"] = "Jeonju";
42
+ Cities["Daejeon"] = "Daejeon";
43
+ Cities["Yongin"] = "Yongin";
44
+ Cities["Seoul"] = "Seoul";
45
+ Cities["Suwon"] = "Suwon";
46
+ Cities["Goyang"] = "Goyang";
47
+ Cities["Anyang"] = "Anyang";
48
+ Cities["Incheon"] = "Incheon";
49
+ Cities["Gaesung"] = "Gaesung";
50
+ Cities["Ganggye"] = "Ganggye";
51
+ Cities["Haeju"] = "Haeju";
52
+ Cities["Pyeongyang"] = "Pyeongyang";
53
+ Cities["Hwangju"] = "Hwangju";
54
+ Cities["Nampo"] = "Nampo";
55
+ Cities["Anju"] = "Anju";
56
+ Cities["Sinuiju"] = "Sinuiju";
57
+ })(Cities = exports.Cities || (exports.Cities = {}));
58
+ exports.map = {
59
+ name: 'Korea',
60
+ cities: [
61
+ { name: Cities.Gyeongju, region: Regions.Yellow, x: 2161, y: 2980 },
62
+ { name: Cities.Ulsan, region: Regions.Yellow, x: 2185, y: 3226 },
63
+ { name: Cities.Busan, region: Regions.Yellow, x: 2041, y: 3440 },
64
+ { name: Cities.Jinju, region: Regions.Yellow, x: 1676, y: 3431 },
65
+ { name: Cities.Daegu, region: Regions.Yellow, x: 1876, y: 3062 },
66
+ { name: Cities.Andong, region: Regions.Yellow, x: 1987, y: 2737 },
67
+ { name: Cities.Sangju, region: Regions.Yellow, x: 1747, y: 2827 },
68
+ { name: Cities.Rasun, region: Regions.Red, x: 2485, y: 361 },
69
+ { name: Cities.Cheongjin, region: Regions.Red, x: 2309, y: 491 },
70
+ { name: Cities.Gyeongseong, region: Regions.Red, x: 2209, y: 689 },
71
+ { name: Cities.Seongjin, region: Regions.Red, x: 2060, y: 1001 },
72
+ { name: Cities.Hyesan, region: Regions.Red, x: 1783, y: 665 },
73
+ { name: Cities.Hamheung, region: Regions.Red, x: 1516, y: 1283 },
74
+ { name: Cities.Wonsan, region: Regions.Red, x: 1484, y: 1600 },
75
+ { name: Cities.Samcheok, region: Regions.Brown, x: 2171, y: 2437 },
76
+ { name: Cities.Donghae, region: Regions.Brown, x: 2041, y: 2299 },
77
+ { name: Cities.Taeraek, region: Regions.Brown, x: 1999, y: 2528 },
78
+ { name: Cities.Gangneung, region: Regions.Brown, x: 1949, y: 2092 },
79
+ { name: Cities.Sokcho, region: Regions.Brown, x: 1832, y: 1915 },
80
+ { name: Cities.Wonju, region: Regions.Brown, x: 1735, y: 2293 },
81
+ { name: Cities.Chuncheon, region: Regions.Brown, x: 1594, y: 2056 },
82
+ { name: Cities.Chungju, region: Regions.Green, x: 1744, y: 2552 },
83
+ { name: Cities.Cheongju, region: Regions.Green, x: 1547, y: 2645 },
84
+ { name: Cities.Jeju, region: Regions.Green, x: 1223, y: 4051 },
85
+ { name: Cities.Gwangju, region: Regions.Green, x: 1309, y: 3380 },
86
+ { name: Cities.Naju, region: Regions.Green, x: 1121, y: 3569 },
87
+ { name: Cities.Jeonju, region: Regions.Green, x: 1363, y: 3109 },
88
+ { name: Cities.Daejeon, region: Regions.Green, x: 1462, y: 2839 },
89
+ { name: Cities.Yongin, region: Regions.Purple, x: 1532, y: 2371 },
90
+ { name: Cities.Seoul, region: Regions.Purple, x: 1400, y: 2203 },
91
+ { name: Cities.Suwon, region: Regions.Purple, x: 1366, y: 2488 },
92
+ { name: Cities.Goyang, region: Regions.Purple, x: 1219, y: 2270 },
93
+ { name: Cities.Anyang, region: Regions.Purple, x: 1156, y: 2446 },
94
+ { name: Cities.Incheon, region: Regions.Purple, x: 1028, y: 2311 },
95
+ { name: Cities.Gaesung, region: Regions.Purple, x: 1171, y: 2042 },
96
+ { name: Cities.Ganggye, region: Regions.Pink, x: 1213, y: 809 },
97
+ { name: Cities.Haeju, region: Regions.Pink, x: 856, y: 2135 },
98
+ { name: Cities.Pyeongyang, region: Regions.Pink, x: 938, y: 1642 },
99
+ { name: Cities.Hwangju, region: Regions.Pink, x: 901, y: 1886 },
100
+ { name: Cities.Nampo, region: Regions.Pink, x: 677, y: 1763 },
101
+ { name: Cities.Anju, region: Regions.Pink, x: 812, y: 1391 },
102
+ { name: Cities.Sinuiju, region: Regions.Pink, x: 433, y: 1105 },
103
+ ],
104
+ connections: [
105
+ { nodes: [Cities.Naju, Cities.Jeju], cost: 19 },
106
+ { nodes: [Cities.Naju, Cities.Jinju], cost: 15 },
107
+ { nodes: [Cities.Jinju, Cities.Gwangju], cost: 14 },
108
+ { nodes: [Cities.Gwangju, Cities.Naju], cost: 2 },
109
+ { nodes: [Cities.Gwangju, Cities.Jeonju], cost: 11 },
110
+ { nodes: [Cities.Jeonju, Cities.Jinju], cost: 15 },
111
+ { nodes: [Cities.Jinju, Cities.Busan], cost: 11 },
112
+ { nodes: [Cities.Jinju, Cities.Daegu], cost: 11 },
113
+ { nodes: [Cities.Daegu, Cities.Jeonju], cost: 16 },
114
+ { nodes: [Cities.Daegu, Cities.Busan], cost: 12 },
115
+ { nodes: [Cities.Busan, Cities.Ulsan], cost: 7 },
116
+ { nodes: [Cities.Ulsan, Cities.Daegu], cost: 10 },
117
+ { nodes: [Cities.Jeonju, Cities.Daejeon], cost: 9 },
118
+ { nodes: [Cities.Daejeon, Cities.Daegu], cost: 15 },
119
+ { nodes: [Cities.Andong, Cities.Gyeongju], cost: 11 },
120
+ { nodes: [Cities.Gyeongju, Cities.Daegu], cost: 7 },
121
+ { nodes: [Cities.Gyeongju, Cities.Ulsan], cost: 3 },
122
+ { nodes: [Cities.Daegu, Cities.Sangju], cost: 9 },
123
+ { nodes: [Cities.Sangju, Cities.Daejeon], cost: 8 },
124
+ { nodes: [Cities.Daegu, Cities.Andong], cost: 10 },
125
+ { nodes: [Cities.Andong, Cities.Sangju], cost: 6 },
126
+ { nodes: [Cities.Andong, Cities.Taeraek], cost: 8 },
127
+ { nodes: [Cities.Taeraek, Cities.Samcheok], cost: 5 },
128
+ { nodes: [Cities.Samcheok, Cities.Donghae], cost: 0 },
129
+ { nodes: [Cities.Donghae, Cities.Gangneung], cost: 4 },
130
+ { nodes: [Cities.Chungju, Cities.Taeraek], cost: 13 },
131
+ { nodes: [Cities.Andong, Cities.Chungju], cost: 11 },
132
+ { nodes: [Cities.Chungju, Cities.Cheongju], cost: 7 },
133
+ { nodes: [Cities.Cheongju, Cities.Sangju], cost: 8 },
134
+ { nodes: [Cities.Sangju, Cities.Chungju], cost: 9 },
135
+ { nodes: [Cities.Daejeon, Cities.Cheongju], cost: 4 },
136
+ { nodes: [Cities.Wonju, Cities.Donghae], cost: 14 },
137
+ { nodes: [Cities.Wonju, Cities.Taeraek], cost: 13 },
138
+ { nodes: [Cities.Chungju, Cities.Wonju], cost: 5 },
139
+ { nodes: [Cities.Wonju, Cities.Gangneung], cost: 12 },
140
+ { nodes: [Cities.Wonju, Cities.Sokcho], cost: 15 },
141
+ { nodes: [Cities.Sokcho, Cities.Gangneung], cost: 6 },
142
+ { nodes: [Cities.Chuncheon, Cities.Wonju], cost: 7 },
143
+ { nodes: [Cities.Sinuiju, Cities.Ganggye], cost: 25 },
144
+ { nodes: [Cities.Ganggye, Cities.Hyesan], cost: 20 },
145
+ { nodes: [Cities.Sinuiju, Cities.Anju], cost: 13 },
146
+ { nodes: [Cities.Anju, Cities.Ganggye], cost: 22 },
147
+ { nodes: [Cities.Ganggye, Cities.Hamheung], cost: 19 },
148
+ { nodes: [Cities.Hamheung, Cities.Anju], cost: 20 },
149
+ { nodes: [Cities.Anju, Cities.Nampo], cost: 10 },
150
+ { nodes: [Cities.Anju, Cities.Pyeongyang], cost: 7 },
151
+ { nodes: [Cities.Pyeongyang, Cities.Nampo], cost: 5 },
152
+ { nodes: [Cities.Nampo, Cities.Hwangju], cost: 4 },
153
+ { nodes: [Cities.Hwangju, Cities.Pyeongyang], cost: 4 },
154
+ { nodes: [Cities.Pyeongyang, Cities.Wonsan], cost: 18 },
155
+ { nodes: [Cities.Pyeongyang, Cities.Hamheung], cost: 23 },
156
+ { nodes: [Cities.Hamheung, Cities.Wonsan], cost: 11 },
157
+ { nodes: [Cities.Pyeongyang, Cities.Gaesung], cost: 14 },
158
+ { nodes: [Cities.Gaesung, Cities.Haeju], cost: 8 },
159
+ { nodes: [Cities.Haeju, Cities.Hwangju], cost: 8 },
160
+ { nodes: [Cities.Gaesung, Cities.Goyang], cost: 7 },
161
+ { nodes: [Cities.Anyang, Cities.Suwon], cost: 3 },
162
+ { nodes: [Cities.Suwon, Cities.Yongin], cost: 2 },
163
+ { nodes: [Cities.Goyang, Cities.Incheon], cost: 0 },
164
+ { nodes: [Cities.Incheon, Cities.Anyang], cost: 0 },
165
+ { nodes: [Cities.Goyang, Cities.Seoul], cost: 0 },
166
+ { nodes: [Cities.Suwon, Cities.Cheongju], cost: 10 },
167
+ { nodes: [Cities.Seoul, Cities.Yongin], cost: 2 },
168
+ { nodes: [Cities.Gaesung, Cities.Chuncheon], cost: 13 },
169
+ { nodes: [Cities.Gaesung, Cities.Wonsan], cost: 18 },
170
+ { nodes: [Cities.Wonsan, Cities.Sokcho], cost: 18 },
171
+ { nodes: [Cities.Wonsan, Cities.Chuncheon], cost: 19 },
172
+ { nodes: [Cities.Sokcho, Cities.Chuncheon], cost: 10 },
173
+ { nodes: [Cities.Chuncheon, Cities.Seoul], cost: 8 },
174
+ { nodes: [Cities.Chuncheon, Cities.Yongin], cost: 9 },
175
+ { nodes: [Cities.Yongin, Cities.Wonju], cost: 8 },
176
+ { nodes: [Cities.Yongin, Cities.Chungju], cost: 10 },
177
+ { nodes: [Cities.Yongin, Cities.Cheongju], cost: 10 },
178
+ { nodes: [Cities.Rasun, Cities.Cheongjin], cost: 8 },
179
+ { nodes: [Cities.Cheongjin, Cities.Gyeongseong], cost: 4 },
180
+ { nodes: [Cities.Gyeongseong, Cities.Seongjin], cost: 16 },
181
+ { nodes: [Cities.Hyesan, Cities.Gyeongseong], cost: 18 },
182
+ { nodes: [Cities.Hyesan, Cities.Seongjin], cost: 14 },
183
+ { nodes: [Cities.Seongjin, Cities.Hamheung], cost: 17 },
184
+ { nodes: [Cities.Hamheung, Cities.Hyesan], cost: 23 },
185
+ ],
186
+ };
@@ -0,0 +1,54 @@
1
+ import { GameMap } from './../maps';
2
+ export declare enum Regions {
3
+ Pink = "pink",
4
+ Green = "green",
5
+ Orange = "orange",
6
+ Yellow = "yellow",
7
+ Red = "red",
8
+ Brown = "brown"
9
+ }
10
+ export declare enum Cities {
11
+ Mashhad = "Mashhad",
12
+ Corgan = "Corgan",
13
+ Tehran = "Tehran",
14
+ Tabriz = "Tabriz",
15
+ Mosul = "Mosul",
16
+ Kermanshah = "Kermanshah",
17
+ Baghdad = "Baghdad",
18
+ Isfahan = "Isfahan",
19
+ Yazo = "Yazo",
20
+ Zahedan = "Zahedan",
21
+ Kerman = "Kerman",
22
+ Shiraz = "Shiraz",
23
+ Bandarabbas = "Bandar Abbas",
24
+ Chabahar = "Chabahar",
25
+ Dubai = "Dubai",
26
+ Muscat = "Muscat",
27
+ Abudhari = "Abu Dhari",
28
+ Alain = "Alain",
29
+ Salalah = "Salalah",
30
+ Doha = "Doha",
31
+ Manama = "Manama",
32
+ Ahvaz = "Ahvaz",
33
+ Basra = "Basra",
34
+ Najaf = "Najaf",
35
+ Kuwaitcity = "Kuwait City",
36
+ Buraydah = "Buraydah",
37
+ Riyadh = "Riyadh",
38
+ Medina = "Medina",
39
+ Alhasahah = "Al Hasahah",
40
+ Aleppo = "Aleppo",
41
+ Damascus = "Damascus",
42
+ Amman = "Amman",
43
+ Beirut = "Beirut",
44
+ Jerusalem = "Jerusalem",
45
+ Aqaba = "Aqaba",
46
+ Mukalla = "Mukalla",
47
+ Sanaa = "Sanaa",
48
+ Aden = "Aden",
49
+ Alhudaydah = "Al-Hudaydah",
50
+ Abha = "Abha",
51
+ Mecca = "Mecca",
52
+ Jeddah = "Jeddah"
53
+ }
54
+ export declare const map: GameMap;
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.map = exports.Cities = exports.Regions = void 0;
4
+ var Regions;
5
+ (function (Regions) {
6
+ Regions["Pink"] = "pink";
7
+ Regions["Green"] = "green";
8
+ Regions["Orange"] = "orange";
9
+ Regions["Yellow"] = "yellow";
10
+ Regions["Red"] = "red";
11
+ Regions["Brown"] = "brown";
12
+ })(Regions = exports.Regions || (exports.Regions = {}));
13
+ var Cities;
14
+ (function (Cities) {
15
+ Cities["Mashhad"] = "Mashhad";
16
+ Cities["Corgan"] = "Corgan";
17
+ Cities["Tehran"] = "Tehran";
18
+ Cities["Tabriz"] = "Tabriz";
19
+ Cities["Mosul"] = "Mosul";
20
+ Cities["Kermanshah"] = "Kermanshah";
21
+ Cities["Baghdad"] = "Baghdad";
22
+ Cities["Isfahan"] = "Isfahan";
23
+ Cities["Yazo"] = "Yazo";
24
+ Cities["Zahedan"] = "Zahedan";
25
+ Cities["Kerman"] = "Kerman";
26
+ Cities["Shiraz"] = "Shiraz";
27
+ Cities["Bandarabbas"] = "Bandar Abbas";
28
+ Cities["Chabahar"] = "Chabahar";
29
+ Cities["Dubai"] = "Dubai";
30
+ Cities["Muscat"] = "Muscat";
31
+ Cities["Abudhari"] = "Abu Dhari";
32
+ Cities["Alain"] = "Alain";
33
+ Cities["Salalah"] = "Salalah";
34
+ Cities["Doha"] = "Doha";
35
+ Cities["Manama"] = "Manama";
36
+ Cities["Ahvaz"] = "Ahvaz";
37
+ Cities["Basra"] = "Basra";
38
+ Cities["Najaf"] = "Najaf";
39
+ Cities["Kuwaitcity"] = "Kuwait City";
40
+ Cities["Buraydah"] = "Buraydah";
41
+ Cities["Riyadh"] = "Riyadh";
42
+ Cities["Medina"] = "Medina";
43
+ Cities["Alhasahah"] = "Al Hasahah";
44
+ Cities["Aleppo"] = "Aleppo";
45
+ Cities["Damascus"] = "Damascus";
46
+ Cities["Amman"] = "Amman";
47
+ Cities["Beirut"] = "Beirut";
48
+ Cities["Jerusalem"] = "Jerusalem";
49
+ Cities["Aqaba"] = "Aqaba";
50
+ Cities["Mukalla"] = "Mukalla";
51
+ Cities["Sanaa"] = "Sanaa";
52
+ Cities["Aden"] = "Aden";
53
+ Cities["Alhudaydah"] = "Al-Hudaydah";
54
+ Cities["Abha"] = "Abha";
55
+ Cities["Mecca"] = "Mecca";
56
+ Cities["Jeddah"] = "Jeddah";
57
+ })(Cities = exports.Cities || (exports.Cities = {}));
58
+ exports.map = {
59
+ name: 'Middle East',
60
+ cities: [
61
+ { name: Cities.Mashhad, region: Regions.Pink, x: 859, y: 327 },
62
+ { name: Cities.Corgan, region: Regions.Pink, x: 734, y: 287 },
63
+ { name: Cities.Tehran, region: Regions.Pink, x: 633, y: 342 },
64
+ { name: Cities.Tabriz, region: Regions.Pink, x: 450, y: 251 },
65
+ { name: Cities.Mosul, region: Regions.Pink, x: 352, y: 307 },
66
+ { name: Cities.Kermanshah, region: Regions.Pink, x: 503, y: 391 },
67
+ { name: Cities.Baghdad, region: Regions.Pink, x: 393, y: 406 },
68
+ { name: Cities.Isfahan, region: Regions.Green, x: 621, y: 436 },
69
+ { name: Cities.Yazo, region: Regions.Green, x: 720, y: 472 },
70
+ { name: Cities.Zahedan, region: Regions.Green, x: 896, y: 547 },
71
+ { name: Cities.Kerman, region: Regions.Green, x: 784, y: 534 },
72
+ { name: Cities.Shiraz, region: Regions.Green, x: 651, y: 557 },
73
+ { name: Cities.Bandarabbas, region: Regions.Green, x: 756, y: 629 },
74
+ { name: Cities.Chabahar, region: Regions.Green, x: 898, y: 687 },
75
+ { name: Cities.Dubai, region: Regions.Orange, x: 752, y: 690 },
76
+ { name: Cities.Muscat, region: Regions.Orange, x: 828, y: 773 },
77
+ { name: Cities.Abudhari, region: Regions.Orange, x: 692, y: 747 },
78
+ { name: Cities.Alain, region: Regions.Orange, x: 715, y: 812 },
79
+ { name: Cities.Salalah, region: Regions.Orange, x: 694, y: 981 },
80
+ { name: Cities.Doha, region: Regions.Orange, x: 596, y: 713 },
81
+ { name: Cities.Manama, region: Regions.Orange, x: 532, y: 652 },
82
+ { name: Cities.Ahvaz, region: Regions.Yellow, x: 555, y: 499 },
83
+ { name: Cities.Basra, region: Regions.Yellow, x: 452, y: 519 },
84
+ { name: Cities.Najaf, region: Regions.Yellow, x: 356, y: 478 },
85
+ { name: Cities.Kuwaitcity, region: Regions.Yellow, x: 500, y: 580 },
86
+ { name: Cities.Buraydah, region: Regions.Yellow, x: 360, y: 674 },
87
+ { name: Cities.Riyadh, region: Regions.Yellow, x: 443, y: 741 },
88
+ { name: Cities.Medina, region: Regions.Yellow, x: 264, y: 738 },
89
+ { name: Cities.Alhasahah, region: Regions.Red, x: 248, y: 300 },
90
+ { name: Cities.Aleppo, region: Regions.Red, x: 132, y: 315 },
91
+ { name: Cities.Damascus, region: Regions.Red, x: 186, y: 433 },
92
+ { name: Cities.Amman, region: Regions.Red, x: 171, y: 493 },
93
+ { name: Cities.Beirut, region: Regions.Red, x: 94, y: 401 },
94
+ { name: Cities.Jerusalem, region: Regions.Red, x: 76, y: 481 },
95
+ { name: Cities.Aqaba, region: Regions.Red, x: 103, y: 563 },
96
+ { name: Cities.Mukalla, region: Regions.Brown, x: 555, y: 1059 },
97
+ { name: Cities.Sanaa, region: Regions.Brown, x: 426, y: 1018 },
98
+ { name: Cities.Aden, region: Regions.Brown, x: 431, y: 1105 },
99
+ { name: Cities.Alhudaydah, region: Regions.Brown, x: 317, y: 1057 },
100
+ { name: Cities.Abha, region: Regions.Brown, x: 306, y: 938 },
101
+ { name: Cities.Mecca, region: Regions.Brown, x: 280, y: 850 },
102
+ { name: Cities.Jeddah, region: Regions.Brown, x: 190, y: 800 },
103
+ ],
104
+ connections: [
105
+ { nodes: [Cities.Tabriz, Cities.Tehran], cost: 13 },
106
+ { nodes: [Cities.Tehran, Cities.Corgan], cost: 9 },
107
+ { nodes: [Cities.Corgan, Cities.Mashhad], cost: 12 },
108
+ { nodes: [Cities.Mashhad, Cities.Zahedan], cost: 20 },
109
+ { nodes: [Cities.Zahedan, Cities.Kerman], cost: 10 },
110
+ { nodes: [Cities.Kerman, Cities.Yazo], cost: 7 },
111
+ { nodes: [Cities.Yazo, Cities.Mashhad], cost: 18 },
112
+ { nodes: [Cities.Mashhad, Cities.Tehran], cost: 19 },
113
+ { nodes: [Cities.Tehran, Cities.Yazo], cost: 12 },
114
+ { nodes: [Cities.Yazo, Cities.Shiraz], cost: 9 },
115
+ { nodes: [Cities.Shiraz, Cities.Kerman], cost: 11 },
116
+ { nodes: [Cities.Yazo, Cities.Isfahan], cost: 7 },
117
+ { nodes: [Cities.Isfahan, Cities.Shiraz], cost: 10 },
118
+ { nodes: [Cities.Isfahan, Cities.Tehran], cost: 9 },
119
+ { nodes: [Cities.Tehran, Cities.Kermanshah], cost: 13 },
120
+ { nodes: [Cities.Kermanshah, Cities.Isfahan], cost: 13 },
121
+ { nodes: [Cities.Isfahan, Cities.Ahvaz], cost: 11 },
122
+ { nodes: [Cities.Ahvaz, Cities.Shiraz], cost: 11 },
123
+ { nodes: [Cities.Ahvaz, Cities.Kermanshah], cost: 11 },
124
+ { nodes: [Cities.Kermanshah, Cities.Tabriz], cost: 13 },
125
+ { nodes: [Cities.Tabriz, Cities.Mosul], cost: 13 },
126
+ { nodes: [Cities.Mosul, Cities.Baghdad], cost: 8 },
127
+ { nodes: [Cities.Baghdad, Cities.Kermanshah], cost: 8 },
128
+ { nodes: [Cities.Basra, Cities.Ahvaz], cost: 3 },
129
+ { nodes: [Cities.Ahvaz, Cities.Kuwaitcity], cost: 7 },
130
+ { nodes: [Cities.Kuwaitcity, Cities.Basra], cost: 5 },
131
+ { nodes: [Cities.Basra, Cities.Najaf], cost: 10 },
132
+ { nodes: [Cities.Najaf, Cities.Baghdad], cost: 4 },
133
+ { nodes: [Cities.Baghdad, Cities.Basra], cost: 12 },
134
+ { nodes: [Cities.Alhasahah, Cities.Mosul], cost: 4 },
135
+ { nodes: [Cities.Alhasahah, Cities.Baghdad], cost: 11 },
136
+ { nodes: [Cities.Baghdad, Cities.Damascus], cost: 16 },
137
+ { nodes: [Cities.Damascus, Cities.Najaf], cost: 15 },
138
+ { nodes: [Cities.Alhasahah, Cities.Damascus], cost: 14 },
139
+ { nodes: [Cities.Damascus, Cities.Amman], cost: 4 },
140
+ { nodes: [Cities.Amman, Cities.Aqaba], cost: 7 },
141
+ { nodes: [Cities.Aqaba, Cities.Jerusalem], cost: 6 },
142
+ { nodes: [Cities.Jerusalem, Cities.Amman], cost: 3 },
143
+ { nodes: [Cities.Jerusalem, Cities.Beirut], cost: 6 },
144
+ { nodes: [Cities.Beirut, Cities.Damascus], cost: 4 },
145
+ { nodes: [Cities.Damascus, Cities.Aleppo], cost: 8 },
146
+ { nodes: [Cities.Aleppo, Cities.Beirut], cost: 9 },
147
+ { nodes: [Cities.Aleppo, Cities.Alhasahah], cost: 7 },
148
+ { nodes: [Cities.Baghdad, Cities.Tabriz], cost: 18 },
149
+ { nodes: [Cities.Zahedan, Cities.Chabahar], cost: 13 },
150
+ { nodes: [Cities.Zahedan, Cities.Bandarabbas], cost: 14 },
151
+ { nodes: [Cities.Bandarabbas, Cities.Kerman], cost: 13 },
152
+ { nodes: [Cities.Shiraz, Cities.Bandarabbas], cost: 14 },
153
+ { nodes: [Cities.Bandarabbas, Cities.Chabahar], cost: 15 },
154
+ { nodes: [Cities.Kuwaitcity, Cities.Manama], cost: 12 },
155
+ { nodes: [Cities.Manama, Cities.Doha], cost: 6 },
156
+ { nodes: [Cities.Doha, Cities.Abudhari], cost: 9 },
157
+ { nodes: [Cities.Abudhari, Cities.Dubai], cost: 2 },
158
+ { nodes: [Cities.Dubai, Cities.Muscat], cost: 9 },
159
+ { nodes: [Cities.Muscat, Cities.Alain], cost: 7 },
160
+ { nodes: [Cities.Alain, Cities.Abudhari], cost: 3 },
161
+ { nodes: [Cities.Alain, Cities.Dubai], cost: 3 },
162
+ { nodes: [Cities.Riyadh, Cities.Alain], cost: 23 },
163
+ { nodes: [Cities.Doha, Cities.Riyadh], cost: 12 },
164
+ { nodes: [Cities.Riyadh, Cities.Manama], cost: 10 },
165
+ { nodes: [Cities.Riyadh, Cities.Kuwaitcity], cost: 12 },
166
+ { nodes: [Cities.Kuwaitcity, Cities.Buraydah], cost: 12 },
167
+ { nodes: [Cities.Buraydah, Cities.Riyadh], cost: 7 },
168
+ { nodes: [Cities.Buraydah, Cities.Medina], cost: 10 },
169
+ { nodes: [Cities.Medina, Cities.Riyadh], cost: 15 },
170
+ { nodes: [Cities.Buraydah, Cities.Najaf], cost: 14 },
171
+ { nodes: [Cities.Aqaba, Cities.Jeddah], cost: 23 },
172
+ { nodes: [Cities.Aqaba, Cities.Medina], cost: 17 },
173
+ { nodes: [Cities.Medina, Cities.Jeddah], cost: 7 },
174
+ { nodes: [Cities.Jeddah, Cities.Mecca], cost: 1 },
175
+ { nodes: [Cities.Mecca, Cities.Medina], cost: 7 },
176
+ { nodes: [Cities.Mecca, Cities.Riyadh], cost: 17 },
177
+ { nodes: [Cities.Riyadh, Cities.Abha], cost: 19 },
178
+ { nodes: [Cities.Abha, Cities.Mecca], cost: 12 },
179
+ { nodes: [Cities.Salalah, Cities.Muscat], cost: 21 },
180
+ { nodes: [Cities.Alain, Cities.Salalah], cost: 18 },
181
+ { nodes: [Cities.Salalah, Cities.Mukalla], cost: 15 },
182
+ { nodes: [Cities.Salalah, Cities.Sanaa], cost: 25 },
183
+ { nodes: [Cities.Sanaa, Cities.Mukalla], cost: 14 },
184
+ { nodes: [Cities.Mukalla, Cities.Aden], cost: 13 },
185
+ { nodes: [Cities.Aden, Cities.Alhudaydah], cost: 9 },
186
+ { nodes: [Cities.Alhudaydah, Cities.Abha], cost: 10 },
187
+ { nodes: [Cities.Abha, Cities.Sanaa], cost: 11 },
188
+ { nodes: [Cities.Sanaa, Cities.Alhudaydah], cost: 5 },
189
+ ],
190
+ layout: 'Portrait',
191
+ mapPosition: [0, -100],
192
+ resupply: [
193
+ [
194
+ [2, 1, 1],
195
+ [2, 1, 1],
196
+ [3, 2, 2],
197
+ [4, 3, 2],
198
+ [5, 4, 3],
199
+ ],
200
+ [
201
+ [5, 3, 2],
202
+ [5, 3, 2],
203
+ [6, 3, 2],
204
+ [8, 4, 3],
205
+ [9, 5, 4],
206
+ ],
207
+ [
208
+ [1, 3, 4],
209
+ [1, 3, 4],
210
+ [1, 4, 6],
211
+ [1, 4, 8],
212
+ [1, 6, 9],
213
+ ],
214
+ [
215
+ [0, 2, 2],
216
+ [0, 2, 2],
217
+ [0, 3, 3],
218
+ [0, 3, 4],
219
+ [0, 4, 5],
220
+ ],
221
+ ],
222
+ startingResources: [21, 21, 3, 3],
223
+ startingSupply: [24, 24, 21, 11],
224
+ mapSpecificRules: 'Only coal and oil can be bought for $1, and any number of oil can restock at $1.\nDuring step 1, garbage and uranium plants will be removed from the current market.\nStep 2 will be triggered after going through the deck once rather than by a specific number of cities.\nStep 3 will be triggered after going through the deck a second time.',
225
+ };