@gamepark/odin 0.0.5 → 0.0.7
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/OdinRules.d.ts +1 -1
- package/dist/OdinRules.js +2 -2
- package/dist/rules/ChangePlayerRule.d.ts +7 -0
- package/dist/rules/ChangePlayerRule.js +62 -0
- package/dist/rules/EndOfRoundRule.js +2 -42
- package/dist/rules/PickCardRule.js +5 -0
- package/dist/rules/PlayCardsRule.d.ts +2 -1
- package/dist/rules/PlayCardsRule.js +13 -9
- package/dist/rules/helper/EndHelper.d.ts +4 -0
- package/dist/rules/helper/EndHelper.js +103 -0
- package/dist/rules/helper/ScoreHelper.d.ts +0 -1
- package/dist/rules/helper/ScoreHelper.js +0 -9
- package/package.json +3 -3
package/dist/OdinRules.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { CompetitiveScore, CustomMove, FillGapStrategy, MaterialGame, MaterialMove, PlayMoveContext, PositiveSequenceStrategy, SecretMaterialRules, TimeLimit } from '@gamepark/rules-api';
|
|
2
|
-
import { ChangePlayerRule } from './ChangePlayerRule';
|
|
3
2
|
import { LocationType } from './material/LocationType';
|
|
4
3
|
import { MaterialType } from './material/MaterialType';
|
|
5
4
|
import { PlayerId } from './PlayerId';
|
|
5
|
+
import { ChangePlayerRule } from './rules/ChangePlayerRule';
|
|
6
6
|
import { DealCardsRule } from './rules/DealCardsRule';
|
|
7
7
|
import { EndOfRoundRule } from './rules/EndOfRoundRule';
|
|
8
8
|
import { PickCardRule } from './rules/PickCardRule';
|
package/dist/OdinRules.js
CHANGED
|
@@ -17,9 +17,9 @@ var __extends = (this && this.__extends) || (function () {
|
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.OdinRules = void 0;
|
|
19
19
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
20
|
-
var ChangePlayerRule_1 = require("./ChangePlayerRule");
|
|
21
20
|
var LocationType_1 = require("./material/LocationType");
|
|
22
21
|
var MaterialType_1 = require("./material/MaterialType");
|
|
22
|
+
var ChangePlayerRule_1 = require("./rules/ChangePlayerRule");
|
|
23
23
|
var CustomMoveType_1 = require("./rules/CustomMoveType");
|
|
24
24
|
var DealCardsRule_1 = require("./rules/DealCardsRule");
|
|
25
25
|
var EndOfRoundRule_1 = require("./rules/EndOfRoundRule");
|
|
@@ -62,7 +62,7 @@ var OdinRules = (function (_super) {
|
|
|
62
62
|
this.memorize(Memory_1.Memory.HandSort, previousState.memory[Memory_1.Memory.HandSort]);
|
|
63
63
|
};
|
|
64
64
|
OdinRules.prototype.giveTime = function () {
|
|
65
|
-
return
|
|
65
|
+
return 30;
|
|
66
66
|
};
|
|
67
67
|
OdinRules.prototype.getScore = function (playerId) {
|
|
68
68
|
return new ScoreHelper_1.ScoreHelper(this.game, playerId).score;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { MaterialMove } from '@gamepark/rules-api';
|
|
2
|
+
import { BasePlayerTurn } from './BasePlayerTurn';
|
|
3
|
+
export declare class ChangePlayerRule extends BasePlayerTurn {
|
|
4
|
+
onRuleStart(): MaterialMove<number, number, number, number>[];
|
|
5
|
+
get currentTable(): import("@gamepark/rules-api").Material<number, number, number>;
|
|
6
|
+
get nextTable(): import("@gamepark/rules-api").Material<number, number, number>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.ChangePlayerRule = void 0;
|
|
19
|
+
var LocationType_1 = require("../material/LocationType");
|
|
20
|
+
var MaterialType_1 = require("../material/MaterialType");
|
|
21
|
+
var BasePlayerTurn_1 = require("./BasePlayerTurn");
|
|
22
|
+
var RuleId_1 = require("./RuleId");
|
|
23
|
+
var ChangePlayerRule = (function (_super) {
|
|
24
|
+
__extends(ChangePlayerRule, _super);
|
|
25
|
+
function ChangePlayerRule() {
|
|
26
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
27
|
+
}
|
|
28
|
+
ChangePlayerRule.prototype.onRuleStart = function () {
|
|
29
|
+
var moves = [];
|
|
30
|
+
var currentTable = this.currentTable;
|
|
31
|
+
if (currentTable.length) {
|
|
32
|
+
moves.push(this.currentTable.moveItemsAtOnce({
|
|
33
|
+
type: LocationType_1.LocationType.Discard
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
var nextTable = this.nextTable;
|
|
37
|
+
if (nextTable.length) {
|
|
38
|
+
moves.push(nextTable.moveItemsAtOnce({
|
|
39
|
+
type: LocationType_1.LocationType.MiddleOfTable,
|
|
40
|
+
id: LocationType_1.MiddleOfTable.Current
|
|
41
|
+
}));
|
|
42
|
+
}
|
|
43
|
+
moves.push(this.startPlayerTurn(RuleId_1.RuleId.PlayCards, this.nextPlayer));
|
|
44
|
+
return moves;
|
|
45
|
+
};
|
|
46
|
+
Object.defineProperty(ChangePlayerRule.prototype, "currentTable", {
|
|
47
|
+
get: function () {
|
|
48
|
+
return this.material(MaterialType_1.MaterialType.Card).location(LocationType_1.LocationType.MiddleOfTable).locationId(LocationType_1.MiddleOfTable.Current);
|
|
49
|
+
},
|
|
50
|
+
enumerable: false,
|
|
51
|
+
configurable: true
|
|
52
|
+
});
|
|
53
|
+
Object.defineProperty(ChangePlayerRule.prototype, "nextTable", {
|
|
54
|
+
get: function () {
|
|
55
|
+
return this.material(MaterialType_1.MaterialType.Card).location(LocationType_1.LocationType.MiddleOfTable).locationId(LocationType_1.MiddleOfTable.Next);
|
|
56
|
+
},
|
|
57
|
+
enumerable: false,
|
|
58
|
+
configurable: true
|
|
59
|
+
});
|
|
60
|
+
return ChangePlayerRule;
|
|
61
|
+
}(BasePlayerTurn_1.BasePlayerTurn));
|
|
62
|
+
exports.ChangePlayerRule = ChangePlayerRule;
|
|
@@ -39,27 +39,13 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
39
39
|
}
|
|
40
40
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
41
41
|
};
|
|
42
|
-
var __values = (this && this.__values) || function(o) {
|
|
43
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
44
|
-
if (m) return m.call(o);
|
|
45
|
-
if (o && typeof o.length === "number") return {
|
|
46
|
-
next: function () {
|
|
47
|
-
if (o && i >= o.length) o = void 0;
|
|
48
|
-
return { value: o && o[i++], done: !o };
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
52
|
-
};
|
|
53
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
|
-
};
|
|
56
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
43
|
exports.EndOfRoundRule = void 0;
|
|
58
44
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
59
|
-
var sum_1 = __importDefault(require("lodash/sum"));
|
|
60
45
|
var LocationType_1 = require("../material/LocationType");
|
|
61
46
|
var MaterialType_1 = require("../material/MaterialType");
|
|
62
47
|
var CustomMoveType_1 = require("./CustomMoveType");
|
|
48
|
+
var EndHelper_1 = require("./helper/EndHelper");
|
|
63
49
|
var Memory_1 = require("./Memory");
|
|
64
50
|
var RuleId_1 = require("./RuleId");
|
|
65
51
|
var EndOfRoundRule = (function (_super) {
|
|
@@ -76,33 +62,7 @@ var EndOfRoundRule = (function (_super) {
|
|
|
76
62
|
return moves;
|
|
77
63
|
};
|
|
78
64
|
EndOfRoundRule.prototype.onRoundEnd = function () {
|
|
79
|
-
|
|
80
|
-
var ended = false;
|
|
81
|
-
var _loop_1 = function (player) {
|
|
82
|
-
var hand = this_1.material(MaterialType_1.MaterialType.Card).location(LocationType_1.LocationType.Hand).player(player);
|
|
83
|
-
this_1.memorize(Memory_1.Memory.PlayerScore, function (s) {
|
|
84
|
-
if (s === void 0) { s = []; }
|
|
85
|
-
return __spreadArray(__spreadArray([], __read(s), false), [hand.length], false);
|
|
86
|
-
}, player);
|
|
87
|
-
var score = (0, sum_1.default)(this_1.remind(Memory_1.Memory.PlayerScore, player));
|
|
88
|
-
if (!ended && score >= 15)
|
|
89
|
-
ended = true;
|
|
90
|
-
};
|
|
91
|
-
var this_1 = this;
|
|
92
|
-
try {
|
|
93
|
-
for (var _b = __values(this.game.players), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
94
|
-
var player = _c.value;
|
|
95
|
-
_loop_1(player);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
99
|
-
finally {
|
|
100
|
-
try {
|
|
101
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
102
|
-
}
|
|
103
|
-
finally { if (e_1) throw e_1.error; }
|
|
104
|
-
}
|
|
105
|
-
if (!ended) {
|
|
65
|
+
if (!new EndHelper_1.EndHelper(this.game).isEnded) {
|
|
106
66
|
this.memorize(Memory_1.Memory.Round, function (r) {
|
|
107
67
|
return r + 1;
|
|
108
68
|
});
|
|
@@ -57,6 +57,11 @@ var PickCardRule = (function (_super) {
|
|
|
57
57
|
return [this.startRule(RuleId_1.RuleId.EndOfRound)];
|
|
58
58
|
}
|
|
59
59
|
var moves = [this.customMove(CustomMoveType_1.CustomMoveType.TurnTempo)];
|
|
60
|
+
var playerMoves = this.getPlayerMoves();
|
|
61
|
+
if (playerMoves.length === 1 && (0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.Card)(playerMoves[0]) && playerMoves[0].location.type === LocationType_1.LocationType.Hand) {
|
|
62
|
+
moves.push(playerMoves[0]);
|
|
63
|
+
return moves;
|
|
64
|
+
}
|
|
60
65
|
if (this.getPlayerMoves().length)
|
|
61
66
|
return moves;
|
|
62
67
|
moves.push.apply(moves, __spreadArray([], __read(this.goToNextRule()), false));
|
|
@@ -2,14 +2,15 @@ import { CustomMove, ItemMove, MaterialMove } from '@gamepark/rules-api';
|
|
|
2
2
|
import { Card } from '../material/Card';
|
|
3
3
|
import { BasePlayerTurn } from './BasePlayerTurn';
|
|
4
4
|
export declare class PlayCardsRule extends BasePlayerTurn {
|
|
5
|
+
onRuleStart(): CustomMove<number>[];
|
|
5
6
|
getPlayerMoves(): MaterialMove<number, number, number, number>[];
|
|
7
|
+
getAvailableMoves(): MaterialMove<number, number, number, number>[];
|
|
6
8
|
get tableValue(): number;
|
|
7
9
|
onCustomMove(move: CustomMove): MaterialMove<number, number, number, number>[];
|
|
8
10
|
afterItemMove(move: ItemMove): MaterialMove<number, number, number, number>[];
|
|
9
11
|
goToNextPlayer(): MaterialMove<number, number, number, number>[];
|
|
10
12
|
get firstPlayer(): number;
|
|
11
13
|
get table(): import("@gamepark/rules-api").Material<number, number, number>;
|
|
12
|
-
get nextTable(): import("@gamepark/rules-api").Material<number, number, number>;
|
|
13
14
|
get playableCards(): import("@gamepark/rules-api").Material<number, number, number>;
|
|
14
15
|
get hand(): import("@gamepark/rules-api").Material<number, number, number>;
|
|
15
16
|
kCombinations<T>(arr: T[], k: number): T[][];
|
|
@@ -73,7 +73,19 @@ var PlayCardsRule = (function (_super) {
|
|
|
73
73
|
function PlayCardsRule() {
|
|
74
74
|
return _super !== null && _super.apply(this, arguments) || this;
|
|
75
75
|
}
|
|
76
|
+
PlayCardsRule.prototype.onRuleStart = function () {
|
|
77
|
+
var table = this.table;
|
|
78
|
+
var tableSize = table.length;
|
|
79
|
+
var hand = this.playableCards;
|
|
80
|
+
if (hand.length < tableSize) {
|
|
81
|
+
return [this.customMove(CustomMoveType_1.CustomMoveType.Pass)];
|
|
82
|
+
}
|
|
83
|
+
return [];
|
|
84
|
+
};
|
|
76
85
|
PlayCardsRule.prototype.getPlayerMoves = function () {
|
|
86
|
+
return this.getAvailableMoves();
|
|
87
|
+
};
|
|
88
|
+
PlayCardsRule.prototype.getAvailableMoves = function () {
|
|
77
89
|
var playableCards = this.playableCards;
|
|
78
90
|
var table = this.table;
|
|
79
91
|
var tableSize = table.length;
|
|
@@ -144,8 +156,7 @@ var PlayCardsRule = (function (_super) {
|
|
|
144
156
|
type: LocationType_1.LocationType.Discard
|
|
145
157
|
}));
|
|
146
158
|
}
|
|
147
|
-
moves.push(this.
|
|
148
|
-
return moves;
|
|
159
|
+
moves.push(this.startRule(RuleId_1.RuleId.ChangePlayer));
|
|
149
160
|
}
|
|
150
161
|
else {
|
|
151
162
|
moves.push(this.startPlayerTurn(RuleId_1.RuleId.PlayCards, this.nextPlayer));
|
|
@@ -166,13 +177,6 @@ var PlayCardsRule = (function (_super) {
|
|
|
166
177
|
enumerable: false,
|
|
167
178
|
configurable: true
|
|
168
179
|
});
|
|
169
|
-
Object.defineProperty(PlayCardsRule.prototype, "nextTable", {
|
|
170
|
-
get: function () {
|
|
171
|
-
return this.material(MaterialType_1.MaterialType.Card).location(LocationType_1.LocationType.MiddleOfTable).locationId(LocationType_1.MiddleOfTable.Next);
|
|
172
|
-
},
|
|
173
|
-
enumerable: false,
|
|
174
|
-
configurable: true
|
|
175
|
-
});
|
|
176
180
|
Object.defineProperty(PlayCardsRule.prototype, "playableCards", {
|
|
177
181
|
get: function () {
|
|
178
182
|
var _this = this;
|
|
@@ -0,0 +1,103 @@
|
|
|
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
|
+
var __values = (this && this.__values) || function(o) {
|
|
43
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
44
|
+
if (m) return m.call(o);
|
|
45
|
+
if (o && typeof o.length === "number") return {
|
|
46
|
+
next: function () {
|
|
47
|
+
if (o && i >= o.length) o = void 0;
|
|
48
|
+
return { value: o && o[i++], done: !o };
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
52
|
+
};
|
|
53
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
54
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
55
|
+
};
|
|
56
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
57
|
+
exports.EndHelper = void 0;
|
|
58
|
+
var rules_api_1 = require("@gamepark/rules-api");
|
|
59
|
+
var sum_1 = __importDefault(require("lodash/sum"));
|
|
60
|
+
var LocationType_1 = require("../../material/LocationType");
|
|
61
|
+
var MaterialType_1 = require("../../material/MaterialType");
|
|
62
|
+
var Memory_1 = require("../Memory");
|
|
63
|
+
var EndHelper = (function (_super) {
|
|
64
|
+
__extends(EndHelper, _super);
|
|
65
|
+
function EndHelper() {
|
|
66
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
67
|
+
}
|
|
68
|
+
Object.defineProperty(EndHelper.prototype, "isEnded", {
|
|
69
|
+
get: function () {
|
|
70
|
+
var e_1, _a;
|
|
71
|
+
var ended = false;
|
|
72
|
+
var _loop_1 = function (player) {
|
|
73
|
+
var hand = this_1.material(MaterialType_1.MaterialType.Card).location(LocationType_1.LocationType.Hand).player(player);
|
|
74
|
+
this_1.memorize(Memory_1.Memory.PlayerScore, function (s) {
|
|
75
|
+
if (s === void 0) { s = []; }
|
|
76
|
+
return __spreadArray(__spreadArray([], __read(s), false), [hand.length], false);
|
|
77
|
+
}, player);
|
|
78
|
+
var score = (0, sum_1.default)(this_1.remind(Memory_1.Memory.PlayerScore, player));
|
|
79
|
+
if (!ended && score >= 15)
|
|
80
|
+
ended = true;
|
|
81
|
+
};
|
|
82
|
+
var this_1 = this;
|
|
83
|
+
try {
|
|
84
|
+
for (var _b = __values(this.game.players), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
85
|
+
var player = _c.value;
|
|
86
|
+
_loop_1(player);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
90
|
+
finally {
|
|
91
|
+
try {
|
|
92
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
93
|
+
}
|
|
94
|
+
finally { if (e_1) throw e_1.error; }
|
|
95
|
+
}
|
|
96
|
+
return ended;
|
|
97
|
+
},
|
|
98
|
+
enumerable: false,
|
|
99
|
+
configurable: true
|
|
100
|
+
});
|
|
101
|
+
return EndHelper;
|
|
102
|
+
}(rules_api_1.MaterialRulesPart));
|
|
103
|
+
exports.EndHelper = EndHelper;
|
|
@@ -21,8 +21,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
21
21
|
exports.ScoreHelper = void 0;
|
|
22
22
|
var rules_api_1 = require("@gamepark/rules-api");
|
|
23
23
|
var sum_1 = __importDefault(require("lodash/sum"));
|
|
24
|
-
var LocationType_1 = require("../../material/LocationType");
|
|
25
|
-
var MaterialType_1 = require("../../material/MaterialType");
|
|
26
24
|
var Memory_1 = require("../Memory");
|
|
27
25
|
var ScoreHelper = (function (_super) {
|
|
28
26
|
__extends(ScoreHelper, _super);
|
|
@@ -45,13 +43,6 @@ var ScoreHelper = (function (_super) {
|
|
|
45
43
|
var _a;
|
|
46
44
|
return (_a = this.remind(Memory_1.Memory.PlayerScore, this.player)) === null || _a === void 0 ? void 0 : _a[round - 1];
|
|
47
45
|
};
|
|
48
|
-
Object.defineProperty(ScoreHelper.prototype, "isWinning", {
|
|
49
|
-
get: function () {
|
|
50
|
-
return this.material(MaterialType_1.MaterialType.Card).location(LocationType_1.LocationType.Hand).player(this.player).length === 0;
|
|
51
|
-
},
|
|
52
|
-
enumerable: false,
|
|
53
|
-
configurable: true
|
|
54
|
-
});
|
|
55
46
|
return ScoreHelper;
|
|
56
47
|
}(rules_api_1.MaterialRulesPart));
|
|
57
48
|
exports.ScoreHelper = ScoreHelper;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/odin",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.7",
|
|
4
4
|
"description": "The rules of Odin adapted for Game Park",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"lodash": ">=4.17"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@gamepark/rules-api": "~6.
|
|
27
|
+
"@gamepark/rules-api": "~6.38.5",
|
|
28
28
|
"@types/lodash": "^4.17.7",
|
|
29
29
|
"i18next": "^22.0.3",
|
|
30
30
|
"lodash": "^4.17.21"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "8633d0fca555c2e0b391a4c64476d32e062b9763"
|
|
33
33
|
}
|