@gamepark/mythologies 0.3.0 → 0.3.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/Memory.d.ts +6 -7
- package/dist/Memory.js +6 -7
- package/dist/MythologiesRules.d.ts +2 -1
- package/dist/MythologiesRules.js +9 -1
- package/dist/rules/ChooseDraftTokenRule.js +1 -1
- package/dist/rules/PlaceTokenRule.d.ts +0 -1
- package/dist/rules/PlaceTokenRule.js +1 -8
- package/dist/rules/effects/SupayEffectRule.d.ts +1 -0
- package/dist/rules/effects/SupayEffectRule.js +3 -0
- package/package.json +2 -2
package/dist/Memory.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
export declare enum Memory {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
PlayerGrid = 7,
|
|
2
|
+
TrialFailure = 1,
|
|
3
|
+
PendingEffects = 2,
|
|
4
|
+
PendingRule = 3,
|
|
5
|
+
OngoingEffect = 4,
|
|
6
|
+
OncePerTurn = 5,
|
|
7
|
+
PlayerGrid = 6,
|
|
9
8
|
OdinTargetMythology = 10,
|
|
10
9
|
FenrirPaid1 = 11,
|
|
11
10
|
AnubisInvoke1 = 12,
|
package/dist/Memory.js
CHANGED
|
@@ -3,13 +3,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Memory = void 0;
|
|
4
4
|
var Memory;
|
|
5
5
|
(function (Memory) {
|
|
6
|
-
Memory[Memory["
|
|
7
|
-
Memory[Memory["
|
|
8
|
-
Memory[Memory["
|
|
9
|
-
Memory[Memory["
|
|
10
|
-
Memory[Memory["
|
|
11
|
-
Memory[Memory["
|
|
12
|
-
Memory[Memory["PlayerGrid"] = 7] = "PlayerGrid";
|
|
6
|
+
Memory[Memory["TrialFailure"] = 1] = "TrialFailure";
|
|
7
|
+
Memory[Memory["PendingEffects"] = 2] = "PendingEffects";
|
|
8
|
+
Memory[Memory["PendingRule"] = 3] = "PendingRule";
|
|
9
|
+
Memory[Memory["OngoingEffect"] = 4] = "OngoingEffect";
|
|
10
|
+
Memory[Memory["OncePerTurn"] = 5] = "OncePerTurn";
|
|
11
|
+
Memory[Memory["PlayerGrid"] = 6] = "PlayerGrid";
|
|
13
12
|
Memory[Memory["OdinTargetMythology"] = 10] = "OdinTargetMythology";
|
|
14
13
|
Memory[Memory["FenrirPaid1"] = 11] = "FenrirPaid1";
|
|
15
14
|
Memory[Memory["AnubisInvoke1"] = 12] = "AnubisInvoke1";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CompetitiveScore, CustomMove, FillGapStrategy, ItemMove, MaterialGame, MaterialItem, MaterialMove, PositiveSequenceStrategy, SecretMaterialRules, StackingStrategy, TimeLimit } from '@gamepark/rules-api';
|
|
1
|
+
import { CompetitiveScore, CustomMove, FillGapStrategy, ItemMove, MaterialGame, MaterialItem, MaterialMove, MoveItem, PositiveSequenceStrategy, SecretMaterialRules, StackingStrategy, TimeLimit } from '@gamepark/rules-api';
|
|
2
2
|
import { LocationType } from './material/LocationType';
|
|
3
3
|
import { MaterialType } from './material/MaterialType';
|
|
4
4
|
import { PlayerColor } from './PlayerColor';
|
|
@@ -128,6 +128,7 @@ export declare class MythologiesRules extends SecretMaterialRules<PlayerColor, M
|
|
|
128
128
|
};
|
|
129
129
|
};
|
|
130
130
|
keepMoveSecret(move: MaterialMove): boolean;
|
|
131
|
+
isPlayerDestiny(move: MoveItem): boolean;
|
|
131
132
|
beforeItemMove(move: ItemMove): never[];
|
|
132
133
|
protected onCustomMove(move: CustomMove): MaterialMove<number, number, number, number>[];
|
|
133
134
|
getAutomaticMoves(): MaterialMove<number, number, number, number>[];
|
package/dist/MythologiesRules.js
CHANGED
|
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.MythologiesRules = void 0;
|
|
19
19
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
20
20
|
var CustomMoveType_1 = require("./CustomMoveType");
|
|
21
|
+
var Destiny_1 = require("./material/Destiny");
|
|
21
22
|
var Entity_1 = require("./material/Entity");
|
|
22
23
|
var Effect_1 = require("./material/entity/Effect");
|
|
23
24
|
var LocationType_1 = require("./material/LocationType");
|
|
@@ -158,9 +159,16 @@ var MythologiesRules = (function (_super) {
|
|
|
158
159
|
return _this;
|
|
159
160
|
}
|
|
160
161
|
MythologiesRules.prototype.keepMoveSecret = function (move) {
|
|
162
|
+
var _a;
|
|
161
163
|
return ((0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.DraftToken)(move) &&
|
|
162
164
|
move.location.type === LocationType_1.LocationType.OnEntityCard &&
|
|
163
|
-
|
|
165
|
+
((_a = this.game.rule) === null || _a === void 0 ? void 0 : _a.id) === RuleId_1.RuleId.PlaceToken &&
|
|
166
|
+
this.isPlayerDestiny(move));
|
|
167
|
+
};
|
|
168
|
+
MythologiesRules.prototype.isPlayerDestiny = function (move) {
|
|
169
|
+
var player = this.material(MaterialType_1.MaterialType.DraftToken).getItem(move.itemIndex).id.back;
|
|
170
|
+
var entity = this.material(MaterialType_1.MaterialType.EntityCard).getItem(move.location.parent);
|
|
171
|
+
return new Destiny_1.Destiny(this.game).getMythologyBoard(player).getIndex() === entity.location.parent;
|
|
164
172
|
};
|
|
165
173
|
MythologiesRules.prototype.beforeItemMove = function (move) {
|
|
166
174
|
if (!this.game.rule)
|
|
@@ -58,7 +58,7 @@ var ChooseDraftTokenRule = (function (_super) {
|
|
|
58
58
|
.location(LocationType_1.LocationType.PlayerHand)
|
|
59
59
|
.id(function (id) { return id.front === true; });
|
|
60
60
|
var playersHavingToTake = this.game.players.filter(function (player) { return takeTokens.player(player).length > destinyLeft; });
|
|
61
|
-
return playersHavingToTake.map(function (player) { return takeTokens.player(player).
|
|
61
|
+
return playersHavingToTake.map(function (player) { return takeTokens.player(player).moveItem(_this.getTokenDestination(player)); });
|
|
62
62
|
};
|
|
63
63
|
ChooseDraftTokenRule.prototype.getActivePlayerLegalMoves = function (player) {
|
|
64
64
|
return this.material(MaterialType_1.MaterialType.DraftToken).location(LocationType_1.LocationType.PlayerHand).player(player).moveItems(this.getTokenDestination(player));
|
|
@@ -9,5 +9,4 @@ export declare class PlaceTokenRule extends SimultaneousRule {
|
|
|
9
9
|
getTopDeckCreature(mythology: Mythology): number;
|
|
10
10
|
afterItemMove(move: ItemMove): import("@gamepark/rules-api").EndPlayerTurn<PlayerColor>[];
|
|
11
11
|
getMovesAfterPlayersDone(): import("@gamepark/rules-api").StartRule<RuleId.DrawDestinyCard>[] | (import("@gamepark/rules-api").MoveItem<number, number, number> | import("@gamepark/rules-api").StartPlayerTurn<number, RuleId.PlaceCards>)[];
|
|
12
|
-
onRuleEnd(): never[];
|
|
13
12
|
}
|
|
@@ -75,9 +75,6 @@ var PlaceTokenRule = (function (_super) {
|
|
|
75
75
|
if (legalMoves.length === 1) {
|
|
76
76
|
moves.push(legalMoves[0]);
|
|
77
77
|
}
|
|
78
|
-
else {
|
|
79
|
-
this.memorize(Memory_1.Memory.KeepTokenPlaceSecret, true, player);
|
|
80
|
-
}
|
|
81
78
|
}
|
|
82
79
|
}
|
|
83
80
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
@@ -113,7 +110,7 @@ var PlaceTokenRule = (function (_super) {
|
|
|
113
110
|
return this.material(MaterialType_1.MaterialType.EntityCard).location(LocationType_1.LocationType.CreaturesDeck).locationId(mythology).deck().getIndex();
|
|
114
111
|
};
|
|
115
112
|
PlaceTokenRule.prototype.afterItemMove = function (move) {
|
|
116
|
-
if ((0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.DraftToken)(move)) {
|
|
113
|
+
if ((0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.DraftToken)(move) && move.location.type === LocationType_1.LocationType.OnEntityCard) {
|
|
117
114
|
var player = this.material(MaterialType_1.MaterialType.DraftToken).getItem(move.itemIndex).id.back;
|
|
118
115
|
return [this.endPlayerTurn(player)];
|
|
119
116
|
}
|
|
@@ -132,10 +129,6 @@ var PlaceTokenRule = (function (_super) {
|
|
|
132
129
|
], false);
|
|
133
130
|
}
|
|
134
131
|
};
|
|
135
|
-
PlaceTokenRule.prototype.onRuleEnd = function () {
|
|
136
|
-
this.forget(Memory_1.Memory.KeepTokenPlaceSecret);
|
|
137
|
-
return [];
|
|
138
|
-
};
|
|
139
132
|
return PlaceTokenRule;
|
|
140
133
|
}(rules_api_1.SimultaneousRule));
|
|
141
134
|
exports.PlaceTokenRule = PlaceTokenRule;
|
|
@@ -9,6 +9,7 @@ export declare class SupayEffectRule extends PlayerEffectRule {
|
|
|
9
9
|
getCreaturesInLine(): Material<number, number, number>;
|
|
10
10
|
getRules(): (SupayMoveRule | SupaySacrificeRule)[];
|
|
11
11
|
getPlayerMoves(): MaterialMove[];
|
|
12
|
+
beforeItemMove(move: ItemMove): MaterialMove<number, number, number, number>[];
|
|
12
13
|
afterItemMove(move: ItemMove): MaterialMove<number, number, number, number>[];
|
|
13
14
|
}
|
|
14
15
|
export declare class SupaySacrificeRule extends SacrificeEffectRule {
|
|
@@ -48,6 +48,9 @@ var SupayEffectRule = (function (_super) {
|
|
|
48
48
|
SupayEffectRule.prototype.getPlayerMoves = function () {
|
|
49
49
|
return this.getRules().flatMap(function (rule) { return rule.getPlayerMoves(); });
|
|
50
50
|
};
|
|
51
|
+
SupayEffectRule.prototype.beforeItemMove = function (move) {
|
|
52
|
+
return this.getRules().flatMap(function (rule) { return rule.beforeItemMove(move); });
|
|
53
|
+
};
|
|
51
54
|
SupayEffectRule.prototype.afterItemMove = function (move) {
|
|
52
55
|
return this.getRules().flatMap(function (rule) { return rule.afterItemMove(move); });
|
|
53
56
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/mythologies",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "The rules of Mythologies adapted for Game Park",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"i18next": "^22.0.3",
|
|
30
30
|
"lodash": "^4.17.21"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "9e3481a061f2f707eb6ed6c340dd043ae264d6ad"
|
|
33
33
|
}
|