@gamepark/zenith 0.0.1
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/PlayerId.d.ts +1 -0
- package/dist/PlayerId.js +2 -0
- package/dist/TeamColor.d.ts +9 -0
- package/dist/TeamColor.js +16 -0
- package/dist/ZenithOptions.d.ts +5 -0
- package/dist/ZenithOptions.js +4 -0
- package/dist/ZenithRules.d.ts +68 -0
- package/dist/ZenithRules.js +128 -0
- package/dist/ZenithSetup.d.ts +24 -0
- package/dist/ZenithSetup.js +316 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +9 -0
- package/dist/material/Agent.d.ts +93 -0
- package/dist/material/Agent.js +98 -0
- package/dist/material/Agents.d.ts +102 -0
- package/dist/material/Agents.js +2305 -0
- package/dist/material/Bonus.d.ts +12 -0
- package/dist/material/Bonus.js +34 -0
- package/dist/material/Bonuses.d.ts +14 -0
- package/dist/material/Bonuses.js +63 -0
- package/dist/material/Credit.d.ts +6 -0
- package/dist/material/Credit.js +11 -0
- package/dist/material/Faction.d.ts +6 -0
- package/dist/material/Faction.js +11 -0
- package/dist/material/Influence.d.ts +8 -0
- package/dist/material/Influence.js +13 -0
- package/dist/material/LocationType.d.ts +23 -0
- package/dist/material/LocationType.js +27 -0
- package/dist/material/MaterialType.d.ts +12 -0
- package/dist/material/MaterialType.js +16 -0
- package/dist/material/effect/Effect.d.ts +144 -0
- package/dist/material/effect/Effect.js +14 -0
- package/dist/material/effect/EffectType.d.ts +23 -0
- package/dist/material/effect/EffectType.js +27 -0
- package/dist/rules/CustomMoveType.d.ts +8 -0
- package/dist/rules/CustomMoveType.js +12 -0
- package/dist/rules/DiscardActionRule.d.ts +8 -0
- package/dist/rules/DiscardActionRule.js +84 -0
- package/dist/rules/Memory.d.ts +25 -0
- package/dist/rules/Memory.js +19 -0
- package/dist/rules/MulliganRule.d.ts +12 -0
- package/dist/rules/MulliganRule.js +138 -0
- package/dist/rules/PlayCardRule.d.ts +15 -0
- package/dist/rules/PlayCardRule.js +147 -0
- package/dist/rules/RefillRule.d.ts +17 -0
- package/dist/rules/RefillRule.js +211 -0
- package/dist/rules/RuleId.d.ts +27 -0
- package/dist/rules/RuleId.js +31 -0
- package/dist/rules/discard-action/DiplomacyActions.d.ts +3 -0
- package/dist/rules/discard-action/DiplomacyActions.js +39 -0
- package/dist/rules/discard-action/DiplomacyBoardRule.d.ts +9 -0
- package/dist/rules/discard-action/DiplomacyBoardRule.js +68 -0
- package/dist/rules/discard-action/TechnologyActions.d.ts +3 -0
- package/dist/rules/discard-action/TechnologyActions.js +187 -0
- package/dist/rules/discard-action/TechnologyBoardRule.d.ts +8 -0
- package/dist/rules/discard-action/TechnologyBoardRule.js +109 -0
- package/dist/rules/effect/ChoiceRule.d.ts +12 -0
- package/dist/rules/effect/ChoiceRule.js +91 -0
- package/dist/rules/effect/ConditionalRule.d.ts +17 -0
- package/dist/rules/effect/ConditionalRule.js +197 -0
- package/dist/rules/effect/DevelopTechnologyRule.d.ts +11 -0
- package/dist/rules/effect/DevelopTechnologyRule.js +133 -0
- package/dist/rules/effect/DiscardRule.d.ts +18 -0
- package/dist/rules/effect/DiscardRule.js +107 -0
- package/dist/rules/effect/EffectRule.d.ts +27 -0
- package/dist/rules/effect/EffectRule.js +161 -0
- package/dist/rules/effect/ExileRule.d.ts +22 -0
- package/dist/rules/effect/ExileRule.js +182 -0
- package/dist/rules/effect/GiveCreditRule.d.ts +13 -0
- package/dist/rules/effect/GiveCreditRule.js +79 -0
- package/dist/rules/effect/GiveInfluenceRule.d.ts +10 -0
- package/dist/rules/effect/GiveInfluenceRule.js +119 -0
- package/dist/rules/effect/GiveLeaderBadgeRule.d.ts +9 -0
- package/dist/rules/effect/GiveLeaderBadgeRule.js +54 -0
- package/dist/rules/effect/GiveZenithiumRule.d.ts +9 -0
- package/dist/rules/effect/GiveZenithiumRule.js +85 -0
- package/dist/rules/effect/MobilizeRule.d.ts +18 -0
- package/dist/rules/effect/MobilizeRule.js +117 -0
- package/dist/rules/effect/ResetInfluenceRule.d.ts +9 -0
- package/dist/rules/effect/ResetInfluenceRule.js +63 -0
- package/dist/rules/effect/SpendCreditRule.d.ts +16 -0
- package/dist/rules/effect/SpendCreditRule.js +109 -0
- package/dist/rules/effect/SpendZenithiumRule.d.ts +17 -0
- package/dist/rules/effect/SpendZenithiumRule.js +116 -0
- package/dist/rules/effect/StealCreditRule.d.ts +7 -0
- package/dist/rules/effect/StealCreditRule.js +67 -0
- package/dist/rules/effect/TakeBonusRule.d.ts +11 -0
- package/dist/rules/effect/TakeBonusRule.js +98 -0
- package/dist/rules/effect/TakeLeaderBadgeRule.d.ts +9 -0
- package/dist/rules/effect/TakeLeaderBadgeRule.js +102 -0
- package/dist/rules/effect/TakeTechnologyBonusTokenRule.d.ts +11 -0
- package/dist/rules/effect/TakeTechnologyBonusTokenRule.js +122 -0
- package/dist/rules/effect/TransferRule.d.ts +19 -0
- package/dist/rules/effect/TransferRule.js +104 -0
- package/dist/rules/effect/WinCreditRule.d.ts +13 -0
- package/dist/rules/effect/WinCreditRule.js +142 -0
- package/dist/rules/effect/WinInfluenceRule.d.ts +23 -0
- package/dist/rules/effect/WinInfluenceRule.js +328 -0
- package/dist/rules/effect/WinZenithiumRule.d.ts +9 -0
- package/dist/rules/effect/WinZenithiumRule.js +92 -0
- package/dist/rules/effect/index.d.ts +19 -0
- package/dist/rules/effect/index.js +35 -0
- package/dist/rules/helper/BonusHelper.d.ts +15 -0
- package/dist/rules/helper/BonusHelper.js +86 -0
- package/dist/rules/helper/CreditHelper.d.ts +9 -0
- package/dist/rules/helper/CreditHelper.js +45 -0
- package/dist/rules/helper/EffectHelper.d.ts +16 -0
- package/dist/rules/helper/EffectHelper.js +133 -0
- package/dist/rules/helper/EffectRuleIds.d.ts +3 -0
- package/dist/rules/helper/EffectRuleIds.js +29 -0
- package/dist/rules/helper/EndGameHelper.d.ts +13 -0
- package/dist/rules/helper/EndGameHelper.js +70 -0
- package/dist/rules/helper/InfluenceHelper.d.ts +13 -0
- package/dist/rules/helper/InfluenceHelper.js +47 -0
- package/dist/rules/helper/MobilizeHelper.d.ts +10 -0
- package/dist/rules/helper/MobilizeHelper.js +56 -0
- package/dist/rules/helper/PlanetHelper.d.ts +19 -0
- package/dist/rules/helper/PlanetHelper.js +104 -0
- package/dist/rules/helper/PlayerHelper.d.ts +12 -0
- package/dist/rules/helper/PlayerHelper.js +61 -0
- package/dist/rules/helper/TechnologyHelper.d.ts +4 -0
- package/dist/rules/helper/TechnologyHelper.js +96 -0
- package/dist/rules/helper/ZenithiumHelper.d.ts +10 -0
- package/dist/rules/helper/ZenithiumHelper.js +59 -0
- package/package.json +33 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare enum Bonus {
|
|
2
|
+
Exile2OpponentCards = 1,
|
|
3
|
+
Mobilize2 = 2,
|
|
4
|
+
TakeLeaderBadge = 3,
|
|
5
|
+
Transfer = 4,
|
|
6
|
+
Win1Zenithium = 5,
|
|
7
|
+
Win3Credits = 6,
|
|
8
|
+
Win4Credits = 7,
|
|
9
|
+
WinInfluence = 8
|
|
10
|
+
}
|
|
11
|
+
export declare const allBonuses: Bonus[];
|
|
12
|
+
export declare const bonuses: Bonus[];
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.bonuses = exports.allBonuses = exports.Bonus = void 0;
|
|
4
|
+
var rules_api_1 = require("@gamepark/rules-api");
|
|
5
|
+
var Bonus;
|
|
6
|
+
(function (Bonus) {
|
|
7
|
+
Bonus[Bonus["Exile2OpponentCards"] = 1] = "Exile2OpponentCards";
|
|
8
|
+
Bonus[Bonus["Mobilize2"] = 2] = "Mobilize2";
|
|
9
|
+
Bonus[Bonus["TakeLeaderBadge"] = 3] = "TakeLeaderBadge";
|
|
10
|
+
Bonus[Bonus["Transfer"] = 4] = "Transfer";
|
|
11
|
+
Bonus[Bonus["Win1Zenithium"] = 5] = "Win1Zenithium";
|
|
12
|
+
Bonus[Bonus["Win3Credits"] = 6] = "Win3Credits";
|
|
13
|
+
Bonus[Bonus["Win4Credits"] = 7] = "Win4Credits";
|
|
14
|
+
Bonus[Bonus["WinInfluence"] = 8] = "WinInfluence";
|
|
15
|
+
})(Bonus || (exports.Bonus = Bonus = {}));
|
|
16
|
+
exports.allBonuses = [
|
|
17
|
+
Bonus.WinInfluence,
|
|
18
|
+
Bonus.WinInfluence,
|
|
19
|
+
Bonus.WinInfluence,
|
|
20
|
+
Bonus.WinInfluence,
|
|
21
|
+
Bonus.Win3Credits,
|
|
22
|
+
Bonus.Win3Credits,
|
|
23
|
+
Bonus.Win4Credits,
|
|
24
|
+
Bonus.Win4Credits,
|
|
25
|
+
Bonus.Win1Zenithium,
|
|
26
|
+
Bonus.Win1Zenithium,
|
|
27
|
+
Bonus.Win1Zenithium,
|
|
28
|
+
Bonus.Exile2OpponentCards,
|
|
29
|
+
Bonus.Mobilize2,
|
|
30
|
+
Bonus.Transfer,
|
|
31
|
+
Bonus.TakeLeaderBadge,
|
|
32
|
+
Bonus.TakeLeaderBadge
|
|
33
|
+
];
|
|
34
|
+
exports.bonuses = (0, rules_api_1.getEnumValues)(Bonus);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Bonus } from './Bonus';
|
|
2
|
+
import { Effect } from './effect/Effect';
|
|
3
|
+
export type BonusDescription = {
|
|
4
|
+
effect: Effect;
|
|
5
|
+
};
|
|
6
|
+
export declare const Exile2OpponentCards: BonusDescription;
|
|
7
|
+
export declare const Mobilize2: BonusDescription;
|
|
8
|
+
export declare const TakeLeaderBadge: BonusDescription;
|
|
9
|
+
export declare const Transfer: BonusDescription;
|
|
10
|
+
export declare const Win1Zenithium: BonusDescription;
|
|
11
|
+
export declare const Win3Credit: BonusDescription;
|
|
12
|
+
export declare const Win4Credits: BonusDescription;
|
|
13
|
+
export declare const WinInfluence: BonusDescription;
|
|
14
|
+
export declare const Bonuses: Record<Bonus, BonusDescription>;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.Bonuses = exports.WinInfluence = exports.Win4Credits = exports.Win3Credit = exports.Win1Zenithium = exports.Transfer = exports.TakeLeaderBadge = exports.Mobilize2 = exports.Exile2OpponentCards = void 0;
|
|
5
|
+
var Bonus_1 = require("./Bonus");
|
|
6
|
+
var EffectType_1 = require("./effect/EffectType");
|
|
7
|
+
exports.Exile2OpponentCards = {
|
|
8
|
+
effect: {
|
|
9
|
+
type: EffectType_1.EffectType.Exile,
|
|
10
|
+
quantity: 2,
|
|
11
|
+
opponent: true
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
exports.Mobilize2 = {
|
|
15
|
+
effect: {
|
|
16
|
+
type: EffectType_1.EffectType.Mobilize,
|
|
17
|
+
quantity: 2
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
exports.TakeLeaderBadge = {
|
|
21
|
+
effect: {
|
|
22
|
+
type: EffectType_1.EffectType.TakeLeaderBadge
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.Transfer = {
|
|
26
|
+
effect: {
|
|
27
|
+
type: EffectType_1.EffectType.Transfer
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
exports.Win1Zenithium = {
|
|
31
|
+
effect: {
|
|
32
|
+
type: EffectType_1.EffectType.WinZenithium,
|
|
33
|
+
quantity: 1
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
exports.Win3Credit = {
|
|
37
|
+
effect: {
|
|
38
|
+
type: EffectType_1.EffectType.WinCredit,
|
|
39
|
+
quantity: 3
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
exports.Win4Credits = {
|
|
43
|
+
effect: {
|
|
44
|
+
type: EffectType_1.EffectType.WinCredit,
|
|
45
|
+
quantity: 4
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
exports.WinInfluence = {
|
|
49
|
+
effect: {
|
|
50
|
+
type: EffectType_1.EffectType.WinInfluence,
|
|
51
|
+
quantity: 1
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
exports.Bonuses = (_a = {},
|
|
55
|
+
_a[Bonus_1.Bonus.Exile2OpponentCards] = exports.Exile2OpponentCards,
|
|
56
|
+
_a[Bonus_1.Bonus.Mobilize2] = exports.Mobilize2,
|
|
57
|
+
_a[Bonus_1.Bonus.TakeLeaderBadge] = exports.TakeLeaderBadge,
|
|
58
|
+
_a[Bonus_1.Bonus.Transfer] = exports.Transfer,
|
|
59
|
+
_a[Bonus_1.Bonus.Win1Zenithium] = exports.Win1Zenithium,
|
|
60
|
+
_a[Bonus_1.Bonus.Win3Credits] = exports.Win3Credit,
|
|
61
|
+
_a[Bonus_1.Bonus.Win4Credits] = exports.Win4Credits,
|
|
62
|
+
_a[Bonus_1.Bonus.WinInfluence] = exports.WinInfluence,
|
|
63
|
+
_a);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.credits = exports.Credit = void 0;
|
|
4
|
+
var rules_api_1 = require("@gamepark/rules-api");
|
|
5
|
+
var Credit;
|
|
6
|
+
(function (Credit) {
|
|
7
|
+
Credit[Credit["Credit1"] = 1] = "Credit1";
|
|
8
|
+
Credit[Credit["Credit3"] = 3] = "Credit3";
|
|
9
|
+
Credit[Credit["Credit5"] = 5] = "Credit5";
|
|
10
|
+
})(Credit || (exports.Credit = Credit = {}));
|
|
11
|
+
exports.credits = (0, rules_api_1.getEnumValues)(Credit);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.factions = exports.Faction = void 0;
|
|
4
|
+
var rules_api_1 = require("@gamepark/rules-api");
|
|
5
|
+
var Faction;
|
|
6
|
+
(function (Faction) {
|
|
7
|
+
Faction[Faction["Animod"] = 1] = "Animod";
|
|
8
|
+
Faction[Faction["Human"] = 2] = "Human";
|
|
9
|
+
Faction[Faction["Robot"] = 3] = "Robot";
|
|
10
|
+
})(Faction || (exports.Faction = Faction = {}));
|
|
11
|
+
exports.factions = (0, rules_api_1.getEnumValues)(Faction);
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.influences = exports.Influence = void 0;
|
|
4
|
+
var rules_api_1 = require("@gamepark/rules-api");
|
|
5
|
+
var Influence;
|
|
6
|
+
(function (Influence) {
|
|
7
|
+
Influence[Influence["Mercury"] = 1] = "Mercury";
|
|
8
|
+
Influence[Influence["Venus"] = 2] = "Venus";
|
|
9
|
+
Influence[Influence["Terra"] = 3] = "Terra";
|
|
10
|
+
Influence[Influence["Mars"] = 4] = "Mars";
|
|
11
|
+
Influence[Influence["Jupiter"] = 5] = "Jupiter";
|
|
12
|
+
})(Influence || (exports.Influence = Influence = {}));
|
|
13
|
+
exports.influences = (0, rules_api_1.getEnumValues)(Influence);
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare enum LocationType {
|
|
2
|
+
PlanetBoardPlace = 1,
|
|
3
|
+
TechnologyBoardPlace = 2,
|
|
4
|
+
DiplomacyBoardPlace = 3,
|
|
5
|
+
PlanetBoardInfluenceDiscSpace = 4,
|
|
6
|
+
TechnologyBoardTokenSpace = 5,
|
|
7
|
+
AgentDeck = 6,
|
|
8
|
+
PlayerHand = 7,
|
|
9
|
+
AgentDiscard = 8,
|
|
10
|
+
DiplomacyBoardLeaderBadgeSpace = 9,
|
|
11
|
+
Influence = 10,
|
|
12
|
+
TeamCredit = 11,
|
|
13
|
+
TeamZenithium = 12,
|
|
14
|
+
TeamLeaderBadge = 13,
|
|
15
|
+
BonusTokenStock = 14,
|
|
16
|
+
PlanetBoardBonusSpace = 15,
|
|
17
|
+
TechnologyBoardBonusSpace = 16,
|
|
18
|
+
TeamPlanets = 17,
|
|
19
|
+
InfluenceDiscStock = 18,
|
|
20
|
+
ZenithiumStock = 19,
|
|
21
|
+
CreditStock = 20,
|
|
22
|
+
BonusDiscard = 21
|
|
23
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LocationType = void 0;
|
|
4
|
+
var LocationType;
|
|
5
|
+
(function (LocationType) {
|
|
6
|
+
LocationType[LocationType["PlanetBoardPlace"] = 1] = "PlanetBoardPlace";
|
|
7
|
+
LocationType[LocationType["TechnologyBoardPlace"] = 2] = "TechnologyBoardPlace";
|
|
8
|
+
LocationType[LocationType["DiplomacyBoardPlace"] = 3] = "DiplomacyBoardPlace";
|
|
9
|
+
LocationType[LocationType["PlanetBoardInfluenceDiscSpace"] = 4] = "PlanetBoardInfluenceDiscSpace";
|
|
10
|
+
LocationType[LocationType["TechnologyBoardTokenSpace"] = 5] = "TechnologyBoardTokenSpace";
|
|
11
|
+
LocationType[LocationType["AgentDeck"] = 6] = "AgentDeck";
|
|
12
|
+
LocationType[LocationType["PlayerHand"] = 7] = "PlayerHand";
|
|
13
|
+
LocationType[LocationType["AgentDiscard"] = 8] = "AgentDiscard";
|
|
14
|
+
LocationType[LocationType["DiplomacyBoardLeaderBadgeSpace"] = 9] = "DiplomacyBoardLeaderBadgeSpace";
|
|
15
|
+
LocationType[LocationType["Influence"] = 10] = "Influence";
|
|
16
|
+
LocationType[LocationType["TeamCredit"] = 11] = "TeamCredit";
|
|
17
|
+
LocationType[LocationType["TeamZenithium"] = 12] = "TeamZenithium";
|
|
18
|
+
LocationType[LocationType["TeamLeaderBadge"] = 13] = "TeamLeaderBadge";
|
|
19
|
+
LocationType[LocationType["BonusTokenStock"] = 14] = "BonusTokenStock";
|
|
20
|
+
LocationType[LocationType["PlanetBoardBonusSpace"] = 15] = "PlanetBoardBonusSpace";
|
|
21
|
+
LocationType[LocationType["TechnologyBoardBonusSpace"] = 16] = "TechnologyBoardBonusSpace";
|
|
22
|
+
LocationType[LocationType["TeamPlanets"] = 17] = "TeamPlanets";
|
|
23
|
+
LocationType[LocationType["InfluenceDiscStock"] = 18] = "InfluenceDiscStock";
|
|
24
|
+
LocationType[LocationType["ZenithiumStock"] = 19] = "ZenithiumStock";
|
|
25
|
+
LocationType[LocationType["CreditStock"] = 20] = "CreditStock";
|
|
26
|
+
LocationType[LocationType["BonusDiscard"] = 21] = "BonusDiscard";
|
|
27
|
+
})(LocationType || (exports.LocationType = LocationType = {}));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MaterialType = void 0;
|
|
4
|
+
var MaterialType;
|
|
5
|
+
(function (MaterialType) {
|
|
6
|
+
MaterialType[MaterialType["AgentCard"] = 1] = "AgentCard";
|
|
7
|
+
MaterialType[MaterialType["TechnologyBoard"] = 2] = "TechnologyBoard";
|
|
8
|
+
MaterialType[MaterialType["PlanetBoard"] = 3] = "PlanetBoard";
|
|
9
|
+
MaterialType[MaterialType["DiplomacyBoard"] = 4] = "DiplomacyBoard";
|
|
10
|
+
MaterialType[MaterialType["InfluenceDisc"] = 5] = "InfluenceDisc";
|
|
11
|
+
MaterialType[MaterialType["TechMarker"] = 6] = "TechMarker";
|
|
12
|
+
MaterialType[MaterialType["ZenithiumToken"] = 7] = "ZenithiumToken";
|
|
13
|
+
MaterialType[MaterialType["CreditToken"] = 8] = "CreditToken";
|
|
14
|
+
MaterialType[MaterialType["BonusToken"] = 9] = "BonusToken";
|
|
15
|
+
MaterialType[MaterialType["LeaderBadgeToken"] = 10] = "LeaderBadgeToken";
|
|
16
|
+
})(MaterialType || (exports.MaterialType = MaterialType = {}));
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { Faction } from '../Faction';
|
|
2
|
+
import { Influence } from '../Influence';
|
|
3
|
+
import { MaterialType } from '../MaterialType';
|
|
4
|
+
import { EffectType } from './EffectType';
|
|
5
|
+
export declare enum ConditionType {
|
|
6
|
+
DoEffect = 0,
|
|
7
|
+
Leader = 1,
|
|
8
|
+
HaveCredits = 2
|
|
9
|
+
}
|
|
10
|
+
export type LeaderCondition = {
|
|
11
|
+
type: ConditionType.Leader;
|
|
12
|
+
};
|
|
13
|
+
export type HaveCreditsCondition = {
|
|
14
|
+
type: ConditionType.HaveCredits;
|
|
15
|
+
min: number;
|
|
16
|
+
};
|
|
17
|
+
export type DoEffectCondition = {
|
|
18
|
+
type: ConditionType.DoEffect;
|
|
19
|
+
effect: Effect;
|
|
20
|
+
};
|
|
21
|
+
export type Condition = DoEffectCondition | LeaderCondition | HaveCreditsCondition;
|
|
22
|
+
export type ConditionalEffect = {
|
|
23
|
+
type: EffectType.Conditional;
|
|
24
|
+
mandatory?: boolean;
|
|
25
|
+
condition: Condition;
|
|
26
|
+
effect: Effect;
|
|
27
|
+
};
|
|
28
|
+
export type SpendCreditEffect = {
|
|
29
|
+
type: EffectType.SpendCredit;
|
|
30
|
+
factors: number[];
|
|
31
|
+
quantities: number[];
|
|
32
|
+
quantity?: number;
|
|
33
|
+
};
|
|
34
|
+
export type SpendZenithiumEffect = {
|
|
35
|
+
type: EffectType.SpendZenithium;
|
|
36
|
+
factors: number[];
|
|
37
|
+
quantities: number[];
|
|
38
|
+
quantity?: number;
|
|
39
|
+
};
|
|
40
|
+
export type WinCreditEffect = {
|
|
41
|
+
type: EffectType.WinCredit;
|
|
42
|
+
quantity?: number;
|
|
43
|
+
factorPerDifferentOpponentInfluence?: number;
|
|
44
|
+
factorPerDifferentInfluence?: number;
|
|
45
|
+
perLevel1Technology?: number[];
|
|
46
|
+
opponent?: boolean;
|
|
47
|
+
};
|
|
48
|
+
export type GiveCreditEffect = {
|
|
49
|
+
type: EffectType.GiveCredit;
|
|
50
|
+
quantity: number;
|
|
51
|
+
};
|
|
52
|
+
export type StealCreditEffect = {
|
|
53
|
+
type: EffectType.StealCredit;
|
|
54
|
+
quantity: number;
|
|
55
|
+
};
|
|
56
|
+
export type TransferEffect = {
|
|
57
|
+
type: EffectType.Transfer;
|
|
58
|
+
influence?: Influence;
|
|
59
|
+
quantity?: number;
|
|
60
|
+
};
|
|
61
|
+
export type WinZenithiumEffect = {
|
|
62
|
+
type: EffectType.WinZenithium;
|
|
63
|
+
quantity?: number;
|
|
64
|
+
opponent?: boolean;
|
|
65
|
+
perLevel1Technology?: number[];
|
|
66
|
+
};
|
|
67
|
+
export type TakeBonusEffect = {
|
|
68
|
+
type: EffectType.TakeBonus;
|
|
69
|
+
visible?: boolean;
|
|
70
|
+
};
|
|
71
|
+
export type GiveZenithiumEffect = {
|
|
72
|
+
type: EffectType.GiveZenithium;
|
|
73
|
+
quantity?: number;
|
|
74
|
+
};
|
|
75
|
+
export type ExileEffect = {
|
|
76
|
+
type: EffectType.Exile;
|
|
77
|
+
factors?: number[];
|
|
78
|
+
quantity?: number;
|
|
79
|
+
except?: Influence;
|
|
80
|
+
quantities?: number[];
|
|
81
|
+
opponent?: boolean;
|
|
82
|
+
influence?: Influence;
|
|
83
|
+
};
|
|
84
|
+
export type WinInfluenceEffect = {
|
|
85
|
+
type: EffectType.WinInfluence;
|
|
86
|
+
except?: Influence;
|
|
87
|
+
influence?: Influence;
|
|
88
|
+
quantity?: number;
|
|
89
|
+
pattern?: number[];
|
|
90
|
+
times?: number;
|
|
91
|
+
resetDifferentPlanet?: boolean;
|
|
92
|
+
differentPlanet?: boolean;
|
|
93
|
+
fromCenter?: boolean;
|
|
94
|
+
opponentSide?: boolean;
|
|
95
|
+
};
|
|
96
|
+
export type GiveInfluenceEffect = {
|
|
97
|
+
type: EffectType.GiveInfluence;
|
|
98
|
+
except?: Influence;
|
|
99
|
+
};
|
|
100
|
+
export type ResetInfluenceEffect = {
|
|
101
|
+
type: EffectType.ResetInfluence;
|
|
102
|
+
};
|
|
103
|
+
export type DevelopTechnologyEffect = {
|
|
104
|
+
type: EffectType.DevelopTechnology;
|
|
105
|
+
free?: boolean;
|
|
106
|
+
lowest?: boolean;
|
|
107
|
+
discount?: number;
|
|
108
|
+
faction?: Faction;
|
|
109
|
+
optional?: boolean;
|
|
110
|
+
};
|
|
111
|
+
export type GiveLeaderBadgeEffect = {
|
|
112
|
+
type: EffectType.GiveLeaderBadge;
|
|
113
|
+
};
|
|
114
|
+
export type TakeLeaderBadgeEffect = {
|
|
115
|
+
type: EffectType.TakeLeaderBadge;
|
|
116
|
+
gold?: boolean;
|
|
117
|
+
};
|
|
118
|
+
export type DiscardEffect = {
|
|
119
|
+
type: EffectType.Discard;
|
|
120
|
+
full?: boolean;
|
|
121
|
+
};
|
|
122
|
+
export type MobilizeEffect = {
|
|
123
|
+
type: EffectType.Mobilize;
|
|
124
|
+
quantity?: number;
|
|
125
|
+
};
|
|
126
|
+
export type ChoiceEffect = {
|
|
127
|
+
type: EffectType.Choice;
|
|
128
|
+
left: Effect;
|
|
129
|
+
right: Effect;
|
|
130
|
+
};
|
|
131
|
+
export type TakeTechnologyBonusToken = {
|
|
132
|
+
type: EffectType.TakeTechnologyBonusToken;
|
|
133
|
+
faction: Faction;
|
|
134
|
+
x: number;
|
|
135
|
+
};
|
|
136
|
+
export type Effect = ConditionalEffect | WinCreditEffect | SpendCreditEffect | GiveCreditEffect | TransferEffect | WinZenithiumEffect | GiveZenithiumEffect | SpendZenithiumEffect | StealCreditEffect | ExileEffect | WinInfluenceEffect | GiveInfluenceEffect | ResetInfluenceEffect | DevelopTechnologyEffect | GiveLeaderBadgeEffect | TakeLeaderBadgeEffect | DiscardEffect | MobilizeEffect | ChoiceEffect | TakeBonusEffect | TakeTechnologyBonusToken;
|
|
137
|
+
export type ExpandedEffect<T extends Effect = Effect> = T & {
|
|
138
|
+
effectSource: {
|
|
139
|
+
type: MaterialType;
|
|
140
|
+
value: unknown;
|
|
141
|
+
};
|
|
142
|
+
};
|
|
143
|
+
export declare const isSpendZenithium: (effect: Effect) => effect is SpendZenithiumEffect;
|
|
144
|
+
export declare const isDoEffect: (condition: Condition) => condition is DoEffectCondition;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isDoEffect = exports.isSpendZenithium = exports.ConditionType = void 0;
|
|
4
|
+
var EffectType_1 = require("./EffectType");
|
|
5
|
+
var ConditionType;
|
|
6
|
+
(function (ConditionType) {
|
|
7
|
+
ConditionType[ConditionType["DoEffect"] = 0] = "DoEffect";
|
|
8
|
+
ConditionType[ConditionType["Leader"] = 1] = "Leader";
|
|
9
|
+
ConditionType[ConditionType["HaveCredits"] = 2] = "HaveCredits";
|
|
10
|
+
})(ConditionType || (exports.ConditionType = ConditionType = {}));
|
|
11
|
+
var isSpendZenithium = function (effect) { return effect.type === EffectType_1.EffectType.SpendZenithium; };
|
|
12
|
+
exports.isSpendZenithium = isSpendZenithium;
|
|
13
|
+
var isDoEffect = function (condition) { return condition.type === ConditionType.DoEffect; };
|
|
14
|
+
exports.isDoEffect = isDoEffect;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare enum EffectType {
|
|
2
|
+
Transfer = 1,
|
|
3
|
+
GiveCredit = 2,
|
|
4
|
+
WinCredit = 3,
|
|
5
|
+
SpendCredit = 4,
|
|
6
|
+
Conditional = 5,
|
|
7
|
+
WinZenithium = 6,
|
|
8
|
+
GiveZenithium = 7,
|
|
9
|
+
Exile = 8,
|
|
10
|
+
WinInfluence = 9,
|
|
11
|
+
GiveInfluence = 10,
|
|
12
|
+
ResetInfluence = 11,
|
|
13
|
+
DevelopTechnology = 12,
|
|
14
|
+
GiveLeaderBadge = 13,
|
|
15
|
+
TakeLeaderBadge = 14,
|
|
16
|
+
Discard = 15,
|
|
17
|
+
Mobilize = 16,
|
|
18
|
+
Choice = 17,
|
|
19
|
+
TakeBonus = 18,
|
|
20
|
+
StealCredit = 19,
|
|
21
|
+
SpendZenithium = 20,
|
|
22
|
+
TakeTechnologyBonusToken = 21
|
|
23
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EffectType = void 0;
|
|
4
|
+
var EffectType;
|
|
5
|
+
(function (EffectType) {
|
|
6
|
+
EffectType[EffectType["Transfer"] = 1] = "Transfer";
|
|
7
|
+
EffectType[EffectType["GiveCredit"] = 2] = "GiveCredit";
|
|
8
|
+
EffectType[EffectType["WinCredit"] = 3] = "WinCredit";
|
|
9
|
+
EffectType[EffectType["SpendCredit"] = 4] = "SpendCredit";
|
|
10
|
+
EffectType[EffectType["Conditional"] = 5] = "Conditional";
|
|
11
|
+
EffectType[EffectType["WinZenithium"] = 6] = "WinZenithium";
|
|
12
|
+
EffectType[EffectType["GiveZenithium"] = 7] = "GiveZenithium";
|
|
13
|
+
EffectType[EffectType["Exile"] = 8] = "Exile";
|
|
14
|
+
EffectType[EffectType["WinInfluence"] = 9] = "WinInfluence";
|
|
15
|
+
EffectType[EffectType["GiveInfluence"] = 10] = "GiveInfluence";
|
|
16
|
+
EffectType[EffectType["ResetInfluence"] = 11] = "ResetInfluence";
|
|
17
|
+
EffectType[EffectType["DevelopTechnology"] = 12] = "DevelopTechnology";
|
|
18
|
+
EffectType[EffectType["GiveLeaderBadge"] = 13] = "GiveLeaderBadge";
|
|
19
|
+
EffectType[EffectType["TakeLeaderBadge"] = 14] = "TakeLeaderBadge";
|
|
20
|
+
EffectType[EffectType["Discard"] = 15] = "Discard";
|
|
21
|
+
EffectType[EffectType["Mobilize"] = 16] = "Mobilize";
|
|
22
|
+
EffectType[EffectType["Choice"] = 17] = "Choice";
|
|
23
|
+
EffectType[EffectType["TakeBonus"] = 18] = "TakeBonus";
|
|
24
|
+
EffectType[EffectType["StealCredit"] = 19] = "StealCredit";
|
|
25
|
+
EffectType[EffectType["SpendZenithium"] = 20] = "SpendZenithium";
|
|
26
|
+
EffectType[EffectType["TakeTechnologyBonusToken"] = 21] = "TakeTechnologyBonusToken";
|
|
27
|
+
})(EffectType || (exports.EffectType = EffectType = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomMoveType = void 0;
|
|
4
|
+
var CustomMoveType;
|
|
5
|
+
(function (CustomMoveType) {
|
|
6
|
+
CustomMoveType[CustomMoveType["Pass"] = 1] = "Pass";
|
|
7
|
+
CustomMoveType[CustomMoveType["Diplomacy"] = 2] = "Diplomacy";
|
|
8
|
+
CustomMoveType[CustomMoveType["DoCondition"] = 3] = "DoCondition";
|
|
9
|
+
CustomMoveType[CustomMoveType["SpendCredit"] = 4] = "SpendCredit";
|
|
10
|
+
CustomMoveType[CustomMoveType["Choice"] = 5] = "Choice";
|
|
11
|
+
CustomMoveType[CustomMoveType["WinCreditLog"] = 6] = "WinCreditLog";
|
|
12
|
+
})(CustomMoveType || (exports.CustomMoveType = CustomMoveType = {}));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CustomMove, ItemMove, MaterialMove, PlayerTurnRule } from '@gamepark/rules-api';
|
|
2
|
+
import { RuleId } from './RuleId';
|
|
3
|
+
export declare class DiscardActionRule extends PlayerTurnRule {
|
|
4
|
+
getPlayerMoves(): MaterialMove[];
|
|
5
|
+
beforeItemMove(move: ItemMove): MaterialMove<number, number, number, number>[];
|
|
6
|
+
afterItemMove(move: ItemMove): MaterialMove[];
|
|
7
|
+
onCustomMove(move: CustomMove): import("@gamepark/rules-api").StartRule<RuleId>[];
|
|
8
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
18
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
19
|
+
if (!m) return o;
|
|
20
|
+
var i = m.call(o), r, ar = [], e;
|
|
21
|
+
try {
|
|
22
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
23
|
+
}
|
|
24
|
+
catch (error) { e = { error: error }; }
|
|
25
|
+
finally {
|
|
26
|
+
try {
|
|
27
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
28
|
+
}
|
|
29
|
+
finally { if (e) throw e.error; }
|
|
30
|
+
}
|
|
31
|
+
return ar;
|
|
32
|
+
};
|
|
33
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
34
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
35
|
+
if (ar || !(i in from)) {
|
|
36
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
37
|
+
ar[i] = from[i];
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
41
|
+
};
|
|
42
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
|
+
exports.DiscardActionRule = void 0;
|
|
44
|
+
var rules_api_1 = require("@gamepark/rules-api");
|
|
45
|
+
var MaterialType_1 = require("../material/MaterialType");
|
|
46
|
+
var CustomMoveType_1 = require("./CustomMoveType");
|
|
47
|
+
var DiplomacyBoardRule_1 = require("./discard-action/DiplomacyBoardRule");
|
|
48
|
+
var TechnologyBoardRule_1 = require("./discard-action/TechnologyBoardRule");
|
|
49
|
+
var RuleId_1 = require("./RuleId");
|
|
50
|
+
var DiscardActionRule = (function (_super) {
|
|
51
|
+
__extends(DiscardActionRule, _super);
|
|
52
|
+
function DiscardActionRule() {
|
|
53
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
54
|
+
}
|
|
55
|
+
DiscardActionRule.prototype.getPlayerMoves = function () {
|
|
56
|
+
var moves = [];
|
|
57
|
+
moves.push.apply(moves, __spreadArray([], __read(new TechnologyBoardRule_1.TechnologyBoardRule(this.game).getPlayerMoves()), false));
|
|
58
|
+
moves.push.apply(moves, __spreadArray([], __read(new DiplomacyBoardRule_1.DiplomacyBoardRule(this.game).getPlayerMoves()), false));
|
|
59
|
+
if (!moves.length) {
|
|
60
|
+
moves.push(this.startPlayerTurn(RuleId_1.RuleId.PlayCard, this.nextPlayer));
|
|
61
|
+
}
|
|
62
|
+
return moves;
|
|
63
|
+
};
|
|
64
|
+
DiscardActionRule.prototype.beforeItemMove = function (move) {
|
|
65
|
+
if ((0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.TechMarker)(move)) {
|
|
66
|
+
return new TechnologyBoardRule_1.TechnologyBoardRule(this.game).beforeItemMove(move);
|
|
67
|
+
}
|
|
68
|
+
return [];
|
|
69
|
+
};
|
|
70
|
+
DiscardActionRule.prototype.afterItemMove = function (move) {
|
|
71
|
+
if ((0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.TechMarker)(move)) {
|
|
72
|
+
return new TechnologyBoardRule_1.TechnologyBoardRule(this.game).afterItemMove(move);
|
|
73
|
+
}
|
|
74
|
+
return [];
|
|
75
|
+
};
|
|
76
|
+
DiscardActionRule.prototype.onCustomMove = function (move) {
|
|
77
|
+
if ((0, rules_api_1.isCustomMoveType)(CustomMoveType_1.CustomMoveType.Diplomacy)(move)) {
|
|
78
|
+
return new DiplomacyBoardRule_1.DiplomacyBoardRule(this.game).onCustomMove(move);
|
|
79
|
+
}
|
|
80
|
+
return [];
|
|
81
|
+
};
|
|
82
|
+
return DiscardActionRule;
|
|
83
|
+
}(rules_api_1.PlayerTurnRule));
|
|
84
|
+
exports.DiscardActionRule = DiscardActionRule;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Influence } from '../material/Influence';
|
|
2
|
+
import { MaterialType } from '../material/MaterialType';
|
|
3
|
+
export declare enum Memory {
|
|
4
|
+
Mulligan = 1,
|
|
5
|
+
TurnOrder = 2,
|
|
6
|
+
DiscardFaction = 3,
|
|
7
|
+
Effects = 4,
|
|
8
|
+
LastPlanetsMoved = 5,
|
|
9
|
+
CantPass = 6,
|
|
10
|
+
AlreadyPlayedPlayers = 7,
|
|
11
|
+
Pattern = 8,
|
|
12
|
+
CardPlayed = 9,
|
|
13
|
+
Credit = 10,
|
|
14
|
+
Zenithium = 11,
|
|
15
|
+
CurrentEffect = 12,
|
|
16
|
+
WonBonus = 13
|
|
17
|
+
}
|
|
18
|
+
export type PatternType = {
|
|
19
|
+
influence: Influence;
|
|
20
|
+
count: number;
|
|
21
|
+
};
|
|
22
|
+
export type EffectSourceType = {
|
|
23
|
+
type: MaterialType;
|
|
24
|
+
value: unknown;
|
|
25
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Memory = void 0;
|
|
4
|
+
var Memory;
|
|
5
|
+
(function (Memory) {
|
|
6
|
+
Memory[Memory["Mulligan"] = 1] = "Mulligan";
|
|
7
|
+
Memory[Memory["TurnOrder"] = 2] = "TurnOrder";
|
|
8
|
+
Memory[Memory["DiscardFaction"] = 3] = "DiscardFaction";
|
|
9
|
+
Memory[Memory["Effects"] = 4] = "Effects";
|
|
10
|
+
Memory[Memory["LastPlanetsMoved"] = 5] = "LastPlanetsMoved";
|
|
11
|
+
Memory[Memory["CantPass"] = 6] = "CantPass";
|
|
12
|
+
Memory[Memory["AlreadyPlayedPlayers"] = 7] = "AlreadyPlayedPlayers";
|
|
13
|
+
Memory[Memory["Pattern"] = 8] = "Pattern";
|
|
14
|
+
Memory[Memory["CardPlayed"] = 9] = "CardPlayed";
|
|
15
|
+
Memory[Memory["Credit"] = 10] = "Credit";
|
|
16
|
+
Memory[Memory["Zenithium"] = 11] = "Zenithium";
|
|
17
|
+
Memory[Memory["CurrentEffect"] = 12] = "CurrentEffect";
|
|
18
|
+
Memory[Memory["WonBonus"] = 13] = "WonBonus";
|
|
19
|
+
})(Memory || (exports.Memory = Memory = {}));
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CustomMove, MaterialMove, MoveItem, SimultaneousRule } from '@gamepark/rules-api';
|
|
2
|
+
import { PlayerId } from '../PlayerId';
|
|
3
|
+
export declare class MulliganRule extends SimultaneousRule {
|
|
4
|
+
getActivePlayerLegalMoves(player: PlayerId): MaterialMove[];
|
|
5
|
+
onCustomMove(move: CustomMove): MaterialMove[];
|
|
6
|
+
getMulliganCount(player: PlayerId): number;
|
|
7
|
+
get deck(): import("@gamepark/rules-api").MaterialDeck<number, number, number>;
|
|
8
|
+
beforeItemMove(move: MoveItem): never[];
|
|
9
|
+
getHand(playerId: PlayerId): import("@gamepark/rules-api").Material<number, number, number>;
|
|
10
|
+
getMovesAfterPlayersDone(): MaterialMove[];
|
|
11
|
+
get turnOrder(): PlayerId[];
|
|
12
|
+
}
|