@gamepark/mythologies 0.7.2 → 0.7.3
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/material/Pantheon.js +3 -5
- package/dist/material/entity/Effect.d.ts +1 -0
- package/dist/material/entity/Effect.js +23 -2
- package/dist/rules/PlaceCardsRule.js +20 -2
- package/dist/rules/effects/MinotaurEffectRule.d.ts +1 -1
- package/dist/rules/effects/MinotaurEffectRule.js +1 -1
- package/dist/rules/effects/NuwaEffectRule.d.ts +1 -1
- package/dist/rules/effects/NuwaEffectRule.js +1 -1
- package/package.json +2 -2
|
@@ -437,15 +437,13 @@ var Pantheon = (function (_super) {
|
|
|
437
437
|
configurable: true
|
|
438
438
|
});
|
|
439
439
|
Pantheon.prototype.onEntitySacrificed = function (card) {
|
|
440
|
-
var _a;
|
|
441
440
|
var item = card.getItem();
|
|
442
|
-
var
|
|
441
|
+
var _a = item.location, x = _a.x, y = _a.y, z = _a.z;
|
|
443
442
|
var grid = this.indexGrid;
|
|
444
443
|
var cardUnder = this.allCards.location(function (l) { return l.x === x && l.y === y && l.z !== z; }).maxBy(function (item) { return item.location.z; });
|
|
445
444
|
grid[y][x] = cardUnder.length ? cardUnder.getIndex() : null;
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
(_a = new TriggerEffectsRule_1.TriggerEffectsRule(this.game)).triggerEffects.apply(_a, __spreadArray([], __read(effects), false));
|
|
445
|
+
this.memorize(Memory_1.Memory.PlayerGrid, grid, this.player);
|
|
446
|
+
new TriggerEffectsRule_1.TriggerEffectsRule(this.game).triggerEffects({ type: Effect_1.TriggerEventType.EntitySacrificed, card: item, cardIndex: card.getIndex() });
|
|
449
447
|
};
|
|
450
448
|
Pantheon.prototype.hasCrushed = function (card) {
|
|
451
449
|
return this.allCards.location(function (l) { return l.x === card.location.x && l.y === card.location.y && l.z < card.location.z; }).length > 0;
|
|
@@ -38,6 +38,7 @@ export declare abstract class SimultaneousEffectRule extends SimultaneousRule im
|
|
|
38
38
|
canPlayEffect(_cardIndex: number): boolean;
|
|
39
39
|
ruleId?: RuleId;
|
|
40
40
|
playEffect(): MaterialMove[];
|
|
41
|
+
onRuleStart(): MaterialMove<number, number, number, number>[];
|
|
41
42
|
getAffectedPlayers(): PlayerColor[];
|
|
42
43
|
isOpponent(player: PlayerColor): boolean;
|
|
43
44
|
get card(): import("@gamepark/rules-api").MaterialItem<number, number, EntityId>;
|
|
@@ -80,10 +80,10 @@ var SimultaneousEffectRule = (function (_super) {
|
|
|
80
80
|
for (var _b = __values(this.getAffectedPlayers()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
81
81
|
var player = _c.value;
|
|
82
82
|
var legalMoves = this.getActivePlayerLegalMoves(player);
|
|
83
|
-
if (legalMoves.length === 1) {
|
|
83
|
+
if (legalMoves.length === 1 && !(0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.EntityCard)(legalMoves[0])) {
|
|
84
84
|
moves.push(legalMoves[0]);
|
|
85
85
|
}
|
|
86
|
-
else if (legalMoves.length >
|
|
86
|
+
else if (legalMoves.length > 0) {
|
|
87
87
|
playersToActivate.push(player);
|
|
88
88
|
}
|
|
89
89
|
}
|
|
@@ -100,6 +100,27 @@ var SimultaneousEffectRule = (function (_super) {
|
|
|
100
100
|
}
|
|
101
101
|
return moves;
|
|
102
102
|
};
|
|
103
|
+
SimultaneousEffectRule.prototype.onRuleStart = function () {
|
|
104
|
+
var e_2, _a;
|
|
105
|
+
var moves = [];
|
|
106
|
+
try {
|
|
107
|
+
for (var _b = __values(this.game.rule.players), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
108
|
+
var player = _c.value;
|
|
109
|
+
var legalMoves = this.getActivePlayerLegalMoves(player);
|
|
110
|
+
if (legalMoves.length === 1) {
|
|
111
|
+
moves.push(legalMoves[0]);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
116
|
+
finally {
|
|
117
|
+
try {
|
|
118
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
119
|
+
}
|
|
120
|
+
finally { if (e_2) throw e_2.error; }
|
|
121
|
+
}
|
|
122
|
+
return moves;
|
|
123
|
+
};
|
|
103
124
|
SimultaneousEffectRule.prototype.getAffectedPlayers = function () {
|
|
104
125
|
return this.game.players;
|
|
105
126
|
};
|
|
@@ -174,8 +174,26 @@ var PlaceCardsRule = (function (_super) {
|
|
|
174
174
|
return [];
|
|
175
175
|
};
|
|
176
176
|
PlaceCardsRule.prototype.onPass = function () {
|
|
177
|
-
|
|
178
|
-
|
|
177
|
+
var e_2, _a;
|
|
178
|
+
var moves = [];
|
|
179
|
+
var effects = new TriggerEffectsRule_1.TriggerEffectsRule(this.game).getPlayerEffects(this.player, { type: Effect_1.TriggerEventType.EndOfTurn, player: this.player });
|
|
180
|
+
var resolveEffectsRule = new ResolveEffectsRule_1.ResolveEffectsRule(this.game);
|
|
181
|
+
try {
|
|
182
|
+
for (var effects_1 = __values(effects), effects_1_1 = effects_1.next(); !effects_1_1.done; effects_1_1 = effects_1.next()) {
|
|
183
|
+
var effect = effects_1_1.value;
|
|
184
|
+
moves.push.apply(moves, __spreadArray([], __read(resolveEffectsRule.playEffect(effect)), false));
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
188
|
+
finally {
|
|
189
|
+
try {
|
|
190
|
+
if (effects_1_1 && !effects_1_1.done && (_a = effects_1.return)) _a.call(effects_1);
|
|
191
|
+
}
|
|
192
|
+
finally { if (e_2) throw e_2.error; }
|
|
193
|
+
}
|
|
194
|
+
moves.push.apply(moves, __spreadArray([], __read(new Trial_1.Trial(this.game).passTrials(this.player)), false));
|
|
195
|
+
moves.push(this.nextRule);
|
|
196
|
+
return moves;
|
|
179
197
|
};
|
|
180
198
|
Object.defineProperty(PlaceCardsRule.prototype, "nextRule", {
|
|
181
199
|
get: function () {
|
|
@@ -4,7 +4,7 @@ import { PlayerColor } from '../../PlayerColor';
|
|
|
4
4
|
import { RuleId } from '../RuleId';
|
|
5
5
|
export declare class MinotaurEffectRule extends SimultaneousMoveEffectRule {
|
|
6
6
|
ruleId: RuleId;
|
|
7
|
-
onRuleStart():
|
|
7
|
+
onRuleStart(): import("@gamepark/rules-api").MaterialMove<number, number, number, number>[];
|
|
8
8
|
getMovingCards(player: PlayerColor): import("@gamepark/rules-api").Material<number, number, number>;
|
|
9
9
|
isLegalDestination(space: XYCoordinates, cardLocation: Location): boolean;
|
|
10
10
|
onRuleEnd(): never[];
|
|
@@ -30,7 +30,7 @@ var MinotaurEffectRule = (function (_super) {
|
|
|
30
30
|
}
|
|
31
31
|
MinotaurEffectRule.prototype.onRuleStart = function () {
|
|
32
32
|
this.memorize(Memory_1.Memory.TargetLine, this.card.location.x);
|
|
33
|
-
return
|
|
33
|
+
return _super.prototype.onRuleStart.call(this);
|
|
34
34
|
};
|
|
35
35
|
MinotaurEffectRule.prototype.getMovingCards = function (player) {
|
|
36
36
|
var column = this.remind(Memory_1.Memory.TargetLine);
|
|
@@ -5,7 +5,7 @@ import { RuleId } from '../RuleId';
|
|
|
5
5
|
export declare class NuwaEffectRule extends SimultaneousSacrificeEffectRule {
|
|
6
6
|
ruleId: RuleId;
|
|
7
7
|
getAffectedPlayers(): number[];
|
|
8
|
-
onRuleStart():
|
|
8
|
+
onRuleStart(): import("@gamepark/rules-api").MaterialMove<number, number, number, number>[];
|
|
9
9
|
getActivePlayerLegalMoves(player: PlayerColor): import("@gamepark/rules-api").MaterialMove<number, number, number, number>[];
|
|
10
10
|
getCardsToSacrifice(player: PlayerColor): Material;
|
|
11
11
|
onSacrifice(move: MoveItem): import("@gamepark/rules-api").EndPlayerTurn<number>[];
|
|
@@ -61,7 +61,7 @@ var NuwaEffectRule = (function (_super) {
|
|
|
61
61
|
}
|
|
62
62
|
finally { if (e_1) throw e_1.error; }
|
|
63
63
|
}
|
|
64
|
-
return
|
|
64
|
+
return _super.prototype.onRuleStart.call(this);
|
|
65
65
|
};
|
|
66
66
|
NuwaEffectRule.prototype.getActivePlayerLegalMoves = function (player) {
|
|
67
67
|
var moves = _super.prototype.getActivePlayerLegalMoves.call(this, player);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/mythologies",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.3",
|
|
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": "dea6a9053b6c44493df694a064d2b1288ae86a3b"
|
|
33
33
|
}
|