@gamepark/rules-api 6.11.1 → 6.13.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.
@@ -22,7 +22,9 @@ export declare abstract class MaterialRules<Player extends number = number, Mate
22
22
  randomize(move: MaterialMove<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType> & MaterialMoveRandomized<Player, MaterialType, LocationType>;
23
23
  roll(_move: RollItem<Player, MaterialType, LocationType>): number;
24
24
  play(move: MaterialMoveRandomized<Player, MaterialType, LocationType> | MaterialMoveView<Player, MaterialType, LocationType>): MaterialMove<Player, MaterialType, LocationType>[];
25
+ private changeRule;
25
26
  canUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>, consecutiveActions: Action<MaterialMove<Player, MaterialType, LocationType>, Player>[]): boolean;
27
+ consecutiveActionBlocksUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>, consecutiveAction: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
26
28
  protected actionBlocksUndo(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
27
29
  protected actionActivatesPlayer(action: Action<MaterialMove<Player, MaterialType, LocationType>, Player>): boolean;
28
30
  protected moveBlocksUndo(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
@@ -30,7 +32,7 @@ export declare abstract class MaterialRules<Player extends number = number, Mate
30
32
  isUnpredictableMove(move: MaterialMove<Player, MaterialType, LocationType>, _player: Player): boolean;
31
33
  protected isRandomMove(move: MaterialMove<Player, MaterialType, LocationType>): boolean;
32
34
  restoreLocalMoves(game: MaterialGame<Player, MaterialType, LocationType>): void;
33
- isOver(playerIds?: Player[]): boolean;
35
+ isOver(): boolean;
34
36
  }
35
37
  export interface MaterialRulesCreator<P extends number = number, M extends number = number, L extends number = number> {
36
38
  new (state: MaterialGame<P, M, L>, client?: {
@@ -97,7 +97,7 @@ var MaterialRules = (function (_super) {
97
97
  return (0, lodash_1.random)(5);
98
98
  };
99
99
  MaterialRules.prototype.play = function (move) {
100
- var _a, _b, _c;
100
+ var _a;
101
101
  var consequences = [];
102
102
  var rulesStep = this.rulesStep;
103
103
  switch (move.kind) {
@@ -118,31 +118,13 @@ var MaterialRules = (function (_super) {
118
118
  }
119
119
  break;
120
120
  case moves_1.MoveKind.RulesMove:
121
- var rule = this.game.rule;
122
- if (rulesStep && move.type !== moves_1.RuleMoveType.EndPlayerTurn) {
123
- consequences.push.apply(consequences, rulesStep.onRuleEnd(move));
124
- }
125
- switch (move.type) {
126
- case moves_1.RuleMoveType.StartPlayerTurn:
127
- this.game.rule = { id: move.id, player: move.player };
128
- break;
129
- case moves_1.RuleMoveType.StartSimultaneousRule:
130
- this.game.rule = { id: move.id, players: (_a = move.players) !== null && _a !== void 0 ? _a : this.game.players };
131
- break;
132
- case moves_1.RuleMoveType.EndPlayerTurn:
133
- if ((_b = this.game.rule) === null || _b === void 0 ? void 0 : _b.players) {
134
- this.game.rule.players = this.game.rule.players.filter(function (player) { return player !== move.player; });
135
- }
136
- break;
137
- case moves_1.RuleMoveType.StartRule:
138
- this.game.rule = { id: move.id, player: (_c = this.game.rule) === null || _c === void 0 ? void 0 : _c.player };
139
- break;
140
- case moves_1.RuleMoveType.EndGame:
141
- delete this.game.rule;
142
- break;
121
+ if (move.type === moves_1.RuleMoveType.EndPlayerTurn) {
122
+ if ((_a = this.game.rule) === null || _a === void 0 ? void 0 : _a.players) {
123
+ this.game.rule.players = this.game.rule.players.filter(function (player) { return player !== move.player; });
124
+ }
143
125
  }
144
- if (move.type !== moves_1.RuleMoveType.EndGame && move.type !== moves_1.RuleMoveType.EndPlayerTurn) {
145
- consequences.push.apply(consequences, this.rulesStep.onRuleStart(move, rule));
126
+ else {
127
+ consequences.push.apply(consequences, this.changeRule(move));
146
128
  }
147
129
  break;
148
130
  case moves_1.MoveKind.CustomMove:
@@ -172,15 +154,45 @@ var MaterialRules = (function (_super) {
172
154
  }
173
155
  return consequences;
174
156
  };
157
+ MaterialRules.prototype.changeRule = function (move) {
158
+ var _a, _b, _c, _d, _e, _f;
159
+ var moves = (_b = (_a = this.rulesStep) === null || _a === void 0 ? void 0 : _a.onRuleEnd(move)) !== null && _b !== void 0 ? _b : [];
160
+ var rule = this.game.rule;
161
+ switch (move.type) {
162
+ case moves_1.RuleMoveType.StartPlayerTurn:
163
+ this.game.rule = { id: move.id, player: move.player };
164
+ break;
165
+ case moves_1.RuleMoveType.StartSimultaneousRule:
166
+ this.game.rule = { id: move.id, players: (_c = move.players) !== null && _c !== void 0 ? _c : this.game.players };
167
+ break;
168
+ case moves_1.RuleMoveType.StartRule:
169
+ this.game.rule = { id: move.id, player: (_d = this.game.rule) === null || _d === void 0 ? void 0 : _d.player };
170
+ break;
171
+ case moves_1.RuleMoveType.EndGame:
172
+ delete this.game.rule;
173
+ break;
174
+ }
175
+ return moves.concat((_f = (_e = this.rulesStep) === null || _e === void 0 ? void 0 : _e.onRuleStart(move, rule)) !== null && _f !== void 0 ? _f : []);
176
+ };
175
177
  MaterialRules.prototype.canUndo = function (action, consecutiveActions) {
176
178
  for (var i = consecutiveActions.length - 1; i >= 0; i--) {
177
- var consecutiveAction = consecutiveActions[i];
178
- if (consecutiveAction.playerId === action.playerId || this.actionActivatesPlayer(consecutiveAction)) {
179
+ if (this.consecutiveActionBlocksUndo(action, consecutiveActions[i])) {
179
180
  return false;
180
181
  }
181
182
  }
182
183
  return !this.actionBlocksUndo(action);
183
184
  };
185
+ MaterialRules.prototype.consecutiveActionBlocksUndo = function (action, consecutiveAction) {
186
+ if (this.actionActivatesPlayer(consecutiveAction)) {
187
+ return true;
188
+ }
189
+ if (consecutiveAction.playerId === action.playerId) {
190
+ if (!(0, moves_1.isSelectItem)(consecutiveAction.move) || !(0, moves_1.isSelectItem)(action.move)) {
191
+ return true;
192
+ }
193
+ }
194
+ return false;
195
+ };
184
196
  MaterialRules.prototype.actionBlocksUndo = function (action) {
185
197
  for (var i = action.consequences.length - 1; i >= 0; i--) {
186
198
  if (this.moveBlocksUndo(action.consequences[i])) {
@@ -212,8 +224,8 @@ var MaterialRules = (function (_super) {
212
224
  MaterialRules.prototype.restoreLocalMoves = function (game) {
213
225
  this.game.rulesDisplay = game.rulesDisplay;
214
226
  };
215
- MaterialRules.prototype.isOver = function (playerIds) {
216
- return _super.prototype.isOver.call(this, playerIds !== null && playerIds !== void 0 ? playerIds : this.game.players);
227
+ MaterialRules.prototype.isOver = function () {
228
+ return !this.game.rule;
217
229
  };
218
230
  return MaterialRules;
219
231
  }(Rules_1.Rules));
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MaterialRules.js","sourceRoot":"","sources":["../../src/material/MaterialRules.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Location } from '../location';
2
- import { CreateItem, DeleteItem, ItemMove, MoveItem, RollItem, Shuffle } from '../moves';
2
+ import { CreateItem, DeleteItem, ItemMove, MoveItem, RollItem, SelectItem, Shuffle } from '../moves';
3
3
  import { MaterialItem } from './MaterialItem';
4
4
  type ItemEntry<P extends number = number, L extends number = number> = [number, MaterialItem<P, L>];
5
5
  export declare class Material<P extends number = number, M extends number = number, L extends number = number> {
@@ -10,9 +10,9 @@ export declare class Material<P extends number = number, M extends number = numb
10
10
  ['constructor']: new (type: M, entries: ItemEntry<P, L>[], processMove?: (move: ItemMove<P, M, L>) => void) => this;
11
11
  protected new(entries: ItemEntry<P, L>[]): this;
12
12
  getItems(): MaterialItem<P, L>[];
13
- getItems<T>(mapFn: (item: MaterialItem<P, L>) => T): T[];
14
- getItem(index: number): MaterialItem<P, L> | undefined;
15
- getItem(predicate?: (item: MaterialItem<P, L>) => boolean): MaterialItem<P, L> | undefined;
13
+ getItems<Id = any>(predicate?: (item: MaterialItem<P, L, Id>) => boolean): MaterialItem<P, L, Id>[];
14
+ getItem<Id = any>(index: number): MaterialItem<P, L, Id> | undefined;
15
+ getItem<Id = any>(predicate?: (item: MaterialItem<P, L, Id>) => boolean): MaterialItem<P, L, Id> | undefined;
16
16
  getIndex(): number;
17
17
  getIndexes(): number[];
18
18
  index(index: number): Material<P, M, L>;
@@ -30,11 +30,14 @@ export declare class Material<P extends number = number, M extends number = numb
30
30
  sort(selector: (item: MaterialItem<P, L>) => number): this;
31
31
  limit(count: number): this;
32
32
  maxBy(selector: (item: MaterialItem<P, L>) => number): this;
33
+ selected(selected?: number | boolean): this;
33
34
  private process;
34
35
  createItem(item: MaterialItem<P, L>): CreateItem<P, M, L>;
35
36
  createItems(items: MaterialItem<P, L>[]): CreateItem<P, M, L>[];
36
37
  deleteItem(quantity?: number): DeleteItem<M>;
37
38
  deleteItems(quantity?: number): DeleteItem<M>[];
39
+ selectItem(quantity?: number): SelectItem<M>;
40
+ selectItems(quantity?: number): SelectItem<M>[];
38
41
  moveItem(location: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>, quantity?: number): MoveItem<P, M, L>;
39
42
  moveItems(location: ((item: MaterialItem<P, L>) => Location<P, L>) | Location<P, L>, quantity?: number): MoveItem<P, M, L>[];
40
43
  rotateItem<R extends string | number | boolean | Record<string, any> | undefined>(rotation: R): MoveItem<P, M, L>;
@@ -56,8 +56,9 @@ var Material = (function () {
56
56
  Material.prototype.new = function (entries) {
57
57
  return new this.constructor(this.type, entries, this.processMove);
58
58
  };
59
- Material.prototype.getItems = function (mapFn) {
60
- return this.entries.map(function (entry) { return mapFn ? mapFn(entry[1]) : entry[1]; });
59
+ Material.prototype.getItems = function (predicate) {
60
+ var items = this.entries.map(function (entry) { return entry[1]; });
61
+ return predicate ? items.filter(predicate) : items;
61
62
  };
62
63
  Material.prototype.getItem = function (arg) {
63
64
  if (typeof arg === 'number') {
@@ -167,6 +168,10 @@ var Material = (function () {
167
168
  var max = (0, maxBy_1.default)(this.entries, function (entry) { return selector(entry[1]); });
168
169
  return this.new(max ? [max] : []);
169
170
  };
171
+ Material.prototype.selected = function (selected) {
172
+ if (selected === void 0) { selected = true; }
173
+ return this.filter(function (item) { var _a; return ((_a = item.selected) !== null && _a !== void 0 ? _a : false) === selected; });
174
+ };
170
175
  Material.prototype.process = function (moves) {
171
176
  if (this.processMove) {
172
177
  for (var _i = 0, moves_2 = moves; _i < moves_2.length; _i++) {
@@ -212,6 +217,30 @@ var Material = (function () {
212
217
  return move;
213
218
  }));
214
219
  };
220
+ Material.prototype.selectItem = function (quantity) {
221
+ switch (this.length) {
222
+ case 0:
223
+ throw new Error('You are trying to select an item that does not exists');
224
+ case 1:
225
+ return this.selectItems(quantity)[0];
226
+ default:
227
+ return this.limit(1).selectItems(quantity)[0];
228
+ }
229
+ };
230
+ Material.prototype.selectItems = function (quantity) {
231
+ var _this = this;
232
+ return this.process(this.entries.map(function (entry) {
233
+ var move = {
234
+ kind: moves_1.MoveKind.ItemMove,
235
+ type: moves_1.ItemMoveType.Select,
236
+ itemType: _this.type,
237
+ itemIndex: entry[0]
238
+ };
239
+ if (quantity)
240
+ move.quantity = quantity;
241
+ return move;
242
+ }));
243
+ };
215
244
  Material.prototype.moveItem = function (location, quantity) {
216
245
  switch (this.length) {
217
246
  case 0:
@@ -275,7 +304,8 @@ var Material = (function () {
275
304
  };
276
305
  Material.prototype.rollItems = function (location) {
277
306
  var _this = this;
278
- var getLocation = typeof location === 'function' ? location : function (item) { return (__assign(__assign({}, item.location), location)); };
307
+ if (location === void 0) { location = function (item) { return item.location; }; }
308
+ var getLocation = typeof location === 'function' ? location : function () { return location; };
279
309
  return this.process(this.entries.map(function (entry) {
280
310
  var location = getLocation(entry[1]);
281
311
  return ({
@@ -1 +1 @@
1
- {"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Material.js","sourceRoot":"","sources":["../../../src/material/items/Material.ts"],"names":[],"mappings":"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"}
@@ -3,4 +3,5 @@ export type MaterialItem<P extends number = number, L extends number = number, I
3
3
  id?: Id;
4
4
  quantity?: number;
5
5
  location: Location<P, L>;
6
+ selected?: number | boolean;
6
7
  };
@@ -18,5 +18,6 @@ export declare class MaterialMutator<P extends number = number, M extends number
18
18
  getItemAfterMove(move: MoveItem<P, M, L>): MaterialItem<P, L>;
19
19
  private delete;
20
20
  private shuffle;
21
+ private select;
21
22
  }
22
23
  export declare const itemsCanMerge: ({ quantity: q1, ...data1 }: MaterialItem, { quantity: quantityB, ...data2 }: MaterialItem) => boolean;
@@ -56,6 +56,9 @@ var MaterialMutator = (function () {
56
56
  case moves_1.ItemMoveType.Shuffle:
57
57
  this.shuffle(move);
58
58
  break;
59
+ case moves_1.ItemMoveType.Select:
60
+ this.select(move);
61
+ break;
59
62
  }
60
63
  };
61
64
  MaterialMutator.prototype.findMergeIndex = function (newItem) {
@@ -167,6 +170,11 @@ var MaterialMutator = (function () {
167
170
  _this.items[newIndex] = __assign(__assign({}, shuffledItems[i]), { location: _this.items[newIndex].location });
168
171
  });
169
172
  };
173
+ MaterialMutator.prototype.select = function (move) {
174
+ var _a;
175
+ var item = this.items[move.itemIndex];
176
+ item.selected = (_a = move.quantity) !== null && _a !== void 0 ? _a : true;
177
+ };
170
178
  return MaterialMutator;
171
179
  }());
172
180
  exports.MaterialMutator = MaterialMutator;
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAmC;AACnC,uDAAgC;AAEhC,kCAA4J;AAC5J,iCAAgD;AAEhD;IACE,yBACmB,IAAO,EACP,KAA2B,EAC3B,mBAAuE,EACvE,QAAwB;QADxB,oCAAA,EAAA,wBAAuE;QACvE,yBAAA,EAAA,eAAwB;QAHxB,SAAI,GAAJ,IAAI,CAAG;QACP,UAAK,GAAL,KAAK,CAAsB;QAC3B,wBAAmB,GAAnB,mBAAmB,CAAoD;QACvE,aAAQ,GAAR,QAAQ,CAAgB;IAE3C,CAAC;IAED,mCAAS,GAAT,UAAU,IAAyD;QACjE,QAAQ,IAAI,CAAC,IAAI,EAAE;YACjB,KAAK,oBAAY,CAAC,MAAM;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACjB,MAAK;YACP,KAAK,oBAAY,CAAC,IAAI;gBACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACf,MAAK;YACP,KAAK,oBAAY,CAAC,IAAI;gBACpB,IAAI,CAAC,IAAI,uBAAM,IAAI,KAAE,IAAI,EAAE,oBAAY,CAAC,IAAI,IAAG,CAAA;gBAC/C,MAAK;YACP,KAAK,oBAAY,CAAC,MAAM;gBACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;gBACjB,MAAK;YACP,KAAK,oBAAY,CAAC,OAAO;gBACvB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBAClB,MAAK;SACR;IACH,CAAC;IAEO,wCAAc,GAAtB,UAAuB,OAA2B;QAChD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO,CAAC,CAAC,CAAA;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAA,IAAI,IAAI,OAAA,IAAA,qBAAa,EAAC,IAAI,EAAE,OAAO,CAAC,EAA5B,CAA4B,CAAC,CAAA;IACnE,CAAC;IAEO,iCAAO,GAAf,UAAgB,IAAwB;QACtC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA;QAC/B,IAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAnB,CAAmB,CAAC,CAAA;QACxE,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE;YACzB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,IAAI,CAAA;YACjC,OAAO,cAAc,CAAA;SACtB;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACrB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA;SAC7B;IACH,CAAC;IAEO,8CAAoB,GAA5B,UAA6B,IAAwB;QACnD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAClD,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAA;YAC9D,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACpB,IAAM,QAAQ,GAAG,IAAI,gBAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAC;qBAChH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACtH,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;aACjC;SACF;IACH,CAAC;IAEO,oCAAU,GAAlB,UAAmB,IAAwB,EAAE,QAAoB;;QAApB,yBAAA,EAAA,YAAoB;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAA;QAC5D,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;YACvB,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAA;SACnC;IACH,CAAC;IAEO,iDAAuB,GAA/B,UAAgC,IAAwB;QACtD,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAClD,IAAM,QAAQ,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAE,CAAA;YAC9D,IAAI,QAAQ,CAAC,UAAU,EAAE;gBACvB,IAAM,QAAQ,GAAG,IAAI,gBAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,EAAvB,CAAuB,CAAC,CAAC;qBAChH,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;gBACtH,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;aACpC;SACF;IACH,CAAC;IAED,gCAAM,GAAN,UAAO,IAAyB;;QAC9B,IAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;YACrB,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YACxC,SAAS,CAAC,QAAQ,GAAG,CAAC,MAAA,SAAS,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAC,CAAA;YAC1E,OAAO,UAAU,CAAA;SAClB;aAAM;YACL,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SAC/B;IACH,CAAC;IAED,8BAAI,GAAJ,UAAK,IAAuB;;QAC1B,IAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,QAAQ,mCAAI,CAAC,CAAA;QACnC,IAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACjD,IAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;QACrD,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;YACrB,IAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;YACxC,SAAS,CAAC,QAAQ,GAAG,CAAC,MAAA,SAAS,CAAC,QAAQ,mCAAI,CAAC,CAAC,GAAG,QAAQ,CAAA;YACzD,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;YACrC,OAAO,UAAU,CAAA;SAClB;aAAM,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,GAAG,QAAQ,EAAE;YAChE,UAAU,CAAC,QAAQ,IAAI,QAAQ,CAAA;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;SACnC;aAAM;YACL,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACnD,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;aACzC;YACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,aAAa,CAAA;YAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC,IAAI,EAAE;gBACnD,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAA;aACzC;YACD,OAAO,IAAI,CAAC,SAAS,CAAA;SACtB;IACH,CAAC;IAED,0CAAgB,GAAhB,UAAiB,IAAuB;QACtC,IAAM,IAAI,yBAA4B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAE,CAAA;QACvH,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAA,eAAK,EAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;SACzB;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;SAC9B;aAAM;YACL,OAAO,IAAI,CAAC,QAAQ,CAAA;SACrB;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,gCAAM,GAAd,UAAe,IAAmB;QAChC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;IACpE,CAAC;IAEO,iCAAO,GAAf,UAAgB,IAAuC;QAAvD,iBAMC;QALC,IAAI,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC;YAAE,OAAM;QACtC,IAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAC,KAAK,IAAK,OAAA,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAjB,CAAiB,CAAC,CAAA;QACpE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,UAAC,QAAQ,EAAE,CAAC;YAClC,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,yBAAQ,aAAa,CAAC,CAAC,CAAC,KAAE,QAAQ,EAAE,KAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,QAAQ,GAAE,CAAA;QACzF,CAAC,CAAC,CAAA;IACJ,CAAC;IACH,sBAAC;AAAD,CAAC,AAvID,IAuIC;AAvIY,0CAAe;AAyIrB,IAAM,aAAa,GAAG,UAAC,EAAwC,EAAE,EAA+C;IAAvF,IAAU,EAAE,cAAA,EAAK,KAAK,cAAxB,YAA0B,CAAF;QAA8B,SAAS,cAAA,EAAK,KAAK,cAA/B,YAAiC,CAAF;IAA8B,OAAA,IAAA,yBAAK,EAAC,KAAK,EAAE,KAAK,CAAC,CAAA;CAAA,CAAA;AAA3I,QAAA,aAAa,iBAA8H"}
1
+ {"version":3,"file":"MaterialMutator.js","sourceRoot":"","sources":["../../../src/material/items/MaterialMutator.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,9 @@ var GameMemory = (function () {
12
12
  else {
13
13
  this.game.memory[key] = value;
14
14
  }
15
+ if (typeof this.game.memory[key] === 'object') {
16
+ this.game.memory[key] = JSON.parse(JSON.stringify(this.game.memory[key]));
17
+ }
15
18
  };
16
19
  GameMemory.prototype.remind = function (key) {
17
20
  return this.game.memory[key];
@@ -1 +1 @@
1
- {"version":3,"file":"GameMemory.js","sourceRoot":"","sources":["../../../src/material/memory/GameMemory.ts"],"names":[],"mappings":";;;AAEA;IACE,oBAAoB,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAC9C,CAAC;IAED,6BAAQ,GAAR,UAAkB,GAAc,EAAE,KAAgC;QAChE,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAI,KAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;SAC9E;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;SAC9B;IACH,CAAC;IAED,2BAAM,GAAN,UAAgB,GAAc;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,2BAAM,GAAN,UAAO,GAAc;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IACH,iBAAC;AAAD,CAAC,AAnBD,IAmBC;AAnBY,gCAAU"}
1
+ {"version":3,"file":"GameMemory.js","sourceRoot":"","sources":["../../../src/material/memory/GameMemory.ts"],"names":[],"mappings":";;;AAEA;IACE,oBAAoB,IAA0B;QAA1B,SAAI,GAAJ,IAAI,CAAsB;IAC9C,CAAC;IAED,6BAAQ,GAAR,UAAkB,GAAc,EAAE,KAAgC;QAChE,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAI,KAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;SAC9E;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;SAC9B;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;SAC1E;IACH,CAAC;IAED,2BAAM,GAAN,UAAgB,GAAc;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IAED,2BAAM,GAAN,UAAO,GAAc;QACnB,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC9B,CAAC;IACH,iBAAC;AAAD,CAAC,AAtBD,IAsBC;AAtBY,gCAAU"}
@@ -15,6 +15,9 @@ var PlayerMemory = (function () {
15
15
  else {
16
16
  this.game.memory[key][this.player] = value;
17
17
  }
18
+ if (typeof this.game.memory[key] === 'object') {
19
+ this.game.memory[key][this.player] = JSON.parse(JSON.stringify(this.game.memory[key][this.player]));
20
+ }
18
21
  };
19
22
  PlayerMemory.prototype.remind = function (key) {
20
23
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerMemory.js","sourceRoot":"","sources":["../../../src/material/memory/PlayerMemory.ts"],"names":[],"mappings":";;;AAEA;IACE,sBAAoB,IAA0B,EAAU,MAAc;QAAlD,SAAI,GAAJ,IAAI,CAAsB;QAAU,WAAM,GAAN,MAAM,CAAQ;IACtE,CAAC;IAED,+BAAQ,GAAR,UAAkB,GAAc,EAAE,KAAgC;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QACtD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,KAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;SACxG;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;SAC3C;IACH,CAAC;IAED,6BAAM,GAAN,UAAgB,GAAc;;QAC5B,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,6BAAM,GAAN,UAAO,GAAc;;QACZ,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IACH,mBAAC;AAAD,CAAC,AApBD,IAoBC;AApBY,oCAAY"}
1
+ {"version":3,"file":"PlayerMemory.js","sourceRoot":"","sources":["../../../src/material/memory/PlayerMemory.ts"],"names":[],"mappings":";;;AAEA;IACE,sBAAoB,IAA0B,EAAU,MAAc;QAAlD,SAAI,GAAJ,IAAI,CAAsB;QAAU,WAAM,GAAN,MAAM,CAAQ;IACtE,CAAC;IAED,+BAAQ,GAAR,UAAkB,GAAc,EAAE,KAAgC;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAA;QACtD,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAI,KAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;SACxG;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,CAAA;SAC3C;QACD,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;YAC7C,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;SACpG;IACH,CAAC;IAED,6BAAM,GAAN,UAAgB,GAAc;;QAC5B,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,0CAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IAED,6BAAM,GAAN,UAAO,GAAc;;QACZ,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,+CAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IAC7C,CAAC;IACH,mBAAC;AAAD,CAAC,AAvBD,IAuBC;AAvBY,oCAAY"}
@@ -3,8 +3,9 @@ import { CreateItem } from './CreateItem';
3
3
  import { DeleteItem } from './DeleteItem';
4
4
  import { MoveItem } from './MoveItem';
5
5
  import { RollItem } from './RollItem';
6
+ import { SelectItem } from './SelectItem';
6
7
  import { Shuffle, ShuffleRandomized } from './Shuffle';
7
- export type ItemMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = CreateItem<Player, MaterialType, LocationType> | DeleteItem<MaterialType> | MoveItem<Player, MaterialType, LocationType> | Shuffle<MaterialType> | RollItem<Player, MaterialType, LocationType>;
8
+ export type ItemMove<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> = CreateItem<Player, MaterialType, LocationType> | DeleteItem<MaterialType> | MoveItem<Player, MaterialType, LocationType> | Shuffle<MaterialType> | RollItem<Player, MaterialType, LocationType> | SelectItem<MaterialType>;
8
9
  export type MaterialMoveCommon<MaterialType extends number = number> = {
9
10
  kind: typeof MoveKind.ItemMove;
10
11
  itemType: MaterialType;
@@ -3,5 +3,6 @@ export declare enum ItemMoveType {
3
3
  Move = 1,
4
4
  Shuffle = 2,
5
5
  Delete = 3,
6
- Roll = 4
6
+ Roll = 4,
7
+ Select = 5
7
8
  }
@@ -8,5 +8,6 @@ var ItemMoveType;
8
8
  ItemMoveType[ItemMoveType["Shuffle"] = 2] = "Shuffle";
9
9
  ItemMoveType[ItemMoveType["Delete"] = 3] = "Delete";
10
10
  ItemMoveType[ItemMoveType["Roll"] = 4] = "Roll";
11
+ ItemMoveType[ItemMoveType["Select"] = 5] = "Select";
11
12
  })(ItemMoveType = exports.ItemMoveType || (exports.ItemMoveType = {}));
12
13
  //# sourceMappingURL=ItemMoveType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ItemMoveType.js","sourceRoot":"","sources":["../../../../src/material/moves/items/ItemMoveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,mDAAM,CAAA;IAAE,+CAAI,CAAA;IAAE,qDAAO,CAAA;IAAE,mDAAM,CAAA;IAAE,+CAAI,CAAA;AACrC,CAAC,EAFW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAEvB"}
1
+ {"version":3,"file":"ItemMoveType.js","sourceRoot":"","sources":["../../../../src/material/moves/items/ItemMoveType.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAEX;AAFD,WAAY,YAAY;IACtB,mDAAM,CAAA;IAAE,+CAAI,CAAA;IAAE,qDAAO,CAAA;IAAE,mDAAM,CAAA;IAAE,+CAAI,CAAA;IAAE,mDAAM,CAAA;AAC7C,CAAC,EAFW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAEvB"}
@@ -0,0 +1,10 @@
1
+ import { MaterialMove } from '../MaterialMove';
2
+ import { MaterialMoveCommon } from './ItemMove';
3
+ import { ItemMoveType } from './ItemMoveType';
4
+ export type SelectItem<MaterialType extends number = number> = MaterialMoveCommon<MaterialType> & {
5
+ type: typeof ItemMoveType.Select;
6
+ itemIndex: number;
7
+ quantity?: number;
8
+ };
9
+ export declare function isSelectItem<P extends number, M extends number, L extends number>(move: MaterialMove<P, M, L>): move is SelectItem<M>;
10
+ export declare function isSelectItemType<P extends number, M extends number, L extends number>(type: M, index?: number): (move: MaterialMove<P, M, L>) => move is SelectItem<M>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSelectItemType = exports.isSelectItem = void 0;
4
+ var MoveKind_1 = require("../MoveKind");
5
+ var ItemMoveType_1 = require("./ItemMoveType");
6
+ function isSelectItem(move) {
7
+ return move.kind === MoveKind_1.MoveKind.ItemMove && move.type === ItemMoveType_1.ItemMoveType.Select;
8
+ }
9
+ exports.isSelectItem = isSelectItem;
10
+ function isSelectItemType(type, index) {
11
+ return function (move) {
12
+ return isSelectItem(move) && move.itemType === type && (index === undefined || move.itemIndex === index);
13
+ };
14
+ }
15
+ exports.isSelectItemType = isSelectItemType;
16
+ //# sourceMappingURL=SelectItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectItem.js","sourceRoot":"","sources":["../../../../src/material/moves/items/SelectItem.ts"],"names":[],"mappings":";;;AACA,wCAAsC;AAEtC,+CAA6C;AAQ7C,SAAgB,YAAY,CAAuD,IAA2B;IAC5G,OAAO,IAAI,CAAC,IAAI,KAAK,mBAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,2BAAY,CAAC,MAAM,CAAA;AAC7E,CAAC;AAFD,oCAEC;AAED,SAAgB,gBAAgB,CAC9B,IAAO,EAAE,KAAc;IAEvB,OAAO,UAAC,IAA2B;QACjC,OAAA,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,CAAC;IAAjG,CAAiG,CAAA;AACrG,CAAC;AALD,4CAKC"}
@@ -5,4 +5,5 @@ export * from './ItemMovesBuilder';
5
5
  export * from './ItemMoveType';
6
6
  export * from './MoveItem';
7
7
  export * from './RollItem';
8
+ export * from './SelectItem';
8
9
  export * from './Shuffle';
@@ -21,5 +21,6 @@ __exportStar(require("./ItemMovesBuilder"), exports);
21
21
  __exportStar(require("./ItemMoveType"), exports);
22
22
  __exportStar(require("./MoveItem"), exports);
23
23
  __exportStar(require("./RollItem"), exports);
24
+ __exportStar(require("./SelectItem"), exports);
24
25
  __exportStar(require("./Shuffle"), exports);
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,6CAA0B;AAC1B,qDAAkC;AAClC,iDAA8B;AAC9B,6CAA0B;AAC1B,6CAA0B;AAC1B,4CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/material/moves/items/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA4B;AAC5B,+CAA4B;AAC5B,6CAA0B;AAC1B,qDAAkC;AAClC,iDAA8B;AAC9B,6CAA0B;AAC1B,6CAA0B;AAC1B,+CAA4B;AAC5B,4CAAyB"}
@@ -1,9 +1,9 @@
1
- import { MaterialRulesPart } from './MaterialRulesPart';
2
1
  import { MaterialMove } from '../moves';
2
+ import { MaterialRulesPart } from './MaterialRulesPart';
3
3
  export declare abstract class PlayerTurnRule<Player extends number = number, MaterialType extends number = number, LocationType extends number = number> extends MaterialRulesPart<Player, MaterialType, LocationType> {
4
4
  get player(): Player;
5
5
  get nextPlayer(): Player;
6
6
  getActivePlayer(): Player;
7
7
  getLegalMoves(player: Player): MaterialMove<Player, MaterialType, LocationType>[];
8
- abstract getPlayerMoves(): MaterialMove<Player, MaterialType, LocationType>[];
8
+ getPlayerMoves(): MaterialMove<Player, MaterialType, LocationType>[];
9
9
  }
@@ -44,6 +44,9 @@ var PlayerTurnRule = (function (_super) {
44
44
  return [];
45
45
  return this.getPlayerMoves();
46
46
  };
47
+ PlayerTurnRule.prototype.getPlayerMoves = function () {
48
+ return [];
49
+ };
47
50
  return PlayerTurnRule;
48
51
  }(MaterialRulesPart_1.MaterialRulesPart));
49
52
  exports.PlayerTurnRule = PlayerTurnRule;
@@ -1 +1 @@
1
- {"version":3,"file":"PlayerTurnRule.js","sourceRoot":"","sources":["../../../src/material/rules/PlayerTurnRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,yDAAuD;AAGvD;IACU,kCAAqD;IAD/D;;IAqBA,CAAC;IAlBC,sBAAI,kCAAM;aAAV;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,MAAO,CAAA;QAChC,CAAC;;;OAAA;IAED,sBAAI,sCAAU;aAAd;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnG,CAAC;;;OAAA;IAED,wCAAe,GAAf;QACE,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,sCAAa,GAAb,UAAc,MAAc;QAC1B,IAAI,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE;YAAE,OAAO,EAAE,CAAA;QAChD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IAGH,qBAAC;AAAD,CAAC,AArBD,CACU,qCAAiB,GAoB1B;AArBqB,wCAAc"}
1
+ {"version":3,"file":"PlayerTurnRule.js","sourceRoot":"","sources":["../../../src/material/rules/PlayerTurnRule.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,yDAAuD;AAEvD;IACU,kCAAqD;IAD/D;;IAuBA,CAAC;IApBC,sBAAI,kCAAM;aAAV;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,MAAO,CAAA;QAChC,CAAC;;;OAAA;IAED,sBAAI,sCAAU;aAAd;YACE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACnG,CAAC;;;OAAA;IAED,wCAAe,GAAf;QACE,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,sCAAa,GAAb,UAAc,MAAc;QAC1B,IAAI,MAAM,KAAK,IAAI,CAAC,eAAe,EAAE;YAAE,OAAO,EAAE,CAAA;QAChD,OAAO,IAAI,CAAC,cAAc,EAAE,CAAA;IAC9B,CAAC;IAED,uCAAc,GAAd;QACE,OAAO,EAAE,CAAA;IACX,CAAC;IACH,qBAAC;AAAD,CAAC,AAvBD,CACU,qCAAiB,GAsB1B;AAvBqB,wCAAc"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/rules-api",
3
- "version": "6.11.1",
3
+ "version": "6.13.0",
4
4
  "description": "API to implement the rules of a board game",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -29,5 +29,5 @@
29
29
  "@types/lodash": "^4.14.195",
30
30
  "i18next": ">=21.3.0"
31
31
  },
32
- "gitHead": "e6ce9a421201c374b46cdef9d9f76d9d52eec3f7"
32
+ "gitHead": "692dce49924f7a85280fa6928586b427f653b3d4"
33
33
  }