@gamepark/its-a-wonderful-world 2.3.0 → 2.4.2
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.
- package/dist/ItsAWonderfulWorld.d.ts +2 -1
- package/dist/ItsAWonderfulWorld.js +90 -77
- package/dist/Production.js +3 -3
- package/dist/Scoring.js +10 -6
- package/dist/canUndo.js +15 -11
- package/dist/material/DevelopmentDetails.js +1 -1
- package/dist/material/Developments.js +3 -3
- package/dist/moves/ChooseDevelopmentCard.js +5 -3
- package/dist/moves/CompleteConstruction.js +4 -2
- package/dist/moves/Concede.js +2 -1
- package/dist/moves/DealDevelopmentCards.js +12 -8
- package/dist/moves/DiscardLeftoverCards.js +11 -7
- package/dist/moves/PassCards.js +2 -2
- package/dist/moves/PlaceCharacter.js +5 -1
- package/dist/moves/PlaceResource.js +9 -3
- package/dist/moves/Produce.js +10 -6
- package/dist/moves/ReceiveCharacter.js +3 -1
- package/dist/moves/Recycle.js +4 -2
- package/dist/moves/RevealChosenCards.js +3 -3
- package/dist/moves/SlateForConstruction.js +4 -2
- package/dist/moves/StartPhase.js +27 -2
- package/dist/moves/TellYouAreReady.js +2 -1
- package/dist/moves/TransformIntoKrystallium.js +2 -1
- package/package.json +5 -7
|
@@ -18,7 +18,7 @@ export declare const numberOfRounds = 4;
|
|
|
18
18
|
export default class ItsAWonderfulWorld extends SimultaneousGame<GameState, Move, EmpireName> implements SecretInformation<GameState, GameView, Move, MoveView, EmpireName>, Undo<GameState, Move, EmpireName>, Competitive<GameState, Move, EmpireName>, Eliminations<GameState, Move, EmpireName>, TimeLimit<GameState, Move, EmpireName> {
|
|
19
19
|
constructor(state: GameState);
|
|
20
20
|
constructor(options: ItsAWonderfulWorldOptions);
|
|
21
|
-
|
|
21
|
+
isTurnToPlay(playerId: EmpireName): boolean;
|
|
22
22
|
isOver(): boolean;
|
|
23
23
|
getAutomaticMove(): Move | void;
|
|
24
24
|
getLegalMoves(empire: EmpireName): Move[];
|
|
@@ -44,6 +44,7 @@ export declare function getRemainingCost(construction: Construction): {
|
|
|
44
44
|
space: number;
|
|
45
45
|
}[];
|
|
46
46
|
export declare function getSpacesMissingItem(construction: Construction, predicate: (item: Resource | Character) => boolean): number[];
|
|
47
|
+
export declare function couldPlaceResource(construction: Construction, resource: Resource): boolean;
|
|
47
48
|
export declare function getNextProductionStep(game: GameState | GameView): Resource.Energy | Resource.Science | Resource.Gold | Resource.Exploration | undefined;
|
|
48
49
|
export declare function canBuild(player: Player, card: number): boolean;
|
|
49
50
|
export declare function canPay(player: Player, cost: (Resource | Character)[]): boolean;
|
|
@@ -82,16 +82,20 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
82
82
|
}
|
|
83
83
|
return ar;
|
|
84
84
|
};
|
|
85
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
86
|
-
for (var i = 0,
|
|
87
|
-
|
|
88
|
-
|
|
85
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
86
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
87
|
+
if (ar || !(i in from)) {
|
|
88
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
89
|
+
ar[i] = from[i];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
89
93
|
};
|
|
90
94
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
91
95
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
92
96
|
};
|
|
93
97
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
94
|
-
exports.placeAvailableCubesMoves = exports.constructionsThatMayReceiveCubes = exports.isOver = exports.countCharacters = exports.isActive = exports.isPlaceItemOnCard = exports.getMovesToBuild = exports.canPay = exports.canBuild = exports.getNextProductionStep = exports.getSpacesMissingItem = exports.getRemainingCost = exports.getCost = exports.getLegalMoves = exports.getPredictableAutomaticMoves = exports.setupPlayers = exports.numberOfRounds = exports.numberOfCardsToDraft = void 0;
|
|
98
|
+
exports.placeAvailableCubesMoves = exports.constructionsThatMayReceiveCubes = exports.isOver = exports.countCharacters = exports.isActive = exports.isPlaceItemOnCard = exports.getMovesToBuild = exports.canPay = exports.canBuild = exports.getNextProductionStep = exports.couldPlaceResource = exports.getSpacesMissingItem = exports.getRemainingCost = exports.getCost = exports.getLegalMoves = exports.getPredictableAutomaticMoves = exports.setupPlayers = exports.numberOfRounds = exports.numberOfCardsToDraft = void 0;
|
|
95
99
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
96
100
|
var lodash_shuffle_1 = __importDefault(require("lodash.shuffle"));
|
|
97
101
|
var canUndo_1 = __importDefault(require("./canUndo"));
|
|
@@ -130,16 +134,16 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
130
134
|
__extends(ItsAWonderfulWorld, _super);
|
|
131
135
|
function ItsAWonderfulWorld(arg) {
|
|
132
136
|
var _this = this;
|
|
133
|
-
if (Options_1.isGameOptions(arg)) {
|
|
137
|
+
if ((0, Options_1.isGameOptions)(arg)) {
|
|
134
138
|
var setup = {
|
|
135
139
|
players: setupPlayers(arg),
|
|
136
|
-
deck: lodash_shuffle_1.default(Developments_1.baseDevelopmentCardIds),
|
|
140
|
+
deck: (0, lodash_shuffle_1.default)(Developments_1.baseDevelopmentCardIds),
|
|
137
141
|
discard: [],
|
|
138
142
|
round: 1,
|
|
139
143
|
phase: Phase_1.default.Draft
|
|
140
144
|
};
|
|
141
145
|
if (arg.corruptionAndAscension) {
|
|
142
|
-
setup.ascensionDeck = lodash_shuffle_1.default(Developments_1.ascensionDevelopmentCardIds);
|
|
146
|
+
setup.ascensionDeck = (0, lodash_shuffle_1.default)(Developments_1.ascensionDevelopmentCardIds);
|
|
143
147
|
}
|
|
144
148
|
_this = _super.call(this, setup) || this;
|
|
145
149
|
}
|
|
@@ -148,7 +152,7 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
148
152
|
}
|
|
149
153
|
return _this;
|
|
150
154
|
}
|
|
151
|
-
ItsAWonderfulWorld.prototype.
|
|
155
|
+
ItsAWonderfulWorld.prototype.isTurnToPlay = function (playerId) {
|
|
152
156
|
var player = this.state.players.find(function (player) { return player.empire === playerId; });
|
|
153
157
|
if (!player)
|
|
154
158
|
return false;
|
|
@@ -182,7 +186,7 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
182
186
|
return DiscardLeftoverCards_1.discardLeftOverCardsMove;
|
|
183
187
|
}
|
|
184
188
|
else {
|
|
185
|
-
return StartPhase_1.startPhaseMove(Phase_1.default.Planning);
|
|
189
|
+
return (0, StartPhase_1.startPhaseMove)(Phase_1.default.Planning);
|
|
186
190
|
}
|
|
187
191
|
}
|
|
188
192
|
else {
|
|
@@ -190,7 +194,7 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
190
194
|
for (var _b = __values(this.state.players), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
191
195
|
var player = _c.value;
|
|
192
196
|
if (player.chosenCard === undefined && player.hand.length === 1) {
|
|
193
|
-
return ChooseDevelopmentCard_1.chooseDevelopmentCardMove(player.empire, player.hand[0]);
|
|
197
|
+
return (0, ChooseDevelopmentCard_1.chooseDevelopmentCardMove)(player.empire, player.hand[0]);
|
|
194
198
|
}
|
|
195
199
|
}
|
|
196
200
|
}
|
|
@@ -205,20 +209,20 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
205
209
|
break;
|
|
206
210
|
case Phase_1.default.Planning:
|
|
207
211
|
if (this.state.players.every(function (player) { return player.ready; })) {
|
|
208
|
-
return StartPhase_1.startPhaseMove(Phase_1.default.Production);
|
|
212
|
+
return (0, StartPhase_1.startPhaseMove)(Phase_1.default.Production);
|
|
209
213
|
}
|
|
210
214
|
break;
|
|
211
215
|
case Phase_1.default.Production:
|
|
212
216
|
if (!this.state.productionStep) {
|
|
213
|
-
return Produce_1.produceMove(Resource_1.default.Materials);
|
|
217
|
+
return (0, Produce_1.produceMove)(Resource_1.default.Materials);
|
|
214
218
|
}
|
|
215
219
|
else if (this.state.players.every(function (player) { return player.ready; })) {
|
|
216
220
|
var nextProductionStep = getNextProductionStep(this.state);
|
|
217
221
|
if (nextProductionStep) {
|
|
218
|
-
return Produce_1.produceMove(nextProductionStep);
|
|
222
|
+
return (0, Produce_1.produceMove)(nextProductionStep);
|
|
219
223
|
}
|
|
220
224
|
else if (this.state.round < exports.numberOfRounds) {
|
|
221
|
-
return StartPhase_1.startPhaseMove(Phase_1.default.Draft);
|
|
225
|
+
return (0, StartPhase_1.startPhaseMove)(Phase_1.default.Draft);
|
|
222
226
|
}
|
|
223
227
|
}
|
|
224
228
|
break;
|
|
@@ -235,41 +239,41 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
235
239
|
ItsAWonderfulWorld.prototype.play = function (move) {
|
|
236
240
|
switch (move.type) {
|
|
237
241
|
case MoveType_1.default.DealDevelopmentCards:
|
|
238
|
-
return DealDevelopmentCards_1.dealDevelopmentCards(this.state);
|
|
242
|
+
return (0, DealDevelopmentCards_1.dealDevelopmentCards)(this.state);
|
|
239
243
|
case MoveType_1.default.ChooseDevelopmentCard:
|
|
240
|
-
return ChooseDevelopmentCard_1.chooseDevelopmentCard(this.state, move);
|
|
244
|
+
return (0, ChooseDevelopmentCard_1.chooseDevelopmentCard)(this.state, move);
|
|
241
245
|
case MoveType_1.default.RevealChosenCards:
|
|
242
|
-
return RevealChosenCards_1.revealChosenCards(this.state);
|
|
246
|
+
return (0, RevealChosenCards_1.revealChosenCards)(this.state);
|
|
243
247
|
case MoveType_1.default.PassCards:
|
|
244
|
-
return PassCards_1.passCards(this.state);
|
|
248
|
+
return (0, PassCards_1.passCards)(this.state);
|
|
245
249
|
case MoveType_1.default.DiscardLeftoverCards:
|
|
246
|
-
return DiscardLeftoverCards_1.discardLeftOverCards(this.state);
|
|
250
|
+
return (0, DiscardLeftoverCards_1.discardLeftOverCards)(this.state);
|
|
247
251
|
case MoveType_1.default.StartPhase:
|
|
248
|
-
return StartPhase_1.startPhase(this.state, move);
|
|
252
|
+
return (0, StartPhase_1.startPhase)(this.state, move);
|
|
249
253
|
case MoveType_1.default.SlateForConstruction:
|
|
250
|
-
return SlateForConstruction_1.slateForConstruction(this.state, move);
|
|
254
|
+
return (0, SlateForConstruction_1.slateForConstruction)(this.state, move);
|
|
251
255
|
case MoveType_1.default.Recycle:
|
|
252
|
-
return Recycle_1.recycle(this.state, move);
|
|
256
|
+
return (0, Recycle_1.recycle)(this.state, move);
|
|
253
257
|
case MoveType_1.default.PlaceResource:
|
|
254
|
-
return PlaceResource_1.placeResource(this.state, move);
|
|
258
|
+
return (0, PlaceResource_1.placeResource)(this.state, move);
|
|
255
259
|
case MoveType_1.default.CompleteConstruction:
|
|
256
|
-
return CompleteConstruction_1.completeConstruction(this.state, move);
|
|
260
|
+
return (0, CompleteConstruction_1.completeConstruction)(this.state, move);
|
|
257
261
|
case MoveType_1.default.TransformIntoKrystallium:
|
|
258
|
-
return TransformIntoKrystallium_1.transformIntoKrystallium(this.state, move);
|
|
262
|
+
return (0, TransformIntoKrystallium_1.transformIntoKrystallium)(this.state, move);
|
|
259
263
|
case MoveType_1.default.TellYouAreReady:
|
|
260
|
-
return TellYouAreReady_1.tellYouAreReady(this.state, move);
|
|
264
|
+
return (0, TellYouAreReady_1.tellYouAreReady)(this.state, move);
|
|
261
265
|
case MoveType_1.default.Produce:
|
|
262
|
-
return Produce_1.produce(this.state, move);
|
|
266
|
+
return (0, Produce_1.produce)(this.state, move);
|
|
263
267
|
case MoveType_1.default.ReceiveCharacter:
|
|
264
|
-
return ReceiveCharacter_1.receiveCharacter(this.state, move);
|
|
268
|
+
return (0, ReceiveCharacter_1.receiveCharacter)(this.state, move);
|
|
265
269
|
case MoveType_1.default.PlaceCharacter:
|
|
266
|
-
return PlaceCharacter_1.placeCharacter(this.state, move);
|
|
270
|
+
return (0, PlaceCharacter_1.placeCharacter)(this.state, move);
|
|
267
271
|
case MoveType_1.default.Concede:
|
|
268
|
-
return Concede_1.concede(this.state, move);
|
|
272
|
+
return (0, Concede_1.concede)(this.state, move);
|
|
269
273
|
}
|
|
270
274
|
};
|
|
271
275
|
ItsAWonderfulWorld.prototype.getScore = function (empire) {
|
|
272
|
-
return Scoring_1.getPlayerScore(this.getPlayer(empire));
|
|
276
|
+
return (0, Scoring_1.getPlayerScore)(this.getPlayer(empire));
|
|
273
277
|
};
|
|
274
278
|
ItsAWonderfulWorld.prototype.getPlayer = function (playerId) {
|
|
275
279
|
var player = this.state.players.find(function (player) { return player.empire === playerId; });
|
|
@@ -282,7 +286,7 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
282
286
|
if (playerA.eliminated || playerB.eliminated) {
|
|
283
287
|
return playerA.eliminated ? playerB.eliminated ? playerB.eliminated - playerA.eliminated : 1 : -1;
|
|
284
288
|
}
|
|
285
|
-
var scoreA = Scoring_1.getPlayerScore(playerA), scoreB = Scoring_1.getPlayerScore(playerB);
|
|
289
|
+
var scoreA = (0, Scoring_1.getPlayerScore)(playerA), scoreB = (0, Scoring_1.getPlayerScore)(playerB);
|
|
286
290
|
if (scoreA !== scoreB) {
|
|
287
291
|
return scoreB - scoreA;
|
|
288
292
|
}
|
|
@@ -293,7 +297,7 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
293
297
|
return countCharacters(playerB) - countCharacters(playerA);
|
|
294
298
|
};
|
|
295
299
|
ItsAWonderfulWorld.prototype.canUndo = function (action, consecutiveActions) {
|
|
296
|
-
return canUndo_1.default(this.state, action, consecutiveActions);
|
|
300
|
+
return (0, canUndo_1.default)(this.state, action, consecutiveActions);
|
|
297
301
|
};
|
|
298
302
|
ItsAWonderfulWorld.prototype.getView = function (playerId) {
|
|
299
303
|
var _a;
|
|
@@ -317,7 +321,7 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
317
321
|
ItsAWonderfulWorld.prototype.getMoveView = function (move, playerId) {
|
|
318
322
|
switch (move.type) {
|
|
319
323
|
case MoveType_1.default.DealDevelopmentCards:
|
|
320
|
-
return playerId ? DealDevelopmentCards_1.getDealDevelopmentCardsView(this.state, playerId) : move;
|
|
324
|
+
return playerId ? (0, DealDevelopmentCards_1.getDealDevelopmentCardsView)(this.state, playerId) : move;
|
|
321
325
|
case MoveType_1.default.ChooseDevelopmentCard:
|
|
322
326
|
if (playerId !== move.playerId) {
|
|
323
327
|
var card = move.card, moveView = __rest(move, ["card"]);
|
|
@@ -325,11 +329,11 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
325
329
|
}
|
|
326
330
|
break;
|
|
327
331
|
case MoveType_1.default.RevealChosenCards:
|
|
328
|
-
return RevealChosenCards_1.getRevealChosenCardsView(this.state);
|
|
332
|
+
return (0, RevealChosenCards_1.getRevealChosenCardsView)(this.state);
|
|
329
333
|
case MoveType_1.default.PassCards:
|
|
330
|
-
return playerId ? PassCards_1.getPassCardsView(this.state, playerId) : move;
|
|
334
|
+
return playerId ? (0, PassCards_1.getPassCardsView)(this.state, playerId) : move;
|
|
331
335
|
case MoveType_1.default.DiscardLeftoverCards:
|
|
332
|
-
return DiscardLeftoverCards_1.getDiscardLeftoverCardsView(this.state);
|
|
336
|
+
return (0, DiscardLeftoverCards_1.getDiscardLeftoverCardsView)(this.state);
|
|
333
337
|
}
|
|
334
338
|
return move;
|
|
335
339
|
};
|
|
@@ -340,7 +344,7 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
340
344
|
return !!this.getPlayer(playerId).eliminated;
|
|
341
345
|
};
|
|
342
346
|
ItsAWonderfulWorld.prototype.giveUpMove = function (playerId) {
|
|
343
|
-
return Concede_1.concedeMove(playerId);
|
|
347
|
+
return (0, Concede_1.concedeMove)(playerId);
|
|
344
348
|
};
|
|
345
349
|
ItsAWonderfulWorld.prototype.giveTime = function (playerId) {
|
|
346
350
|
switch (this.state.phase) {
|
|
@@ -358,7 +362,7 @@ exports.default = ItsAWonderfulWorld;
|
|
|
358
362
|
function setupPlayers(options) {
|
|
359
363
|
var players = options.players;
|
|
360
364
|
var empireSide = options.empiresSide;
|
|
361
|
-
var empiresLeft = lodash_shuffle_1.default(Object.values(EmpireName_1.default).filter(function (empire) { return players.some(function (player) { return player.id === empire; }); }));
|
|
365
|
+
var empiresLeft = (0, lodash_shuffle_1.default)(Object.values(EmpireName_1.default).filter(function (empire) { return players.some(function (player) { return player.id === empire; }); }));
|
|
362
366
|
return players.map(function (player) { return setupPlayer(player.id || empiresLeft.pop(), empireSide); });
|
|
363
367
|
}
|
|
364
368
|
exports.setupPlayers = setupPlayers;
|
|
@@ -367,7 +371,9 @@ function setupPlayer(empire, empireSide) {
|
|
|
367
371
|
var _b;
|
|
368
372
|
if (empireSide === void 0) { empireSide = defaultEmpireCardsSide; }
|
|
369
373
|
return {
|
|
370
|
-
empire: empire,
|
|
374
|
+
empire: empire,
|
|
375
|
+
empireSide: empireSide,
|
|
376
|
+
hand: [], draftArea: [], constructionArea: [], availableResources: [],
|
|
371
377
|
empireCardResources: Array((_b = Empires_1.default[empire][empireSide].krystallium) !== null && _b !== void 0 ? _b : 0).fill(Resource_1.default.Krystallium),
|
|
372
378
|
constructedDevelopments: [], ready: false, characters: (_a = {}, _a[Character_1.default.Financier] = 0, _a[Character_1.default.General] = 0, _a), bonuses: []
|
|
373
379
|
};
|
|
@@ -381,7 +387,7 @@ function getPredictableAutomaticMoves(state) {
|
|
|
381
387
|
for (var _f = (e_3 = void 0, __values(player.constructionArea)), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
382
388
|
var construction = _g.value;
|
|
383
389
|
if (construction.costSpaces.every(function (space) { return space !== null; })) {
|
|
384
|
-
return CompleteConstruction_1.completeConstructionMove(player.empire, construction.card);
|
|
390
|
+
return (0, CompleteConstruction_1.completeConstructionMove)(player.empire, construction.card);
|
|
385
391
|
}
|
|
386
392
|
}
|
|
387
393
|
}
|
|
@@ -393,23 +399,23 @@ function getPredictableAutomaticMoves(state) {
|
|
|
393
399
|
finally { if (e_3) throw e_3.error; }
|
|
394
400
|
}
|
|
395
401
|
if (player.empireCardResources.filter(function (resource) { return resource !== Resource_1.default.Krystallium; }).length >= 5) {
|
|
396
|
-
return TransformIntoKrystallium_1.transformIntoKrystalliumMove(player.empire);
|
|
402
|
+
return (0, TransformIntoKrystallium_1.transformIntoKrystalliumMove)(player.empire);
|
|
397
403
|
}
|
|
398
404
|
var bonus = player.bonuses.find(function (bonus) { return bonus !== Character_1.ChooseCharacter; });
|
|
399
|
-
if (Resource_1.isResource(bonus)) {
|
|
400
|
-
return PlaceResource_1.placeResourceOnEmpireMove(player.empire, bonus);
|
|
405
|
+
if ((0, Resource_1.isResource)(bonus)) {
|
|
406
|
+
return (0, PlaceResource_1.placeResourceOnEmpireMove)(player.empire, bonus);
|
|
401
407
|
}
|
|
402
|
-
else if (Character_1.isCharacter(bonus)) {
|
|
403
|
-
return ReceiveCharacter_1.receiveCharacterMove(player.empire, bonus);
|
|
408
|
+
else if ((0, Character_1.isCharacter)(bonus)) {
|
|
409
|
+
return (0, ReceiveCharacter_1.receiveCharacterMove)(player.empire, bonus);
|
|
404
410
|
}
|
|
405
411
|
var _loop_1 = function (resource) {
|
|
406
|
-
if (!player.draftArea.some(function (card) { return Developments_1.getCardDetails(card).constructionCost[resource]; })
|
|
407
|
-
&& !player.constructionArea.some(function (construction) { return
|
|
408
|
-
return { value: PlaceResource_1.placeResourceOnEmpireMove(player.empire, resource) };
|
|
412
|
+
if (!player.draftArea.some(function (card) { return (0, Developments_1.getCardDetails)(card).constructionCost[resource]; })
|
|
413
|
+
&& !player.constructionArea.some(function (construction) { return couldPlaceResource(construction, resource); })) {
|
|
414
|
+
return { value: (0, PlaceResource_1.placeResourceOnEmpireMove)(player.empire, resource) };
|
|
409
415
|
}
|
|
410
416
|
};
|
|
411
417
|
try {
|
|
412
|
-
for (var _h = (e_4 = void 0, __values(__spreadArray([], __read(new Set(player.availableResources))))), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
418
|
+
for (var _h = (e_4 = void 0, __values(__spreadArray([], __read(new Set(player.availableResources)), false))), _j = _h.next(); !_j.done; _j = _h.next()) {
|
|
413
419
|
var resource = _j.value;
|
|
414
420
|
var state_1 = _loop_1(resource);
|
|
415
421
|
if (typeof state_1 === "object")
|
|
@@ -439,45 +445,45 @@ function getLegalMoves(player, phase) {
|
|
|
439
445
|
switch (phase) {
|
|
440
446
|
case Phase_1.default.Draft:
|
|
441
447
|
if (player.chosenCard === undefined) {
|
|
442
|
-
player.hand.forEach(function (card) { return moves.push(ChooseDevelopmentCard_1.chooseDevelopmentCardMove(player.empire, card)); });
|
|
448
|
+
player.hand.forEach(function (card) { return moves.push((0, ChooseDevelopmentCard_1.chooseDevelopmentCardMove)(player.empire, card)); });
|
|
443
449
|
}
|
|
444
450
|
break;
|
|
445
451
|
case Phase_1.default.Planning:
|
|
446
|
-
player.draftArea.forEach(function (card) { return moves.push(SlateForConstruction_1.slateForConstructionMove(player.empire, card), Recycle_1.recycleMove(player.empire, card)); });
|
|
452
|
+
player.draftArea.forEach(function (card) { return moves.push((0, SlateForConstruction_1.slateForConstructionMove)(player.empire, card), (0, Recycle_1.recycleMove)(player.empire, card)); });
|
|
447
453
|
if (!player.draftArea.length && !player.availableResources.length && !player.ready) {
|
|
448
|
-
moves.push(TellYouAreReady_1.tellYouAreReadyMove(player.empire));
|
|
454
|
+
moves.push((0, TellYouAreReady_1.tellYouAreReadyMove)(player.empire));
|
|
449
455
|
}
|
|
450
456
|
break;
|
|
451
457
|
case Phase_1.default.Production:
|
|
452
458
|
if (!player.bonuses.length && !player.availableResources.length && !player.ready) {
|
|
453
|
-
moves.push(TellYouAreReady_1.tellYouAreReadyMove(player.empire));
|
|
459
|
+
moves.push((0, TellYouAreReady_1.tellYouAreReadyMove)(player.empire));
|
|
454
460
|
}
|
|
455
461
|
break;
|
|
456
462
|
}
|
|
457
|
-
__spreadArray([], __read(new Set(player.availableResources))).forEach(function (resource) {
|
|
463
|
+
__spreadArray([], __read(new Set(player.availableResources)), false).forEach(function (resource) {
|
|
458
464
|
player.constructionArea.forEach(function (construction) {
|
|
459
465
|
getSpacesMissingItem(construction, function (item) { return item === resource; })
|
|
460
|
-
.forEach(function (space) { return moves.push(PlaceResource_1.placeResourceOnConstructionMove(player.empire, resource, construction.card, space)); });
|
|
466
|
+
.forEach(function (space) { return moves.push((0, PlaceResource_1.placeResourceOnConstructionMove)(player.empire, resource, construction.card, space)); });
|
|
461
467
|
});
|
|
462
|
-
moves.push(PlaceResource_1.placeResourceOnEmpireMove(player.empire, resource));
|
|
468
|
+
moves.push((0, PlaceResource_1.placeResourceOnEmpireMove)(player.empire, resource));
|
|
463
469
|
});
|
|
464
470
|
if (player.bonuses.some(function (bonus) { return bonus === Character_1.ChooseCharacter; })) {
|
|
465
|
-
Character_1.characters.forEach(function (character) { return moves.push(ReceiveCharacter_1.receiveCharacterMove(player.empire, character)); });
|
|
471
|
+
Character_1.characters.forEach(function (character) { return moves.push((0, ReceiveCharacter_1.receiveCharacterMove)(player.empire, character)); });
|
|
466
472
|
}
|
|
467
473
|
player.constructionArea.forEach(function (construction) {
|
|
468
|
-
moves.push(Recycle_1.recycleMove(player.empire, construction.card));
|
|
474
|
+
moves.push((0, Recycle_1.recycleMove)(player.empire, construction.card));
|
|
469
475
|
});
|
|
470
476
|
if (player.empireCardResources.some(function (resource) { return resource === Resource_1.default.Krystallium; })) {
|
|
471
477
|
player.constructionArea.forEach(function (construction) {
|
|
472
|
-
getSpacesMissingItem(construction, function (item) { return Resource_1.isResource(item); })
|
|
473
|
-
.forEach(function (space) { return moves.push(PlaceResource_1.placeResourceOnConstructionMove(player.empire, Resource_1.default.Krystallium, construction.card, space)); });
|
|
478
|
+
getSpacesMissingItem(construction, function (item) { return (0, Resource_1.isResource)(item); })
|
|
479
|
+
.forEach(function (space) { return moves.push((0, PlaceResource_1.placeResourceOnConstructionMove)(player.empire, Resource_1.default.Krystallium, construction.card, space)); });
|
|
474
480
|
});
|
|
475
481
|
}
|
|
476
482
|
Character_1.characters.forEach(function (character) {
|
|
477
483
|
if (player.characters[character]) {
|
|
478
484
|
player.constructionArea.forEach(function (construction) {
|
|
479
485
|
getSpacesMissingItem(construction, function (item) { return item === character; })
|
|
480
|
-
.forEach(function (space) { return moves.push(PlaceCharacter_1.placeCharacterMove(player.empire, character, construction.card, space)); });
|
|
486
|
+
.forEach(function (space) { return moves.push((0, PlaceCharacter_1.placeCharacterMove)(player.empire, character, construction.card, space)); });
|
|
481
487
|
});
|
|
482
488
|
}
|
|
483
489
|
});
|
|
@@ -485,13 +491,12 @@ function getLegalMoves(player, phase) {
|
|
|
485
491
|
}
|
|
486
492
|
exports.getLegalMoves = getLegalMoves;
|
|
487
493
|
function getCost(card) {
|
|
488
|
-
var development = Developments_1.getCardDetails(card);
|
|
489
|
-
return Array.of.apply(Array, __spreadArray(__spreadArray([], __read(Resource_1.resources)), __read(Character_1.characters))).flatMap(function (item) { return Array(development.constructionCost[item] || 0).fill(item); });
|
|
494
|
+
var development = (0, Developments_1.getCardDetails)(card);
|
|
495
|
+
return Array.of.apply(Array, __spreadArray(__spreadArray([], __read(Resource_1.resources), false), __read(Character_1.characters), false)).flatMap(function (item) { return Array(development.constructionCost[item] || 0).fill(item); });
|
|
490
496
|
}
|
|
491
497
|
exports.getCost = getCost;
|
|
492
498
|
function getRemainingCost(construction) {
|
|
493
|
-
|
|
494
|
-
return Array.of.apply(Array, __spreadArray(__spreadArray([], __read(Resource_1.resources)), __read(Character_1.characters))).flatMap(function (item) { return Array(development.constructionCost[item] || 0).fill(item); })
|
|
499
|
+
return getCost(construction.card)
|
|
495
500
|
.map(function (item, index) { return ({ item: item, space: index }); })
|
|
496
501
|
.filter(function (item) { return !construction.costSpaces[item.space]; });
|
|
497
502
|
}
|
|
@@ -500,6 +505,14 @@ function getSpacesMissingItem(construction, predicate) {
|
|
|
500
505
|
return getRemainingCost(construction).filter(function (cost) { return predicate(cost.item); }).map(function (cost) { return cost.space; });
|
|
501
506
|
}
|
|
502
507
|
exports.getSpacesMissingItem = getSpacesMissingItem;
|
|
508
|
+
function couldPlaceResource(construction, resource) {
|
|
509
|
+
return Array.from(getCost(construction.card).entries())
|
|
510
|
+
.some(function (_a) {
|
|
511
|
+
var _b = __read(_a, 2), space = _b[0], item = _b[1];
|
|
512
|
+
return resource === item && (!construction.costSpaces[space] || construction.costSpaces[space] === Resource_1.default.Krystallium);
|
|
513
|
+
});
|
|
514
|
+
}
|
|
515
|
+
exports.couldPlaceResource = couldPlaceResource;
|
|
503
516
|
function getNextProductionStep(game) {
|
|
504
517
|
switch (game.productionStep) {
|
|
505
518
|
case Resource_1.default.Materials:
|
|
@@ -578,7 +591,7 @@ function getMovesToBuild(player, card) {
|
|
|
578
591
|
var e_7, _a, e_8, _b;
|
|
579
592
|
var moves = [];
|
|
580
593
|
var construction = player.constructionArea.find(function (construction) { return construction.card === card; })
|
|
581
|
-
|| { card: card, costSpaces: Array(DevelopmentDetails_1.totalCost(Developments_1.getCardDetails(card))).fill(null) };
|
|
594
|
+
|| { card: card, costSpaces: Array((0, DevelopmentDetails_1.totalCost)((0, Developments_1.getCardDetails)(card))).fill(null) };
|
|
582
595
|
var remainingCost = getRemainingCost(construction);
|
|
583
596
|
var _loop_4 = function (resource) {
|
|
584
597
|
var e_9, _c;
|
|
@@ -588,11 +601,11 @@ function getMovesToBuild(player, card) {
|
|
|
588
601
|
for (var resourceCosts_1 = (e_9 = void 0, __values(resourceCosts)), resourceCosts_1_1 = resourceCosts_1.next(); !resourceCosts_1_1.done; resourceCosts_1_1 = resourceCosts_1.next()) {
|
|
589
602
|
var cost = resourceCosts_1_1.value;
|
|
590
603
|
if (resources_4 > 0) {
|
|
591
|
-
moves.push(PlaceResource_1.placeResourceOnConstructionMove(player.empire, resource, card, cost.space));
|
|
604
|
+
moves.push((0, PlaceResource_1.placeResourceOnConstructionMove)(player.empire, resource, card, cost.space));
|
|
592
605
|
resources_4--;
|
|
593
606
|
}
|
|
594
607
|
else {
|
|
595
|
-
moves.push(PlaceResource_1.placeResourceOnConstructionMove(player.empire, Resource_1.default.Krystallium, card, cost.space));
|
|
608
|
+
moves.push((0, PlaceResource_1.placeResourceOnConstructionMove)(player.empire, Resource_1.default.Krystallium, card, cost.space));
|
|
596
609
|
}
|
|
597
610
|
}
|
|
598
611
|
}
|
|
@@ -620,8 +633,8 @@ function getMovesToBuild(player, card) {
|
|
|
620
633
|
try {
|
|
621
634
|
for (var remainingCost_1 = __values(remainingCost), remainingCost_1_1 = remainingCost_1.next(); !remainingCost_1_1.done; remainingCost_1_1 = remainingCost_1.next()) {
|
|
622
635
|
var cost = remainingCost_1_1.value;
|
|
623
|
-
if (Character_1.isCharacter(cost.item)) {
|
|
624
|
-
moves.push(PlaceCharacter_1.placeCharacterMove(player.empire, cost.item, card, cost.space));
|
|
636
|
+
if ((0, Character_1.isCharacter)(cost.item)) {
|
|
637
|
+
moves.push((0, PlaceCharacter_1.placeCharacterMove)(player.empire, cost.item, card, cost.space));
|
|
625
638
|
}
|
|
626
639
|
}
|
|
627
640
|
}
|
|
@@ -640,7 +653,7 @@ function isPlaceItemOnCard(move, card) {
|
|
|
640
653
|
return isPlaceItemOnCard(move) && move.card === card;
|
|
641
654
|
}
|
|
642
655
|
else {
|
|
643
|
-
return PlaceResource_1.isPlaceResourceOnConstruction(move) || PlaceCharacter_1.isPlaceCharacter(move);
|
|
656
|
+
return (0, PlaceResource_1.isPlaceResourceOnConstruction)(move) || (0, PlaceCharacter_1.isPlaceCharacter)(move);
|
|
644
657
|
}
|
|
645
658
|
}
|
|
646
659
|
exports.isPlaceItemOnCard = isPlaceItemOnCard;
|
|
@@ -648,7 +661,7 @@ function isActive(game, playerId) {
|
|
|
648
661
|
var player = game.players.find(function (player) { return player.empire === playerId; });
|
|
649
662
|
switch (game.phase) {
|
|
650
663
|
case Phase_1.default.Draft:
|
|
651
|
-
return typeguards_1.isPlayerView(player) ? !player.ready : player.chosenCard === undefined;
|
|
664
|
+
return (0, typeguards_1.isPlayerView)(player) ? !player.ready : player.chosenCard === undefined;
|
|
652
665
|
case Phase_1.default.Planning:
|
|
653
666
|
case Phase_1.default.Production:
|
|
654
667
|
return !player.ready;
|
|
@@ -664,16 +677,16 @@ function isOver(game) {
|
|
|
664
677
|
}
|
|
665
678
|
exports.isOver = isOver;
|
|
666
679
|
function constructionsThatMayReceiveCubes(player) {
|
|
667
|
-
return player.constructionArea.filter(function (construction) { return getRemainingCost(construction).some(function (cost) { return Resource_1.isResource(cost.item) && player.availableResources.includes(cost.item); }); });
|
|
680
|
+
return player.constructionArea.filter(function (construction) { return getRemainingCost(construction).some(function (cost) { return (0, Resource_1.isResource)(cost.item) && player.availableResources.includes(cost.item); }); });
|
|
668
681
|
}
|
|
669
682
|
exports.constructionsThatMayReceiveCubes = constructionsThatMayReceiveCubes;
|
|
670
683
|
function placeAvailableCubesMoves(player, construction) {
|
|
671
684
|
var moves = [];
|
|
672
685
|
var availableResource = JSON.parse(JSON.stringify(player.availableResources));
|
|
673
686
|
getRemainingCost(construction).forEach(function (cost) {
|
|
674
|
-
if (Resource_1.isResource(cost.item)) {
|
|
687
|
+
if ((0, Resource_1.isResource)(cost.item)) {
|
|
675
688
|
if (availableResource.some(function (resource) { return resource === cost.item; })) {
|
|
676
|
-
moves.push(PlaceResource_1.placeResourceOnConstructionMove(player.empire, cost.item, construction.card, cost.space));
|
|
689
|
+
moves.push((0, PlaceResource_1.placeResourceOnConstructionMove)(player.empire, cost.item, construction.card, cost.space));
|
|
677
690
|
availableResource.splice(availableResource.findIndex(function (resource) { return resource === cost.item; }), 1);
|
|
678
691
|
}
|
|
679
692
|
}
|
package/dist/Production.js
CHANGED
|
@@ -14,7 +14,7 @@ function isProductionFactor(production) {
|
|
|
14
14
|
exports.isProductionFactor = isProductionFactor;
|
|
15
15
|
function getProductionAndCorruption(player, resource) {
|
|
16
16
|
var developmentsProduction = player.constructedDevelopments.reduce(function (sum, card) {
|
|
17
|
-
return sum + getResourceProduction(player, resource, Developments_1.getCardDetails(card).production);
|
|
17
|
+
return sum + getResourceProduction(player, resource, (0, Developments_1.getCardDetails)(card).production);
|
|
18
18
|
}, 0);
|
|
19
19
|
return getEmpireProduction(player, resource) + developmentsProduction;
|
|
20
20
|
}
|
|
@@ -31,14 +31,14 @@ function getResourceProduction(player, resource, production) {
|
|
|
31
31
|
if (!production) {
|
|
32
32
|
return 0;
|
|
33
33
|
}
|
|
34
|
-
if (Resource_1.isResource(production)) {
|
|
34
|
+
if ((0, Resource_1.isResource)(production)) {
|
|
35
35
|
return production === resource ? 1 : 0;
|
|
36
36
|
}
|
|
37
37
|
if (!isProductionFactor(production)) {
|
|
38
38
|
return (_a = production[resource]) !== null && _a !== void 0 ? _a : 0;
|
|
39
39
|
}
|
|
40
40
|
if (production.resource === resource) {
|
|
41
|
-
return player.constructedDevelopments.reduce(function (sum, card) { return Developments_1.getCardDetails(card).type === production.factor ? sum + 1 : sum; }, 0);
|
|
41
|
+
return player.constructedDevelopments.reduce(function (sum, card) { return (0, Developments_1.getCardDetails)(card).type === production.factor ? sum + 1 : sum; }, 0);
|
|
42
42
|
}
|
|
43
43
|
return 0;
|
|
44
44
|
}
|
package/dist/Scoring.js
CHANGED
|
@@ -37,10 +37,14 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
37
37
|
}
|
|
38
38
|
return ar;
|
|
39
39
|
};
|
|
40
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
41
|
-
for (var i = 0,
|
|
42
|
-
|
|
43
|
-
|
|
40
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
41
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
42
|
+
if (ar || !(i in from)) {
|
|
43
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
44
|
+
ar[i] = from[i];
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
44
48
|
};
|
|
45
49
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
46
50
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -83,7 +87,7 @@ function getScoringDetails(player, ignoreBaseCharacterValue) {
|
|
|
83
87
|
}
|
|
84
88
|
}
|
|
85
89
|
var _loop_1 = function (constructedDevelopment) {
|
|
86
|
-
var development = Developments_1.getCardDetails(constructedDevelopment);
|
|
90
|
+
var development = (0, Developments_1.getCardDetails)(constructedDevelopment);
|
|
87
91
|
scoringDetails.scoreMultipliers[development.type]++;
|
|
88
92
|
if (typeof development.victoryPoints === 'number') {
|
|
89
93
|
scoringDetails.flatVictoryPoints += development.victoryPoints;
|
|
@@ -135,7 +139,7 @@ function getComboValue(combo, scoreMultipliers) {
|
|
|
135
139
|
exports.getComboValue = getComboValue;
|
|
136
140
|
function getComboMultiplier(combo, scoreMultipliers) {
|
|
137
141
|
if (Array.isArray(combo.per)) {
|
|
138
|
-
return Math.min.apply(Math, __spreadArray([], __read(combo.per.map(function (scoreMultiplier) { return scoreMultipliers[scoreMultiplier]; }))));
|
|
142
|
+
return Math.min.apply(Math, __spreadArray([], __read(combo.per.map(function (scoreMultiplier) { return scoreMultipliers[scoreMultiplier]; })), false));
|
|
139
143
|
}
|
|
140
144
|
else {
|
|
141
145
|
return scoreMultipliers[combo.per];
|
package/dist/canUndo.js
CHANGED
|
@@ -14,34 +14,38 @@ var TellYouAreReady_1 = require("./moves/TellYouAreReady");
|
|
|
14
14
|
var typeguards_1 = require("./typeguards");
|
|
15
15
|
function canUndo(state, action, consecutiveActions) {
|
|
16
16
|
var playerId = action.playerId, move = action.move;
|
|
17
|
-
if (ItsAWonderfulWorld_1.isOver(state))
|
|
17
|
+
if ((0, ItsAWonderfulWorld_1.isOver)(state))
|
|
18
18
|
return false;
|
|
19
19
|
switch (move.type) {
|
|
20
20
|
case MoveType_1.default.ChooseDevelopmentCard:
|
|
21
21
|
var player = state.players.find(function (player) { return player.empire === playerId; });
|
|
22
|
-
return ChooseDevelopmentCard_1.isChosenDevelopmentCardVisible(move) && typeguards_1.isPlayer(player) && player.chosenCard === move.card;
|
|
22
|
+
return (0, ChooseDevelopmentCard_1.isChosenDevelopmentCardVisible)(move) && (0, typeguards_1.isPlayer)(player) && player.chosenCard === move.card;
|
|
23
23
|
case MoveType_1.default.Recycle:
|
|
24
24
|
case MoveType_1.default.ReceiveCharacter:
|
|
25
25
|
return !consecutiveActions.some(function (action) { return action.playerId === playerId; });
|
|
26
26
|
case MoveType_1.default.SlateForConstruction:
|
|
27
|
-
return !consecutiveActions.some(function (action) { return action.playerId === playerId && (TellYouAreReady_1.isTellYouAreReady(action.move) || ItsAWonderfulWorld_1.isPlaceItemOnCard(action.move, move.card)); });
|
|
27
|
+
return !consecutiveActions.some(function (action) { return action.playerId === playerId && ((0, TellYouAreReady_1.isTellYouAreReady)(action.move) || (0, ItsAWonderfulWorld_1.isPlaceItemOnCard)(action.move, move.card)); });
|
|
28
28
|
case MoveType_1.default.PlaceResource:
|
|
29
|
-
if (PlaceResource_1.isPlaceResourceOnConstruction(move)) {
|
|
29
|
+
if ((0, PlaceResource_1.isPlaceResourceOnConstruction)(move)) {
|
|
30
|
+
if (action.consequences.some(function (consequence) { return (0, PlaceResource_1.isPlaceResource)(consequence); })
|
|
31
|
+
&& consecutiveActions.some(function (action) { return action.playerId === playerId && (0, PlaceResource_1.isPlaceResourceOnConstruction)(action.move) && action.move.resource === Resource_1.default.Krystallium; })) {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
30
34
|
if (actionCompletedCardConstruction(action, move.card)) {
|
|
31
|
-
return !consecutiveActions.some(function (action) { return action.playerId === playerId && (TellYouAreReady_1.isTellYouAreReady(action.move) || ItsAWonderfulWorld_1.isPlaceItemOnCard(action.move)); });
|
|
35
|
+
return !consecutiveActions.some(function (action) { return action.playerId === playerId && ((0, TellYouAreReady_1.isTellYouAreReady)(action.move) || (0, ItsAWonderfulWorld_1.isPlaceItemOnCard)(action.move)); });
|
|
32
36
|
}
|
|
33
37
|
else {
|
|
34
|
-
return !consecutiveActions.some(function (action) { return action.playerId === playerId && (actionCompletedCardConstruction(action, move.card) || (Recycle_1.isRecycle(action.move) && action.move.card === move.card)
|
|
35
|
-
|| (TellYouAreReady_1.isTellYouAreReady(action.move) && move.resource !== Resource_1.default.Krystallium)); });
|
|
38
|
+
return !consecutiveActions.some(function (action) { return action.playerId === playerId && (actionCompletedCardConstruction(action, move.card) || ((0, Recycle_1.isRecycle)(action.move) && action.move.card === move.card)
|
|
39
|
+
|| ((0, TellYouAreReady_1.isTellYouAreReady)(action.move) && move.resource !== Resource_1.default.Krystallium)); });
|
|
36
40
|
}
|
|
37
41
|
}
|
|
38
42
|
else {
|
|
39
|
-
return !consecutiveActions.some(function (action) { return action.playerId === playerId && (TellYouAreReady_1.isTellYouAreReady(action.move)
|
|
40
|
-
|| (PlaceResource_1.isPlaceResourceOnConstruction(action.move) && action.move.resource === Resource_1.default.Krystallium)); });
|
|
43
|
+
return !consecutiveActions.some(function (action) { return action.playerId === playerId && ((0, TellYouAreReady_1.isTellYouAreReady)(action.move)
|
|
44
|
+
|| ((0, PlaceResource_1.isPlaceResourceOnConstruction)(action.move) && action.move.resource === Resource_1.default.Krystallium)); });
|
|
41
45
|
}
|
|
42
46
|
case MoveType_1.default.PlaceCharacter:
|
|
43
47
|
if (actionCompletedCardConstruction(action, move.card)) {
|
|
44
|
-
return !consecutiveActions.some(function (action) { return action.playerId === playerId && (TellYouAreReady_1.isTellYouAreReady(action.move) || ItsAWonderfulWorld_1.isPlaceItemOnCard(action.move)); });
|
|
48
|
+
return !consecutiveActions.some(function (action) { return action.playerId === playerId && ((0, TellYouAreReady_1.isTellYouAreReady)(action.move) || (0, ItsAWonderfulWorld_1.isPlaceItemOnCard)(action.move)); });
|
|
45
49
|
}
|
|
46
50
|
else {
|
|
47
51
|
return !consecutiveActions.some(function (action) { return actionCompletedCardConstruction(action, move.card); });
|
|
@@ -55,5 +59,5 @@ function canUndo(state, action, consecutiveActions) {
|
|
|
55
59
|
}
|
|
56
60
|
exports.default = canUndo;
|
|
57
61
|
function actionCompletedCardConstruction(action, card) {
|
|
58
|
-
return action.consequences.some(function (consequence) { return CompleteConstruction_1.isCompleteConstruction(consequence) && consequence.card === card; });
|
|
62
|
+
return action.consequences.some(function (consequence) { return (0, CompleteConstruction_1.isCompleteConstruction)(consequence) && consequence.card === card; });
|
|
59
63
|
}
|
|
@@ -7,7 +7,7 @@ exports.totalCost = exports.isConstructionBonus = void 0;
|
|
|
7
7
|
var Character_1 = require("./Character");
|
|
8
8
|
var Resource_1 = __importDefault(require("./Resource"));
|
|
9
9
|
function isConstructionBonus(item) {
|
|
10
|
-
return Character_1.isCharacter(item) || item === Resource_1.default.Krystallium;
|
|
10
|
+
return (0, Character_1.isCharacter)(item) || item === Resource_1.default.Krystallium;
|
|
11
11
|
}
|
|
12
12
|
exports.isConstructionBonus = isConstructionBonus;
|
|
13
13
|
function totalCost(development) {
|
|
@@ -659,16 +659,16 @@ exports.TreasureOfTheTemplars = {
|
|
|
659
659
|
recyclingBonus: Gold
|
|
660
660
|
};
|
|
661
661
|
function createCopies(development) {
|
|
662
|
-
return Array(Development_1.getDevelopmentDetails(development).numberOfCopies || 1).fill(development);
|
|
662
|
+
return Array((0, Development_1.getDevelopmentDetails)(development).numberOfCopies || 1).fill(development);
|
|
663
663
|
}
|
|
664
664
|
exports.developmentCards = Development_1.developments.flatMap(createCopies);
|
|
665
665
|
exports.baseDevelopmentCardIds = Array.from(exports.developmentCards.map(Development_1.getDevelopmentDetails).filter(function (development) { return development.deck === DeckType_1.default.Default; }).keys());
|
|
666
666
|
exports.ascensionDevelopmentCardIds = Array.from(exports.developmentCards.keys()).slice(exports.baseDevelopmentCardIds.length);
|
|
667
667
|
function getCardType(card) {
|
|
668
|
-
return Development_1.getDevelopmentDetails(exports.developmentCards[card]).deck;
|
|
668
|
+
return (0, Development_1.getDevelopmentDetails)(exports.developmentCards[card]).deck;
|
|
669
669
|
}
|
|
670
670
|
exports.getCardType = getCardType;
|
|
671
671
|
function getCardDetails(card) {
|
|
672
|
-
return Development_1.getDevelopmentDetails(exports.developmentCards[card]);
|
|
672
|
+
return (0, Development_1.getDevelopmentDetails)(exports.developmentCards[card]);
|
|
673
673
|
}
|
|
674
674
|
exports.getCardDetails = getCardDetails;
|
|
@@ -7,14 +7,16 @@ exports.isChosenDevelopmentCardVisible = exports.isChooseDevelopmentCard = expor
|
|
|
7
7
|
var typeguards_1 = require("../typeguards");
|
|
8
8
|
var MoveType_1 = __importDefault(require("./MoveType"));
|
|
9
9
|
var chooseDevelopmentCardMove = function (playerId, card) { return ({
|
|
10
|
-
type: MoveType_1.default.ChooseDevelopmentCard,
|
|
10
|
+
type: MoveType_1.default.ChooseDevelopmentCard,
|
|
11
|
+
playerId: playerId,
|
|
12
|
+
card: card
|
|
11
13
|
}); };
|
|
12
14
|
exports.chooseDevelopmentCardMove = chooseDevelopmentCardMove;
|
|
13
15
|
function chooseDevelopmentCard(state, move) {
|
|
14
16
|
var player = state.players.find(function (player) { return player.empire === move.playerId; });
|
|
15
17
|
if (!player)
|
|
16
18
|
return console.error('Cannot apply', move, 'on', state, ': player id is missing');
|
|
17
|
-
if (typeguards_1.isPlayerView(player))
|
|
19
|
+
if ((0, typeguards_1.isPlayerView)(player))
|
|
18
20
|
return console.error('Cannot apply', move, 'on', state, ': chosen card should be hidden to the other players');
|
|
19
21
|
player.chosenCard = move.card;
|
|
20
22
|
}
|
|
@@ -32,7 +34,7 @@ function chooseSecretDevelopmentCard(state, move) {
|
|
|
32
34
|
var player = state.players.find(function (player) { return player.empire === move.playerId; });
|
|
33
35
|
if (!player)
|
|
34
36
|
return console.error('Cannot apply', move, 'on', state, ': player id is missing');
|
|
35
|
-
if (!typeguards_1.isPlayerView(player))
|
|
37
|
+
if (!(0, typeguards_1.isPlayerView)(player))
|
|
36
38
|
return console.error('Cannot apply', move, 'on', state, ': chosen card should not be hidden to the player choosing it');
|
|
37
39
|
player.ready = true;
|
|
38
40
|
}
|
|
@@ -18,7 +18,9 @@ exports.isCompleteConstruction = exports.completeConstruction = exports.complete
|
|
|
18
18
|
var Developments_1 = require("../material/Developments");
|
|
19
19
|
var MoveType_1 = __importDefault(require("./MoveType"));
|
|
20
20
|
var completeConstructionMove = function (playerId, card) { return ({
|
|
21
|
-
type: MoveType_1.default.CompleteConstruction,
|
|
21
|
+
type: MoveType_1.default.CompleteConstruction,
|
|
22
|
+
playerId: playerId,
|
|
23
|
+
card: card
|
|
22
24
|
}); };
|
|
23
25
|
exports.completeConstructionMove = completeConstructionMove;
|
|
24
26
|
function completeConstruction(state, move) {
|
|
@@ -28,7 +30,7 @@ function completeConstruction(state, move) {
|
|
|
28
30
|
return console.error('Cannot apply', move, 'on', state, ': could not find player');
|
|
29
31
|
player.constructionArea = player.constructionArea.filter(function (construction) { return construction.card !== move.card; });
|
|
30
32
|
player.constructedDevelopments.push(move.card);
|
|
31
|
-
var bonuses = Developments_1.getCardDetails(move.card).constructionBonus;
|
|
33
|
+
var bonuses = (0, Developments_1.getCardDetails)(move.card).constructionBonus;
|
|
32
34
|
if (bonuses) {
|
|
33
35
|
try {
|
|
34
36
|
for (var bonuses_1 = __values(bonuses), bonuses_1_1 = bonuses_1.next(); !bonuses_1_1.done; bonuses_1_1 = bonuses_1.next()) {
|
package/dist/moves/Concede.js
CHANGED
|
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.concede = exports.concedeMove = void 0;
|
|
7
7
|
var MoveType_1 = __importDefault(require("./MoveType"));
|
|
8
8
|
var concedeMove = function (playerId) { return ({
|
|
9
|
-
type: MoveType_1.default.Concede,
|
|
9
|
+
type: MoveType_1.default.Concede,
|
|
10
|
+
playerId: playerId
|
|
10
11
|
}); };
|
|
11
12
|
exports.concedeMove = concedeMove;
|
|
12
13
|
function concede(state, move) {
|
|
@@ -26,10 +26,14 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
26
26
|
}
|
|
27
27
|
return ar;
|
|
28
28
|
};
|
|
29
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
30
|
-
for (var i = 0,
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
30
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
31
|
+
if (ar || !(i in from)) {
|
|
32
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
33
|
+
ar[i] = from[i];
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
37
|
};
|
|
34
38
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
39
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -59,7 +63,7 @@ function dealDevelopmentCards(state) {
|
|
|
59
63
|
var player = players_1_1.value;
|
|
60
64
|
player.hand = state.deck.splice(0, cardsToDeal);
|
|
61
65
|
if (state.ascensionDeck) {
|
|
62
|
-
(_b = player.hand).push.apply(_b, __spreadArray([], __read(state.ascensionDeck.splice(0, ascensionCardsToDeal))));
|
|
66
|
+
(_b = player.hand).push.apply(_b, __spreadArray([], __read(state.ascensionDeck.splice(0, ascensionCardsToDeal)), false));
|
|
63
67
|
}
|
|
64
68
|
}
|
|
65
69
|
}
|
|
@@ -84,7 +88,7 @@ function revealDealtDevelopmentCards(state, move) {
|
|
|
84
88
|
if (state.ascensionDeck) {
|
|
85
89
|
state.ascensionDeck -= ascensionCardsToDeal;
|
|
86
90
|
}
|
|
87
|
-
if (typeguards_1.isPlayer(player)) {
|
|
91
|
+
if ((0, typeguards_1.isPlayer)(player)) {
|
|
88
92
|
if (!isDealDevelopmentCardsView(move))
|
|
89
93
|
throw new Error('Players cards expected');
|
|
90
94
|
player.hand = move.playerCards;
|
|
@@ -92,7 +96,7 @@ function revealDealtDevelopmentCards(state, move) {
|
|
|
92
96
|
else {
|
|
93
97
|
player.hiddenHand = Array(cardsToDeal).fill(DeckType_1.default.Default);
|
|
94
98
|
if (state.ascensionDeck) {
|
|
95
|
-
(_b = player.hiddenHand).push.apply(_b, __spreadArray([], __read(Array(ascensionCardsToDeal).fill(DeckType_1.default.Ascension))));
|
|
99
|
+
(_b = player.hiddenHand).push.apply(_b, __spreadArray([], __read(Array(ascensionCardsToDeal).fill(DeckType_1.default.Ascension)), false));
|
|
96
100
|
}
|
|
97
101
|
}
|
|
98
102
|
}
|
|
@@ -143,7 +147,7 @@ function getDealDevelopmentCardsView(state, playerId) {
|
|
|
143
147
|
var cardsToDeal = getIWWCardsToDeal(state, players.length);
|
|
144
148
|
var playerCards = state.deck.slice(playerIndex * cardsToDeal, (playerIndex + 1) * cardsToDeal);
|
|
145
149
|
if (state.ascensionDeck) {
|
|
146
|
-
playerCards.push.apply(playerCards, __spreadArray([], __read(state.ascensionDeck.slice(playerIndex * ascensionCardsToDeal, (playerIndex + 1) * ascensionCardsToDeal))));
|
|
150
|
+
playerCards.push.apply(playerCards, __spreadArray([], __read(state.ascensionDeck.slice(playerIndex * ascensionCardsToDeal, (playerIndex + 1) * ascensionCardsToDeal)), false));
|
|
147
151
|
}
|
|
148
152
|
return { type: MoveType_1.default.DealDevelopmentCards, playerCards: playerCards };
|
|
149
153
|
}
|
|
@@ -15,10 +15,14 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
15
15
|
}
|
|
16
16
|
return ar;
|
|
17
17
|
};
|
|
18
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
19
|
-
for (var i = 0,
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
+
if (ar || !(i in from)) {
|
|
21
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
+
ar[i] = from[i];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
22
26
|
};
|
|
23
27
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
24
28
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -31,21 +35,21 @@ exports.discardLeftOverCardsMove = { type: MoveType_1.default.DiscardLeftoverCar
|
|
|
31
35
|
function discardLeftOverCards(state) {
|
|
32
36
|
state.players.forEach(function (player) {
|
|
33
37
|
var _a;
|
|
34
|
-
return (_a = state.discard).push.apply(_a, __spreadArray([], __read(player.hand.splice(0))));
|
|
38
|
+
return (_a = state.discard).push.apply(_a, __spreadArray([], __read(player.hand.splice(0)), false));
|
|
35
39
|
});
|
|
36
40
|
}
|
|
37
41
|
exports.discardLeftOverCards = discardLeftOverCards;
|
|
38
42
|
function discardLeftOverCardsInView(state, move) {
|
|
39
43
|
var _a;
|
|
40
44
|
state.players.forEach(function (player) {
|
|
41
|
-
if (typeguards_1.isPlayerView(player)) {
|
|
45
|
+
if ((0, typeguards_1.isPlayerView)(player)) {
|
|
42
46
|
player.hiddenHand = [];
|
|
43
47
|
}
|
|
44
48
|
else {
|
|
45
49
|
player.hand = [];
|
|
46
50
|
}
|
|
47
51
|
});
|
|
48
|
-
(_a = state.discard).push.apply(_a, __spreadArray([], __read(move.discardedCards)));
|
|
52
|
+
(_a = state.discard).push.apply(_a, __spreadArray([], __read(move.discardedCards), false));
|
|
49
53
|
}
|
|
50
54
|
exports.discardLeftOverCardsInView = discardLeftOverCardsInView;
|
|
51
55
|
function isDiscardLeftoverCardsView(move) {
|
package/dist/moves/PassCards.js
CHANGED
|
@@ -23,9 +23,9 @@ function passCardsInView(state, move) {
|
|
|
23
23
|
var draftDirection = state.round % 2 ? -1 : 1;
|
|
24
24
|
for (var i = 0; i < players.length; i++) {
|
|
25
25
|
var player = players[i];
|
|
26
|
-
if (typeguards_1.isPlayerView(player)) {
|
|
26
|
+
if ((0, typeguards_1.isPlayerView)(player)) {
|
|
27
27
|
var previousPlayer = players[(i + players.length + draftDirection) % players.length];
|
|
28
|
-
player.hiddenHand = typeguards_1.isPlayer(previousPlayer) ? previousPlayer.cardsToPass.map(Developments_1.getCardType) : previousPlayer.cardsToPass;
|
|
28
|
+
player.hiddenHand = (0, typeguards_1.isPlayer)(previousPlayer) ? previousPlayer.cardsToPass.map(Developments_1.getCardType) : previousPlayer.cardsToPass;
|
|
29
29
|
}
|
|
30
30
|
else if (isPassCardsView(move)) {
|
|
31
31
|
player.hand = move.receivedCards;
|
|
@@ -6,7 +6,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.isPlaceCharacter = exports.placeCharacter = exports.placeCharacterMove = void 0;
|
|
7
7
|
var MoveType_1 = __importDefault(require("./MoveType"));
|
|
8
8
|
var placeCharacterMove = function (playerId, character, card, space) { return ({
|
|
9
|
-
type: MoveType_1.default.PlaceCharacter,
|
|
9
|
+
type: MoveType_1.default.PlaceCharacter,
|
|
10
|
+
playerId: playerId,
|
|
11
|
+
character: character,
|
|
12
|
+
card: card,
|
|
13
|
+
space: space
|
|
10
14
|
}); };
|
|
11
15
|
exports.placeCharacterMove = placeCharacterMove;
|
|
12
16
|
function placeCharacter(state, move) {
|
|
@@ -7,11 +7,17 @@ exports.isPlaceResourceOnConstruction = exports.placeResource = exports.isPlaceR
|
|
|
7
7
|
var Resource_1 = __importDefault(require("../material/Resource"));
|
|
8
8
|
var MoveType_1 = __importDefault(require("./MoveType"));
|
|
9
9
|
var placeResourceOnEmpireMove = function (playerId, resource) { return ({
|
|
10
|
-
type: MoveType_1.default.PlaceResource,
|
|
10
|
+
type: MoveType_1.default.PlaceResource,
|
|
11
|
+
playerId: playerId,
|
|
12
|
+
resource: resource
|
|
11
13
|
}); };
|
|
12
14
|
exports.placeResourceOnEmpireMove = placeResourceOnEmpireMove;
|
|
13
15
|
var placeResourceOnConstructionMove = function (playerId, resource, card, space) { return ({
|
|
14
|
-
type: MoveType_1.default.PlaceResource,
|
|
16
|
+
type: MoveType_1.default.PlaceResource,
|
|
17
|
+
playerId: playerId,
|
|
18
|
+
resource: resource,
|
|
19
|
+
card: card,
|
|
20
|
+
space: space
|
|
15
21
|
}); };
|
|
16
22
|
exports.placeResourceOnConstructionMove = placeResourceOnConstructionMove;
|
|
17
23
|
function isPlaceResource(move) {
|
|
@@ -38,7 +44,7 @@ function placeResource(state, move) {
|
|
|
38
44
|
construction.costSpaces[move.space] = move.resource;
|
|
39
45
|
}
|
|
40
46
|
else {
|
|
41
|
-
console.error(
|
|
47
|
+
console.error("Expected " + move.card + " to be in construction, but player is in unexpected state: " + JSON.stringify(player));
|
|
42
48
|
}
|
|
43
49
|
}
|
|
44
50
|
else {
|
package/dist/moves/Produce.js
CHANGED
|
@@ -45,10 +45,14 @@ var __read = (this && this.__read) || function (o, n) {
|
|
|
45
45
|
}
|
|
46
46
|
return ar;
|
|
47
47
|
};
|
|
48
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from) {
|
|
49
|
-
for (var i = 0,
|
|
50
|
-
|
|
51
|
-
|
|
48
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
49
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
50
|
+
if (ar || !(i in from)) {
|
|
51
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
52
|
+
ar[i] = from[i];
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
52
56
|
};
|
|
53
57
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
58
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
@@ -68,7 +72,7 @@ function produce(state, move) {
|
|
|
68
72
|
try {
|
|
69
73
|
for (var _d = __values(state.players), _e = _d.next(); !_e.done; _e = _d.next()) {
|
|
70
74
|
var player = _e.value;
|
|
71
|
-
var production = Production_1.getProduction(player, move.resource);
|
|
75
|
+
var production = (0, Production_1.getProduction)(player, move.resource);
|
|
72
76
|
player.availableResources = new Array(production).fill(move.resource);
|
|
73
77
|
player.ready = false;
|
|
74
78
|
if (production > 0) {
|
|
@@ -104,7 +108,7 @@ function produce(state, move) {
|
|
|
104
108
|
var rank = rankPlayersProduction_1_1.value;
|
|
105
109
|
if (supremacyPlayers.length + rank.players.length > supremacySeats)
|
|
106
110
|
break;
|
|
107
|
-
supremacyPlayers.push.apply(supremacyPlayers, __spreadArray([], __read(rank.players)));
|
|
111
|
+
supremacyPlayers.push.apply(supremacyPlayers, __spreadArray([], __read(rank.players), false));
|
|
108
112
|
}
|
|
109
113
|
}
|
|
110
114
|
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
@@ -7,7 +7,9 @@ exports.isReceiveCharacter = exports.receiveCharacter = exports.receiveCharacter
|
|
|
7
7
|
var Character_1 = require("../material/Character");
|
|
8
8
|
var MoveType_1 = __importDefault(require("./MoveType"));
|
|
9
9
|
var receiveCharacterMove = function (playerId, character) { return ({
|
|
10
|
-
type: MoveType_1.default.ReceiveCharacter,
|
|
10
|
+
type: MoveType_1.default.ReceiveCharacter,
|
|
11
|
+
playerId: playerId,
|
|
12
|
+
character: character
|
|
11
13
|
}); };
|
|
12
14
|
exports.receiveCharacterMove = receiveCharacterMove;
|
|
13
15
|
function receiveCharacter(state, move) {
|
package/dist/moves/Recycle.js
CHANGED
|
@@ -7,7 +7,9 @@ exports.isRecycle = exports.recycle = exports.recycleMove = void 0;
|
|
|
7
7
|
var Developments_1 = require("../material/Developments");
|
|
8
8
|
var MoveType_1 = __importDefault(require("./MoveType"));
|
|
9
9
|
var recycleMove = function (playerId, card) { return ({
|
|
10
|
-
type: MoveType_1.default.Recycle,
|
|
10
|
+
type: MoveType_1.default.Recycle,
|
|
11
|
+
playerId: playerId,
|
|
12
|
+
card: card
|
|
11
13
|
}); };
|
|
12
14
|
exports.recycleMove = recycleMove;
|
|
13
15
|
function recycle(state, move) {
|
|
@@ -15,7 +17,7 @@ function recycle(state, move) {
|
|
|
15
17
|
if (!player)
|
|
16
18
|
return console.error('Cannot apply', move, 'on', state, ': could not find player');
|
|
17
19
|
var indexInDraftArea = player.draftArea.findIndex(function (card) { return card === move.card; });
|
|
18
|
-
var development = Developments_1.getCardDetails(move.card);
|
|
20
|
+
var development = (0, Developments_1.getCardDetails)(move.card);
|
|
19
21
|
if (indexInDraftArea !== -1) {
|
|
20
22
|
player.draftArea.splice(indexInDraftArea, 1);
|
|
21
23
|
player.availableResources.push(development.recyclingBonus);
|
|
@@ -28,16 +28,16 @@ function revealChosenCardsInView(state, move) {
|
|
|
28
28
|
if (!revealedCard || revealedCard.card === undefined)
|
|
29
29
|
return;
|
|
30
30
|
player.draftArea.push(revealedCard.card);
|
|
31
|
-
if (typeguards_1.isPlayer(player)) {
|
|
31
|
+
if ((0, typeguards_1.isPlayer)(player)) {
|
|
32
32
|
player.hand = player.hand.filter(function (card) { return card !== revealedCard.card; });
|
|
33
33
|
delete player.chosenCard;
|
|
34
34
|
}
|
|
35
35
|
else {
|
|
36
|
-
player.hiddenHand.splice(player.hiddenHand.indexOf(Developments_1.getCardDetails(revealedCard.card).deck), 1);
|
|
36
|
+
player.hiddenHand.splice(player.hiddenHand.indexOf((0, Developments_1.getCardDetails)(revealedCard.card).deck), 1);
|
|
37
37
|
player.ready = false;
|
|
38
38
|
}
|
|
39
39
|
if (player.draftArea.length < ItsAWonderfulWorld_1.numberOfCardsToDraft) {
|
|
40
|
-
player.cardsToPass = typeguards_1.isPlayerView(player) ? player.hiddenHand : player.hand;
|
|
40
|
+
player.cardsToPass = (0, typeguards_1.isPlayerView)(player) ? player.hiddenHand : player.hand;
|
|
41
41
|
}
|
|
42
42
|
});
|
|
43
43
|
}
|
|
@@ -8,7 +8,9 @@ var DevelopmentDetails_1 = require("../material/DevelopmentDetails");
|
|
|
8
8
|
var Developments_1 = require("../material/Developments");
|
|
9
9
|
var MoveType_1 = __importDefault(require("./MoveType"));
|
|
10
10
|
var slateForConstructionMove = function (playerId, card) { return ({
|
|
11
|
-
type: MoveType_1.default.SlateForConstruction,
|
|
11
|
+
type: MoveType_1.default.SlateForConstruction,
|
|
12
|
+
playerId: playerId,
|
|
13
|
+
card: card
|
|
12
14
|
}); };
|
|
13
15
|
exports.slateForConstructionMove = slateForConstructionMove;
|
|
14
16
|
function slateForConstruction(state, move) {
|
|
@@ -16,7 +18,7 @@ function slateForConstruction(state, move) {
|
|
|
16
18
|
if (!player)
|
|
17
19
|
return console.error('Cannot apply', move, 'on', state, ': could not find player');
|
|
18
20
|
player.draftArea = player.draftArea.filter(function (card) { return card !== move.card; });
|
|
19
|
-
player.constructionArea.push({ card: move.card, costSpaces: Array(DevelopmentDetails_1.totalCost(Developments_1.getCardDetails(move.card))).fill(null) });
|
|
21
|
+
player.constructionArea.push({ card: move.card, costSpaces: Array((0, DevelopmentDetails_1.totalCost)((0, Developments_1.getCardDetails)(move.card))).fill(null) });
|
|
20
22
|
}
|
|
21
23
|
exports.slateForConstruction = slateForConstruction;
|
|
22
24
|
function isSlateForConstruction(move) {
|
package/dist/moves/StartPhase.js
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
2
13
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
14
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
15
|
};
|
|
@@ -7,12 +18,26 @@ exports.startPhase = exports.startPhaseMove = void 0;
|
|
|
7
18
|
var Phase_1 = __importDefault(require("../Phase"));
|
|
8
19
|
var MoveType_1 = __importDefault(require("./MoveType"));
|
|
9
20
|
var startPhaseMove = function (phase) { return ({
|
|
10
|
-
type: MoveType_1.default.StartPhase,
|
|
21
|
+
type: MoveType_1.default.StartPhase,
|
|
22
|
+
phase: phase
|
|
11
23
|
}); };
|
|
12
24
|
exports.startPhaseMove = startPhaseMove;
|
|
13
25
|
function startPhase(state, move) {
|
|
26
|
+
var e_1, _a;
|
|
14
27
|
state.phase = move.phase;
|
|
15
|
-
|
|
28
|
+
try {
|
|
29
|
+
for (var _b = __values(state.players), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
30
|
+
var player = _c.value;
|
|
31
|
+
player.ready = false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
35
|
+
finally {
|
|
36
|
+
try {
|
|
37
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
38
|
+
}
|
|
39
|
+
finally { if (e_1) throw e_1.error; }
|
|
40
|
+
}
|
|
16
41
|
if (move.phase === Phase_1.default.Draft) {
|
|
17
42
|
delete state.productionStep;
|
|
18
43
|
state.round++;
|
|
@@ -6,7 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.isTellYouAreReady = exports.tellYouAreReady = exports.tellYouAreReadyMove = void 0;
|
|
7
7
|
var MoveType_1 = __importDefault(require("./MoveType"));
|
|
8
8
|
var tellYouAreReadyMove = function (playerId) { return ({
|
|
9
|
-
type: MoveType_1.default.TellYouAreReady,
|
|
9
|
+
type: MoveType_1.default.TellYouAreReady,
|
|
10
|
+
playerId: playerId
|
|
10
11
|
}); };
|
|
11
12
|
exports.tellYouAreReadyMove = tellYouAreReadyMove;
|
|
12
13
|
function tellYouAreReady(state, move) {
|
|
@@ -7,7 +7,8 @@ exports.transformIntoKrystallium = exports.transformIntoKrystalliumMove = void 0
|
|
|
7
7
|
var Resource_1 = __importDefault(require("../material/Resource"));
|
|
8
8
|
var MoveType_1 = __importDefault(require("./MoveType"));
|
|
9
9
|
var transformIntoKrystalliumMove = function (playerId) { return ({
|
|
10
|
-
type: MoveType_1.default.TransformIntoKrystallium,
|
|
10
|
+
type: MoveType_1.default.TransformIntoKrystallium,
|
|
11
|
+
playerId: playerId
|
|
11
12
|
}); };
|
|
12
13
|
exports.transformIntoKrystalliumMove = transformIntoKrystalliumMove;
|
|
13
14
|
function transformIntoKrystallium(state, move) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/its-a-wonderful-world",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.4.2",
|
|
4
4
|
"description": "It's a Wonderful World rules for Game Park",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -12,15 +12,13 @@
|
|
|
12
12
|
"publishConfig": {
|
|
13
13
|
"access": "public"
|
|
14
14
|
},
|
|
15
|
-
"
|
|
16
|
-
"@gamepark/rules-api": "~5.
|
|
15
|
+
"peerDependencies": {
|
|
16
|
+
"@gamepark/rules-api": "~5.11.2",
|
|
17
|
+
"lodash.shuffle": "^4.2.0"
|
|
17
18
|
},
|
|
18
19
|
"scripts": {
|
|
19
20
|
"build": "tsc",
|
|
20
21
|
"prepublishOnly": "tsc"
|
|
21
22
|
},
|
|
22
|
-
"
|
|
23
|
-
"i18next": "^20.2.4"
|
|
24
|
-
},
|
|
25
|
-
"gitHead": "4170488921ab807889d54bff5280e0f1f1f4e5e0"
|
|
23
|
+
"gitHead": "976b78c55eab1bb4917da4c725c0a01eb5a91d9a"
|
|
26
24
|
}
|