@gamepark/its-a-wonderful-world 2.7.0 → 2.8.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.
- package/dist/GameState.d.ts +1 -1
- package/dist/GameView.d.ts +1 -1
- package/dist/ItsAWonderfulWorld.js +13 -9
- package/dist/Options.d.ts +1 -1
- package/dist/Options.js +5 -1
- package/dist/Player.d.ts +1 -1
- package/dist/PlayerView.d.ts +1 -1
- package/dist/Production.d.ts +2 -2
- package/dist/Scoring.d.ts +4 -4
- package/dist/canUndo.d.ts +1 -1
- package/dist/material/Construction.d.ts +1 -1
- package/dist/material/DevelopmentDetails.d.ts +2 -2
- package/dist/material/Empire.d.ts +1 -1
- package/dist/moves/ChooseDevelopmentCard.d.ts +1 -1
- package/dist/moves/DealDevelopmentCards.d.ts +2 -2
- package/dist/moves/DiscardLeftoverCards.d.ts +2 -2
- package/dist/moves/Move.d.ts +1 -1
- package/dist/moves/MoveView.d.ts +1 -1
- package/dist/moves/PassCards.d.ts +2 -2
- package/dist/moves/PlaceResource.d.ts +1 -1
- package/dist/moves/PlaceResource.js +1 -1
- package/dist/moves/Produce.js +5 -1
- package/dist/moves/RevealChosenCards.d.ts +2 -2
- package/dist/moves/StartPhase.d.ts +1 -1
- package/package.json +6 -6
package/dist/GameState.d.ts
CHANGED
package/dist/GameView.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import GameState from './GameState';
|
|
|
2
2
|
import EmpireName from './material/EmpireName';
|
|
3
3
|
import Player from './Player';
|
|
4
4
|
import PlayerView from './PlayerView';
|
|
5
|
-
|
|
5
|
+
type GameView = Omit<GameState, 'deck' | 'players' | 'ascensionDeck'> & {
|
|
6
6
|
deck: number;
|
|
7
7
|
players: (Player | PlayerView)[];
|
|
8
8
|
displayedPlayer?: EmpireName;
|
|
@@ -27,7 +27,11 @@ var __assign = (this && this.__assign) || function () {
|
|
|
27
27
|
};
|
|
28
28
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
29
29
|
if (k2 === undefined) k2 = k;
|
|
30
|
-
Object.
|
|
30
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
31
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
32
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
33
|
+
}
|
|
34
|
+
Object.defineProperty(o, k2, desc);
|
|
31
35
|
}) : (function(o, m, k, k2) {
|
|
32
36
|
if (k2 === undefined) k2 = k;
|
|
33
37
|
o[k2] = m[k];
|
|
@@ -97,7 +101,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
97
101
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
98
102
|
exports.isTurnToPlay = 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;
|
|
99
103
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
100
|
-
var
|
|
104
|
+
var lodash_1 = require("lodash");
|
|
101
105
|
var canUndo_1 = __importDefault(require("./canUndo"));
|
|
102
106
|
var Character_1 = __importStar(require("./material/Character"));
|
|
103
107
|
var DevelopmentDetails_1 = require("./material/DevelopmentDetails");
|
|
@@ -137,13 +141,13 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
137
141
|
if ((0, Options_1.isGameOptions)(arg)) {
|
|
138
142
|
var setup = {
|
|
139
143
|
players: setupPlayers(arg),
|
|
140
|
-
deck: (0,
|
|
144
|
+
deck: (0, lodash_1.shuffle)(Developments_1.baseDevelopmentCardIds),
|
|
141
145
|
discard: [],
|
|
142
146
|
round: 1,
|
|
143
147
|
phase: Phase_1.default.Draft
|
|
144
148
|
};
|
|
145
149
|
if (arg.corruptionAndAscension) {
|
|
146
|
-
setup.ascensionDeck = (0,
|
|
150
|
+
setup.ascensionDeck = (0, lodash_1.shuffle)(Developments_1.ascensionDevelopmentCardIds);
|
|
147
151
|
}
|
|
148
152
|
_this = _super.call(this, setup) || this;
|
|
149
153
|
}
|
|
@@ -290,7 +294,7 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
290
294
|
ItsAWonderfulWorld.prototype.getPlayer = function (playerId) {
|
|
291
295
|
var player = this.state.players.find(function (player) { return player.empire === playerId; });
|
|
292
296
|
if (!player)
|
|
293
|
-
throw new Error(playerId
|
|
297
|
+
throw new Error("".concat(playerId, " is expected on ").concat(this.state));
|
|
294
298
|
return player;
|
|
295
299
|
};
|
|
296
300
|
ItsAWonderfulWorld.prototype.rankPlayers = function (empireA, empireB) {
|
|
@@ -361,11 +365,11 @@ var ItsAWonderfulWorld = (function (_super) {
|
|
|
361
365
|
ItsAWonderfulWorld.prototype.giveTime = function (playerId) {
|
|
362
366
|
switch (this.state.phase) {
|
|
363
367
|
case Phase_1.default.Draft:
|
|
364
|
-
return (exports.numberOfCardsToDraft - this.getPlayer(playerId).draftArea.length - 1) *
|
|
368
|
+
return (exports.numberOfCardsToDraft - this.getPlayer(playerId).draftArea.length - 1) * 10;
|
|
365
369
|
case Phase_1.default.Planning:
|
|
366
|
-
return this.state.round *
|
|
370
|
+
return 20 + this.state.round * 40;
|
|
367
371
|
case Phase_1.default.Production:
|
|
368
|
-
return
|
|
372
|
+
return 10;
|
|
369
373
|
}
|
|
370
374
|
};
|
|
371
375
|
return ItsAWonderfulWorld;
|
|
@@ -374,7 +378,7 @@ exports.default = ItsAWonderfulWorld;
|
|
|
374
378
|
function setupPlayers(options) {
|
|
375
379
|
var players = options.players;
|
|
376
380
|
var empireSide = options.empiresSide;
|
|
377
|
-
var empiresLeft = (0,
|
|
381
|
+
var empiresLeft = (0, lodash_1.shuffle)(Object.values(EmpireName_1.default).filter(function (empire) { return players.some(function (player) { return player.id === empire; }); }));
|
|
378
382
|
return players.map(function (player) { return setupPlayer(player.id || empiresLeft.pop(), empireSide); });
|
|
379
383
|
}
|
|
380
384
|
exports.setupPlayers = setupPlayers;
|
package/dist/Options.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { TFunction } from 'i18next';
|
|
|
3
3
|
import GameState from './GameState';
|
|
4
4
|
import EmpireName from './material/EmpireName';
|
|
5
5
|
import EmpireSide from './material/EmpireSide';
|
|
6
|
-
export
|
|
6
|
+
export type ItsAWonderfulWorldOptions = {
|
|
7
7
|
players: {
|
|
8
8
|
id: EmpireName;
|
|
9
9
|
}[];
|
package/dist/Options.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
package/dist/Player.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import Construction from './material/Construction';
|
|
|
3
3
|
import EmpireName from './material/EmpireName';
|
|
4
4
|
import EmpireSide from './material/EmpireSide';
|
|
5
5
|
import Resource from './material/Resource';
|
|
6
|
-
|
|
6
|
+
type Player = {
|
|
7
7
|
empire: EmpireName;
|
|
8
8
|
empireSide: EmpireSide;
|
|
9
9
|
hand: number[];
|
package/dist/PlayerView.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import DeckType from './material/DeckType';
|
|
2
2
|
import Player from './Player';
|
|
3
|
-
|
|
3
|
+
type PlayerView = Omit<Player, 'hand' | 'chosenCard' | 'cardsToPass'> & {
|
|
4
4
|
hiddenHand: DeckType[];
|
|
5
5
|
cardsToPass?: DeckType[];
|
|
6
6
|
};
|
package/dist/Production.d.ts
CHANGED
|
@@ -2,11 +2,11 @@ import DevelopmentType from './material/DevelopmentType';
|
|
|
2
2
|
import Resource from './material/Resource';
|
|
3
3
|
import Player from './Player';
|
|
4
4
|
import PlayerView from './PlayerView';
|
|
5
|
-
|
|
5
|
+
type ProductionFactor = {
|
|
6
6
|
resource: Resource;
|
|
7
7
|
factor: DevelopmentType;
|
|
8
8
|
};
|
|
9
|
-
|
|
9
|
+
type Production = Resource | {
|
|
10
10
|
[key in Resource]?: number;
|
|
11
11
|
} | ProductionFactor;
|
|
12
12
|
export default Production;
|
package/dist/Scoring.d.ts
CHANGED
|
@@ -2,13 +2,13 @@ import Character from './material/Character';
|
|
|
2
2
|
import DevelopmentType from './material/DevelopmentType';
|
|
3
3
|
import Player from './Player';
|
|
4
4
|
import PlayerView from './PlayerView';
|
|
5
|
-
export
|
|
6
|
-
export
|
|
5
|
+
export type ScoreMultiplier = DevelopmentType | Character;
|
|
6
|
+
export type ComboVictoryPoints = {
|
|
7
7
|
quantity: number;
|
|
8
8
|
per: ScoreMultiplier | ScoreMultiplier[];
|
|
9
9
|
};
|
|
10
|
-
export
|
|
11
|
-
export
|
|
10
|
+
export type VictoryPoints = number | ComboVictoryPoints;
|
|
11
|
+
export type ScoringDetails = {
|
|
12
12
|
flatVictoryPoints: number;
|
|
13
13
|
scoreMultipliers: {
|
|
14
14
|
[key in ScoreMultiplier]: number;
|
package/dist/canUndo.d.ts
CHANGED
|
@@ -4,6 +4,6 @@ import GameView from './GameView';
|
|
|
4
4
|
import EmpireName from './material/EmpireName';
|
|
5
5
|
import Move from './moves/Move';
|
|
6
6
|
import MoveView from './moves/MoveView';
|
|
7
|
-
|
|
7
|
+
type ItsAWonderfulWorldAction = Action<Move | MoveView, EmpireName>;
|
|
8
8
|
export default function canUndo(state: GameState | GameView, action: ItsAWonderfulWorldAction, consecutiveActions: ItsAWonderfulWorldAction[]): boolean;
|
|
9
9
|
export {};
|
|
@@ -4,7 +4,7 @@ import Character from './Character';
|
|
|
4
4
|
import DeckType from './DeckType';
|
|
5
5
|
import DevelopmentType from './DevelopmentType';
|
|
6
6
|
import Resource from './Resource';
|
|
7
|
-
|
|
7
|
+
type DevelopmentDetails = {
|
|
8
8
|
deck: DeckType;
|
|
9
9
|
type: DevelopmentType;
|
|
10
10
|
constructionCost: {
|
|
@@ -17,6 +17,6 @@ declare type DevelopmentDetails = {
|
|
|
17
17
|
numberOfCopies?: number;
|
|
18
18
|
};
|
|
19
19
|
export default DevelopmentDetails;
|
|
20
|
-
export
|
|
20
|
+
export type ConstructionBonus = Character | Resource.Krystallium;
|
|
21
21
|
export declare function isConstructionBonus(item: any): item is ConstructionBonus;
|
|
22
22
|
export declare function totalCost(development: DevelopmentDetails): number;
|
|
@@ -9,7 +9,7 @@ export default interface ChooseDevelopmentCard {
|
|
|
9
9
|
playerId: EmpireName;
|
|
10
10
|
card: number;
|
|
11
11
|
}
|
|
12
|
-
export
|
|
12
|
+
export type ChooseDevelopmentCardView = Omit<ChooseDevelopmentCard, 'card'>;
|
|
13
13
|
export declare const chooseDevelopmentCardMove: (playerId: EmpireName, card: number) => ChooseDevelopmentCard;
|
|
14
14
|
export declare function chooseDevelopmentCard(state: GameState | GameView, move: ChooseDevelopmentCard): void;
|
|
15
15
|
export declare function chooseDevelopmentCardInView(state: GameView, move: ChooseDevelopmentCard | ChooseDevelopmentCardView): void;
|
|
@@ -2,11 +2,11 @@ import GameState from '../GameState';
|
|
|
2
2
|
import GameView from '../GameView';
|
|
3
3
|
import EmpireName from '../material/EmpireName';
|
|
4
4
|
import MoveType from './MoveType';
|
|
5
|
-
|
|
5
|
+
type DealDevelopmentCards = {
|
|
6
6
|
type: typeof MoveType.DealDevelopmentCards;
|
|
7
7
|
};
|
|
8
8
|
export default DealDevelopmentCards;
|
|
9
|
-
export
|
|
9
|
+
export type DealDevelopmentCardsView = DealDevelopmentCards & {
|
|
10
10
|
playerCards: number[];
|
|
11
11
|
};
|
|
12
12
|
export declare const dealDevelopmentCardsMove: DealDevelopmentCards;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import GameState from '../GameState';
|
|
2
2
|
import GameView from '../GameView';
|
|
3
3
|
import MoveType from './MoveType';
|
|
4
|
-
|
|
4
|
+
type DiscardLeftoverCards = {
|
|
5
5
|
type: typeof MoveType.DiscardLeftoverCards;
|
|
6
6
|
};
|
|
7
7
|
export default DiscardLeftoverCards;
|
|
8
|
-
export
|
|
8
|
+
export type DiscardLeftoverCardsView = DiscardLeftoverCards & {
|
|
9
9
|
discardedCards: number[];
|
|
10
10
|
};
|
|
11
11
|
export declare const discardLeftOverCardsMove: DiscardLeftoverCards;
|
package/dist/moves/Move.d.ts
CHANGED
|
@@ -14,5 +14,5 @@ import SlateForConstruction from './SlateForConstruction';
|
|
|
14
14
|
import StartPhase from './StartPhase';
|
|
15
15
|
import TellYouAreReady from './TellYouAreReady';
|
|
16
16
|
import TransformIntoKrystallium from './TransformIntoKrystallium';
|
|
17
|
-
|
|
17
|
+
type Move = DealDevelopmentCards | ChooseDevelopmentCard | RevealChosenCards | PassCards | DiscardLeftoverCards | StartPhase | SlateForConstruction | Recycle | PlaceResource | CompleteConstruction | TransformIntoKrystallium | TellYouAreReady | Produce | ReceiveCharacter | PlaceCharacter | Concede;
|
|
18
18
|
export default Move;
|
package/dist/moves/MoveView.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ import DiscardLeftoverCards, { DiscardLeftoverCardsView } from './DiscardLeftove
|
|
|
4
4
|
import Move from './Move';
|
|
5
5
|
import { PassCardsView } from './PassCards';
|
|
6
6
|
import RevealChosenCards, { RevealChosenCardsView } from './RevealChosenCards';
|
|
7
|
-
|
|
7
|
+
type MoveView = Exclude<Move, RevealChosenCards | DiscardLeftoverCards> | DealDevelopmentCardsView | ChooseDevelopmentCardView | RevealChosenCardsView | PassCardsView | DiscardLeftoverCardsView;
|
|
8
8
|
export default MoveView;
|
|
@@ -4,11 +4,11 @@ import EmpireName from '../material/EmpireName';
|
|
|
4
4
|
import Move from './Move';
|
|
5
5
|
import MoveType from './MoveType';
|
|
6
6
|
import MoveView from './MoveView';
|
|
7
|
-
|
|
7
|
+
type PassCards = {
|
|
8
8
|
type: typeof MoveType.PassCards;
|
|
9
9
|
};
|
|
10
10
|
export default PassCards;
|
|
11
|
-
export
|
|
11
|
+
export type PassCardsView = PassCards & {
|
|
12
12
|
receivedCards: number[];
|
|
13
13
|
};
|
|
14
14
|
export declare const passCardsMove: PassCards;
|
|
@@ -5,7 +5,7 @@ import Resource from '../material/Resource';
|
|
|
5
5
|
import Move from './Move';
|
|
6
6
|
import MoveType from './MoveType';
|
|
7
7
|
import MoveView from './MoveView';
|
|
8
|
-
|
|
8
|
+
type PlaceResource = PlaceResourceOnEmpire | PlaceResourceOnConstruction;
|
|
9
9
|
export default PlaceResource;
|
|
10
10
|
export declare const placeResourceOnEmpireMove: (playerId: EmpireName, resource: Resource) => PlaceResourceOnEmpire;
|
|
11
11
|
export declare const placeResourceOnConstructionMove: (playerId: EmpireName, resource: Resource, card: number, space: number) => PlaceResourceOnConstruction;
|
|
@@ -44,7 +44,7 @@ function placeResource(state, move) {
|
|
|
44
44
|
construction.costSpaces[move.space] = move.resource;
|
|
45
45
|
}
|
|
46
46
|
else {
|
|
47
|
-
console.error("Expected "
|
|
47
|
+
console.error("Expected ".concat(move.card, " to be in construction, but player is in unexpected state: ").concat(JSON.stringify(player)));
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
else {
|
package/dist/moves/Produce.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
3
|
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
5
9
|
}) : (function(o, m, k, k2) {
|
|
6
10
|
if (k2 === undefined) k2 = k;
|
|
7
11
|
o[k2] = m[k];
|
|
@@ -3,11 +3,11 @@ import GameView from '../GameView';
|
|
|
3
3
|
import EmpireName from '../material/EmpireName';
|
|
4
4
|
import Move from './Move';
|
|
5
5
|
import MoveType from './MoveType';
|
|
6
|
-
|
|
6
|
+
type RevealChosenCards = {
|
|
7
7
|
type: typeof MoveType.RevealChosenCards;
|
|
8
8
|
};
|
|
9
9
|
export default RevealChosenCards;
|
|
10
|
-
export
|
|
10
|
+
export type RevealChosenCardsView = RevealChosenCards & {
|
|
11
11
|
revealedCards: {
|
|
12
12
|
[key in EmpireName]?: {
|
|
13
13
|
card: number;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/its-a-wonderful-world",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.8.0",
|
|
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",
|
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
"prepublishOnly": "tsc"
|
|
18
18
|
},
|
|
19
19
|
"peerDependencies": {
|
|
20
|
-
"@gamepark/rules-api": "
|
|
21
|
-
"lodash
|
|
20
|
+
"@gamepark/rules-api": ">=5.23",
|
|
21
|
+
"lodash": ">=4.17"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@gamepark/rules-api": "~5.23.0",
|
|
25
|
-
"@types/lodash
|
|
25
|
+
"@types/lodash": "^4.17.7",
|
|
26
26
|
"i18next": "^21.3.2",
|
|
27
|
-
"lodash
|
|
27
|
+
"lodash": "^4.17.21"
|
|
28
28
|
},
|
|
29
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "112de4ce8e9821d28f4ebd2ce4ff0a77766df4d7"
|
|
30
30
|
}
|