@gamepark/zenith 0.0.2 → 0.1.2
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.d.ts.map +1 -0
- package/dist/PlayerId.js +2 -2
- package/dist/PlayerId.js.map +1 -0
- package/dist/TeamColor.d.ts +10 -0
- package/dist/TeamColor.d.ts.map +1 -0
- package/dist/TeamColor.js +18 -13
- package/dist/TeamColor.js.map +1 -0
- package/dist/ZenithOptions.d.ts +1 -0
- package/dist/ZenithOptions.d.ts.map +1 -0
- package/dist/ZenithOptions.js +2 -4
- package/dist/ZenithOptions.js.map +1 -0
- package/dist/ZenithRules.d.ts +5 -1
- package/dist/ZenithRules.d.ts.map +1 -0
- package/dist/ZenithRules.js +80 -123
- package/dist/ZenithRules.js.map +1 -0
- package/dist/ZenithSetup.d.ts +4 -1
- package/dist/ZenithSetup.d.ts.map +1 -0
- package/dist/ZenithSetup.js +143 -265
- package/dist/ZenithSetup.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -9
- package/dist/index.js.map +1 -0
- package/dist/material/Agent.d.ts +1 -0
- package/dist/material/Agent.d.ts.map +1 -0
- package/dist/material/Agent.js +5 -7
- package/dist/material/Agent.js.map +1 -0
- package/dist/material/Agents.d.ts +1 -0
- package/dist/material/Agents.d.ts.map +1 -0
- package/dist/material/Agents.js +922 -924
- package/dist/material/Agents.js.map +1 -0
- package/dist/material/Bonus.d.ts +1 -0
- package/dist/material/Bonus.d.ts.map +1 -0
- package/dist/material/Bonus.js +6 -8
- package/dist/material/Bonus.js.map +1 -0
- package/dist/material/Bonuses.d.ts +1 -0
- package/dist/material/Bonuses.d.ts.map +1 -0
- package/dist/material/Bonuses.js +30 -33
- package/dist/material/Bonuses.js.map +1 -0
- package/dist/material/Credit.d.ts +1 -0
- package/dist/material/Credit.d.ts.map +1 -0
- package/dist/material/Credit.js +5 -7
- package/dist/material/Credit.js.map +1 -0
- package/dist/material/Faction.d.ts +1 -0
- package/dist/material/Faction.d.ts.map +1 -0
- package/dist/material/Faction.js +5 -7
- package/dist/material/Faction.js.map +1 -0
- package/dist/material/Influence.d.ts +1 -0
- package/dist/material/Influence.d.ts.map +1 -0
- package/dist/material/Influence.js +5 -7
- package/dist/material/Influence.js.map +1 -0
- package/dist/material/LocationType.d.ts +4 -1
- package/dist/material/LocationType.d.ts.map +1 -0
- package/dist/material/LocationType.js +5 -5
- package/dist/material/LocationType.js.map +1 -0
- package/dist/material/MaterialType.d.ts +1 -0
- package/dist/material/MaterialType.d.ts.map +1 -0
- package/dist/material/MaterialType.js +3 -5
- package/dist/material/MaterialType.js.map +1 -0
- package/dist/material/effect/Effect.d.ts +6 -1
- package/dist/material/effect/Effect.d.ts.map +1 -0
- package/dist/material/effect/Effect.js +6 -10
- package/dist/material/effect/Effect.js.map +1 -0
- package/dist/material/effect/EffectType.d.ts +3 -1
- package/dist/material/effect/EffectType.d.ts.map +1 -0
- package/dist/material/effect/EffectType.js +4 -5
- package/dist/material/effect/EffectType.js.map +1 -0
- package/dist/rules/CustomMoveType.d.ts +6 -1
- package/dist/rules/CustomMoveType.d.ts.map +1 -0
- package/dist/rules/CustomMoveType.js +7 -5
- package/dist/rules/CustomMoveType.js.map +1 -0
- package/dist/rules/DiscardActionRule.d.ts +1 -0
- package/dist/rules/DiscardActionRule.d.ts.map +1 -0
- package/dist/rules/DiscardActionRule.js +27 -75
- package/dist/rules/DiscardActionRule.js.map +1 -0
- package/dist/rules/Memory.d.ts +5 -1
- package/dist/rules/Memory.d.ts.map +1 -0
- package/dist/rules/Memory.js +6 -5
- package/dist/rules/Memory.js.map +1 -0
- package/dist/rules/MulliganRule.d.ts +1 -0
- package/dist/rules/MulliganRule.d.ts.map +1 -0
- package/dist/rules/MulliganRule.js +53 -125
- package/dist/rules/MulliganRule.js.map +1 -0
- package/dist/rules/PickOrderRule.d.ts +10 -0
- package/dist/rules/PickOrderRule.d.ts.map +1 -0
- package/dist/rules/PickOrderRule.js +36 -0
- package/dist/rules/PickOrderRule.js.map +1 -0
- package/dist/rules/PlayCardRule.d.ts +1 -0
- package/dist/rules/PlayCardRule.d.ts.map +1 -0
- package/dist/rules/PlayCardRule.js +81 -134
- package/dist/rules/PlayCardRule.js.map +1 -0
- package/dist/rules/RefillRule.d.ts +4 -1
- package/dist/rules/RefillRule.d.ts.map +1 -0
- package/dist/rules/RefillRule.js +99 -189
- package/dist/rules/RefillRule.js.map +1 -0
- package/dist/rules/RuleId.d.ts +4 -1
- package/dist/rules/RuleId.d.ts.map +1 -0
- package/dist/rules/RuleId.js +5 -5
- package/dist/rules/RuleId.js.map +1 -0
- package/dist/rules/discard-action/DiplomacyActions.d.ts +2 -1
- package/dist/rules/discard-action/DiplomacyActions.d.ts.map +1 -0
- package/dist/rules/discard-action/DiplomacyActions.js +57 -20
- package/dist/rules/discard-action/DiplomacyActions.js.map +1 -0
- package/dist/rules/discard-action/DiplomacyBoardRule.d.ts +1 -0
- package/dist/rules/discard-action/DiplomacyBoardRule.d.ts.map +1 -0
- package/dist/rules/discard-action/DiplomacyBoardRule.js +28 -64
- package/dist/rules/discard-action/DiplomacyBoardRule.js.map +1 -0
- package/dist/rules/discard-action/TechnologyActions.d.ts +1 -0
- package/dist/rules/discard-action/TechnologyActions.d.ts.map +1 -0
- package/dist/rules/discard-action/TechnologyActions.js +45 -48
- package/dist/rules/discard-action/TechnologyActions.js.map +1 -0
- package/dist/rules/discard-action/TechnologyBoardRule.d.ts +1 -0
- package/dist/rules/discard-action/TechnologyBoardRule.d.ts.map +1 -0
- package/dist/rules/discard-action/TechnologyBoardRule.js +35 -102
- package/dist/rules/discard-action/TechnologyBoardRule.js.map +1 -0
- package/dist/rules/effect/ChoiceRule.d.ts +1 -0
- package/dist/rules/effect/ChoiceRule.d.ts.map +1 -0
- package/dist/rules/effect/ChoiceRule.js +21 -81
- package/dist/rules/effect/ChoiceRule.js.map +1 -0
- package/dist/rules/effect/ConditionalRule.d.ts +1 -0
- package/dist/rules/effect/ConditionalRule.d.ts.map +1 -0
- package/dist/rules/effect/ConditionalRule.js +78 -141
- package/dist/rules/effect/ConditionalRule.js.map +1 -0
- package/dist/rules/effect/DevelopTechnologyRule.d.ts +1 -0
- package/dist/rules/effect/DevelopTechnologyRule.d.ts.map +1 -0
- package/dist/rules/effect/DevelopTechnologyRule.js +54 -119
- package/dist/rules/effect/DevelopTechnologyRule.js.map +1 -0
- package/dist/rules/effect/DiscardRule.d.ts +1 -0
- package/dist/rules/effect/DiscardRule.d.ts.map +1 -0
- package/dist/rules/effect/DiscardRule.js +38 -90
- package/dist/rules/effect/DiscardRule.js.map +1 -0
- package/dist/rules/effect/EffectRule.d.ts +1 -0
- package/dist/rules/effect/EffectRule.d.ts.map +1 -0
- package/dist/rules/effect/EffectRule.js +61 -138
- package/dist/rules/effect/EffectRule.js.map +1 -0
- package/dist/rules/effect/ExileRule.d.ts +1 -0
- package/dist/rules/effect/ExileRule.d.ts.map +1 -0
- package/dist/rules/effect/ExileRule.js +65 -148
- package/dist/rules/effect/ExileRule.js.map +1 -0
- package/dist/rules/effect/GiveCreditRule.d.ts +1 -0
- package/dist/rules/effect/GiveCreditRule.d.ts.map +1 -0
- package/dist/rules/effect/GiveCreditRule.js +26 -73
- package/dist/rules/effect/GiveCreditRule.js.map +1 -0
- package/dist/rules/effect/GiveInfluenceRule.d.ts +1 -0
- package/dist/rules/effect/GiveInfluenceRule.d.ts.map +1 -0
- package/dist/rules/effect/GiveInfluenceRule.js +43 -103
- package/dist/rules/effect/GiveInfluenceRule.js.map +1 -0
- package/dist/rules/effect/GiveLeaderBadgeRule.d.ts +1 -0
- package/dist/rules/effect/GiveLeaderBadgeRule.d.ts.map +1 -0
- package/dist/rules/effect/GiveLeaderBadgeRule.js +19 -46
- package/dist/rules/effect/GiveLeaderBadgeRule.js.map +1 -0
- package/dist/rules/effect/GiveZenithiumRule.d.ts +1 -0
- package/dist/rules/effect/GiveZenithiumRule.d.ts.map +1 -0
- package/dist/rules/effect/GiveZenithiumRule.js +28 -79
- package/dist/rules/effect/GiveZenithiumRule.js.map +1 -0
- package/dist/rules/effect/MobilizeRule.d.ts +1 -0
- package/dist/rules/effect/MobilizeRule.d.ts.map +1 -0
- package/dist/rules/effect/MobilizeRule.js +39 -93
- package/dist/rules/effect/MobilizeRule.js.map +1 -0
- package/dist/rules/effect/ResetInfluenceRule.d.ts +1 -0
- package/dist/rules/effect/ResetInfluenceRule.d.ts.map +1 -0
- package/dist/rules/effect/ResetInfluenceRule.js +22 -58
- package/dist/rules/effect/ResetInfluenceRule.js.map +1 -0
- package/dist/rules/effect/ShareCardRule.d.ts +21 -0
- package/dist/rules/effect/ShareCardRule.d.ts.map +1 -0
- package/dist/rules/effect/ShareCardRule.js +68 -0
- package/dist/rules/effect/ShareCardRule.js.map +1 -0
- package/dist/rules/effect/SpendCreditRule.d.ts +1 -0
- package/dist/rules/effect/SpendCreditRule.d.ts.map +1 -0
- package/dist/rules/effect/SpendCreditRule.js +30 -102
- package/dist/rules/effect/SpendCreditRule.js.map +1 -0
- package/dist/rules/effect/SpendZenithiumRule.d.ts +1 -0
- package/dist/rules/effect/SpendZenithiumRule.d.ts.map +1 -0
- package/dist/rules/effect/SpendZenithiumRule.js +33 -109
- package/dist/rules/effect/SpendZenithiumRule.js.map +1 -0
- package/dist/rules/effect/StealCreditRule.d.ts +1 -0
- package/dist/rules/effect/StealCreditRule.d.ts.map +1 -0
- package/dist/rules/effect/StealCreditRule.js +18 -64
- package/dist/rules/effect/StealCreditRule.js.map +1 -0
- package/dist/rules/effect/TakeBonusRule.d.ts +1 -0
- package/dist/rules/effect/TakeBonusRule.d.ts.map +1 -0
- package/dist/rules/effect/TakeBonusRule.js +31 -91
- package/dist/rules/effect/TakeBonusRule.js.map +1 -0
- package/dist/rules/effect/TakeLeaderBadgeRule.d.ts +1 -0
- package/dist/rules/effect/TakeLeaderBadgeRule.d.ts.map +1 -0
- package/dist/rules/effect/TakeLeaderBadgeRule.js +32 -88
- package/dist/rules/effect/TakeLeaderBadgeRule.js.map +1 -0
- package/dist/rules/effect/TakeTechnologyBonusTokenRule.d.ts +1 -0
- package/dist/rules/effect/TakeTechnologyBonusTokenRule.d.ts.map +1 -0
- package/dist/rules/effect/TakeTechnologyBonusTokenRule.js +46 -112
- package/dist/rules/effect/TakeTechnologyBonusTokenRule.js.map +1 -0
- package/dist/rules/effect/TransferRule.d.ts +1 -0
- package/dist/rules/effect/TransferRule.d.ts.map +1 -0
- package/dist/rules/effect/TransferRule.js +48 -81
- package/dist/rules/effect/TransferRule.js.map +1 -0
- package/dist/rules/effect/WinCreditRule.d.ts +1 -0
- package/dist/rules/effect/WinCreditRule.d.ts.map +1 -0
- package/dist/rules/effect/WinCreditRule.js +61 -130
- package/dist/rules/effect/WinCreditRule.js.map +1 -0
- package/dist/rules/effect/WinInfluenceRule.d.ts +1 -0
- package/dist/rules/effect/WinInfluenceRule.d.ts.map +1 -0
- package/dist/rules/effect/WinInfluenceRule.js +129 -248
- package/dist/rules/effect/WinInfluenceRule.js.map +1 -0
- package/dist/rules/effect/WinZenithiumRule.d.ts +4 -0
- package/dist/rules/effect/WinZenithiumRule.d.ts.map +1 -0
- package/dist/rules/effect/WinZenithiumRule.js +43 -80
- package/dist/rules/effect/WinZenithiumRule.js.map +1 -0
- package/dist/rules/effect/index.d.ts +5 -0
- package/dist/rules/effect/index.d.ts.map +1 -0
- package/dist/rules/effect/index.js +24 -35
- package/dist/rules/effect/index.js.map +1 -0
- package/dist/rules/helper/BonusHelper.d.ts +1 -0
- package/dist/rules/helper/BonusHelper.d.ts.map +1 -0
- package/dist/rules/helper/BonusHelper.js +33 -64
- package/dist/rules/helper/BonusHelper.js.map +1 -0
- package/dist/rules/helper/CreditHelper.d.ts +1 -0
- package/dist/rules/helper/CreditHelper.d.ts.map +1 -0
- package/dist/rules/helper/CreditHelper.js +20 -44
- package/dist/rules/helper/CreditHelper.js.map +1 -0
- package/dist/rules/helper/EffectHelper.d.ts +1 -0
- package/dist/rules/helper/EffectHelper.d.ts.map +1 -0
- package/dist/rules/helper/EffectHelper.js +85 -123
- package/dist/rules/helper/EffectHelper.js.map +1 -0
- package/dist/rules/helper/EffectRuleIds.d.ts +1 -0
- package/dist/rules/helper/EffectRuleIds.d.ts.map +1 -0
- package/dist/rules/helper/EffectRuleIds.js +27 -29
- package/dist/rules/helper/EffectRuleIds.js.map +1 -0
- package/dist/rules/helper/EndGameHelper.d.ts +1 -0
- package/dist/rules/helper/EndGameHelper.d.ts.map +1 -0
- package/dist/rules/helper/EndGameHelper.js +24 -57
- package/dist/rules/helper/EndGameHelper.js.map +1 -0
- package/dist/rules/helper/InfluenceHelper.d.ts +1 -0
- package/dist/rules/helper/InfluenceHelper.d.ts.map +1 -0
- package/dist/rules/helper/InfluenceHelper.js +19 -44
- package/dist/rules/helper/InfluenceHelper.js.map +1 -0
- package/dist/rules/helper/MobilizeHelper.d.ts +1 -0
- package/dist/rules/helper/MobilizeHelper.d.ts.map +1 -0
- package/dist/rules/helper/MobilizeHelper.js +28 -53
- package/dist/rules/helper/MobilizeHelper.js.map +1 -0
- package/dist/rules/helper/PlanetHelper.d.ts +1 -0
- package/dist/rules/helper/PlanetHelper.d.ts.map +1 -0
- package/dist/rules/helper/PlanetHelper.js +46 -78
- package/dist/rules/helper/PlanetHelper.js.map +1 -0
- package/dist/rules/helper/PlayerHelper.d.ts +1 -0
- package/dist/rules/helper/PlayerHelper.d.ts.map +1 -0
- package/dist/rules/helper/PlayerHelper.js +25 -60
- package/dist/rules/helper/PlayerHelper.js.map +1 -0
- package/dist/rules/helper/TechnologyHelper.d.ts +1 -0
- package/dist/rules/helper/TechnologyHelper.d.ts.map +1 -0
- package/dist/rules/helper/TechnologyHelper.js +32 -87
- package/dist/rules/helper/TechnologyHelper.js.map +1 -0
- package/dist/rules/helper/ZenithiumHelper.d.ts +1 -0
- package/dist/rules/helper/ZenithiumHelper.d.ts.map +1 -0
- package/dist/rules/helper/ZenithiumHelper.js +26 -48
- package/dist/rules/helper/ZenithiumHelper.js.map +1 -0
- package/dist/tutorial/TutorialSetup.d.ts +18 -0
- package/dist/tutorial/TutorialSetup.d.ts.map +1 -0
- package/dist/tutorial/TutorialSetup.js +145 -0
- package/dist/tutorial/TutorialSetup.js.map +1 -0
- package/dist/tutorial/TutorialSetup.spec.d.ts +2 -0
- package/dist/tutorial/TutorialSetup.spec.d.ts.map +1 -0
- package/dist/tutorial/TutorialSetup.spec.js +183 -0
- package/dist/tutorial/TutorialSetup.spec.js.map +1 -0
- package/package.json +9 -8
|
@@ -1,286 +1,175 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
|
-
var __assign = (this && this.__assign) || function () {
|
|
18
|
-
__assign = Object.assign || function(t) {
|
|
19
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
-
s = arguments[i];
|
|
21
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
-
t[p] = s[p];
|
|
23
|
-
}
|
|
24
|
-
return t;
|
|
25
|
-
};
|
|
26
|
-
return __assign.apply(this, arguments);
|
|
27
|
-
};
|
|
28
|
-
var __read = (this && this.__read) || function (o, n) {
|
|
29
|
-
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
30
|
-
if (!m) return o;
|
|
31
|
-
var i = m.call(o), r, ar = [], e;
|
|
32
|
-
try {
|
|
33
|
-
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
34
|
-
}
|
|
35
|
-
catch (error) { e = { error: error }; }
|
|
36
|
-
finally {
|
|
37
|
-
try {
|
|
38
|
-
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
39
|
-
}
|
|
40
|
-
finally { if (e) throw e.error; }
|
|
41
|
-
}
|
|
42
|
-
return ar;
|
|
43
|
-
};
|
|
44
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
45
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
46
|
-
if (ar || !(i in from)) {
|
|
47
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
48
|
-
ar[i] = from[i];
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
52
|
-
};
|
|
53
|
-
var __values = (this && this.__values) || function(o) {
|
|
54
|
-
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
55
|
-
if (m) return m.call(o);
|
|
56
|
-
if (o && typeof o.length === "number") return {
|
|
57
|
-
next: function () {
|
|
58
|
-
if (o && i >= o.length) o = void 0;
|
|
59
|
-
return { value: o && o[i++], done: !o };
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
63
|
-
};
|
|
64
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
65
|
-
exports.WinInfluenceRule = void 0;
|
|
66
|
-
var rules_api_1 = require("@gamepark/rules-api");
|
|
67
|
-
var Influence_1 = require("../../material/Influence");
|
|
68
|
-
var LocationType_1 = require("../../material/LocationType");
|
|
69
|
-
var MaterialType_1 = require("../../material/MaterialType");
|
|
70
|
-
var TeamColor_1 = require("../../TeamColor");
|
|
71
|
-
var BonusHelper_1 = require("../helper/BonusHelper");
|
|
72
|
-
var EndGameHelper_1 = require("../helper/EndGameHelper");
|
|
73
|
-
var Memory_1 = require("../Memory");
|
|
74
|
-
var index_1 = require("./index");
|
|
75
|
-
var WinInfluenceRule = (function (_super) {
|
|
76
|
-
__extends(WinInfluenceRule, _super);
|
|
77
|
-
function WinInfluenceRule() {
|
|
78
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
79
|
-
}
|
|
80
|
-
WinInfluenceRule.prototype.onRuleStart = function () {
|
|
81
|
-
var moves = _super.prototype.onRuleStart.call(this);
|
|
1
|
+
import { isMoveItemType } from '@gamepark/rules-api';
|
|
2
|
+
import { influences } from '../../material/Influence';
|
|
3
|
+
import { LocationType } from '../../material/LocationType';
|
|
4
|
+
import { MaterialType } from '../../material/MaterialType';
|
|
5
|
+
import { TeamColor } from '../../TeamColor';
|
|
6
|
+
import { BonusHelper } from '../helper/BonusHelper';
|
|
7
|
+
import { EndGameHelper } from '../helper/EndGameHelper';
|
|
8
|
+
import { Memory } from '../Memory';
|
|
9
|
+
import { EffectRule } from './index';
|
|
10
|
+
export class WinInfluenceRule extends EffectRule {
|
|
11
|
+
onRuleStart() {
|
|
12
|
+
const moves = super.onRuleStart();
|
|
82
13
|
if (moves.length > 0)
|
|
83
14
|
return moves;
|
|
84
15
|
if (this.effect.resetDifferentPlanet) {
|
|
85
|
-
this.forget(
|
|
16
|
+
this.forget(Memory.LastPlanetsMoved);
|
|
86
17
|
}
|
|
87
18
|
if (this.effect.influence) {
|
|
88
19
|
return this.getPlayerMoves();
|
|
89
20
|
}
|
|
90
21
|
return [];
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
});
|
|
104
|
-
if (!planets.length)
|
|
105
|
-
return planets;
|
|
106
|
-
if (this.effect.fromCenter) {
|
|
107
|
-
return this.fromCenterPlanets(planets);
|
|
108
|
-
}
|
|
109
|
-
else if (this.effect.opponentSide) {
|
|
110
|
-
return this.opponentSidePlanets(planets);
|
|
111
|
-
}
|
|
112
|
-
else if (this.effect.influence) {
|
|
113
|
-
return this.influencePlanet(planets);
|
|
114
|
-
}
|
|
22
|
+
}
|
|
23
|
+
get planets() {
|
|
24
|
+
const planets = this.material(MaterialType.InfluenceDisc)
|
|
25
|
+
.location(LocationType.PlanetBoardInfluenceDiscSpace)
|
|
26
|
+
.filter((item) => {
|
|
27
|
+
if (this.effect.except)
|
|
28
|
+
return item.id !== this.effect.except;
|
|
29
|
+
if (this.effect.differentPlanet)
|
|
30
|
+
return !this.isAlreadyPlayed(item.id);
|
|
31
|
+
return true;
|
|
32
|
+
});
|
|
33
|
+
if (!planets.length)
|
|
115
34
|
return planets;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
35
|
+
if (this.effect.fromCenter) {
|
|
36
|
+
return this.fromCenterPlanets(planets);
|
|
37
|
+
}
|
|
38
|
+
else if (this.effect.opponentSide) {
|
|
39
|
+
return this.opponentSidePlanets(planets);
|
|
40
|
+
}
|
|
41
|
+
else if (this.effect.influence) {
|
|
42
|
+
return this.influencePlanet(planets);
|
|
43
|
+
}
|
|
44
|
+
return planets;
|
|
45
|
+
}
|
|
46
|
+
patternPlanet() {
|
|
47
|
+
const pattern = this.effect.pattern;
|
|
48
|
+
const planets = this.planets;
|
|
49
|
+
const movedPlanets = this.remind(Memory.Pattern) ?? [];
|
|
127
50
|
if (!pattern)
|
|
128
51
|
return [];
|
|
129
|
-
|
|
130
|
-
|
|
52
|
+
const moves = [];
|
|
53
|
+
const possiblePatterns = this.computePossiblePatterns().filter((patternType) => {
|
|
131
54
|
if (!movedPlanets.length)
|
|
132
55
|
return true;
|
|
133
|
-
return movedPlanets.every(
|
|
56
|
+
return movedPlanets.every((m) => patternType.some((p) => p.influence === m.influence && p.count === m.count));
|
|
134
57
|
});
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
if (movedPlanets.some(
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
.filter(
|
|
142
|
-
.map(
|
|
143
|
-
moves.push
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
try {
|
|
148
|
-
for (var _c = __values(planets.getIndexes()), _d = _c.next(); !_d.done; _d = _c.next()) {
|
|
149
|
-
var planetIndex = _d.value;
|
|
150
|
-
_loop_1(planetIndex);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
154
|
-
finally {
|
|
155
|
-
try {
|
|
156
|
-
if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
|
|
157
|
-
}
|
|
158
|
-
finally { if (e_1) throw e_1.error; }
|
|
58
|
+
for (const planetIndex of planets.getIndexes()) {
|
|
59
|
+
const material = planets.index(planetIndex);
|
|
60
|
+
const item = planets.getItem(planetIndex);
|
|
61
|
+
if (movedPlanets.some((patternType) => patternType.influence === item.id))
|
|
62
|
+
continue;
|
|
63
|
+
const planetPossiblePatterns = possiblePatterns
|
|
64
|
+
.filter((patternType) => patternType.some((p) => p.influence === item.id))
|
|
65
|
+
.map((patternType) => patternType.find((p) => p.influence === item.id));
|
|
66
|
+
moves.push(...planetPossiblePatterns.map((type) => material.moveItem({
|
|
67
|
+
...item.location,
|
|
68
|
+
x: this.getPositionForQuantity(item, type.count)
|
|
69
|
+
})));
|
|
159
70
|
}
|
|
160
71
|
return moves;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
|
|
72
|
+
}
|
|
73
|
+
computePossiblePatterns() {
|
|
74
|
+
const pattern = this.effect.pattern;
|
|
164
75
|
if (!pattern)
|
|
165
76
|
return [];
|
|
166
|
-
|
|
167
|
-
for (
|
|
168
|
-
|
|
169
|
-
patterns.push(patternInfluences.map(
|
|
77
|
+
const patterns = [];
|
|
78
|
+
for (let i = 1; i <= influences.length - (pattern.length - 1); i++) {
|
|
79
|
+
const patternInfluences = influences.slice(i - 1, i + pattern.length - 1);
|
|
80
|
+
patterns.push(patternInfluences.map((i, index) => ({ influence: i, count: pattern[index] })));
|
|
170
81
|
}
|
|
171
82
|
return patterns;
|
|
172
|
-
}
|
|
173
|
-
|
|
83
|
+
}
|
|
84
|
+
influencePlanet(planets) {
|
|
174
85
|
return planets.id(this.effect.influence);
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
var opponentSidePlanets = planets.filter(function (planet) { return (_this.playerHelper.team === TeamColor_1.TeamColor.White ? planet.location.x < 0 : planet.location.x > 0); });
|
|
86
|
+
}
|
|
87
|
+
opponentSidePlanets(planets) {
|
|
88
|
+
const opponentSidePlanets = planets.filter((planet) => (this.playerHelper.team === TeamColor.White ? planet.location.x < 0 : planet.location.x > 0));
|
|
179
89
|
if (!opponentSidePlanets.length)
|
|
180
90
|
return opponentSidePlanets;
|
|
181
91
|
if (this.effect.influence)
|
|
182
92
|
return opponentSidePlanets.id(this.effect.influence);
|
|
183
93
|
return opponentSidePlanets;
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
|
|
94
|
+
}
|
|
95
|
+
fromCenterPlanets(planets) {
|
|
96
|
+
const centeredPlanets = planets.filter((planet) => planet.location.x === 0);
|
|
187
97
|
if (!centeredPlanets.length)
|
|
188
98
|
return centeredPlanets;
|
|
189
99
|
if (this.effect.influence)
|
|
190
100
|
return centeredPlanets.id(this.effect.influence);
|
|
191
101
|
return centeredPlanets;
|
|
192
|
-
}
|
|
193
|
-
|
|
194
|
-
var _a;
|
|
102
|
+
}
|
|
103
|
+
getPositionAfterPull(item, effect) {
|
|
195
104
|
if (effect.times) {
|
|
196
|
-
|
|
197
|
-
for (
|
|
198
|
-
|
|
199
|
-
if (this.player ===
|
|
105
|
+
const positions = [];
|
|
106
|
+
for (let i = 1; i <= effect.times; i++) {
|
|
107
|
+
const newPosition = item.location.x + i;
|
|
108
|
+
if (this.player === TeamColor.Black && newPosition > 4)
|
|
200
109
|
break;
|
|
201
|
-
if (this.player ===
|
|
110
|
+
if (this.player === TeamColor.White && newPosition < -4)
|
|
202
111
|
break;
|
|
203
112
|
positions.push(newPosition);
|
|
204
113
|
}
|
|
205
114
|
return positions;
|
|
206
115
|
}
|
|
207
|
-
return [this.getPositionForQuantity(item,
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
if (this.player ===
|
|
116
|
+
return [this.getPositionForQuantity(item, effect.quantity ?? 1)];
|
|
117
|
+
}
|
|
118
|
+
getPositionForQuantity(item, quantity) {
|
|
119
|
+
if (this.player === TeamColor.Black) {
|
|
211
120
|
return Math.min(4, item.location.x + quantity);
|
|
212
121
|
}
|
|
213
122
|
return Math.max(-4, item.location.x - quantity);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
var planets = this.planets;
|
|
123
|
+
}
|
|
124
|
+
getPlayerMoves() {
|
|
125
|
+
const effect = this.effect;
|
|
126
|
+
const planets = this.planets;
|
|
219
127
|
if (this.effect.pattern) {
|
|
220
128
|
return this.patternPlanet();
|
|
221
129
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
moves.push
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
var this_1 = this;
|
|
231
|
-
try {
|
|
232
|
-
for (var _b = __values(planets.getIndexes()), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
233
|
-
var index = _c.value;
|
|
234
|
-
_loop_2(index);
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
238
|
-
finally {
|
|
239
|
-
try {
|
|
240
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
241
|
-
}
|
|
242
|
-
finally { if (e_2) throw e_2.error; }
|
|
130
|
+
const moves = [];
|
|
131
|
+
for (const index of planets.getIndexes()) {
|
|
132
|
+
const item = planets.getItem(index);
|
|
133
|
+
const positions = this.getPositionAfterPull(item, effect);
|
|
134
|
+
moves.push(...positions.map((x) => planets.index(index).moveItem({
|
|
135
|
+
...item.location,
|
|
136
|
+
x: x
|
|
137
|
+
})));
|
|
243
138
|
}
|
|
244
139
|
return moves;
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
if (!
|
|
140
|
+
}
|
|
141
|
+
beforeItemMove(move) {
|
|
142
|
+
if (!isMoveItemType(MaterialType.InfluenceDisc)(move) || move.location.type !== LocationType.PlanetBoardInfluenceDiscSpace)
|
|
248
143
|
return [];
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
this.memorize(
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
});
|
|
255
|
-
var moves = [];
|
|
256
|
-
var effect = this.effect;
|
|
144
|
+
const planet = this.material(MaterialType.InfluenceDisc).index(move.itemIndex);
|
|
145
|
+
const item = planet.getItem();
|
|
146
|
+
this.memorize(Memory.LastPlanetsMoved, (planets = []) => planets.concat(item.id));
|
|
147
|
+
const moves = [];
|
|
148
|
+
const effect = this.effect;
|
|
257
149
|
if (Math.abs(move.location.x) === 4) {
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
moves.push
|
|
261
|
-
type:
|
|
150
|
+
const helper = new EndGameHelper(this.game);
|
|
151
|
+
const planets = this.material(MaterialType.InfluenceDisc).index([...helper.getTeamPlanet(this.playerHelper.team).getIndexes(), planet.getIndex()]);
|
|
152
|
+
moves.push(...planet.moveItems({
|
|
153
|
+
type: LocationType.TeamPlanets,
|
|
262
154
|
player: this.playerHelper.team
|
|
263
|
-
}))
|
|
155
|
+
}));
|
|
264
156
|
if (helper.willEnd(this.playerHelper.team, planets)) {
|
|
265
157
|
moves.push(this.endGame());
|
|
266
158
|
return moves;
|
|
267
159
|
}
|
|
268
160
|
else {
|
|
269
|
-
moves.push
|
|
161
|
+
moves.push(...new BonusHelper(this.game).applyInfluenceBonus(item.id));
|
|
270
162
|
}
|
|
271
163
|
}
|
|
272
164
|
if (effect.times) {
|
|
273
|
-
|
|
165
|
+
const consumed = move.location.x - item.location.x;
|
|
274
166
|
effect.times -= consumed;
|
|
275
167
|
if (effect.times > 0)
|
|
276
168
|
return moves;
|
|
277
169
|
}
|
|
278
170
|
else if (effect.pattern) {
|
|
279
|
-
this.memorize(
|
|
280
|
-
|
|
281
|
-
return patternTypes.concat({ influence: item.id, count: Math.abs(move.location.x - item.location.x) });
|
|
282
|
-
});
|
|
283
|
-
var patternMoves = this.patternPlanet();
|
|
171
|
+
this.memorize(Memory.Pattern, (patternTypes = []) => patternTypes.concat({ influence: item.id, count: Math.abs(move.location.x - item.location.x) }));
|
|
172
|
+
const patternMoves = this.patternPlanet();
|
|
284
173
|
if (patternMoves.length > 0 && patternMoves.length <= effect.pattern.length - 1) {
|
|
285
174
|
moves.push(this.patternPlanet()[0]);
|
|
286
175
|
return moves;
|
|
@@ -289,40 +178,32 @@ var WinInfluenceRule = (function (_super) {
|
|
|
289
178
|
return moves;
|
|
290
179
|
}
|
|
291
180
|
this.removeFirstEffect();
|
|
292
|
-
moves.push
|
|
181
|
+
moves.push(...this.afterEffectPlayed());
|
|
293
182
|
return moves;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
WinInfluenceRule.prototype.isPossible = function () {
|
|
183
|
+
}
|
|
184
|
+
isAlreadyPlayed(influence) {
|
|
185
|
+
return this.lastPlanetsMoved?.includes(influence);
|
|
186
|
+
}
|
|
187
|
+
isPossible() {
|
|
300
188
|
return this.planets.length > 0;
|
|
301
|
-
}
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
enumerable: false,
|
|
307
|
-
configurable: true
|
|
308
|
-
});
|
|
309
|
-
WinInfluenceRule.prototype.setExtraData = function (_extraData) {
|
|
310
|
-
var _a, _b;
|
|
311
|
-
var _c, _d;
|
|
189
|
+
}
|
|
190
|
+
get lastPlanetsMoved() {
|
|
191
|
+
return this.remind(Memory.LastPlanetsMoved);
|
|
192
|
+
}
|
|
193
|
+
setExtraData(_extraData) {
|
|
312
194
|
if (_extraData.quantity) {
|
|
313
|
-
|
|
195
|
+
this.effect.quantity ??= _extraData.quantity;
|
|
314
196
|
}
|
|
315
197
|
if (_extraData.factor) {
|
|
316
198
|
this.effect.times = _extraData.factor;
|
|
317
199
|
}
|
|
318
200
|
if (_extraData.influence) {
|
|
319
|
-
|
|
201
|
+
this.effect.influence ??= _extraData.influence;
|
|
320
202
|
}
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
this.forget(
|
|
203
|
+
}
|
|
204
|
+
onRuleEnd() {
|
|
205
|
+
this.forget(Memory.Pattern);
|
|
324
206
|
return [];
|
|
325
|
-
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
exports.WinInfluenceRule = WinInfluenceRule;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=WinInfluenceRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WinInfluenceRule.js","sourceRoot":"","sources":["../../../src/rules/effect/WinInfluenceRule.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,5 +5,9 @@ export declare class WinZenithiumRule extends EffectRule<WinZenithiumEffect> {
|
|
|
5
5
|
onRuleStart(): MaterialMove[];
|
|
6
6
|
setExtraData(_extraData: Record<string, unknown>): void;
|
|
7
7
|
get zenithium(): import("@gamepark/rules-api").Material<number, number, number>;
|
|
8
|
+
get wonZenithium(): number;
|
|
9
|
+
isPossible(): boolean;
|
|
10
|
+
get level1Technology(): number;
|
|
8
11
|
onRuleEnd(): never[];
|
|
9
12
|
}
|
|
13
|
+
//# sourceMappingURL=WinZenithiumRule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WinZenithiumRule.d.ts","sourceRoot":"","sources":["../../../src/rules/effect/WinZenithiumRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAIjE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,qBAAa,gBAAiB,SAAQ,UAAU,CAAC,kBAAkB,CAAC;IAClE,WAAW;IAuBX,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAMhD,IAAI,SAAS,mEAEZ;IAED,IAAI,YAAY,WAIf;IAED,UAAU,IAAI,OAAO;IAKrB,IAAI,gBAAgB,WAInB;IAED,SAAS;CAKV"}
|
|
@@ -1,92 +1,55 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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.WinZenithiumRule = void 0;
|
|
44
|
-
var LocationType_1 = require("../../material/LocationType");
|
|
45
|
-
var MaterialType_1 = require("../../material/MaterialType");
|
|
46
|
-
var Memory_1 = require("../Memory");
|
|
47
|
-
var index_1 = require("./index");
|
|
48
|
-
var WinZenithiumRule = (function (_super) {
|
|
49
|
-
__extends(WinZenithiumRule, _super);
|
|
50
|
-
function WinZenithiumRule() {
|
|
51
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
52
|
-
}
|
|
53
|
-
WinZenithiumRule.prototype.onRuleStart = function () {
|
|
54
|
-
var _a, _b;
|
|
55
|
-
var moves = _super.prototype.onRuleStart.call(this);
|
|
1
|
+
import { LocationType } from '../../material/LocationType';
|
|
2
|
+
import { MaterialType } from '../../material/MaterialType';
|
|
3
|
+
import { Memory } from '../Memory';
|
|
4
|
+
import { EffectRule } from './index';
|
|
5
|
+
export class WinZenithiumRule extends EffectRule {
|
|
6
|
+
onRuleStart() {
|
|
7
|
+
const moves = super.onRuleStart();
|
|
56
8
|
if (moves.length > 0)
|
|
57
9
|
return moves;
|
|
58
|
-
|
|
59
|
-
this.memorize(
|
|
10
|
+
const zenithium = this.wonZenithium;
|
|
11
|
+
this.memorize(Memory.Zenithium, this.effect.quantity ?? 1);
|
|
12
|
+
this.memorize(Memory.CurrentEffect, JSON.parse(JSON.stringify(this.effect)));
|
|
60
13
|
moves.push(this.zenithium.createItem({
|
|
61
14
|
location: {
|
|
62
|
-
type:
|
|
15
|
+
type: LocationType.TeamZenithium,
|
|
63
16
|
player: this.effect.opponent ? this.opponentTeam : this.playerHelper.team
|
|
64
17
|
},
|
|
65
|
-
quantity:
|
|
18
|
+
quantity: zenithium
|
|
66
19
|
}));
|
|
67
20
|
this.removeFirstEffect();
|
|
68
|
-
moves.push
|
|
21
|
+
moves.push(...this.afterEffectPlayed());
|
|
69
22
|
return moves;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
var _a;
|
|
73
|
-
var _b;
|
|
23
|
+
}
|
|
24
|
+
setExtraData(_extraData) {
|
|
74
25
|
if (_extraData.quantity) {
|
|
75
|
-
|
|
26
|
+
this.effect.quantity ??= _extraData.quantity;
|
|
76
27
|
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
28
|
+
}
|
|
29
|
+
get zenithium() {
|
|
30
|
+
return this.material(MaterialType.ZenithiumToken).location(LocationType.TeamZenithium).player(this.playerHelper.team);
|
|
31
|
+
}
|
|
32
|
+
get wonZenithium() {
|
|
33
|
+
if (this.effect.quantity)
|
|
34
|
+
return this.effect.quantity;
|
|
35
|
+
if (this.effect.perLevel1Technology)
|
|
36
|
+
return this.effect.perLevel1Technology[this.level1Technology - 1] ?? 0;
|
|
37
|
+
return 1;
|
|
38
|
+
}
|
|
39
|
+
isPossible() {
|
|
40
|
+
if (this.effect.perLevel1Technology)
|
|
41
|
+
return this.level1Technology > 0;
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
get level1Technology() {
|
|
45
|
+
return this.material(MaterialType.TechMarker)
|
|
46
|
+
.player(this.playerHelper.team)
|
|
47
|
+
.location((l) => l.type === LocationType.TechnologyBoardTokenSpace && l.x >= 1).length;
|
|
48
|
+
}
|
|
49
|
+
onRuleEnd() {
|
|
50
|
+
this.forget(Memory.Zenithium);
|
|
51
|
+
this.forget(Memory.CurrentEffect);
|
|
88
52
|
return [];
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
exports.WinZenithiumRule = WinZenithiumRule;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=WinZenithiumRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WinZenithiumRule.js","sourceRoot":"","sources":["../../../src/rules/effect/WinZenithiumRule.ts"],"names":[],"mappings":"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"}
|