@gamepark/its-a-wonderful-world 3.0.12 → 3.0.13
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 +13 -14
- package/dist/GameState.js +1 -2
- package/dist/GameView.d.ts +11 -12
- package/dist/GameView.js +1 -2
- package/dist/ItsAWonderfulWorld.d.ts +59 -0
- package/dist/ItsAWonderfulWorld.js +488 -0
- package/dist/ItsAWonderfulWorldOptions.js +2 -2
- package/dist/ItsAWonderfulWorldOptions.js.map +1 -1
- package/dist/ItsAWonderfulWorldRules.d.ts.map +1 -1
- package/dist/ItsAWonderfulWorldRules.js.map +1 -1
- package/dist/Options.d.ts +15 -15
- package/dist/Options.js +76 -77
- package/dist/Phase.d.ts +6 -7
- package/dist/Phase.js +7 -8
- package/dist/Player.d.ts +24 -25
- package/dist/Player.js +1 -2
- package/dist/PlayerView.d.ts +7 -8
- package/dist/PlayerView.js +1 -2
- package/dist/Production.d.ts.map +1 -1
- package/dist/Production.js.map +1 -1
- package/dist/Scoring.d.ts.map +1 -1
- package/dist/Scoring.js +9 -12
- package/dist/Scoring.js.map +1 -1
- package/dist/canUndo.d.ts +9 -10
- package/dist/canUndo.js +57 -71
- package/dist/material/Character.d.ts +1 -1
- package/dist/material/Character.d.ts.map +1 -1
- package/dist/material/Character.js.map +1 -1
- package/dist/material/Construction.d.ts +7 -7
- package/dist/material/Construction.js +1 -2
- package/dist/material/DevelopmentDetails.d.ts +2 -2
- package/dist/material/DevelopmentDetails.d.ts.map +1 -1
- package/dist/material/Empire.d.ts +11 -12
- package/dist/material/Empire.js +1 -2
- package/dist/material/EmpireDetails.d.ts +2 -2
- package/dist/material/EmpireDetails.d.ts.map +1 -1
- package/dist/material/EmpireName.d.ts +11 -12
- package/dist/material/EmpireName.js +13 -14
- package/dist/material/Resource.d.ts +1 -1
- package/dist/material/Resource.d.ts.map +1 -1
- package/dist/material/Resource.js.map +1 -1
- package/dist/moves/ChooseDevelopmentCard.d.ts +18 -19
- package/dist/moves/ChooseDevelopmentCard.js +35 -36
- package/dist/moves/CompleteConstruction.d.ts +14 -15
- package/dist/moves/CompleteConstruction.js +21 -22
- package/dist/moves/Concede.d.ts +10 -11
- package/dist/moves/Concede.js +12 -13
- package/dist/moves/DealDevelopmentCards.d.ts +16 -17
- package/dist/moves/DealDevelopmentCards.js +86 -87
- package/dist/moves/DiscardLeftoverCards.d.ts +15 -16
- package/dist/moves/DiscardLeftoverCards.js +23 -24
- package/dist/moves/Move.d.ts +18 -19
- package/dist/moves/Move.js +1 -2
- package/dist/moves/MoveType.d.ts +19 -20
- package/dist/moves/MoveType.js +20 -21
- package/dist/moves/MoveView.d.ts +8 -9
- package/dist/moves/MoveView.js +1 -2
- package/dist/moves/PassCards.d.ts +19 -20
- package/dist/moves/PassCards.js +41 -42
- package/dist/moves/PlaceCharacter.d.ts +17 -18
- package/dist/moves/PlaceCharacter.js +14 -15
- package/dist/moves/PlaceResource.d.ts +26 -27
- package/dist/moves/PlaceResource.js +44 -45
- package/dist/moves/Produce.d.ts +13 -14
- package/dist/moves/Produce.js +56 -57
- package/dist/moves/ReceiveCharacter.d.ts +15 -16
- package/dist/moves/ReceiveCharacter.js +19 -20
- package/dist/moves/Recycle.d.ts +14 -15
- package/dist/moves/Recycle.js +24 -25
- package/dist/moves/RevealChosenCards.d.ts +23 -24
- package/dist/moves/RevealChosenCards.js +51 -52
- package/dist/moves/SlateForConstruction.d.ts +14 -15
- package/dist/moves/SlateForConstruction.js +16 -17
- package/dist/moves/StartPhase.d.ts +11 -12
- package/dist/moves/StartPhase.js +15 -16
- package/dist/moves/TellYouAreReady.d.ts +13 -14
- package/dist/moves/TellYouAreReady.js +13 -14
- package/dist/moves/TransformIntoKrystallium.d.ts +10 -11
- package/dist/moves/TransformIntoKrystallium.js +14 -15
- package/dist/rules/ChooseDevelopmentCardRule.d.ts.map +1 -1
- package/dist/rules/ChooseDevelopmentCardRule.js +1 -3
- package/dist/rules/ChooseDevelopmentCardRule.js.map +1 -1
- package/dist/rules/ConstructionRule.d.ts.map +1 -1
- package/dist/rules/ConstructionRule.js +6 -6
- package/dist/rules/ConstructionRule.js.map +1 -1
- package/dist/rules/ExplorationProductionRule.d.ts.map +1 -1
- package/dist/rules/ExplorationProductionRule.js.map +1 -1
- package/dist/typeguards.d.ts +7 -8
- package/dist/typeguards.js +9 -10
- package/package.json +13 -12
- package/LICENCE.md +0 -108
- package/dist/GameState.d.ts.map +0 -1
- package/dist/GameState.js.map +0 -1
- package/dist/GameView.d.ts.map +0 -1
- package/dist/GameView.js.map +0 -1
- package/dist/Options.d.ts.map +0 -1
- package/dist/Options.js.map +0 -1
- package/dist/Phase.d.ts.map +0 -1
- package/dist/Phase.js.map +0 -1
- package/dist/Player.d.ts.map +0 -1
- package/dist/Player.js.map +0 -1
- package/dist/PlayerView.d.ts.map +0 -1
- package/dist/PlayerView.js.map +0 -1
- package/dist/canUndo.d.ts.map +0 -1
- package/dist/canUndo.js.map +0 -1
- package/dist/material/Construction.d.ts.map +0 -1
- package/dist/material/Construction.js.map +0 -1
- package/dist/material/CorruptionAndAscensionDevelopments.d.ts +0 -15
- package/dist/material/CorruptionAndAscensionDevelopments.d.ts.map +0 -1
- package/dist/material/CorruptionAndAscensionDevelopments.js +0 -84
- package/dist/material/CorruptionAndAscensionDevelopments.js.map +0 -1
- package/dist/material/Empire.d.ts.map +0 -1
- package/dist/material/Empire.js.map +0 -1
- package/dist/material/EmpireName.d.ts.map +0 -1
- package/dist/material/EmpireName.js.map +0 -1
- package/dist/moves/ChooseDevelopmentCard.d.ts.map +0 -1
- package/dist/moves/ChooseDevelopmentCard.js.map +0 -1
- package/dist/moves/CompleteConstruction.d.ts.map +0 -1
- package/dist/moves/CompleteConstruction.js.map +0 -1
- package/dist/moves/Concede.d.ts.map +0 -1
- package/dist/moves/Concede.js.map +0 -1
- package/dist/moves/DealDevelopmentCards.d.ts.map +0 -1
- package/dist/moves/DealDevelopmentCards.js.map +0 -1
- package/dist/moves/DiscardLeftoverCards.d.ts.map +0 -1
- package/dist/moves/DiscardLeftoverCards.js.map +0 -1
- package/dist/moves/Move.d.ts.map +0 -1
- package/dist/moves/Move.js.map +0 -1
- package/dist/moves/MoveType.d.ts.map +0 -1
- package/dist/moves/MoveType.js.map +0 -1
- package/dist/moves/MoveView.d.ts.map +0 -1
- package/dist/moves/MoveView.js.map +0 -1
- package/dist/moves/PassCards.d.ts.map +0 -1
- package/dist/moves/PassCards.js.map +0 -1
- package/dist/moves/PlaceCharacter.d.ts.map +0 -1
- package/dist/moves/PlaceCharacter.js.map +0 -1
- package/dist/moves/PlaceResource.d.ts.map +0 -1
- package/dist/moves/PlaceResource.js.map +0 -1
- package/dist/moves/Produce.d.ts.map +0 -1
- package/dist/moves/Produce.js.map +0 -1
- package/dist/moves/ReceiveCharacter.d.ts.map +0 -1
- package/dist/moves/ReceiveCharacter.js.map +0 -1
- package/dist/moves/Recycle.d.ts.map +0 -1
- package/dist/moves/Recycle.js.map +0 -1
- package/dist/moves/RevealChosenCards.d.ts.map +0 -1
- package/dist/moves/RevealChosenCards.js.map +0 -1
- package/dist/moves/SlateForConstruction.d.ts.map +0 -1
- package/dist/moves/SlateForConstruction.js.map +0 -1
- package/dist/moves/StartPhase.d.ts.map +0 -1
- package/dist/moves/StartPhase.js.map +0 -1
- package/dist/moves/TellYouAreReady.d.ts.map +0 -1
- package/dist/moves/TellYouAreReady.js.map +0 -1
- package/dist/moves/TransformIntoKrystallium.d.ts.map +0 -1
- package/dist/moves/TransformIntoKrystallium.js.map +0 -1
- package/dist/typeguards.d.ts.map +0 -1
- package/dist/typeguards.js.map +0 -1
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
import { isPlayerView } from '../typeguards';
|
|
2
|
-
import MoveType from './MoveType';
|
|
3
|
-
export const discardLeftOverCardsMove = { type: MoveType.DiscardLeftoverCards };
|
|
4
|
-
export function discardLeftOverCards(state) {
|
|
5
|
-
state.players.forEach(player => state.discard.push(...player.hand.splice(0)));
|
|
6
|
-
}
|
|
7
|
-
export function discardLeftOverCardsInView(state, move) {
|
|
8
|
-
state.players.forEach(player => {
|
|
9
|
-
if (isPlayerView(player)) {
|
|
10
|
-
player.hiddenHand = [];
|
|
11
|
-
}
|
|
12
|
-
else {
|
|
13
|
-
player.hand = [];
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
state.discard.push(...move.discardedCards);
|
|
17
|
-
}
|
|
18
|
-
export function isDiscardLeftoverCardsView(move) {
|
|
19
|
-
return move.discardedCards !== undefined;
|
|
20
|
-
}
|
|
21
|
-
export function getDiscardLeftoverCardsView(state) {
|
|
22
|
-
return { type: MoveType.DiscardLeftoverCards, discardedCards: state.players.flatMap(player => player.hand) };
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=DiscardLeftoverCards.js.map
|
|
1
|
+
import { isPlayerView } from '../typeguards';
|
|
2
|
+
import MoveType from './MoveType';
|
|
3
|
+
export const discardLeftOverCardsMove = { type: MoveType.DiscardLeftoverCards };
|
|
4
|
+
export function discardLeftOverCards(state) {
|
|
5
|
+
state.players.forEach(player => state.discard.push(...player.hand.splice(0)));
|
|
6
|
+
}
|
|
7
|
+
export function discardLeftOverCardsInView(state, move) {
|
|
8
|
+
state.players.forEach(player => {
|
|
9
|
+
if (isPlayerView(player)) {
|
|
10
|
+
player.hiddenHand = [];
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
player.hand = [];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
state.discard.push(...move.discardedCards);
|
|
17
|
+
}
|
|
18
|
+
export function isDiscardLeftoverCardsView(move) {
|
|
19
|
+
return move.discardedCards !== undefined;
|
|
20
|
+
}
|
|
21
|
+
export function getDiscardLeftoverCardsView(state) {
|
|
22
|
+
return { type: MoveType.DiscardLeftoverCards, discardedCards: state.players.flatMap(player => player.hand) };
|
|
23
|
+
}
|
package/dist/moves/Move.d.ts
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import ChooseDevelopmentCard from './ChooseDevelopmentCard';
|
|
2
|
-
import CompleteConstruction from './CompleteConstruction';
|
|
3
|
-
import Concede from './Concede';
|
|
4
|
-
import DealDevelopmentCards from './DealDevelopmentCards';
|
|
5
|
-
import DiscardLeftoverCards from './DiscardLeftoverCards';
|
|
6
|
-
import PassCards from './PassCards';
|
|
7
|
-
import PlaceCharacter from './PlaceCharacter';
|
|
8
|
-
import PlaceResource from './PlaceResource';
|
|
9
|
-
import Produce from './Produce';
|
|
10
|
-
import ReceiveCharacter from './ReceiveCharacter';
|
|
11
|
-
import Recycle from './Recycle';
|
|
12
|
-
import RevealChosenCards from './RevealChosenCards';
|
|
13
|
-
import SlateForConstruction from './SlateForConstruction';
|
|
14
|
-
import StartPhase from './StartPhase';
|
|
15
|
-
import TellYouAreReady from './TellYouAreReady';
|
|
16
|
-
import TransformIntoKrystallium from './TransformIntoKrystallium';
|
|
17
|
-
type Move = DealDevelopmentCards | ChooseDevelopmentCard | RevealChosenCards | PassCards | DiscardLeftoverCards | StartPhase | SlateForConstruction | Recycle | PlaceResource | CompleteConstruction | TransformIntoKrystallium | TellYouAreReady | Produce | ReceiveCharacter | PlaceCharacter | Concede;
|
|
18
|
-
export default Move;
|
|
19
|
-
//# sourceMappingURL=Move.d.ts.map
|
|
1
|
+
import ChooseDevelopmentCard from './ChooseDevelopmentCard';
|
|
2
|
+
import CompleteConstruction from './CompleteConstruction';
|
|
3
|
+
import Concede from './Concede';
|
|
4
|
+
import DealDevelopmentCards from './DealDevelopmentCards';
|
|
5
|
+
import DiscardLeftoverCards from './DiscardLeftoverCards';
|
|
6
|
+
import PassCards from './PassCards';
|
|
7
|
+
import PlaceCharacter from './PlaceCharacter';
|
|
8
|
+
import PlaceResource from './PlaceResource';
|
|
9
|
+
import Produce from './Produce';
|
|
10
|
+
import ReceiveCharacter from './ReceiveCharacter';
|
|
11
|
+
import Recycle from './Recycle';
|
|
12
|
+
import RevealChosenCards from './RevealChosenCards';
|
|
13
|
+
import SlateForConstruction from './SlateForConstruction';
|
|
14
|
+
import StartPhase from './StartPhase';
|
|
15
|
+
import TellYouAreReady from './TellYouAreReady';
|
|
16
|
+
import TransformIntoKrystallium from './TransformIntoKrystallium';
|
|
17
|
+
type Move = DealDevelopmentCards | ChooseDevelopmentCard | RevealChosenCards | PassCards | DiscardLeftoverCards | StartPhase | SlateForConstruction | Recycle | PlaceResource | CompleteConstruction | TransformIntoKrystallium | TellYouAreReady | Produce | ReceiveCharacter | PlaceCharacter | Concede;
|
|
18
|
+
export default Move;
|
package/dist/moves/Move.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=Move.js.map
|
|
1
|
+
export {};
|
package/dist/moves/MoveType.d.ts
CHANGED
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
declare enum MoveType {
|
|
2
|
-
DealDevelopmentCards = "DEAL_DEVELOPMENT_CARDS",
|
|
3
|
-
ChooseDevelopmentCard = "CHOOSE_DEVELOPMENT_CARD",
|
|
4
|
-
RevealChosenCards = "REVEAL_CHOSEN_CARDS",
|
|
5
|
-
PassCards = "PASS_CARDS",
|
|
6
|
-
DiscardLeftoverCards = "DISCARD_LEFTOVER_CARDS",
|
|
7
|
-
StartPhase = "START_PHASE",
|
|
8
|
-
Recycle = "RECYCLE",
|
|
9
|
-
SlateForConstruction = "SLATE_FOR_CONSTRUCTION",
|
|
10
|
-
PlaceResource = "PLACE_RESOURCE",
|
|
11
|
-
CompleteConstruction = "COMPLETE_CONSTRUCTION",
|
|
12
|
-
TransformIntoKrystallium = "TRANSFORM_INTO_KRYSTALLIUM",
|
|
13
|
-
TellYouAreReady = "TELL_YOU_ARE_READY",
|
|
14
|
-
Produce = "PRODUCE",
|
|
15
|
-
ReceiveCharacter = "RECEIVE_CHARACTER",
|
|
16
|
-
PlaceCharacter = "PLACE_CHARACTER",
|
|
17
|
-
Concede = "CONCEDE"
|
|
18
|
-
}
|
|
19
|
-
export default MoveType;
|
|
20
|
-
//# sourceMappingURL=MoveType.d.ts.map
|
|
1
|
+
declare enum MoveType {
|
|
2
|
+
DealDevelopmentCards = "DEAL_DEVELOPMENT_CARDS",
|
|
3
|
+
ChooseDevelopmentCard = "CHOOSE_DEVELOPMENT_CARD",
|
|
4
|
+
RevealChosenCards = "REVEAL_CHOSEN_CARDS",
|
|
5
|
+
PassCards = "PASS_CARDS",
|
|
6
|
+
DiscardLeftoverCards = "DISCARD_LEFTOVER_CARDS",
|
|
7
|
+
StartPhase = "START_PHASE",
|
|
8
|
+
Recycle = "RECYCLE",
|
|
9
|
+
SlateForConstruction = "SLATE_FOR_CONSTRUCTION",
|
|
10
|
+
PlaceResource = "PLACE_RESOURCE",
|
|
11
|
+
CompleteConstruction = "COMPLETE_CONSTRUCTION",
|
|
12
|
+
TransformIntoKrystallium = "TRANSFORM_INTO_KRYSTALLIUM",
|
|
13
|
+
TellYouAreReady = "TELL_YOU_ARE_READY",
|
|
14
|
+
Produce = "PRODUCE",
|
|
15
|
+
ReceiveCharacter = "RECEIVE_CHARACTER",
|
|
16
|
+
PlaceCharacter = "PLACE_CHARACTER",
|
|
17
|
+
Concede = "CONCEDE"
|
|
18
|
+
}
|
|
19
|
+
export default MoveType;
|
package/dist/moves/MoveType.js
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
|
-
var MoveType;
|
|
2
|
-
(function (MoveType) {
|
|
3
|
-
MoveType["DealDevelopmentCards"] = "DEAL_DEVELOPMENT_CARDS";
|
|
4
|
-
MoveType["ChooseDevelopmentCard"] = "CHOOSE_DEVELOPMENT_CARD";
|
|
5
|
-
MoveType["RevealChosenCards"] = "REVEAL_CHOSEN_CARDS";
|
|
6
|
-
MoveType["PassCards"] = "PASS_CARDS";
|
|
7
|
-
MoveType["DiscardLeftoverCards"] = "DISCARD_LEFTOVER_CARDS";
|
|
8
|
-
MoveType["StartPhase"] = "START_PHASE";
|
|
9
|
-
MoveType["Recycle"] = "RECYCLE";
|
|
10
|
-
MoveType["SlateForConstruction"] = "SLATE_FOR_CONSTRUCTION";
|
|
11
|
-
MoveType["PlaceResource"] = "PLACE_RESOURCE";
|
|
12
|
-
MoveType["CompleteConstruction"] = "COMPLETE_CONSTRUCTION";
|
|
13
|
-
MoveType["TransformIntoKrystallium"] = "TRANSFORM_INTO_KRYSTALLIUM";
|
|
14
|
-
MoveType["TellYouAreReady"] = "TELL_YOU_ARE_READY";
|
|
15
|
-
MoveType["Produce"] = "PRODUCE";
|
|
16
|
-
MoveType["ReceiveCharacter"] = "RECEIVE_CHARACTER";
|
|
17
|
-
MoveType["PlaceCharacter"] = "PLACE_CHARACTER";
|
|
18
|
-
MoveType["Concede"] = "CONCEDE";
|
|
19
|
-
})(MoveType || (MoveType = {}));
|
|
20
|
-
export default MoveType;
|
|
21
|
-
//# sourceMappingURL=MoveType.js.map
|
|
1
|
+
var MoveType;
|
|
2
|
+
(function (MoveType) {
|
|
3
|
+
MoveType["DealDevelopmentCards"] = "DEAL_DEVELOPMENT_CARDS";
|
|
4
|
+
MoveType["ChooseDevelopmentCard"] = "CHOOSE_DEVELOPMENT_CARD";
|
|
5
|
+
MoveType["RevealChosenCards"] = "REVEAL_CHOSEN_CARDS";
|
|
6
|
+
MoveType["PassCards"] = "PASS_CARDS";
|
|
7
|
+
MoveType["DiscardLeftoverCards"] = "DISCARD_LEFTOVER_CARDS";
|
|
8
|
+
MoveType["StartPhase"] = "START_PHASE";
|
|
9
|
+
MoveType["Recycle"] = "RECYCLE";
|
|
10
|
+
MoveType["SlateForConstruction"] = "SLATE_FOR_CONSTRUCTION";
|
|
11
|
+
MoveType["PlaceResource"] = "PLACE_RESOURCE";
|
|
12
|
+
MoveType["CompleteConstruction"] = "COMPLETE_CONSTRUCTION";
|
|
13
|
+
MoveType["TransformIntoKrystallium"] = "TRANSFORM_INTO_KRYSTALLIUM";
|
|
14
|
+
MoveType["TellYouAreReady"] = "TELL_YOU_ARE_READY";
|
|
15
|
+
MoveType["Produce"] = "PRODUCE";
|
|
16
|
+
MoveType["ReceiveCharacter"] = "RECEIVE_CHARACTER";
|
|
17
|
+
MoveType["PlaceCharacter"] = "PLACE_CHARACTER";
|
|
18
|
+
MoveType["Concede"] = "CONCEDE";
|
|
19
|
+
})(MoveType || (MoveType = {}));
|
|
20
|
+
export default MoveType;
|
package/dist/moves/MoveView.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { ChooseDevelopmentCardView } from './ChooseDevelopmentCard';
|
|
2
|
-
import { DealDevelopmentCardsView } from './DealDevelopmentCards';
|
|
3
|
-
import DiscardLeftoverCards, { DiscardLeftoverCardsView } from './DiscardLeftoverCards';
|
|
4
|
-
import Move from './Move';
|
|
5
|
-
import { PassCardsView } from './PassCards';
|
|
6
|
-
import RevealChosenCards, { RevealChosenCardsView } from './RevealChosenCards';
|
|
7
|
-
type MoveView = Exclude<Move, RevealChosenCards | DiscardLeftoverCards> | DealDevelopmentCardsView | ChooseDevelopmentCardView | RevealChosenCardsView | PassCardsView | DiscardLeftoverCardsView;
|
|
8
|
-
export default MoveView;
|
|
9
|
-
//# sourceMappingURL=MoveView.d.ts.map
|
|
1
|
+
import { ChooseDevelopmentCardView } from './ChooseDevelopmentCard';
|
|
2
|
+
import { DealDevelopmentCardsView } from './DealDevelopmentCards';
|
|
3
|
+
import DiscardLeftoverCards, { DiscardLeftoverCardsView } from './DiscardLeftoverCards';
|
|
4
|
+
import Move from './Move';
|
|
5
|
+
import { PassCardsView } from './PassCards';
|
|
6
|
+
import RevealChosenCards, { RevealChosenCardsView } from './RevealChosenCards';
|
|
7
|
+
type MoveView = Exclude<Move, RevealChosenCards | DiscardLeftoverCards> | DealDevelopmentCardsView | ChooseDevelopmentCardView | RevealChosenCardsView | PassCardsView | DiscardLeftoverCardsView;
|
|
8
|
+
export default MoveView;
|
package/dist/moves/MoveView.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=MoveView.js.map
|
|
1
|
+
export {};
|
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
import GameState from '../GameState';
|
|
2
|
-
import GameView from '../GameView';
|
|
3
|
-
import EmpireName from '../material/EmpireName';
|
|
4
|
-
import Move from './Move';
|
|
5
|
-
import MoveType from './MoveType';
|
|
6
|
-
import MoveView from './MoveView';
|
|
7
|
-
type PassCards = {
|
|
8
|
-
type: typeof MoveType.PassCards;
|
|
9
|
-
};
|
|
10
|
-
export default PassCards;
|
|
11
|
-
export type PassCardsView = PassCards & {
|
|
12
|
-
receivedCards: number[];
|
|
13
|
-
};
|
|
14
|
-
export declare const passCardsMove: PassCards;
|
|
15
|
-
export declare function passCards(state: GameState): void;
|
|
16
|
-
export declare function passCardsInView(state: GameView, move: PassCards | PassCardsView): void;
|
|
17
|
-
export declare function isPassCards(move: Move | MoveView): move is (PassCards | PassCardsView);
|
|
18
|
-
export declare function isPassCardsView(move: PassCards | PassCardsView): move is PassCardsView;
|
|
19
|
-
export declare function getPassCardsView(state: GameState, playerId: EmpireName): PassCardsView;
|
|
20
|
-
//# sourceMappingURL=PassCards.d.ts.map
|
|
1
|
+
import GameState from '../GameState';
|
|
2
|
+
import GameView from '../GameView';
|
|
3
|
+
import EmpireName from '../material/EmpireName';
|
|
4
|
+
import Move from './Move';
|
|
5
|
+
import MoveType from './MoveType';
|
|
6
|
+
import MoveView from './MoveView';
|
|
7
|
+
type PassCards = {
|
|
8
|
+
type: typeof MoveType.PassCards;
|
|
9
|
+
};
|
|
10
|
+
export default PassCards;
|
|
11
|
+
export type PassCardsView = PassCards & {
|
|
12
|
+
receivedCards: number[];
|
|
13
|
+
};
|
|
14
|
+
export declare const passCardsMove: PassCards;
|
|
15
|
+
export declare function passCards(state: GameState): void;
|
|
16
|
+
export declare function passCardsInView(state: GameView, move: PassCards | PassCardsView): void;
|
|
17
|
+
export declare function isPassCards(move: Move | MoveView): move is (PassCards | PassCardsView);
|
|
18
|
+
export declare function isPassCardsView(move: PassCards | PassCardsView): move is PassCardsView;
|
|
19
|
+
export declare function getPassCardsView(state: GameState, playerId: EmpireName): PassCardsView;
|
package/dist/moves/PassCards.js
CHANGED
|
@@ -1,42 +1,41 @@
|
|
|
1
|
-
import { getCardType } from '../material/Developments';
|
|
2
|
-
import { isPlayer, isPlayerView } from '../typeguards';
|
|
3
|
-
import MoveType from './MoveType';
|
|
4
|
-
export const passCardsMove = { type: MoveType.PassCards };
|
|
5
|
-
export function passCards(state) {
|
|
6
|
-
const players = state.players.filter(player => player.cardsToPass);
|
|
7
|
-
const draftDirection = state.round % 2 ? -1 : 1;
|
|
8
|
-
for (let i = 0; i < players.length; i++) {
|
|
9
|
-
const previousPlayer = players[(i + players.length + draftDirection) % players.length];
|
|
10
|
-
players[i].hand = previousPlayer.cardsToPass;
|
|
11
|
-
}
|
|
12
|
-
players.forEach(player => delete player.cardsToPass);
|
|
13
|
-
}
|
|
14
|
-
export function passCardsInView(state, move) {
|
|
15
|
-
const players = state.players.filter(player => player.cardsToPass);
|
|
16
|
-
const draftDirection = state.round % 2 ? -1 : 1;
|
|
17
|
-
for (let i = 0; i < players.length; i++) {
|
|
18
|
-
const player = players[i];
|
|
19
|
-
if (isPlayerView(player)) {
|
|
20
|
-
const previousPlayer = players[(i + players.length + draftDirection) % players.length];
|
|
21
|
-
player.hiddenHand = isPlayer(previousPlayer) ? previousPlayer.cardsToPass.map(getCardType) : previousPlayer.cardsToPass;
|
|
22
|
-
}
|
|
23
|
-
else if (isPassCardsView(move)) {
|
|
24
|
-
player.hand = move.receivedCards;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
players.forEach(player => delete player.cardsToPass);
|
|
28
|
-
}
|
|
29
|
-
export function isPassCards(move) {
|
|
30
|
-
return move.type === MoveType.PassCards;
|
|
31
|
-
}
|
|
32
|
-
export function isPassCardsView(move) {
|
|
33
|
-
return move.receivedCards !== undefined;
|
|
34
|
-
}
|
|
35
|
-
export function getPassCardsView(state, playerId) {
|
|
36
|
-
const players = state.players.filter(player => player.cardsToPass);
|
|
37
|
-
const playerIndex = players.findIndex(player => player.empire === playerId);
|
|
38
|
-
const draftDirection = state.round % 2 ? -1 : 1;
|
|
39
|
-
const playerPassingCards = players[(playerIndex + players.length + draftDirection) % players.length];
|
|
40
|
-
return { type: MoveType.PassCards, receivedCards: playerPassingCards.cardsToPass };
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=PassCards.js.map
|
|
1
|
+
import { getCardType } from '../material/Developments';
|
|
2
|
+
import { isPlayer, isPlayerView } from '../typeguards';
|
|
3
|
+
import MoveType from './MoveType';
|
|
4
|
+
export const passCardsMove = { type: MoveType.PassCards };
|
|
5
|
+
export function passCards(state) {
|
|
6
|
+
const players = state.players.filter(player => player.cardsToPass);
|
|
7
|
+
const draftDirection = state.round % 2 ? -1 : 1;
|
|
8
|
+
for (let i = 0; i < players.length; i++) {
|
|
9
|
+
const previousPlayer = players[(i + players.length + draftDirection) % players.length];
|
|
10
|
+
players[i].hand = previousPlayer.cardsToPass;
|
|
11
|
+
}
|
|
12
|
+
players.forEach(player => delete player.cardsToPass);
|
|
13
|
+
}
|
|
14
|
+
export function passCardsInView(state, move) {
|
|
15
|
+
const players = state.players.filter(player => player.cardsToPass);
|
|
16
|
+
const draftDirection = state.round % 2 ? -1 : 1;
|
|
17
|
+
for (let i = 0; i < players.length; i++) {
|
|
18
|
+
const player = players[i];
|
|
19
|
+
if (isPlayerView(player)) {
|
|
20
|
+
const previousPlayer = players[(i + players.length + draftDirection) % players.length];
|
|
21
|
+
player.hiddenHand = isPlayer(previousPlayer) ? previousPlayer.cardsToPass.map(getCardType) : previousPlayer.cardsToPass;
|
|
22
|
+
}
|
|
23
|
+
else if (isPassCardsView(move)) {
|
|
24
|
+
player.hand = move.receivedCards;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
players.forEach(player => delete player.cardsToPass);
|
|
28
|
+
}
|
|
29
|
+
export function isPassCards(move) {
|
|
30
|
+
return move.type === MoveType.PassCards;
|
|
31
|
+
}
|
|
32
|
+
export function isPassCardsView(move) {
|
|
33
|
+
return move.receivedCards !== undefined;
|
|
34
|
+
}
|
|
35
|
+
export function getPassCardsView(state, playerId) {
|
|
36
|
+
const players = state.players.filter(player => player.cardsToPass);
|
|
37
|
+
const playerIndex = players.findIndex(player => player.empire === playerId);
|
|
38
|
+
const draftDirection = state.round % 2 ? -1 : 1;
|
|
39
|
+
const playerPassingCards = players[(playerIndex + players.length + draftDirection) % players.length];
|
|
40
|
+
return { type: MoveType.PassCards, receivedCards: playerPassingCards.cardsToPass };
|
|
41
|
+
}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
import GameState from '../GameState';
|
|
2
|
-
import GameView from '../GameView';
|
|
3
|
-
import Character from '../material/Character';
|
|
4
|
-
import EmpireName from '../material/EmpireName';
|
|
5
|
-
import Move from './Move';
|
|
6
|
-
import MoveType from './MoveType';
|
|
7
|
-
import MoveView from './MoveView';
|
|
8
|
-
export default interface PlaceCharacter {
|
|
9
|
-
type: typeof MoveType.PlaceCharacter;
|
|
10
|
-
playerId: EmpireName;
|
|
11
|
-
character: Character;
|
|
12
|
-
card: number;
|
|
13
|
-
space: number;
|
|
14
|
-
}
|
|
15
|
-
export declare const placeCharacterMove: (playerId: EmpireName, character: Character, card: number, space: number) => PlaceCharacter;
|
|
16
|
-
export declare function placeCharacter(state: GameState | GameView, move: PlaceCharacter): void;
|
|
17
|
-
export declare function isPlaceCharacter(move: Move | MoveView): move is PlaceCharacter;
|
|
18
|
-
//# sourceMappingURL=PlaceCharacter.d.ts.map
|
|
1
|
+
import GameState from '../GameState';
|
|
2
|
+
import GameView from '../GameView';
|
|
3
|
+
import Character from '../material/Character';
|
|
4
|
+
import EmpireName from '../material/EmpireName';
|
|
5
|
+
import Move from './Move';
|
|
6
|
+
import MoveType from './MoveType';
|
|
7
|
+
import MoveView from './MoveView';
|
|
8
|
+
export default interface PlaceCharacter {
|
|
9
|
+
type: typeof MoveType.PlaceCharacter;
|
|
10
|
+
playerId: EmpireName;
|
|
11
|
+
character: Character;
|
|
12
|
+
card: number;
|
|
13
|
+
space: number;
|
|
14
|
+
}
|
|
15
|
+
export declare const placeCharacterMove: (playerId: EmpireName, character: Character, card: number, space: number) => PlaceCharacter;
|
|
16
|
+
export declare function placeCharacter(state: GameState | GameView, move: PlaceCharacter): void;
|
|
17
|
+
export declare function isPlaceCharacter(move: Move | MoveView): move is PlaceCharacter;
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import MoveType from './MoveType';
|
|
2
|
-
export const placeCharacterMove = (playerId, character, card, space) => ({
|
|
3
|
-
type: MoveType.PlaceCharacter, playerId, character, card, space
|
|
4
|
-
});
|
|
5
|
-
export function placeCharacter(state, move) {
|
|
6
|
-
const player = state.players.find(player => player.empire === move.playerId);
|
|
7
|
-
if (!player)
|
|
8
|
-
return console.error('Cannot apply', move, 'on', state, ': could not find player');
|
|
9
|
-
player.characters[move.character]--;
|
|
10
|
-
player.constructionArea.find(construction => construction.card === move.card).costSpaces[move.space] = move.character;
|
|
11
|
-
}
|
|
12
|
-
export function isPlaceCharacter(move) {
|
|
13
|
-
return move.type === MoveType.PlaceCharacter;
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=PlaceCharacter.js.map
|
|
1
|
+
import MoveType from './MoveType';
|
|
2
|
+
export const placeCharacterMove = (playerId, character, card, space) => ({
|
|
3
|
+
type: MoveType.PlaceCharacter, playerId, character, card, space
|
|
4
|
+
});
|
|
5
|
+
export function placeCharacter(state, move) {
|
|
6
|
+
const player = state.players.find(player => player.empire === move.playerId);
|
|
7
|
+
if (!player)
|
|
8
|
+
return console.error('Cannot apply', move, 'on', state, ': could not find player');
|
|
9
|
+
player.characters[move.character]--;
|
|
10
|
+
player.constructionArea.find(construction => construction.card === move.card).costSpaces[move.space] = move.character;
|
|
11
|
+
}
|
|
12
|
+
export function isPlaceCharacter(move) {
|
|
13
|
+
return move.type === MoveType.PlaceCharacter;
|
|
14
|
+
}
|
|
@@ -1,27 +1,26 @@
|
|
|
1
|
-
import GameState from '../GameState';
|
|
2
|
-
import GameView from '../GameView';
|
|
3
|
-
import EmpireName from '../material/EmpireName';
|
|
4
|
-
import Resource from '../material/Resource';
|
|
5
|
-
import Move from './Move';
|
|
6
|
-
import MoveType from './MoveType';
|
|
7
|
-
import MoveView from './MoveView';
|
|
8
|
-
type PlaceResource = PlaceResourceOnEmpire | PlaceResourceOnConstruction;
|
|
9
|
-
export default PlaceResource;
|
|
10
|
-
export declare const placeResourceOnEmpireMove: (playerId: EmpireName, resource: Resource) => PlaceResourceOnEmpire;
|
|
11
|
-
export declare const placeResourceOnConstructionMove: (playerId: EmpireName, resource: Resource, card: number, space: number) => PlaceResourceOnConstruction;
|
|
12
|
-
export declare function isPlaceResource(move: Move | MoveView): move is PlaceResource;
|
|
13
|
-
export declare function placeResource(state: GameState | GameView, move: PlaceResource): void;
|
|
14
|
-
export interface PlaceResourceOnEmpire {
|
|
15
|
-
type: typeof MoveType.PlaceResource;
|
|
16
|
-
playerId: EmpireName;
|
|
17
|
-
resource: Resource;
|
|
18
|
-
}
|
|
19
|
-
export interface PlaceResourceOnConstruction {
|
|
20
|
-
type: typeof MoveType.PlaceResource;
|
|
21
|
-
playerId: EmpireName;
|
|
22
|
-
resource: Resource;
|
|
23
|
-
card: number;
|
|
24
|
-
space: number;
|
|
25
|
-
}
|
|
26
|
-
export declare function isPlaceResourceOnConstruction(move: Move | MoveView): move is PlaceResourceOnConstruction;
|
|
27
|
-
//# sourceMappingURL=PlaceResource.d.ts.map
|
|
1
|
+
import GameState from '../GameState';
|
|
2
|
+
import GameView from '../GameView';
|
|
3
|
+
import EmpireName from '../material/EmpireName';
|
|
4
|
+
import Resource from '../material/Resource';
|
|
5
|
+
import Move from './Move';
|
|
6
|
+
import MoveType from './MoveType';
|
|
7
|
+
import MoveView from './MoveView';
|
|
8
|
+
type PlaceResource = PlaceResourceOnEmpire | PlaceResourceOnConstruction;
|
|
9
|
+
export default PlaceResource;
|
|
10
|
+
export declare const placeResourceOnEmpireMove: (playerId: EmpireName, resource: Resource) => PlaceResourceOnEmpire;
|
|
11
|
+
export declare const placeResourceOnConstructionMove: (playerId: EmpireName, resource: Resource, card: number, space: number) => PlaceResourceOnConstruction;
|
|
12
|
+
export declare function isPlaceResource(move: Move | MoveView): move is PlaceResource;
|
|
13
|
+
export declare function placeResource(state: GameState | GameView, move: PlaceResource): void;
|
|
14
|
+
export interface PlaceResourceOnEmpire {
|
|
15
|
+
type: typeof MoveType.PlaceResource;
|
|
16
|
+
playerId: EmpireName;
|
|
17
|
+
resource: Resource;
|
|
18
|
+
}
|
|
19
|
+
export interface PlaceResourceOnConstruction {
|
|
20
|
+
type: typeof MoveType.PlaceResource;
|
|
21
|
+
playerId: EmpireName;
|
|
22
|
+
resource: Resource;
|
|
23
|
+
card: number;
|
|
24
|
+
space: number;
|
|
25
|
+
}
|
|
26
|
+
export declare function isPlaceResourceOnConstruction(move: Move | MoveView): move is PlaceResourceOnConstruction;
|
|
@@ -1,45 +1,44 @@
|
|
|
1
|
-
import Resource from '../material/Resource';
|
|
2
|
-
import MoveType from './MoveType';
|
|
3
|
-
export const placeResourceOnEmpireMove = (playerId, resource) => ({
|
|
4
|
-
type: MoveType.PlaceResource, playerId, resource
|
|
5
|
-
});
|
|
6
|
-
export const placeResourceOnConstructionMove = (playerId, resource, card, space) => ({
|
|
7
|
-
type: MoveType.PlaceResource, playerId, resource, card, space
|
|
8
|
-
});
|
|
9
|
-
export function isPlaceResource(move) {
|
|
10
|
-
return move.type === MoveType.PlaceResource;
|
|
11
|
-
}
|
|
12
|
-
export function placeResource(state, move) {
|
|
13
|
-
const player = state.players.find(player => player.empire === move.playerId);
|
|
14
|
-
if (!player)
|
|
15
|
-
return console.error('Cannot apply', move, 'on', state, ': could not find player');
|
|
16
|
-
const bonusIndex = player.bonuses.findIndex(bonus => bonus === move.resource);
|
|
17
|
-
if (bonusIndex !== -1) {
|
|
18
|
-
player.bonuses.splice(bonusIndex, 1);
|
|
19
|
-
}
|
|
20
|
-
else if (move.resource !== Resource.Krystallium) {
|
|
21
|
-
player.availableResources.splice(player.availableResources.indexOf(move.resource), 1);
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
player.empireCardResources.splice(player.empireCardResources.indexOf(move.resource), 1);
|
|
25
|
-
}
|
|
26
|
-
if (isPlaceResourceOnConstruction(move)) {
|
|
27
|
-
const construction = player.constructionArea.find(construction => construction.card === move.card);
|
|
28
|
-
if (construction) {
|
|
29
|
-
construction.costSpaces[move.space] = move.resource;
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
console.error(`Expected ${move.card} to be in construction, but player is in unexpected state: ${JSON.stringify(player)}`);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
player.empireCardResources.push(move.resource);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
export function isPlaceResourceOnConstruction(move) {
|
|
40
|
-
if (!isPlaceResource(move)) {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
return move.card !== undefined && move.space !== undefined;
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=PlaceResource.js.map
|
|
1
|
+
import Resource from '../material/Resource';
|
|
2
|
+
import MoveType from './MoveType';
|
|
3
|
+
export const placeResourceOnEmpireMove = (playerId, resource) => ({
|
|
4
|
+
type: MoveType.PlaceResource, playerId, resource
|
|
5
|
+
});
|
|
6
|
+
export const placeResourceOnConstructionMove = (playerId, resource, card, space) => ({
|
|
7
|
+
type: MoveType.PlaceResource, playerId, resource, card, space
|
|
8
|
+
});
|
|
9
|
+
export function isPlaceResource(move) {
|
|
10
|
+
return move.type === MoveType.PlaceResource;
|
|
11
|
+
}
|
|
12
|
+
export function placeResource(state, move) {
|
|
13
|
+
const player = state.players.find(player => player.empire === move.playerId);
|
|
14
|
+
if (!player)
|
|
15
|
+
return console.error('Cannot apply', move, 'on', state, ': could not find player');
|
|
16
|
+
const bonusIndex = player.bonuses.findIndex(bonus => bonus === move.resource);
|
|
17
|
+
if (bonusIndex !== -1) {
|
|
18
|
+
player.bonuses.splice(bonusIndex, 1);
|
|
19
|
+
}
|
|
20
|
+
else if (move.resource !== Resource.Krystallium) {
|
|
21
|
+
player.availableResources.splice(player.availableResources.indexOf(move.resource), 1);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
player.empireCardResources.splice(player.empireCardResources.indexOf(move.resource), 1);
|
|
25
|
+
}
|
|
26
|
+
if (isPlaceResourceOnConstruction(move)) {
|
|
27
|
+
const construction = player.constructionArea.find(construction => construction.card === move.card);
|
|
28
|
+
if (construction) {
|
|
29
|
+
construction.costSpaces[move.space] = move.resource;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
console.error(`Expected ${move.card} to be in construction, but player is in unexpected state: ${JSON.stringify(player)}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
player.empireCardResources.push(move.resource);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export function isPlaceResourceOnConstruction(move) {
|
|
40
|
+
if (!isPlaceResource(move)) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
return move.card !== undefined && move.space !== undefined;
|
|
44
|
+
}
|
package/dist/moves/Produce.d.ts
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import GameState from '../GameState';
|
|
2
|
-
import GameView from '../GameView';
|
|
3
|
-
import Resource from '../material/Resource';
|
|
4
|
-
import Move from './Move';
|
|
5
|
-
import MoveType from './MoveType';
|
|
6
|
-
import MoveView from './MoveView';
|
|
7
|
-
export default interface Produce {
|
|
8
|
-
type: typeof MoveType.Produce;
|
|
9
|
-
resource: Resource;
|
|
10
|
-
}
|
|
11
|
-
export declare const produceMove: (resource: Resource) => Produce;
|
|
12
|
-
export declare function produce(state: GameState | GameView, move: Produce): void;
|
|
13
|
-
export declare function isProduce(move: Move | MoveView): move is Produce;
|
|
14
|
-
//# sourceMappingURL=Produce.d.ts.map
|
|
1
|
+
import GameState from '../GameState';
|
|
2
|
+
import GameView from '../GameView';
|
|
3
|
+
import Resource from '../material/Resource';
|
|
4
|
+
import Move from './Move';
|
|
5
|
+
import MoveType from './MoveType';
|
|
6
|
+
import MoveView from './MoveView';
|
|
7
|
+
export default interface Produce {
|
|
8
|
+
type: typeof MoveType.Produce;
|
|
9
|
+
resource: Resource;
|
|
10
|
+
}
|
|
11
|
+
export declare const produceMove: (resource: Resource) => Produce;
|
|
12
|
+
export declare function produce(state: GameState | GameView, move: Produce): void;
|
|
13
|
+
export declare function isProduce(move: Move | MoveView): move is Produce;
|