powergrid-engine 1.10.0 → 1.12.0

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.
@@ -0,0 +1,330 @@
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["Brown"] = "brown";
8
+ Regions["Orange"] = "orange";
9
+ Regions["Green"] = "green";
10
+ Regions["Blue"] = "blue";
11
+ Regions["Yellow"] = "yellow";
12
+ Regions["Red"] = "red";
13
+ })(Regions = exports.Regions || (exports.Regions = {}));
14
+ var Cities;
15
+ (function (Cities) {
16
+ // Pink — Pacific Northwest / Western Canada
17
+ Cities["Edmonton"] = "Edmonton";
18
+ Cities["Calgary"] = "Calgary";
19
+ Cities["Vancouver"] = "Vancouver";
20
+ Cities["Seattle"] = "Seattle";
21
+ Cities["Regina"] = "Regina";
22
+ Cities["Winnipeg"] = "Winnipeg";
23
+ Cities["Minneapolis"] = "Minneapolis";
24
+ // Brown — California / Pacific SW / Mountain West
25
+ Cities["Portland"] = "Portland";
26
+ Cities["SanFrancisco"] = "San Francisco";
27
+ Cities["LosAngeles"] = "Los Angeles";
28
+ Cities["SanDiego"] = "San Diego";
29
+ Cities["SaltLakeCity"] = "Salt Lake City";
30
+ Cities["LasVegas"] = "Las Vegas";
31
+ Cities["Denver"] = "Denver";
32
+ // Orange — SW / Mexico (includes Mexico City N + Mexico City S metropolis pair)
33
+ Cities["Albuquerque"] = "Albuquerque";
34
+ Cities["Juarez"] = "Juarez";
35
+ Cities["Chihuahua"] = "Chihuahua";
36
+ Cities["Monterrey"] = "Monterrey";
37
+ Cities["Guadalajara"] = "Guadalajara";
38
+ Cities["MexicoCityN"] = "Mexico City N";
39
+ Cities["MexicoCityS"] = "Mexico City S";
40
+ // Green — Texas / Deep South / Florida
41
+ Cities["SanAntonio"] = "San Antonio";
42
+ Cities["DallasFortWorth"] = "Dallas-Fort Worth";
43
+ Cities["Houston"] = "Houston";
44
+ Cities["NewOrleans"] = "New Orleans";
45
+ Cities["Atlanta"] = "Atlanta";
46
+ Cities["Jacksonville"] = "Jacksonville";
47
+ Cities["Miami"] = "Miami";
48
+ // Blue — Midwest / Plains / Mid-South
49
+ Cities["Milwaukee"] = "Milwaukee";
50
+ Cities["Chicago"] = "Chicago";
51
+ Cities["KansasCity"] = "Kansas City";
52
+ Cities["StLouis"] = "St. Louis";
53
+ Cities["Indianapolis"] = "Indianapolis";
54
+ Cities["OklahomaCity"] = "Oklahoma City";
55
+ Cities["Memphis"] = "Memphis";
56
+ // Yellow — Great Lakes / Mid-Atlantic
57
+ Cities["Toronto"] = "Toronto";
58
+ Cities["Detroit"] = "Detroit";
59
+ Cities["Pittsburgh"] = "Pittsburgh";
60
+ Cities["Columbus"] = "Columbus";
61
+ Cities["Nashville"] = "Nashville";
62
+ Cities["Washington"] = "Washington";
63
+ Cities["Charlotte"] = "Charlotte";
64
+ // Red — Northeast / Eastern Canada (includes New York N + New York S metropolis pair)
65
+ Cities["Quebec"] = "Quebec";
66
+ Cities["Ottawa"] = "Ottawa";
67
+ Cities["Montreal"] = "Montreal";
68
+ Cities["NewYorkN"] = "New York N";
69
+ Cities["NewYorkS"] = "New York S";
70
+ Cities["Boston"] = "Boston";
71
+ Cities["Philadelphia"] = "Philadelphia";
72
+ })(Cities = exports.Cities || (exports.Cities = {}));
73
+ exports.map = {
74
+ name: 'North America',
75
+ // Coords authored against the displayed photo (~2000x1716). First-pass
76
+ // estimates from the printed board — verify against the actual map and tune
77
+ // `adjustRatio` / `mapPosition` once we render in the viewer.
78
+ cities: [
79
+ // Pink — Pacific Northwest / Western Canada
80
+ { name: Cities.Edmonton, region: Regions.Pink, x: 325, y: 71 },
81
+ { name: Cities.Calgary, region: Regions.Pink, x: 250, y: 190 },
82
+ { name: Cities.Vancouver, region: Regions.Pink, x: 114, y: 266 },
83
+ { name: Cities.Seattle, region: Regions.Pink, x: 100, y: 387 },
84
+ { name: Cities.Regina, region: Regions.Pink, x: 536, y: 277 },
85
+ { name: Cities.Winnipeg, region: Regions.Pink, x: 830, y: 272 },
86
+ { name: Cities.Minneapolis, region: Regions.Pink, x: 907, y: 486 },
87
+ // Brown — California / Pacific SW / Mountain West
88
+ { name: Cities.Portland, region: Regions.Brown, x: 122, y: 516 },
89
+ { name: Cities.SanFrancisco, region: Regions.Brown, x: 135, y: 660 },
90
+ { name: Cities.LosAngeles, region: Regions.Brown, x: 160, y: 911 },
91
+ { name: Cities.SanDiego, region: Regions.Brown, x: 223, y: 1007 },
92
+ { name: Cities.SaltLakeCity, region: Regions.Brown, x: 380, y: 555 },
93
+ { name: Cities.LasVegas, region: Regions.Brown, x: 322, y: 760 },
94
+ { name: Cities.Denver, region: Regions.Brown, x: 569, y: 694 },
95
+ // Orange — SW / Mexico
96
+ { name: Cities.Albuquerque, region: Regions.Orange, x: 539, y: 941 },
97
+ { name: Cities.Juarez, region: Regions.Orange, x: 558, y: 1043 },
98
+ { name: Cities.Chihuahua, region: Regions.Orange, x: 577, y: 1183 },
99
+ { name: Cities.Monterrey, region: Regions.Orange, x: 791, y: 1292 },
100
+ { name: Cities.Guadalajara, region: Regions.Orange, x: 715, y: 1391 },
101
+ { name: Cities.MexicoCityN, region: Regions.Orange, x: 918, y: 1410 },
102
+ { name: Cities.MexicoCityS, region: Regions.Orange, x: 918, y: 1474 },
103
+ // Green — Texas / Deep South / Florida
104
+ { name: Cities.SanAntonio, region: Regions.Green, x: 767, y: 1172 },
105
+ { name: Cities.DallasFortWorth, region: Regions.Green, x: 850, y: 1020 },
106
+ { name: Cities.Houston, region: Regions.Green, x: 931, y: 1095 },
107
+ { name: Cities.NewOrleans, region: Regions.Green, x: 1126, y: 1095 },
108
+ { name: Cities.Atlanta, region: Regions.Green, x: 1318, y: 1021 },
109
+ { name: Cities.Jacksonville, region: Regions.Green, x: 1398, y: 1109 },
110
+ { name: Cities.Miami, region: Regions.Green, x: 1398, y: 1235 },
111
+ // Blue — Midwest / Plains / Mid-South
112
+ { name: Cities.Milwaukee, region: Regions.Blue, x: 1165, y: 502 },
113
+ { name: Cities.Chicago, region: Regions.Blue, x: 1148, y: 601 },
114
+ { name: Cities.KansasCity, region: Regions.Blue, x: 825, y: 720 },
115
+ { name: Cities.StLouis, region: Regions.Blue, x: 1047, y: 768 },
116
+ { name: Cities.Indianapolis, region: Regions.Blue, x: 1206, y: 694 },
117
+ { name: Cities.OklahomaCity, region: Regions.Blue, x: 800, y: 870 },
118
+ { name: Cities.Memphis, region: Regions.Blue, x: 1099, y: 938 },
119
+ // Yellow — Great Lakes / Mid-Atlantic
120
+ { name: Cities.Toronto, region: Regions.Yellow, x: 1488, y: 513 },
121
+ { name: Cities.Detroit, region: Regions.Yellow, x: 1390, y: 590 },
122
+ { name: Cities.Pittsburgh, region: Regions.Yellow, x: 1524, y: 659 },
123
+ { name: Cities.Columbus, region: Regions.Yellow, x: 1398, y: 733 },
124
+ { name: Cities.Nashville, region: Regions.Yellow, x: 1233, y: 826 },
125
+ { name: Cities.Washington, region: Regions.Yellow, x: 1554, y: 829 },
126
+ { name: Cities.Charlotte, region: Regions.Yellow, x: 1480, y: 965 },
127
+ // Red — Northeast / Eastern Canada
128
+ { name: Cities.Quebec, region: Regions.Red, x: 1911, y: 354 },
129
+ { name: Cities.Ottawa, region: Regions.Red, x: 1653, y: 458 },
130
+ { name: Cities.Montreal, region: Regions.Red, x: 1875, y: 461 },
131
+ { name: Cities.NewYorkN, region: Regions.Red, x: 1730, y: 598 },
132
+ { name: Cities.NewYorkS, region: Regions.Red, x: 1730, y: 648 },
133
+ { name: Cities.Boston, region: Regions.Red, x: 1928, y: 579 },
134
+ { name: Cities.Philadelphia, region: Regions.Red, x: 1724, y: 755 },
135
+ ],
136
+ connections: [
137
+ // Pink — internal
138
+ { nodes: [Cities.Edmonton, Cities.Calgary], cost: 5 },
139
+ { nodes: [Cities.Calgary, Cities.Vancouver], cost: 16 },
140
+ { nodes: [Cities.Vancouver, Cities.Seattle], cost: 4 },
141
+ { nodes: [Cities.Edmonton, Cities.Regina], cost: 15 },
142
+ { nodes: [Cities.Calgary, Cities.Regina], cost: 14 },
143
+ { nodes: [Cities.Vancouver, Cities.Regina], cost: 28 },
144
+ { nodes: [Cities.Regina, Cities.Winnipeg], cost: 11 },
145
+ { nodes: [Cities.Winnipeg, Cities.Minneapolis], cost: 13 },
146
+ // Pink ↔ Brown
147
+ { nodes: [Cities.Seattle, Cities.Portland], cost: 5 },
148
+ { nodes: [Cities.Regina, Cities.SaltLakeCity], cost: 29 },
149
+ { nodes: [Cities.Regina, Cities.Denver], cost: 24 },
150
+ { nodes: [Cities.Winnipeg, Cities.Denver], cost: 26 },
151
+ { nodes: [Cities.Minneapolis, Cities.Denver], cost: 23 },
152
+ // Brown — internal
153
+ { nodes: [Cities.Portland, Cities.SanFrancisco], cost: 20 },
154
+ { nodes: [Cities.SanFrancisco, Cities.LosAngeles], cost: 12 },
155
+ { nodes: [Cities.LosAngeles, Cities.SanDiego], cost: 3 },
156
+ { nodes: [Cities.Portland, Cities.SaltLakeCity], cost: 22 },
157
+ { nodes: [Cities.SanFrancisco, Cities.SaltLakeCity], cost: 22 },
158
+ { nodes: [Cities.SanFrancisco, Cities.LasVegas], cost: 16 },
159
+ { nodes: [Cities.SaltLakeCity, Cities.LasVegas], cost: 14 },
160
+ { nodes: [Cities.LasVegas, Cities.LosAngeles], cost: 8 },
161
+ { nodes: [Cities.SaltLakeCity, Cities.Denver], cost: 14 },
162
+ { nodes: [Cities.LasVegas, Cities.Denver], cost: 25 },
163
+ // Brown ↔ Orange
164
+ { nodes: [Cities.LosAngeles, Cities.Albuquerque], cost: 25 },
165
+ { nodes: [Cities.LasVegas, Cities.Albuquerque], cost: 18 },
166
+ { nodes: [Cities.Denver, Cities.Albuquerque], cost: 12 },
167
+ { nodes: [Cities.SanDiego, Cities.Juarez], cost: 22 },
168
+ // Orange — internal (Mexico City N ↔ S is the metropolis 0-cost edge;
169
+ // N's external edges are pruned — Dijkstra reaches N via S at zero cost,
170
+ // so build costs are unchanged but the rendered map has fewer parallel lines).
171
+ { nodes: [Cities.Albuquerque, Cities.Juarez], cost: 9 },
172
+ { nodes: [Cities.Juarez, Cities.Chihuahua], cost: 8 },
173
+ { nodes: [Cities.Chihuahua, Cities.Monterrey], cost: 14 },
174
+ { nodes: [Cities.Chihuahua, Cities.Guadalajara], cost: 23 },
175
+ { nodes: [Cities.Monterrey, Cities.Guadalajara], cost: 16 },
176
+ { nodes: [Cities.Monterrey, Cities.MexicoCityS], cost: 17 },
177
+ { nodes: [Cities.Guadalajara, Cities.MexicoCityS], cost: 10 },
178
+ { nodes: [Cities.MexicoCityN, Cities.MexicoCityS], cost: 0 },
179
+ // Orange ↔ Blue
180
+ { nodes: [Cities.Albuquerque, Cities.OklahomaCity], cost: 18 },
181
+ // Orange ↔ Green
182
+ { nodes: [Cities.Juarez, Cities.DallasFortWorth], cost: 19 },
183
+ { nodes: [Cities.Juarez, Cities.SanAntonio], cost: 18 },
184
+ { nodes: [Cities.Chihuahua, Cities.SanAntonio], cost: 16 },
185
+ { nodes: [Cities.Monterrey, Cities.SanAntonio], cost: 10 },
186
+ // Blue — internal
187
+ { nodes: [Cities.Milwaukee, Cities.Chicago], cost: 3 },
188
+ { nodes: [Cities.Chicago, Cities.KansasCity], cost: 16 },
189
+ { nodes: [Cities.Chicago, Cities.StLouis], cost: 9 },
190
+ { nodes: [Cities.Chicago, Cities.Indianapolis], cost: 6 },
191
+ { nodes: [Cities.KansasCity, Cities.StLouis], cost: 8 },
192
+ { nodes: [Cities.StLouis, Cities.Indianapolis], cost: 8 },
193
+ { nodes: [Cities.KansasCity, Cities.OklahomaCity], cost: 10 },
194
+ { nodes: [Cities.KansasCity, Cities.Memphis], cost: 14 },
195
+ { nodes: [Cities.StLouis, Cities.Memphis], cost: 9 },
196
+ { nodes: [Cities.OklahomaCity, Cities.Memphis], cost: 15 },
197
+ // Blue ↔ Pink
198
+ { nodes: [Cities.Milwaukee, Cities.Minneapolis], cost: 10 },
199
+ { nodes: [Cities.KansasCity, Cities.Minneapolis], cost: 14 },
200
+ // Blue ↔ Brown
201
+ { nodes: [Cities.KansasCity, Cities.Denver], cost: 19 },
202
+ { nodes: [Cities.OklahomaCity, Cities.Denver], cost: 17 },
203
+ // Blue ↔ Green
204
+ { nodes: [Cities.OklahomaCity, Cities.DallasFortWorth], cost: 7 },
205
+ { nodes: [Cities.Memphis, Cities.DallasFortWorth], cost: 15 },
206
+ { nodes: [Cities.Memphis, Cities.NewOrleans], cost: 14 },
207
+ { nodes: [Cities.Memphis, Cities.Atlanta], cost: 12 },
208
+ // Green — internal
209
+ { nodes: [Cities.DallasFortWorth, Cities.SanAntonio], cost: 9 },
210
+ { nodes: [Cities.DallasFortWorth, Cities.Houston], cost: 8 },
211
+ { nodes: [Cities.DallasFortWorth, Cities.NewOrleans], cost: 16 },
212
+ { nodes: [Cities.SanAntonio, Cities.Houston], cost: 6 },
213
+ { nodes: [Cities.Houston, Cities.NewOrleans], cost: 12 },
214
+ { nodes: [Cities.NewOrleans, Cities.Atlanta], cost: 16 },
215
+ { nodes: [Cities.NewOrleans, Cities.Jacksonville], cost: 20 },
216
+ { nodes: [Cities.Atlanta, Cities.Jacksonville], cost: 10 },
217
+ { nodes: [Cities.Jacksonville, Cities.Miami], cost: 12 },
218
+ // Green ↔ Yellow
219
+ { nodes: [Cities.Atlanta, Cities.Nashville], cost: 9 },
220
+ { nodes: [Cities.Atlanta, Cities.Charlotte], cost: 8 },
221
+ { nodes: [Cities.Jacksonville, Cities.Charlotte], cost: 12 },
222
+ // Yellow — internal
223
+ { nodes: [Cities.Toronto, Cities.Detroit], cost: 8 },
224
+ { nodes: [Cities.Toronto, Cities.Pittsburgh], cost: 11 },
225
+ { nodes: [Cities.Detroit, Cities.Columbus], cost: 7 },
226
+ { nodes: [Cities.Columbus, Cities.Pittsburgh], cost: 6 },
227
+ { nodes: [Cities.Nashville, Cities.Columbus], cost: 15 },
228
+ { nodes: [Cities.Nashville, Cities.Washington], cost: 22 },
229
+ { nodes: [Cities.Nashville, Cities.Charlotte], cost: 12 },
230
+ { nodes: [Cities.Columbus, Cities.Washington], cost: 12 },
231
+ { nodes: [Cities.Washington, Cities.Pittsburgh], cost: 7 },
232
+ { nodes: [Cities.Washington, Cities.Charlotte], cost: 12 },
233
+ // Yellow ↔ Blue
234
+ { nodes: [Cities.Detroit, Cities.Chicago], cost: 10 },
235
+ { nodes: [Cities.Columbus, Cities.Chicago], cost: 10 },
236
+ { nodes: [Cities.Columbus, Cities.Indianapolis], cost: 7 },
237
+ { nodes: [Cities.Nashville, Cities.Indianapolis], cost: 9 },
238
+ { nodes: [Cities.Nashville, Cities.StLouis], cost: 9 },
239
+ { nodes: [Cities.Nashville, Cities.Memphis], cost: 7 },
240
+ // Yellow ↔ Red — NY N parallels are pruned (see Red internal note).
241
+ { nodes: [Cities.Toronto, Cities.Ottawa], cost: 8 },
242
+ { nodes: [Cities.Toronto, Cities.NewYorkS], cost: 14 },
243
+ { nodes: [Cities.Pittsburgh, Cities.NewYorkS], cost: 11 },
244
+ { nodes: [Cities.Pittsburgh, Cities.Philadelphia], cost: 9 },
245
+ { nodes: [Cities.Washington, Cities.Philadelphia], cost: 5 },
246
+ // Red — internal (New York N ↔ S is the metropolis 0-cost edge;
247
+ // N's external edges are pruned — Dijkstra reaches N via S at zero cost,
248
+ // so build costs are unchanged but the rendered map has fewer parallel lines).
249
+ { nodes: [Cities.Quebec, Cities.Montreal], cost: 5 },
250
+ { nodes: [Cities.Montreal, Cities.Boston], cost: 9 },
251
+ { nodes: [Cities.Ottawa, Cities.Montreal], cost: 3 },
252
+ { nodes: [Cities.Ottawa, Cities.NewYorkS], cost: 13 },
253
+ { nodes: [Cities.Montreal, Cities.NewYorkS], cost: 12 },
254
+ { nodes: [Cities.NewYorkS, Cities.Boston], cost: 7 },
255
+ { nodes: [Cities.NewYorkS, Cities.Philadelphia], cost: 3 },
256
+ { nodes: [Cities.NewYorkN, Cities.NewYorkS], cost: 0 },
257
+ ],
258
+ layout: 'Landscape',
259
+ // First-pass fit for landscape map area (~1100x720) from displayed-photo
260
+ // coord space (~2000x1716). Tune after first render.
261
+ adjustRatio: [0.5, 0.38],
262
+ mapPosition: [70, 50],
263
+ // Slight counterclockwise tilt to keep the pink region out of the power-plant
264
+ // header row at the top of the layout.
265
+ mapRotation: -5,
266
+ // Resupply table verified with John from the NA refill summary cards.
267
+ // Indexed [resource][playerCount-2][step-1].
268
+ // Note: 2P and 3P rows are intentionally identical on the printed cards.
269
+ resupply: [
270
+ // Coal
271
+ [
272
+ [2, 5, 2],
273
+ [2, 5, 2],
274
+ [3, 6, 3],
275
+ [4, 7, 4],
276
+ [5, 8, 5], // 6P
277
+ ],
278
+ // Oil
279
+ [
280
+ [3, 1, 3],
281
+ [3, 1, 3],
282
+ [3, 2, 4],
283
+ [4, 2, 5],
284
+ [5, 3, 6], // 6P
285
+ ],
286
+ // Garbage
287
+ [
288
+ [2, 2, 4],
289
+ [2, 2, 4],
290
+ [3, 3, 5],
291
+ [3, 3, 6],
292
+ [4, 4, 7], // 6P
293
+ ],
294
+ // Uranium
295
+ [
296
+ [2, 1, 2],
297
+ [2, 1, 2],
298
+ [2, 1, 2],
299
+ [3, 2, 3],
300
+ [3, 2, 4], // 6P
301
+ ],
302
+ ],
303
+ // North America uses price spaces 1–9, identical per-price slot layout to Europe
304
+ // (verified with John from the printed board):
305
+ // Coal [4,4,4,2,2,2,2,2,2] total 24 market slots
306
+ // Oil [2,2,2,2,2,2,2,2,4] total 20 market slots
307
+ // Garbage [3,3,3,3,3,3,3,3,0] total 24 market slots
308
+ // Uranium [1,1,1,1,1,1,2,2,2] total 12 market slots
309
+ //
310
+ // Oil note: same overflow situation as Europe — 20 market slots but
311
+ // startingSupply keeps 24 cubes in the game. Defer to publisher guidance
312
+ // (Mike's pending question to 2F-Spiele); drop oil supply to 20 if confirmed.
313
+ coalPrices: [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9],
314
+ oilPrices: [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 9, 9],
315
+ garbagePrices: [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8],
316
+ uraniumPrices: [1, 2, 3, 4, 5, 6, 7, 7, 8, 8, 9, 9],
317
+ // Initial market fill from the rules (coal 2–9, oil 4–9, garbage 3–8, uranium space 9 only):
318
+ // coal = 4+4+2+2+2+2+2+2 = 20
319
+ // oil = 2+2+2+2+2+4 = 14
320
+ // garbage = 3+3+3+3+3+3 = 18
321
+ // uranium = 2 = 2
322
+ startingResources: [20, 14, 18, 2],
323
+ // Total cubes in the game (used cubes return here; refill draws from here).
324
+ startingSupply: [24, 24, 24, 12],
325
+ mapSpecificRules: 'The metropolises of New York and Mexico City each consist of 2 cities ' +
326
+ '(New York N / New York S and Mexico City N / Mexico City S) connected by ' +
327
+ 'a 0-cost edge. The official rules cap a player at 1 house per side of a ' +
328
+ 'metropolis; this implementation does not enforce that cap pending publisher ' +
329
+ 'clarification, so a player may build in both sides if they wish.',
330
+ };
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.map = exports.Cities = exports.Regions = void 0;
4
+ // by John and Cici
5
+ const gamestate_1 = require("./../gamestate");
4
6
  var Regions;
5
7
  (function (Regions) {
6
8
  Regions["Brown"] = "brown";
@@ -101,6 +103,79 @@ exports.map = {
101
103
  { name: Cities.Bergen, region: Regions.Red, x: 68, y: 586 },
102
104
  { name: Cities.Stavanger, region: Regions.Red, x: 72, y: 647 },
103
105
  ],
106
+ layout: 'Portrait',
107
+ adjustRatio: [1.2, 1.0],
108
+ mapPosition: [80, 30],
109
+ startingResources: [18, 18, 12, 6],
110
+ resupply: [
111
+ // Coal
112
+ [
113
+ [2, 4, 3],
114
+ [3, 4, 4],
115
+ [4, 5, 5],
116
+ [4, 5, 6],
117
+ [6, 8, 5], // 6P
118
+ ],
119
+ // Oil
120
+ [
121
+ [1, 2, 3],
122
+ [2, 2, 3],
123
+ [2, 3, 4],
124
+ [3, 4, 5],
125
+ [4, 5, 6],
126
+ ],
127
+ // Garbage
128
+ [
129
+ [1, 2, 3],
130
+ [1, 2, 3],
131
+ [2, 3, 4],
132
+ [3, 3, 5],
133
+ [3, 5, 6],
134
+ ],
135
+ // Uranium
136
+ [
137
+ [1, 2, 2],
138
+ [1, 2, 2],
139
+ [2, 3, 2],
140
+ [2, 4, 3],
141
+ [2, 4, 4],
142
+ ],
143
+ ],
144
+ regionalPowerPlants: {
145
+ [Regions.Orange]: [
146
+ // Denmark
147
+ { number: 19, type: gamestate_1.PowerPlantType.Oil, cost: 2, citiesPowered: 4 },
148
+ { number: 26, type: gamestate_1.PowerPlantType.Coal, cost: 3, citiesPowered: 5 },
149
+ ],
150
+ [Regions.Red]: [
151
+ // Norway
152
+ { number: 7, type: gamestate_1.PowerPlantType.Wind, cost: 0, citiesPowered: 1 },
153
+ { number: 46, type: gamestate_1.PowerPlantType.Wind, cost: 0, citiesPowered: 6 },
154
+ ],
155
+ [Regions.Purple]: [
156
+ // Sweden South
157
+ { number: 10, type: gamestate_1.PowerPlantType.Uranium, cost: 2, citiesPowered: 3 },
158
+ { number: 39, type: gamestate_1.PowerPlantType.Wind, cost: 0, citiesPowered: 5 },
159
+ ],
160
+ [Regions.Yellow]: [
161
+ // Sweden North
162
+ { number: 21, type: gamestate_1.PowerPlantType.Wind, cost: 0, citiesPowered: 2 },
163
+ { number: 25, type: gamestate_1.PowerPlantType.Uranium, cost: 1, citiesPowered: 4 },
164
+ ],
165
+ [Regions.Brown]: [
166
+ // Finland
167
+ { number: 32, type: gamestate_1.PowerPlantType.Garbage, cost: 2, citiesPowered: 6 },
168
+ { number: 44, type: gamestate_1.PowerPlantType.Uranium, cost: 1, citiesPowered: 7 },
169
+ ],
170
+ [Regions.Pink]: [
171
+ // Baltic States
172
+ { number: 18, type: gamestate_1.PowerPlantType.Coal, cost: 1, citiesPowered: 3 },
173
+ { number: 22, type: gamestate_1.PowerPlantType.Wind, cost: 0, citiesPowered: 3 },
174
+ ],
175
+ },
176
+ mapSpecificRules: 'Nuclear plants may only be purchased by players with at least one city in Sweden, Finland, or the Baltic States. ' +
177
+ 'Players with cities only in Norway or Denmark may not bid on or buy nuclear plants. ' +
178
+ 'Resources start at: coal 3 Elektro, oil 3 Elektro, garbage 5 Elektro, uranium 7 Elektro.',
104
179
  connections: [
105
180
  { nodes: [Cities.Bood, Cities.Tromso], cost: 17 },
106
181
  { nodes: [Cities.Tromso, Cities.Oulu], cost: 25 },
@@ -7,40 +7,40 @@ export declare enum Regions {
7
7
  Red = "red"
8
8
  }
9
9
  export declare enum Cities {
10
- Zimbaswe = "Zimbaswe",
10
+ Zimbabwe = "Zimbabwe",
11
11
  Musina = "Musina",
12
12
  Botswana = "Botswana",
13
13
  Polokwane = "Polokwane",
14
- Pretoria1 = "Pretoria 1",
15
- Pretoria2 = "Pretoria 2",
16
- Rustenburc = "Rustenburc",
14
+ PretoriaN = "Pretoria N",
15
+ PretoriaS = "Pretoria S",
16
+ Rustenburg = "Rustenburg",
17
17
  Mozambique = "Mozambique",
18
18
  Mbombela = "Mbombela",
19
- Iswaini = "Iswaini",
19
+ Eswatini = "Eswatini",
20
20
  Germiston = "Germiston",
21
- Johannesburg1 = "Johannesburg 1",
22
- Johannesburg2 = "Johannesburg 2",
21
+ JohannesburgN = "Johannesburg N",
22
+ JohannesburgS = "Johannesburg S",
23
23
  Ladysmith = "Ladysmith",
24
- Abc = "Abc",
25
- Def = "Def",
26
- Ghi1 = "Ghi 1",
27
- Ghi2 = "Ghi 2",
28
- Jkl = "Jkl",
29
- Mno = "Mno",
30
- Qrs = "Qrs",
31
- Keerksorp = "Keerksorp",
32
- Weikom = "Weikom",
33
- Xuruman = "Xuruman",
24
+ Newcastle = "Newcastle",
25
+ Pietermaritzburg = "Pietermaritzburg",
26
+ DurbanN = "Durban N",
27
+ DurbanS = "Durban S",
28
+ Mthatha = "Mthatha",
29
+ Lesotho = "Lesotho",
30
+ Bloemfontein = "Bloemfontein",
31
+ Klerksdorp = "Klerksdorp",
32
+ Welkom = "Welkom",
33
+ Kuruman = "Kuruman",
34
34
  Kimberly = "Kimberly",
35
- Upincion = "Upincion",
36
- Sprincbom = "Sprincbom",
35
+ Upington = "Upington",
36
+ Springbok = "Springbok",
37
37
  Namibia = "Namibia",
38
- Deaar = "Deaar",
39
- Beaufortwest = "Beaufort West",
40
- Eastlondon = "East London",
41
- Portelizabeth = "Port Elizabeth",
42
- Ceorci = "Ceorci",
43
- Capetown1 = "Capetown 1",
44
- Capetown2 = "Capetown2"
38
+ DeAar = "De Aar",
39
+ BeaufortWest = "Beaufort West",
40
+ EastLondon = "East London",
41
+ PortElizabeth = "Port Elizabeth",
42
+ George = "George",
43
+ CapeTownN = "Cape Town N",
44
+ CapeTownS = "Cape Town S"
45
45
  }
46
46
  export declare const map: GameMap;