@gamepark/greylune 0.1.1 → 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/Memory.d.ts +19 -17
- package/dist/Memory.d.ts.map +1 -1
- package/dist/Memory.js +19 -17
- package/dist/Memory.js.map +1 -1
- package/dist/ai/Evaluation.d.ts +1 -1
- package/dist/ai/Evaluation.d.ts.map +1 -1
- package/dist/ai/Evaluation.js +5 -5
- package/dist/ai/Evaluation.js.map +1 -1
- package/dist/material/Effect.d.ts +1 -0
- package/dist/material/Effect.d.ts.map +1 -1
- package/dist/material/Effect.js +1 -0
- package/dist/material/Effect.js.map +1 -1
- package/dist/material/Reaction.d.ts +6 -2
- package/dist/material/Reaction.d.ts.map +1 -1
- package/dist/material/Reaction.js.map +1 -1
- package/dist/material/VillageCard.d.ts.map +1 -1
- package/dist/material/VillageCard.js +4 -4
- package/dist/material/VillageCard.js.map +1 -1
- package/dist/rules/ChooseOutcomeRule.d.ts +3 -0
- package/dist/rules/ChooseOutcomeRule.d.ts.map +1 -1
- package/dist/rules/ChooseOutcomeRule.js +14 -0
- package/dist/rules/ChooseOutcomeRule.js.map +1 -1
- package/dist/rules/ChooseSkillRule.js +1 -1
- package/dist/rules/ChooseSkillRule.js.map +1 -1
- package/dist/rules/EncounterRule.d.ts +2 -2
- package/dist/rules/EncounterRule.d.ts.map +1 -1
- package/dist/rules/EncounterRule.js +5 -5
- package/dist/rules/EncounterRule.js.map +1 -1
- package/dist/rules/GreyluneRule.d.ts +6 -2
- package/dist/rules/GreyluneRule.d.ts.map +1 -1
- package/dist/rules/GreyluneRule.js +46 -11
- package/dist/rules/GreyluneRule.js.map +1 -1
- package/dist/rules/ReactionRule.d.ts +6 -1
- package/dist/rules/ReactionRule.d.ts.map +1 -1
- package/dist/rules/ReactionRule.js +50 -5
- package/dist/rules/ReactionRule.js.map +1 -1
- package/dist/rules/ResolveEffectsRule.d.ts +1 -0
- package/dist/rules/ResolveEffectsRule.d.ts.map +1 -1
- package/dist/rules/ResolveEffectsRule.js +10 -2
- package/dist/rules/ResolveEffectsRule.js.map +1 -1
- package/dist/rules/ResolveEncounterRule.d.ts.map +1 -1
- package/dist/rules/ResolveEncounterRule.js +9 -9
- package/dist/rules/ResolveEncounterRule.js.map +1 -1
- package/dist/rules/SummerRule.d.ts.map +1 -1
- package/dist/rules/SummerRule.js +1 -1
- package/dist/rules/SummerRule.js.map +1 -1
- package/dist/rules/TellStoryRule.d.ts +7 -0
- package/dist/rules/TellStoryRule.d.ts.map +1 -1
- package/dist/rules/TellStoryRule.js +46 -3
- package/dist/rules/TellStoryRule.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { isCustomMoveType } from '@gamepark/rules-api';
|
|
2
2
|
import { Memory } from '../Memory';
|
|
3
|
-
import {
|
|
3
|
+
import { RequirementType } from '../material/Effect';
|
|
4
|
+
import { encounterCardData } from '../material/EncounterCard';
|
|
5
|
+
import { eventTileData } from '../material/EventTile';
|
|
6
|
+
import { questRequirements } from '../material/QuestTile';
|
|
7
|
+
import { ReactionType, TriggerType } from '../material/Reaction';
|
|
8
|
+
import { villageCardData } from '../material/VillageCard';
|
|
4
9
|
import { ActivateCardRule } from './ActivateCardRule';
|
|
10
|
+
import { ChooseOutcomeRule } from './ChooseOutcomeRule';
|
|
5
11
|
import { CustomMoveType } from './CustomMoveType';
|
|
6
12
|
import { EventRule } from './EventRule';
|
|
7
13
|
import { ResolveQuestRule } from './ResolveQuestRule';
|
|
@@ -31,13 +37,51 @@ export class ReactionRule extends GreyluneRule {
|
|
|
31
37
|
return new EventRule(this.game);
|
|
32
38
|
case RuleId.ResolveQuest:
|
|
33
39
|
return new ResolveQuestRule(this.game);
|
|
40
|
+
case RuleId.ChooseOutcome:
|
|
41
|
+
return new ChooseOutcomeRule(this.game);
|
|
34
42
|
default:
|
|
35
43
|
return this.activation;
|
|
36
44
|
}
|
|
37
45
|
}
|
|
38
46
|
get choices() {
|
|
39
47
|
const blocked = this.blocked;
|
|
40
|
-
return this.reactionChoices(this.triggers).filter((choice) => !blocked || blocked.helps(choice.card, choice.option));
|
|
48
|
+
return this.reactionChoices(this.triggers).filter((choice) => this.lowersPrice(choice) && (!blocked || blocked.helps(choice.card, choice.option)));
|
|
49
|
+
}
|
|
50
|
+
lowersPrice({ card, option }) {
|
|
51
|
+
switch (this.reactionEffect(card, option).type) {
|
|
52
|
+
case ReactionType.ReduceForceCost:
|
|
53
|
+
return (this.costReduction.force ?? 0) < this.mostAsked(RequirementType.SpendForce);
|
|
54
|
+
case ReactionType.ReduceVillagerCost:
|
|
55
|
+
return (this.costReduction.villagers ?? 0) < this.mostAsked(RequirementType.SpendVillagers);
|
|
56
|
+
default:
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
mostAsked(type) {
|
|
61
|
+
const prices = this.prices;
|
|
62
|
+
if (!prices)
|
|
63
|
+
return Infinity;
|
|
64
|
+
return Math.max(0, ...prices.map((price) => price.filter((requirement) => requirement.type === type).reduce((total, requirement) => total + (requirement.count ?? 1), 0)));
|
|
65
|
+
}
|
|
66
|
+
get prices() {
|
|
67
|
+
switch (this.resumeRule) {
|
|
68
|
+
case RuleId.ActivateCard:
|
|
69
|
+
return (this.activation.data.abilities ?? []).map((ability) => ability.requirements ?? []);
|
|
70
|
+
case RuleId.UseItem: {
|
|
71
|
+
const card = this.remind(Memory.ActivatedCard);
|
|
72
|
+
return [villageCardData[this.playerCard(card)].abilities[this.remind(Memory.Ability)].requirements ?? []];
|
|
73
|
+
}
|
|
74
|
+
case RuleId.Event:
|
|
75
|
+
return this.eventTile === undefined ? [] : eventTileData[this.eventTile].abilities.map((ability) => ability.requirements ?? []);
|
|
76
|
+
case RuleId.ResolveQuest:
|
|
77
|
+
return [questRequirements[new ResolveQuestRule(this.game).tile]];
|
|
78
|
+
case RuleId.ChooseOutcome: {
|
|
79
|
+
const card = this.encounterCards.getItem(new ChooseOutcomeRule(this.game).card);
|
|
80
|
+
return [encounterCardData[card.id.front].outcomes.flatMap((outcome) => outcome.requirements ?? [])];
|
|
81
|
+
}
|
|
82
|
+
default:
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
41
85
|
}
|
|
42
86
|
getPlayerMoves() {
|
|
43
87
|
return [
|
|
@@ -45,15 +89,16 @@ export class ReactionRule extends GreyluneRule {
|
|
|
45
89
|
...(this.blocked ? [] : [this.customMove(CustomMoveType.Pass)])
|
|
46
90
|
];
|
|
47
91
|
}
|
|
92
|
+
onRuleStart() {
|
|
93
|
+
return this.choices.length ? [] : this.close();
|
|
94
|
+
}
|
|
48
95
|
onCustomMove(move) {
|
|
49
96
|
if (isCustomMoveType(CustomMoveType.Pass)(move))
|
|
50
97
|
return this.close();
|
|
51
98
|
if (!isCustomMoveType(CustomMoveType.UseReaction)(move))
|
|
52
99
|
return super.onCustomMove(move);
|
|
53
100
|
const { card, option } = move.data;
|
|
54
|
-
|
|
55
|
-
const left = this.choices.filter((choice) => choice.card !== card);
|
|
56
|
-
return left.length ? moves : [...moves, ...this.close()];
|
|
101
|
+
return [...this.useReaction(card, option), this.startRule(RuleId.Reaction)];
|
|
57
102
|
}
|
|
58
103
|
close() {
|
|
59
104
|
return [this.startRule(this.resumeRule)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactionRule.js","sourceRoot":"","sources":["../../src/rules/ReactionRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"ReactionRule.js","sourceRoot":"","sources":["../../src/rules/ReactionRule.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ export declare class ResolveEffectsRule extends GreyluneRule {
|
|
|
5
5
|
onRuleStart(): GreyluneMove[];
|
|
6
6
|
private travelDone;
|
|
7
7
|
private startGain;
|
|
8
|
+
private withOtherSkill;
|
|
8
9
|
get tiltedCards(): import("./GreyluneRule").GreyluneMaterial;
|
|
9
10
|
get bonusTokens(): import("@gamepark/rules-api").Material<import("../PlayerColor").PlayerColor, MaterialType, LocationType>;
|
|
10
11
|
get canPlaceVillager(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolveEffectsRule.d.ts","sourceRoot":"","sources":["../../src/rules/ResolveEffectsRule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMvD,OAAO,EAAE,YAAY,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"ResolveEffectsRule.d.ts","sourceRoot":"","sources":["../../src/rules/ResolveEffectsRule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAe,MAAM,gBAAgB,CAAA;AAkBxE,qBAAa,kBAAmB,SAAQ,YAAY;IAMlD,WAAW,IAAI,YAAY,EAAE,CAa5B;IAQD,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,SAAS;IAgDjB,OAAO,CAAC,cAAc;IAQtB,IAAI,WAAW,8CAEd;IAED,IAAI,WAAW,6GAEd;IAGD,IAAI,gBAAgB,IAAI,OAAO,CAE9B;CACF"}
|
|
@@ -9,6 +9,7 @@ import { cardsAroundGap } from '../material/Village';
|
|
|
9
9
|
import { CustomMoveType } from './CustomMoveType';
|
|
10
10
|
import { GreyluneRule } from './GreyluneRule';
|
|
11
11
|
import { RuleId } from './RuleId';
|
|
12
|
+
const skillMarker = (type) => (type === GainType.Force ? MaterialType.StrengthMarker : MaterialType.MagicMarker);
|
|
12
13
|
export class ResolveEffectsRule extends GreyluneRule {
|
|
13
14
|
onRuleStart() {
|
|
14
15
|
this.forget(Memory.CostReduction);
|
|
@@ -38,9 +39,8 @@ export class ResolveEffectsRule extends GreyluneRule {
|
|
|
38
39
|
return [move];
|
|
39
40
|
switch (gain.type) {
|
|
40
41
|
case GainType.Force:
|
|
41
|
-
return this.gainSkill(MaterialType.StrengthMarker, this.amount(gain.count));
|
|
42
42
|
case GainType.Magic:
|
|
43
|
-
return this.
|
|
43
|
+
return this.gainSkills(this.withOtherSkill(gain).map(({ type, count }) => [skillMarker(type), this.amount(count)]));
|
|
44
44
|
case GainType.Villager: {
|
|
45
45
|
const villagers = this.gainVillagers(this.amount(gain.count));
|
|
46
46
|
return villagers.length ? [...villagers, this.startRule(RuleId.ResolveEffects)] : [];
|
|
@@ -73,6 +73,14 @@ export class ResolveEffectsRule extends GreyluneRule {
|
|
|
73
73
|
return [];
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
|
+
withOtherSkill(gain) {
|
|
77
|
+
const [next, ...rest] = this.gains;
|
|
78
|
+
const other = gain.type === GainType.Force ? GainType.Magic : GainType.Force;
|
|
79
|
+
if (next?.type !== other || !('count' in next))
|
|
80
|
+
return [gain];
|
|
81
|
+
this.memorize(Memory.Gains, rest);
|
|
82
|
+
return [gain, next];
|
|
83
|
+
}
|
|
76
84
|
get tiltedCards() {
|
|
77
85
|
return this.playerCards.rotation(true);
|
|
78
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolveEffectsRule.js","sourceRoot":"","sources":["../../src/rules/ResolveEffectsRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"ResolveEffectsRule.js","sourceRoot":"","sources":["../../src/rules/ResolveEffectsRule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolveEncounterRule.d.ts","sourceRoot":"","sources":["../../src/rules/ResolveEncounterRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAA;AAElE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAS,IAAI,
|
|
1
|
+
{"version":3,"file":"ResolveEncounterRule.d.ts","sourceRoot":"","sources":["../../src/rules/ResolveEncounterRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAA;AAElE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAS,IAAI,EAAuB,MAAM,oBAAoB,CAAA;AAIrE,OAAO,EAAE,eAAe,EAAuC,SAAS,EAAiB,MAAM,uBAAuB,CAAA;AAGtH,OAAO,EAAE,aAAa,EAAuB,MAAM,iBAAiB,CAAA;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAgB7C,qBAAa,oBAAqB,SAAQ,aAAa;IAErD,IAAI,IAAI,IAAI,IAAI,CAEf;IAED,IAAI,GAAG,8CAEN;IAED,WAAW,IAAI,YAAY,EAAE,CAE5B;IAQD,cAAc,IAAI,YAAY,EAAE,CAU/B;IAGD,IAAI,SAAS,IAAI,IAAI,GAAG,SAAS,CAIhC;IAED,IAAI,UAAU,IAAI,eAAe,GAAG,SAAS,CAE5C;IAED,IAAI,SAAS,IAAI,SAAS,GAAG,SAAS,CAIrC;IAOD,IAAI,YAAY,IAAI,OAAO,CAO1B;IAED,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,EAAE,CAW7C;IASD,OAAO,CAAC,SAAS;CAQlB"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import { isCustomMoveType } from '@gamepark/rules-api';
|
|
2
2
|
import { Memory } from '../Memory';
|
|
3
3
|
import { Area } from '../material/Area';
|
|
4
|
-
import { coins, vp } from '../material/Effect';
|
|
5
|
-
import { encounterCardData } from '../material/EncounterCard';
|
|
4
|
+
import { coins, RequirementType, vp } from '../material/Effect';
|
|
6
5
|
import { LocationType } from '../material/LocationType';
|
|
7
6
|
import { MaterialType } from '../material/MaterialType';
|
|
8
7
|
import { adventurerArea } from '../material/PlayerState';
|
|
9
8
|
import { heroicQuestAreas, questRequirements, questTriggers } from '../material/QuestTile';
|
|
9
|
+
import { TriggerType } from '../material/Reaction';
|
|
10
10
|
import { CustomMoveType } from './CustomMoveType';
|
|
11
|
-
import { EncounterRule } from './EncounterRule';
|
|
11
|
+
import { EncounterRule, outcomeRequirements } from './EncounterRule';
|
|
12
12
|
import { RuleId } from './RuleId';
|
|
13
13
|
export class ResolveEncounterRule extends EncounterRule {
|
|
14
14
|
get area() {
|
|
@@ -21,15 +21,16 @@ export class ResolveEncounterRule extends EncounterRule {
|
|
|
21
21
|
return this.area === 0 ? this.endOfAction() : [];
|
|
22
22
|
}
|
|
23
23
|
getPlayerMoves() {
|
|
24
|
+
const reduction = this.potentialReduction([TriggerType.SpendForce]);
|
|
24
25
|
const moves = this.row
|
|
25
26
|
.getIndexes()
|
|
26
|
-
.filter((card) => this.encounterMoves(card).length > 0)
|
|
27
|
+
.filter((card) => this.encounterMoves(card, reduction).length > 0)
|
|
27
28
|
.map((card) => this.customMove(CustomMoveType.ChooseEncounter, card));
|
|
28
29
|
if (this.spaceGain)
|
|
29
30
|
moves.push(this.customMove(CustomMoveType.SkipEncounter));
|
|
30
31
|
if (this.canTakeQuest)
|
|
31
32
|
moves.push(this.customMove(CustomMoveType.ResolveQuest));
|
|
32
|
-
if (!
|
|
33
|
+
if (!this.spaceGain)
|
|
33
34
|
moves.push(this.customMove(CustomMoveType.Pass));
|
|
34
35
|
return moves;
|
|
35
36
|
}
|
|
@@ -75,11 +76,10 @@ export class ResolveEncounterRule extends EncounterRule {
|
|
|
75
76
|
return super.onCustomMove(move);
|
|
76
77
|
}
|
|
77
78
|
designate(card) {
|
|
78
|
-
const ways = this.encounterMoves(card);
|
|
79
|
-
if (ways.length === 1 && ways[0].outcomes.length === encounterCardData[this.front(card)].outcomes.length)
|
|
80
|
-
return this.resolve(ways[0]);
|
|
81
79
|
this.memorize(Memory.ResolvedEncounter, card);
|
|
82
|
-
|
|
80
|
+
const front = this.front(card);
|
|
81
|
+
const spendsForce = this.encounterMoves(card, this.potentialReduction([TriggerType.SpendForce])).some((way) => outcomeRequirements(front, way.outcomes, way.ignored).some((requirement) => requirement.type === RequirementType.SpendForce));
|
|
82
|
+
return spendsForce ? this.openReactions([TriggerType.SpendForce], RuleId.ChooseOutcome) : [this.startRule(RuleId.ChooseOutcome)];
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
//# sourceMappingURL=ResolveEncounterRule.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolveEncounterRule.js","sourceRoot":"","sources":["../../src/rules/ResolveEncounterRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,KAAK,EAAQ,
|
|
1
|
+
{"version":3,"file":"ResolveEncounterRule.js","sourceRoot":"","sources":["../../src/rules/ResolveEncounterRule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SummerRule.d.ts","sourceRoot":"","sources":["../../src/rules/SummerRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoC,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAG5F,OAAO,EAAS,WAAW,EAA6B,MAAM,oBAAoB,CAAA;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvD,OAAO,EAAyB,IAAI,EAAuB,MAAM,qBAAqB,CAAA;AAKtF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAUpE,qBAAa,UAAW,SAAQ,UAAU;IACxC,cAAc,IAAI,YAAY,EAAE,CAS/B;IAKD,OAAO,CAAC,aAAa;IAcrB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGzB;IAGD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9B;IAGD,KAAK,CAAC,IAAI,EAAE,MAAM,4GAEjB;IAED,OAAO,CAAC,WAAW;IAcnB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,GAAE,WAAW,EAAO,EAAE,KAAK,SAAI,EAAE,SAAS,GAAE,aAAkC,GAAG,OAAO,CAe/H;IAOD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS9B;IAID,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,kBAAkB;IAM1B,IAAI,cAAc,IAAI,OAAO,CAE5B;IAID,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,YAAY,EAAE,CAKhF;IAED,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,EAAE,CAK7C;
|
|
1
|
+
{"version":3,"file":"SummerRule.d.ts","sourceRoot":"","sources":["../../src/rules/SummerRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoC,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAG5F,OAAO,EAAS,WAAW,EAA6B,MAAM,oBAAoB,CAAA;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIvD,OAAO,EAAyB,IAAI,EAAuB,MAAM,qBAAqB,CAAA;AAKtF,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,MAAM,kBAAkB,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAA;AAUpE,qBAAa,UAAW,SAAQ,UAAU;IACxC,cAAc,IAAI,YAAY,EAAE,CAS/B;IAKD,OAAO,CAAC,aAAa;IAcrB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAGzB;IAGD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9B;IAGD,KAAK,CAAC,IAAI,EAAE,MAAM,4GAEjB;IAED,OAAO,CAAC,WAAW;IAcnB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,GAAE,WAAW,EAAO,EAAE,KAAK,SAAI,EAAE,SAAS,GAAE,aAAkC,GAAG,OAAO,CAe/H;IAOD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAS9B;IAID,OAAO,CAAC,YAAY;IAqBpB,OAAO,CAAC,kBAAkB;IAM1B,IAAI,cAAc,IAAI,OAAO,CAE5B;IAID,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,YAAY,EAAE,CAKhF;IAED,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,EAAE,CAK7C;IAOD,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,YAAY;CAMrB"}
|
package/dist/rules/SummerRule.js
CHANGED
|
@@ -123,7 +123,7 @@ export class SummerRule extends SeasonRule {
|
|
|
123
123
|
this.pushGains([coins(this.surcharge(data.card))]);
|
|
124
124
|
return [
|
|
125
125
|
this.villagers.index(data.villager).moveItem({ type: LocationType.Camp }),
|
|
126
|
-
...this.openReactions([TriggerType.GainCoinsAround], RuleId.ResolveEffects)
|
|
126
|
+
...this.openReactions(data.card === undefined ? [] : [TriggerType.GainCoinsAround], RuleId.ResolveEffects)
|
|
127
127
|
];
|
|
128
128
|
}
|
|
129
129
|
startActivation(data) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SummerRule.js","sourceRoot":"","sources":["../../src/rules/SummerRule.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SummerRule.js","sourceRoot":"","sources":["../../src/rules/SummerRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,cAAc,EAAY,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,KAAK,EAAe,eAAe,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC9E,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AACjF,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,KAAK,EAAQ,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AACtF,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAiB,eAAe,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACjI,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAazC,MAAM,OAAO,UAAW,SAAQ,UAAU;IACxC,cAAc;QACZ,OAAO;YACL,GAAG,IAAI,CAAC,aAAa,EAAE;YACvB,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,eAAe,CAAC;YAChD,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC;YAC3C,GAAG,IAAI,CAAC,YAAY,EAAE;YACtB,GAAG,IAAI,CAAC,kBAAkB,EAAE;YAC5B,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACtE,CAAA;IACH,CAAC;IAKO,aAAa;QACnB,MAAM,KAAK,GAAmB,EAAE,CAAA;QAChC,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;YAC7E,MAAM,KAAK,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;YAExD,IAAI,CAAC,KAAK,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;YAC5F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;gBAC/E,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAC1G,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,CAAC,IAAY;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAA;QACzD,OAAO,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAA;IACnD,CAAC;IAGD,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC7E,CAAC;IAGD,KAAK,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACtF,CAAC;IAEO,WAAW,CAAC,IAAY;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,KAAM,CAAA;QACtE,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;QACnC,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,eAAe,CAAC,SAAS,IAAI,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,cAAc;YAAE,OAAO,KAAK,CAAA;QACzI,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK;YAAE,OAAO,KAAK,CAAA;QAG3D,IAAI,kBAAkB,CAAC,KAAK,CAAC,KAAK,eAAe,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QACvE,MAAM,SAAS,GAAG,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAA;QACpE,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;IACrJ,CAAC;IAGD,aAAa,CAAC,IAAY,EAAE,YAAY,GAAkB,EAAE,EAAE,KAAK,GAAG,CAAC,EAAE,SAAS,GAAkB,IAAI,CAAC,aAAa;QACpH,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;QACxE,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;aAC5B,QAAQ,EAAE;aACV,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAU,CAAC,CAAA;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM;YAAE,OAAO,KAAK,CAAA;QAChC,MAAM,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,SAAS,CAAC,CAAA;QACrG,MAAM,QAAQ,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAA;QACzE,OAAO,CACL,IAAI,CAAC,MAAM,CACT,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAC9D,SAAS,CACV;YACD,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,QAAQ,CAAC,CAChD,CAAA;IACH,CAAC;IAOD,SAAS,CAAC,IAAY;QACpB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,KAAM,CAAA;QACtE,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,eAAe,CAAC,IAAI,CAAA;QACjE,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;YACvH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;YAClD,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,WAAW,IAAI,MAAM;gBAAE,OAAO,MAAM,GAAG,CAAC,CAAA;YACzE,IAAI,MAAM,CAAC,IAAI,KAAK,YAAY,CAAC,WAAW;gBAAE,OAAO,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAClF,OAAO,MAAM,CAAA;QACf,CAAC,EAAE,CAAC,CAAC,CAAA;IACP,CAAC;IAIO,YAAY;QAClB,OAAO,IAAI,CAAC,YAAY;aACrB,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC;aAC5B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aACnB,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC;aACzC,UAAU,EAAE;aACZ,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAClF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAC7G,CACF,CAAA;IACL,CAAC;IAUO,kBAAkB;QACxB,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM;YAAE,OAAO,EAAE,CAAA;QAC7F,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAClG,CAAC;IAGD,IAAI,cAAc;QAChB,OAAO,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;IAC3D,CAAC;IAID,aAAa,CAAC,IAAkD;QAC9D,IAAI,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa,EAAE,CAAC;YACrG,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;QAC/C,CAAC;QACD,OAAO,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;IAClC,CAAC;IAED,YAAY,CAAC,IAAgB;QAC3B,IAAI,gBAAgB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAA0B,CAAC,CAAA;QACxH,IAAI,gBAAgB,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAA0B,CAAC,CAAA;QACrH,IAAI,gBAAgB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAyC,CAAC,CAAA;QAC5H,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAOO,eAAe,CAAC,IAAwB;QAC9C,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/E,OAAO;YACL,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC;YACzE,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;SAC3G,CAAA;IACH,CAAC;IAGO,eAAe,CAAC,IAAwB;QAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;QAClD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9C,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAA;IAC1F,CAAC;IAQO,YAAY,CAAC,IAAuC;QAC1D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QACpF,OAAO,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IAClF,CAAC;CACF"}
|
|
@@ -8,6 +8,10 @@ export declare class TellStoryRule extends GreyluneRule {
|
|
|
8
8
|
get told(): number[];
|
|
9
9
|
get value(): number;
|
|
10
10
|
get boosts(): number;
|
|
11
|
+
get sealTier(): number;
|
|
12
|
+
get seals(): import("@gamepark/rules-api").Material<import("../PlayerColor").PlayerColor, MaterialType, LocationType>;
|
|
13
|
+
get over(): boolean;
|
|
14
|
+
get sealSpent(): boolean;
|
|
11
15
|
get untold(): import("./GreyluneRule").GreyluneMaterial;
|
|
12
16
|
storyValue(card: number): number;
|
|
13
17
|
addedValue(card: number): number;
|
|
@@ -16,7 +20,10 @@ export declare class TellStoryRule extends GreyluneRule {
|
|
|
16
20
|
getPlayerMoves(): GreyluneMove[];
|
|
17
21
|
get outOfReach(): boolean;
|
|
18
22
|
helps(card: number, option: number): boolean;
|
|
23
|
+
onRuleStart(): GreyluneMove[];
|
|
24
|
+
private sealValueMoves;
|
|
19
25
|
afterItemMove(move: ItemMove<number, MaterialType, LocationType>): GreyluneMove[];
|
|
20
26
|
onCustomMove(move: CustomMove): GreyluneMove[];
|
|
27
|
+
private pay;
|
|
21
28
|
}
|
|
22
29
|
//# sourceMappingURL=TellStoryRule.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TellStoryRule.d.ts","sourceRoot":"","sources":["../../src/rules/TellStoryRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"TellStoryRule.d.ts","sourceRoot":"","sources":["../../src/rules/TellStoryRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoC,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAG5F,OAAO,EAAE,IAAI,EAAa,MAAM,oBAAoB,CAAA;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAgB3D,qBAAa,aAAc,SAAQ,YAAY;IAC7C,IAAI,OAAO,IAAI,IAAI,EAAE,EAAE,CAEtB;IAGD,IAAI,IAAI,IAAI,MAAM,EAAE,CAEnB;IAGD,IAAI,KAAK,IAAI,MAAM,CAKlB;IAED,IAAI,MAAM,IAAI,MAAM,CAEnB;IAGD,IAAI,QAAQ,IAAI,MAAM,CAErB;IAGD,IAAI,KAAK,6GAER;IAED,IAAI,IAAI,IAAI,OAAO,CAElB;IAGD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,MAAM,8CAET;IAED,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/B;IAOD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/B;IASD,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAK1B;IAED,IAAI,QAAQ,8CAEX;IAOD,cAAc,IAAI,YAAY,EAAE,CAM/B;IAOD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAE3C;IAGD,WAAW,IAAI,YAAY,EAAE,CAG5B;IAGD,OAAO,CAAC,cAAc;IAQtB,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,YAAY,EAAE,CAUhF;IAMD,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,EAAE,CAU7C;IAGD,OAAO,CAAC,GAAG;CAKZ"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import { isCustomMoveType } from '@gamepark/rules-api';
|
|
1
|
+
import { isCustomMoveType, isMoveItemType } from '@gamepark/rules-api';
|
|
2
2
|
import { MAX_STORY_VALUE } from '../Constants';
|
|
3
3
|
import { Memory } from '../Memory';
|
|
4
|
+
import { readsSeal } from '../material/Effect';
|
|
4
5
|
import { encounterCardData } from '../material/EncounterCard';
|
|
5
6
|
import { LocationType } from '../material/LocationType';
|
|
6
7
|
import { MaterialType } from '../material/MaterialType';
|
|
7
|
-
import { ReactionType } from '../material/Reaction';
|
|
8
|
+
import { ReactionType, TriggerType } from '../material/Reaction';
|
|
9
|
+
import { Seal } from '../material/Tokens';
|
|
8
10
|
import { CustomMoveType } from './CustomMoveType';
|
|
9
11
|
import { GreyluneRule } from './GreyluneRule';
|
|
12
|
+
import { RuleId } from './RuleId';
|
|
10
13
|
export class TellStoryRule extends GreyluneRule {
|
|
11
14
|
get rewards() {
|
|
12
15
|
return this.remind(Memory.StoryRewards) ?? [];
|
|
@@ -20,6 +23,18 @@ export class TellStoryRule extends GreyluneRule {
|
|
|
20
23
|
get boosts() {
|
|
21
24
|
return this.remind(Memory.StoryBoost) ?? 0;
|
|
22
25
|
}
|
|
26
|
+
get sealTier() {
|
|
27
|
+
return this.rewards.findIndex((tier) => tier.some(readsSeal));
|
|
28
|
+
}
|
|
29
|
+
get seals() {
|
|
30
|
+
return this.material(MaterialType.Seal).location(LocationType.CardSeal).parent(this.remind(Memory.ActivatedCard));
|
|
31
|
+
}
|
|
32
|
+
get over() {
|
|
33
|
+
return !!this.remind(Memory.StoryOver);
|
|
34
|
+
}
|
|
35
|
+
get sealSpent() {
|
|
36
|
+
return this.remind(Memory.SealValue) !== undefined;
|
|
37
|
+
}
|
|
23
38
|
get untold() {
|
|
24
39
|
return this.encounterCards.location(LocationType.UntoldStories).player(this.player);
|
|
25
40
|
}
|
|
@@ -42,6 +57,10 @@ export class TellStoryRule extends GreyluneRule {
|
|
|
42
57
|
return this.untold.index((index) => this.fits(index));
|
|
43
58
|
}
|
|
44
59
|
getPlayerMoves() {
|
|
60
|
+
if (this.sealSpent)
|
|
61
|
+
return this.costReduction.freeSealValue ? this.sealValueMoves() : [];
|
|
62
|
+
if (this.over)
|
|
63
|
+
return this.seals.moveItems({ type: LocationType.SealDiscard });
|
|
45
64
|
const moves = this.tellable.moveItems({ type: LocationType.ToldStories, player: this.player });
|
|
46
65
|
if (this.told.length)
|
|
47
66
|
moves.push(this.customMove(CustomMoveType.Pass));
|
|
@@ -53,7 +72,19 @@ export class TellStoryRule extends GreyluneRule {
|
|
|
53
72
|
helps(card, option) {
|
|
54
73
|
return this.reactionEffect(card, option).type === ReactionType.StoryValue3;
|
|
55
74
|
}
|
|
75
|
+
onRuleStart() {
|
|
76
|
+
if (this.sealSpent && !this.costReduction.freeSealValue)
|
|
77
|
+
return this.pay();
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
sealValueMoves() {
|
|
81
|
+
return [Seal.One, Seal.Two, Seal.Three].map((value) => this.customMove(CustomMoveType.ChooseAbility, { value }));
|
|
82
|
+
}
|
|
56
83
|
afterItemMove(move) {
|
|
84
|
+
if (isMoveItemType(MaterialType.Seal)(move) && move.location.type === LocationType.SealDiscard) {
|
|
85
|
+
this.memorize(Memory.SealValue, this.material(MaterialType.Seal).getItem(move.itemIndex).id);
|
|
86
|
+
return this.openReactions([TriggerType.ActivateSeal], RuleId.TellStory);
|
|
87
|
+
}
|
|
57
88
|
if (move.itemType !== MaterialType.EncounterCard || !('itemIndex' in move))
|
|
58
89
|
return [];
|
|
59
90
|
const added = this.addedValue(move.itemIndex);
|
|
@@ -63,9 +94,21 @@ export class TellStoryRule extends GreyluneRule {
|
|
|
63
94
|
return [];
|
|
64
95
|
}
|
|
65
96
|
onCustomMove(move) {
|
|
97
|
+
if (isCustomMoveType(CustomMoveType.ChooseAbility)(move)) {
|
|
98
|
+
this.memorize(Memory.SealValue, move.data.value);
|
|
99
|
+
return this.pay();
|
|
100
|
+
}
|
|
66
101
|
if (!isCustomMoveType(CustomMoveType.Pass)(move))
|
|
67
102
|
return super.onCustomMove(move);
|
|
68
|
-
|
|
103
|
+
if (this.sealTier < 0 || this.value <= this.sealTier || !this.seals.length)
|
|
104
|
+
return this.pay();
|
|
105
|
+
this.memorize(Memory.StoryOver, true);
|
|
106
|
+
const values = new Set(this.seals.getItems().map((item) => item.id));
|
|
107
|
+
return values.size === 1 ? [this.seals.limit(1).moveItem({ type: LocationType.SealDiscard })] : [];
|
|
108
|
+
}
|
|
109
|
+
pay() {
|
|
110
|
+
const gains = this.rewards.slice(0, this.value).flat();
|
|
111
|
+
this.pushGains(this.sealSpent ? gains : gains.filter((gain) => !readsSeal(gain)), true);
|
|
69
112
|
return this.endOfAction();
|
|
70
113
|
}
|
|
71
114
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TellStoryRule.js","sourceRoot":"","sources":["../../src/rules/TellStoryRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAY,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"TellStoryRule.js","sourceRoot":"","sources":["../../src/rules/TellStoryRule.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/greylune",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "The rules of Greylune adapted for Game Park",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@eslint/js": "^10.0.1",
|
|
30
|
-
"@gamepark/rules-api": "~7.
|
|
30
|
+
"@gamepark/rules-api": "~7.8.0",
|
|
31
31
|
"@typescript/native": "npm:typescript@^7.0.2",
|
|
32
32
|
"es-toolkit": "^1.52.0",
|
|
33
33
|
"eslint": "^10.9.1",
|