@gamepark/greylune 0.1.0 → 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/GreyluneRules.d.ts +3 -2
- package/dist/GreyluneRules.d.ts.map +1 -1
- package/dist/GreyluneRules.js +2 -1
- package/dist/GreyluneRules.js.map +1 -1
- package/dist/GreyluneSetup.d.ts.map +1 -1
- package/dist/GreyluneSetup.js +1 -2
- package/dist/GreyluneSetup.js.map +1 -1
- 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 +12 -13
- package/dist/ai/Evaluation.js.map +1 -1
- package/dist/ai/Simulation.js +1 -1
- package/dist/ai/Simulation.js.map +1 -1
- package/dist/material/Effect.d.ts +2 -1
- 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/EventTile.d.ts.map +1 -1
- package/dist/material/EventTile.js +2 -12
- package/dist/material/EventTile.js.map +1 -1
- package/dist/material/LocationType.d.ts +0 -1
- package/dist/material/LocationType.d.ts.map +1 -1
- package/dist/material/LocationType.js +0 -1
- package/dist/material/LocationType.js.map +1 -1
- package/dist/material/QuestTile.d.ts +2 -0
- package/dist/material/QuestTile.d.ts.map +1 -1
- package/dist/material/QuestTile.js +2 -0
- package/dist/material/QuestTile.js.map +1 -1
- package/dist/material/Reaction.d.ts +7 -2
- package/dist/material/Reaction.d.ts.map +1 -1
- package/dist/material/Reaction.js +13 -0
- package/dist/material/Reaction.js.map +1 -1
- package/dist/material/VillageCard.d.ts.map +1 -1
- package/dist/material/VillageCard.js +5 -5
- package/dist/material/VillageCard.js.map +1 -1
- package/dist/rules/BonusTokenRule.d.ts.map +1 -1
- package/dist/rules/BonusTokenRule.js +3 -2
- package/dist/rules/BonusTokenRule.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.d.ts +1 -0
- package/dist/rules/ChooseSkillRule.d.ts.map +1 -1
- package/dist/rules/ChooseSkillRule.js +12 -2
- package/dist/rules/ChooseSkillRule.js.map +1 -1
- package/dist/rules/EncounterRule.d.ts +3 -2
- package/dist/rules/EncounterRule.d.ts.map +1 -1
- package/dist/rules/EncounterRule.js +25 -8
- package/dist/rules/EncounterRule.js.map +1 -1
- package/dist/rules/EndTurnRule.d.ts +7 -0
- package/dist/rules/EndTurnRule.d.ts.map +1 -0
- package/dist/rules/EndTurnRule.js +12 -0
- package/dist/rules/EndTurnRule.js.map +1 -0
- package/dist/rules/EventRule.d.ts +3 -0
- package/dist/rules/EventRule.d.ts.map +1 -1
- package/dist/rules/EventRule.js +19 -0
- package/dist/rules/EventRule.js.map +1 -1
- package/dist/rules/GreyluneRule.d.ts +10 -2
- package/dist/rules/GreyluneRule.d.ts.map +1 -1
- package/dist/rules/GreyluneRule.js +63 -12
- package/dist/rules/GreyluneRule.js.map +1 -1
- package/dist/rules/ReactionRule.d.ts +9 -1
- package/dist/rules/ReactionRule.d.ts.map +1 -1
- package/dist/rules/ReactionRule.js +65 -6
- 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 +13 -4
- package/dist/rules/ResolveEffectsRule.js.map +1 -1
- package/dist/rules/ResolveEncounterRule.d.ts.map +1 -1
- package/dist/rules/ResolveEncounterRule.js +11 -12
- package/dist/rules/ResolveEncounterRule.js.map +1 -1
- package/dist/rules/ResolveQuestRule.d.ts +2 -0
- package/dist/rules/ResolveQuestRule.d.ts.map +1 -1
- package/dist/rules/ResolveQuestRule.js +9 -0
- package/dist/rules/ResolveQuestRule.js.map +1 -1
- package/dist/rules/RuleId.d.ts +5 -4
- package/dist/rules/RuleId.d.ts.map +1 -1
- package/dist/rules/RuleId.js +5 -4
- package/dist/rules/RuleId.js.map +1 -1
- package/dist/rules/SeasonRule.d.ts.map +1 -1
- package/dist/rules/SeasonRule.js +4 -1
- package/dist/rules/SeasonRule.js.map +1 -1
- package/dist/rules/SpecialActionRule.d.ts +0 -1
- package/dist/rules/SpecialActionRule.d.ts.map +1 -1
- package/dist/rules/SpecialActionRule.js +1 -10
- package/dist/rules/SpecialActionRule.js.map +1 -1
- package/dist/rules/SummerRule.d.ts.map +1 -1
- package/dist/rules/SummerRule.js +4 -3
- 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/dist/rules/WinterRule.js +1 -1
- package/dist/rules/WinterRule.js.map +1 -1
- package/package.json +2 -2
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { getEnumValues, isCustomMoveType, PlayerTurnRule } from '@gamepark/rules-api';
|
|
2
2
|
import { BONUS_TOKEN_SCORES, MAX_SKILL, SCORE_TRACK_SIZE } from '../Constants';
|
|
3
3
|
import { Memory } from '../Memory';
|
|
4
|
-
import { bonusToken, GainType, gathered, placeVillager, RequirementType, SEAL } from '../material/Effect';
|
|
4
|
+
import { bonusToken, GainType, gathered, placeVillager, RequirementType, SEAL, vp } from '../material/Effect';
|
|
5
5
|
import { encounterCardData } from '../material/EncounterCard';
|
|
6
6
|
import { eventTileData, isFestival } from '../material/EventTile';
|
|
7
7
|
import { LocationType } from '../material/LocationType';
|
|
8
8
|
import { MaterialType } from '../material/MaterialType';
|
|
9
|
-
import { activeVillagers, keepsPotions, playerCoins, playerForce, playerMagic, playerSeason, playerVp, scoreValue, vpTokenTotal } from '../material/PlayerState';
|
|
9
|
+
import { activeVillagers, adventurerArea, keepsPotions, playerCoins, playerForce, playerMagic, playerSeason, playerVp, scoreValue, vpTokenTotal } from '../material/PlayerState';
|
|
10
10
|
import { ReactionType, TriggerType } from '../material/Reaction';
|
|
11
11
|
import { coinUnits } from '../material/Tokens';
|
|
12
12
|
import { getVillagerPlayer } from '../material/Villager';
|
|
@@ -16,6 +16,8 @@ import { Season } from '../Season';
|
|
|
16
16
|
import { isLastYear } from '../Year';
|
|
17
17
|
import { CustomMoveType } from './CustomMoveType';
|
|
18
18
|
import { RuleId } from './RuleId';
|
|
19
|
+
const skillGain = (marker) => (marker === MaterialType.StrengthMarker ? GainType.Force : GainType.Magic);
|
|
20
|
+
const otherSkill = (skill) => (skill === GainType.Force ? GainType.Magic : GainType.Force);
|
|
19
21
|
export class GreyluneRule extends PlayerTurnRule {
|
|
20
22
|
get villageCards() {
|
|
21
23
|
return this.material(MaterialType.VillageCard);
|
|
@@ -79,11 +81,14 @@ export class GreyluneRule extends PlayerTurnRule {
|
|
|
79
81
|
return this.myVillagers.location(LocationType.EventSpace).length > 0;
|
|
80
82
|
}
|
|
81
83
|
get eventOptions() {
|
|
84
|
+
return this.eventOptionsWith(this.costReduction);
|
|
85
|
+
}
|
|
86
|
+
eventOptionsWith(reduction) {
|
|
82
87
|
const tile = this.eventTile;
|
|
83
88
|
if (tile === undefined)
|
|
84
89
|
return [];
|
|
85
90
|
const taken = this.villagers.location(LocationType.EventSpace).getItems().map((item) => item.location.x);
|
|
86
|
-
return eventTileData[tile].abilities.flatMap((ability, option) => this.canPay(ability.requirements) && !(isFestival(tile) && taken.includes(option)) ? [option] : []);
|
|
91
|
+
return eventTileData[tile].abilities.flatMap((ability, option) => this.canPay(ability.requirements, reduction) && !(isFestival(tile) && taken.includes(option)) ? [option] : []);
|
|
87
92
|
}
|
|
88
93
|
get gains() {
|
|
89
94
|
return this.remind(Memory.Gains) ?? [];
|
|
@@ -136,8 +141,28 @@ export class GreyluneRule extends PlayerTurnRule {
|
|
|
136
141
|
return scoreMoves(this, this.player, total);
|
|
137
142
|
}
|
|
138
143
|
gainSkill(marker, amount) {
|
|
139
|
-
|
|
140
|
-
|
|
144
|
+
return this.gainSkills([[marker, amount]]);
|
|
145
|
+
}
|
|
146
|
+
gainSkills(gains) {
|
|
147
|
+
const moves = [];
|
|
148
|
+
const gained = [];
|
|
149
|
+
for (const [marker, amount] of gains) {
|
|
150
|
+
this.pushSkillOverflow(marker, amount);
|
|
151
|
+
const moved = this.moveSkillMarker(marker, amount);
|
|
152
|
+
if (moved.length)
|
|
153
|
+
gained.push(marker);
|
|
154
|
+
moves.push(...moved);
|
|
155
|
+
}
|
|
156
|
+
return moves.length ? [...moves, ...this.afterSkillsGained(gained)] : [];
|
|
157
|
+
}
|
|
158
|
+
skillOverflow(marker, amount) {
|
|
159
|
+
const level = this.material(marker).player(this.player).getItem()?.location.x ?? 0;
|
|
160
|
+
return Math.max(0, level + amount - MAX_SKILL);
|
|
161
|
+
}
|
|
162
|
+
pushSkillOverflow(marker, amount) {
|
|
163
|
+
const overflow = this.skillOverflow(marker, amount);
|
|
164
|
+
if (overflow > 0)
|
|
165
|
+
this.pushGains([vp(overflow)], true);
|
|
141
166
|
}
|
|
142
167
|
moveSkillMarker(marker, amount) {
|
|
143
168
|
const markers = this.material(marker).player(this.player);
|
|
@@ -145,8 +170,8 @@ export class GreyluneRule extends PlayerTurnRule {
|
|
|
145
170
|
const x = Math.min(MAX_SKILL, Math.max(0, (location.x ?? 0) + amount));
|
|
146
171
|
return x === location.x ? [] : [markers.moveItem({ ...location, x })];
|
|
147
172
|
}
|
|
148
|
-
|
|
149
|
-
this.memorize(Memory.
|
|
173
|
+
afterSkillsGained(markers) {
|
|
174
|
+
this.memorize(Memory.SkillsGained, markers.map(skillGain));
|
|
150
175
|
return this.resume([TriggerType.GainSkill]);
|
|
151
176
|
}
|
|
152
177
|
gainVillagers(amount) {
|
|
@@ -237,12 +262,37 @@ export class GreyluneRule extends PlayerTurnRule {
|
|
|
237
262
|
if (!this.canReact(card, reaction))
|
|
238
263
|
continue;
|
|
239
264
|
reaction.options.forEach((effect, option) => {
|
|
240
|
-
if (effect.trigger === undefined || triggers.includes(effect.trigger))
|
|
265
|
+
if ((effect.trigger === undefined || triggers.includes(effect.trigger)) && this.canApply(effect))
|
|
241
266
|
choices.push({ card, option });
|
|
242
267
|
});
|
|
243
268
|
}
|
|
244
269
|
return choices;
|
|
245
270
|
}
|
|
271
|
+
canApply(effect) {
|
|
272
|
+
switch (effect.type) {
|
|
273
|
+
case ReactionType.OtherSkill:
|
|
274
|
+
return this.skillsGained.includes(otherSkill(effect.skill));
|
|
275
|
+
case ReactionType.ChooseSealValue:
|
|
276
|
+
return !this.costReduction.freeSealValue;
|
|
277
|
+
case ReactionType.StoryValue3:
|
|
278
|
+
return !this.remind(Memory.StoryBoost);
|
|
279
|
+
case ReactionType.IgnoreCondition:
|
|
280
|
+
return (this.remind(Memory.IgnoredConditions) ?? 0) < this.mostConditionsHere;
|
|
281
|
+
default:
|
|
282
|
+
return true;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
get skillsGained() {
|
|
286
|
+
return this.remind(Memory.SkillsGained) ?? [];
|
|
287
|
+
}
|
|
288
|
+
get mostConditionsHere() {
|
|
289
|
+
const area = adventurerArea(this, this.player);
|
|
290
|
+
return Math.max(0, ...this.encounterCards
|
|
291
|
+
.location(LocationType.EncounterRow)
|
|
292
|
+
.locationId(area)
|
|
293
|
+
.getItems()
|
|
294
|
+
.map((item) => encounterCardData[item.id.front].outcomes.reduce((total, outcome) => total + (outcome.requirements?.length ?? 0), 0)));
|
|
295
|
+
}
|
|
246
296
|
canReact(card, reaction) {
|
|
247
297
|
const item = this.villageCards.getItem(card);
|
|
248
298
|
for (const requirement of reaction.requirements) {
|
|
@@ -367,11 +417,9 @@ export class GreyluneRule extends PlayerTurnRule {
|
|
|
367
417
|
case ReactionType.ChooseSealValue:
|
|
368
418
|
this.reduceCost({ freeSealValue: true });
|
|
369
419
|
return [];
|
|
370
|
-
case ReactionType.OtherSkill:
|
|
371
|
-
|
|
372
|
-
this.pushGains([{ type: gain?.type === GainType.Force ? GainType.Magic : GainType.Force, count: 1 }], true);
|
|
420
|
+
case ReactionType.OtherSkill:
|
|
421
|
+
this.pushGains([{ type: effect.skill, count: 1 }], true);
|
|
373
422
|
return [];
|
|
374
|
-
}
|
|
375
423
|
case ReactionType.StraightenTilted:
|
|
376
424
|
return tiltedBefore === undefined ? [] : [this.villageCards.index(tiltedBefore).rotateItem(false)];
|
|
377
425
|
}
|
|
@@ -391,6 +439,9 @@ export class GreyluneRule extends PlayerTurnRule {
|
|
|
391
439
|
}
|
|
392
440
|
endOfTurn() {
|
|
393
441
|
this.forgetAction();
|
|
442
|
+
return [this.startRule(RuleId.EndTurn)];
|
|
443
|
+
}
|
|
444
|
+
passTurn() {
|
|
394
445
|
const next = this.nextActivePlayer();
|
|
395
446
|
if (next !== undefined)
|
|
396
447
|
return [this.startPlayerTurn(this.seasonRule(next), next)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GreyluneRule.js","sourceRoot":"","sources":["../../src/rules/GreyluneRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,aAAa,EAAE,gBAAgB,EAAmD,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAClJ,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,UAAU,EAAe,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAe,eAAe,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AACnI,OAAO,EAAmB,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC9E,OAAO,EAAa,aAAa,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAChK,OAAO,EAA4B,YAAY,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAC1F,OAAO,EAAQ,SAAS,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EAAE,iBAAiB,EAAY,MAAM,sBAAsB,CAAA;AAClE,OAAO,EAAE,QAAQ,EAA8B,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC/F,OAAO,EAAE,UAAU,EAAE,eAAe,EAAW,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACxF,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAgCjC,MAAM,OAAgB,YAAa,SAAQ,cAA+D;IAGxG,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;IAClD,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC7C,CAAC;IAQD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,CAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/F,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3C,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC/D,CAAC;IAGD,UAAU,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,KAAM,CAAA;IAClE,CAAC;IAID,IAAI,KAAK;QACP,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,KAAK;QACP,OAAO,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACvC,CAAC;IAED,IAAI,MAAM;QACR,OAAO,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACxC,CAAC;IAOD,IAAI,cAAc;QAChB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC3F,IAAI,MAAM,CAAC,MAAM,CAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC,KAAM,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QAC7G,OAAO,CACL,MAAM,CAAC,MAAM,GAAG,CAAC;YACjB,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,WAAW,CAAC,CAC9I,CAAA;IACH,CAAC;IAMD,UAAU,CAAC,KAAK,GAAW,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,cAAc,CAAA;IACvF,CAAC;IAGD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACxD,CAAC;IAED,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACxD,CAAC;IAKD,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAC9F,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,EAAE,EAA2B,CAAA;IAClE,CAAC;IAQD,IAAI,UAAU;QACZ,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAA;IACjF,CAAC;IAGD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAA;IACtE,CAAC;IASD,IAAI,YAAY;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAA;QAC3B,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,EAAE,CAAA;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QACxG,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,CAC/D,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CACnG,CAAA;IACH,CAAC;IAID,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;IAChD,CAAC;IAGD,SAAS,CAAC,KAAa,EAAE,KAAK,GAAG,KAAK;QACpC,IAAI,KAAK,CAAC,MAAM;YAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,CAAA;IAC9G,CAAC;IAGD,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAA;IAChD,CAAC;IAGD,MAAM,CAAC,KAAY;QACjB,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;IAC9E,CAAC;IAUD,QAAQ,CAAC,IAAU;QACjB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC,KAAK;gBACjB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YAC3E,KAAK,QAAQ,CAAC,EAAE;gBACd,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YACxE,KAAK,QAAQ,CAAC,KAAK;gBACjB,OAAO,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1F;gBACE,OAAO,SAAS,CAAA;QACpB,CAAC;IACH,CAAC;IAED,YAAY,CAAC,IAAgB;QAC3B,IAAI,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QACvH,IAAI,gBAAgB,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAc,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QACjH,OAAO,EAAE,CAAA;IACX,CAAC;IAOD,IAAY,KAAK;QACf,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACjH,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7F,CAAC;IAED,QAAQ,CAAC,MAAc;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAChG,CAAC;IAQD,MAAM,CAAC,MAAc;QACnB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,CAAA;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;QACnH,IAAI,KAAK,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,MAAM,KAAK,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAA;QACtF,IAAI,KAAK,IAAI,kBAAkB,CAAC,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC;YAAE,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,CAAA;QACrF,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC7C,CAAC;IAMD,SAAS,CAAC,MAAmB,EAAE,MAAc;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAClD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5E,CAAC;IAGD,eAAe,CAAC,MAAmB,EAAE,MAAc;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzD,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,OAAO,EAAG,CAAA;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAA;QACtE,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IACvE,CAAC;IAGD,WAAW,CAAC,MAAmB,EAAE,MAAc;QAC7C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QACpI,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;IAC7C,CAAC;IAGD,aAAa,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;YACvG,IAAI,EAAE,YAAY,CAAC,eAAe;YAClC,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAA;IACJ,CAAC;IASD,MAAM,CAAC,YAAY,GAAkB,EAAE,EAAE,SAAS,GAAkB,IAAI,CAAC,aAAa;QACpF,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,CAAA;IAC9F,CAAC;IAEO,SAAS,CAAC,WAAwB,EAAE,SAAS,GAAkB,IAAI,CAAC,aAAa;QACvF,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC,CAAA;QACpC,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,eAAe,CAAC,KAAK;gBACxB,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAA;YAClD,KAAK,eAAe,CAAC,KAAK;gBACxB,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAA;YAClD,KAAK,eAAe,CAAC,MAAM;gBACzB,OAAO,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAA;YACrF,KAAK,eAAe,CAAC,UAAU;gBAC7B,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;YAClE,KAAK,eAAe,CAAC,UAAU;gBAC7B,OAAO,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;YAClE,KAAK,eAAe,CAAC,UAAU;gBAC7B,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAA;YAC5B,KAAK,eAAe,CAAC,cAAc;gBACjC,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAA;YACvF,KAAK,eAAe,CAAC,cAAc;gBACjC,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,IAAI,KAAK,CAAA;YAC7C,KAAK,eAAe,CAAC,WAAW;gBAC9B,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,CAAA;YAC7G,KAAK,eAAe,CAAC,WAAW;gBAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,KAAK,CAAA;YACrG;gBAEE,OAAO,IAAI,CAAA;QACf,CAAC;IACH,CAAC;IAMD,eAAe,CAAC,YAAY,GAAkB,EAAE;QAC9C,OAAO,QAAQ,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;IAClF,CAAC;IAGD,QAAQ,CAAC,YAAY,GAAkB,EAAE;QACvC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAA;QACpC,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;YAChD,IAAI,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,UAAU;gBAAE,OAAO,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAA;YAClI,IAAI,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,SAAS;gBAAE,OAAO,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;YAC/G,OAAO,KAAK,CAAA;QACd,CAAC,EAAE,CAAC,CAAC,CAAA;IACP,CAAC;IAEO,MAAM,CAAC,WAAwB;QACrC,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,IAAI,CAAC,CAAA;QACpC,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAA;QACpC,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;YACzB,KAAK,eAAe,CAAC,UAAU,CAAC;YAChC,KAAK,eAAe,CAAC,SAAS;gBAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YACpD,KAAK,eAAe,CAAC,UAAU;gBAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YACxG,KAAK,eAAe,CAAC,UAAU;gBAC7B,OAAO,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAA;YAC/D,KAAK,eAAe,CAAC,cAAc;gBACjC,OAAO,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;YAC7E,KAAK,eAAe,CAAC,cAAc;gBACjC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;YACjH;gBACE,OAAO,EAAE,CAAA;QACb,CAAC;IACH,CAAC;IAGD,cAAc,CAAC,MAAc;QAC3B,IAAI,MAAM,IAAI,CAAC;YAAE,OAAO,EAAE,CAAA;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAA;IAClF,CAAC;IAID,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,MAAM,CAAgB,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IAC/D,CAAC;IAED,UAAU,CAAC,SAAwB;QACjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,GAAG,SAAS,EAAE,CAAC,CAAA;IAC9E,CAAC;IAOD,eAAe,CAAC,QAAuB;QACrC,MAAM,OAAO,GAAqB,EAAE,CAAA;QACpC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,CAAC;YACjD,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;YAChE,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAAE,SAAQ;YAC3F,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;gBAAE,SAAQ;YAC5C,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;YACvG,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,QAAQ,CAAC,IAAY,EAAE,QAAkB;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC5C,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAChD,IAAI,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;YAE9F,IAAI,WAAW,CAAC,IAAI,KAAK,eAAe,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI;gBAAE,OAAO,KAAK,CAAA;YACrG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;gBAAE,OAAO,KAAK,CAAA;QAChD,CAAC;QAED,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAA;IAC/G,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU,CAAC,CAAA;IACxJ,CAAC;IAMD,kBAAkB,CAAC,QAAuB;QACxC,MAAM,SAAS,GAAkB,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QAC1D,KAAK,MAAM,IAAI,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YACxF,KAAK,MAAM,MAAM,IAAI,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAS,CAAC,OAAO,EAAE,CAAC;gBAC9E,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACpB,KAAK,YAAY,CAAC,eAAe;wBAC/B,SAAS,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;wBAC5C,MAAK;oBACP,KAAK,YAAY,CAAC,kBAAkB;wBAClC,SAAS,CAAC,SAAS,GAAG,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;wBACpD,MAAK;oBACP,KAAK,YAAY,CAAC,WAAW;wBAC3B,SAAS,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;wBAC5C,MAAK;oBACP,KAAK,YAAY,CAAC,eAAe;wBAC/B,SAAS,CAAC,aAAa,GAAG,IAAI,CAAA;wBAC9B,MAAK;gBACT,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAMD,MAAM,CAAC,QAAQ,GAAkB,EAAE;QACjC,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IAC5D,CAAC;IAED,aAAa,CAAC,QAAuB,EAAE,IAAY;QACjD,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAA;QAC7F,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QACvC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;QAClC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC1C,CAAC;IAED,cAAc,CAAC,IAAY,EAAE,MAAc;QACzC,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;IACzE,CAAC;IAWD,WAAW,CAAC,IAAY,EAAE,MAAc;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,UAAU,CAAC,CAAA;QAC3D,OAAO,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAC3F,CAAC;IAEO,eAAe,CAAC,IAAY;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;QACnC,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,QAAS,CAAA;QACjD,MAAM,KAAK,GAAmB,EAAE,CAAA;QAChC,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;YAChD,QAAQ,WAAW,CAAC,IAAI,EAAE,CAAC;gBACzB,KAAK,eAAe,CAAC,IAAI;oBACvB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;oBAC1D,MAAM,GAAG,IAAI,CAAA;oBACb,MAAK;gBACP,KAAK,eAAe,CAAC,WAAW;oBAC9B,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACvD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;wBAC1D,MAAM,GAAG,IAAI,CAAA;oBACf,CAAC;yBAAM,CAAC;wBACN,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;oBACxD,CAAC;oBACD,MAAK;gBACP;oBACE,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;QACD,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;YACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAgB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;YACjE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC;gBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,GAAG,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;QAClH,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAEO,aAAa,CAAC,IAAY,EAAE,MAAc,EAAE,YAAqB;QACvE,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAChD,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,YAAY,CAAC,WAAW;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtG,OAAO,EAAE,CAAA;YACX,KAAK,YAAY,CAAC,aAAa;gBAC7B,IAAI,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,CAAA;gBACrC,OAAO,EAAE,CAAA;YACX,KAAK,YAAY,CAAC,eAAe;gBAC/B,IAAI,MAAM,CAAC,KAAK;oBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC1F,IAAI,MAAM,CAAC,KAAK;oBAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;gBAC1F,OAAO,EAAE,CAAA;YACX,KAAK,YAAY,CAAC,eAAe;gBAC/B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACjG,OAAO,EAAE,CAAA;YACX,KAAK,YAAY,CAAC,WAAW;gBAC3B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;gBACnF,OAAO,EAAE,CAAA;YACX,KAAK,YAAY,CAAC,eAAe;gBAC/B,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC/D,OAAO,EAAE,CAAA;YACX,KAAK,YAAY,CAAC,kBAAkB;gBAClC,IAAI,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBACvE,OAAO,EAAE,CAAA;YACX,KAAK,YAAY,CAAC,WAAW;gBAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;gBAC7G,OAAO,EAAE,CAAA;YACX,KAAK,YAAY,CAAC,UAAU;gBAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACrC,KAAK,YAAY,CAAC,WAAW;gBAC3B,IAAI,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;gBACtC,OAAO,EAAE,CAAA;YACX,KAAK,YAAY,CAAC,eAAe;gBAC/B,IAAI,CAAC,UAAU,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;gBACxC,OAAO,EAAE,CAAA;YACX,KAAK,YAAY,CAAC,UAAU,EAAE,CAAC;gBAE7B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAO,MAAM,CAAC,WAAW,CAAC,CAAA;gBAClD,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,CAAA;gBAC3G,OAAO,EAAE,CAAA;YACX,CAAC;YACD,KAAK,YAAY,CAAC,gBAAgB;gBAEhC,OAAO,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QACtG,CAAC;IACH,CAAC;IAQD,gBAAgB;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QACjC,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1C,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;YAClD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;YACvD,IAAI,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM;gBAAE,OAAO,MAAM,CAAA;QACjE,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAGD,UAAU,CAAC,MAAmB;QAC5B,OAAO,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAA;IACrF,CAAC;IAGD,SAAS;QACP,IAAI,CAAC,YAAY,EAAE,CAAA;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAA;QACpC,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAA;QAClF,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAClF,CAAC;IAOD,YAAY;QACV,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC3D,CAAC;CACF;AAGD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC,GAAG,gBAAgB,CAAC,CAAA;AAO3H,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,MAAsB,EAAE,MAAmB,EAAE,KAAa,EAAkB,EAAE,CAAC;IACxG,GAAG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;IACtC,GAAG,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;CAC3C,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,MAAsB,EAAE,MAAmB,EAAE,KAAa,EAAkB,EAAE;IACtG,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAA;IACnE,MAAM,CAAC,GAAG,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IACnC,OAAO,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAC1G,CAAC,CAAA;AAOD,MAAM,YAAY,GAAG,CAAC,MAAsB,EAAE,MAAmB,EAAE,KAAa,EAAkB,EAAE;IAClG,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,CAAA;IAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;IACpD,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;IAClF,MAAM,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,EAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC9F,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,EAAE,CAAA;IAClC,MAAM,KAAK,GAAmB,EAAE,CAAA;IAChC,MAAM,MAAM,GAAiB,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAA;IAChF,IAAI,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,EAAa,CAAC,KAAK,MAAM,EAAE,CAAC;QAC3D,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,CAAC,CAAA;IACtF,CAAC;IACD,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAC7B,MAAM,OAAO,GAAG,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,GAAG,CAAA;IAC7C,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;IAC5H,OAAO,KAAK,CAAA;AACd,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"GreyluneRule.js","sourceRoot":"","sources":["../../src/rules/GreyluneRule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import { CustomMove } from '@gamepark/rules-api';
|
|
2
2
|
import { TriggerType } from '../material/Reaction';
|
|
3
3
|
import { ActivateCardRule } from './ActivateCardRule';
|
|
4
|
+
import { ChooseOutcomeRule } from './ChooseOutcomeRule';
|
|
5
|
+
import { EventRule } from './EventRule';
|
|
6
|
+
import { ResolveQuestRule } from './ResolveQuestRule';
|
|
4
7
|
import { GreyluneMove, GreyluneRule, ReactionChoice } from './GreyluneRule';
|
|
5
8
|
import { RuleId } from './RuleId';
|
|
6
9
|
import { TellStoryRule } from './TellStoryRule';
|
|
@@ -8,9 +11,14 @@ export declare class ReactionRule extends GreyluneRule {
|
|
|
8
11
|
get triggers(): TriggerType[];
|
|
9
12
|
get resumeRule(): RuleId;
|
|
10
13
|
get activation(): ActivateCardRule | undefined;
|
|
11
|
-
get blocked(): ActivateCardRule | TellStoryRule | undefined;
|
|
14
|
+
get blocked(): ActivateCardRule | EventRule | ResolveQuestRule | ChooseOutcomeRule | TellStoryRule | undefined;
|
|
15
|
+
private get pendingRule();
|
|
12
16
|
get choices(): ReactionChoice[];
|
|
17
|
+
private lowersPrice;
|
|
18
|
+
private mostAsked;
|
|
19
|
+
private get prices();
|
|
13
20
|
getPlayerMoves(): GreyluneMove[];
|
|
21
|
+
onRuleStart(): GreyluneMove[];
|
|
14
22
|
onCustomMove(move: CustomMove): GreyluneMove[];
|
|
15
23
|
private close;
|
|
16
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReactionRule.d.ts","sourceRoot":"","sources":["../../src/rules/ReactionRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"ReactionRule.d.ts","sourceRoot":"","sources":["../../src/rules/ReactionRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAA;AAMlE,OAAO,EAAgB,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAe/C,qBAAa,YAAa,SAAQ,YAAY;IAM5C,IAAI,QAAQ,IAAI,WAAW,EAAE,CAG5B;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAGD,IAAI,UAAU,IAAI,gBAAgB,GAAG,SAAS,CAE7C;IAGD,IAAI,OAAO,IAAI,gBAAgB,GAAG,SAAS,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,aAAa,GAAG,SAAS,CAG7G;IAED,OAAO,KAAK,WAAW,GAatB;IAED,IAAI,OAAO,IAAI,cAAc,EAAE,CAK9B;IAOD,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,SAAS;IAWjB,OAAO,KAAK,MAAM,GAmBjB;IAED,cAAc,IAAI,YAAY,EAAE,CAK/B;IAOD,WAAW,IAAI,YAAY,EAAE,CAE5B;IAED,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,EAAE,CAK7C;IAED,OAAO,CAAC,KAAK;CAGd"}
|
|
@@ -1,8 +1,16 @@
|
|
|
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';
|
|
12
|
+
import { EventRule } from './EventRule';
|
|
13
|
+
import { ResolveQuestRule } from './ResolveQuestRule';
|
|
6
14
|
import { GreyluneRule } from './GreyluneRule';
|
|
7
15
|
import { RuleId } from './RuleId';
|
|
8
16
|
import { TellStoryRule } from './TellStoryRule';
|
|
@@ -18,12 +26,62 @@ export class ReactionRule extends GreyluneRule {
|
|
|
18
26
|
return this.resumeRule === RuleId.ActivateCard ? new ActivateCardRule(this.game) : undefined;
|
|
19
27
|
}
|
|
20
28
|
get blocked() {
|
|
21
|
-
const next = this.
|
|
29
|
+
const next = this.pendingRule;
|
|
22
30
|
return next?.outOfReach ? next : undefined;
|
|
23
31
|
}
|
|
32
|
+
get pendingRule() {
|
|
33
|
+
switch (this.resumeRule) {
|
|
34
|
+
case RuleId.TellStory:
|
|
35
|
+
return new TellStoryRule(this.game);
|
|
36
|
+
case RuleId.Event:
|
|
37
|
+
return new EventRule(this.game);
|
|
38
|
+
case RuleId.ResolveQuest:
|
|
39
|
+
return new ResolveQuestRule(this.game);
|
|
40
|
+
case RuleId.ChooseOutcome:
|
|
41
|
+
return new ChooseOutcomeRule(this.game);
|
|
42
|
+
default:
|
|
43
|
+
return this.activation;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
24
46
|
get choices() {
|
|
25
47
|
const blocked = this.blocked;
|
|
26
|
-
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
|
+
}
|
|
27
85
|
}
|
|
28
86
|
getPlayerMoves() {
|
|
29
87
|
return [
|
|
@@ -31,15 +89,16 @@ export class ReactionRule extends GreyluneRule {
|
|
|
31
89
|
...(this.blocked ? [] : [this.customMove(CustomMoveType.Pass)])
|
|
32
90
|
];
|
|
33
91
|
}
|
|
92
|
+
onRuleStart() {
|
|
93
|
+
return this.choices.length ? [] : this.close();
|
|
94
|
+
}
|
|
34
95
|
onCustomMove(move) {
|
|
35
96
|
if (isCustomMoveType(CustomMoveType.Pass)(move))
|
|
36
97
|
return this.close();
|
|
37
98
|
if (!isCustomMoveType(CustomMoveType.UseReaction)(move))
|
|
38
99
|
return super.onCustomMove(move);
|
|
39
100
|
const { card, option } = move.data;
|
|
40
|
-
|
|
41
|
-
const left = this.choices.filter((choice) => choice.card !== card);
|
|
42
|
-
return left.length ? moves : [...moves, ...this.close()];
|
|
101
|
+
return [...this.useReaction(card, option), this.startRule(RuleId.Reaction)];
|
|
43
102
|
}
|
|
44
103
|
close() {
|
|
45
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;
|
|
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"}
|
|
@@ -6,8 +6,10 @@ import { MAX_SKILL } from '../Constants';
|
|
|
6
6
|
import { TriggerType } from '../material/Reaction';
|
|
7
7
|
import { villageGaps } from '../material/Village';
|
|
8
8
|
import { cardsAroundGap } from '../material/Village';
|
|
9
|
+
import { CustomMoveType } from './CustomMoveType';
|
|
9
10
|
import { GreyluneRule } from './GreyluneRule';
|
|
10
11
|
import { RuleId } from './RuleId';
|
|
12
|
+
const skillMarker = (type) => (type === GainType.Force ? MaterialType.StrengthMarker : MaterialType.MagicMarker);
|
|
11
13
|
export class ResolveEffectsRule extends GreyluneRule {
|
|
12
14
|
onRuleStart() {
|
|
13
15
|
this.forget(Memory.CostReduction);
|
|
@@ -18,7 +20,7 @@ export class ResolveEffectsRule extends GreyluneRule {
|
|
|
18
20
|
const moves = this.startGain(gain);
|
|
19
21
|
if (moves.length)
|
|
20
22
|
return moves;
|
|
21
|
-
gains =
|
|
23
|
+
gains = this.gains;
|
|
22
24
|
}
|
|
23
25
|
const journey = this.travelDone();
|
|
24
26
|
return journey.length ? journey : this.endOfTurn();
|
|
@@ -37,16 +39,15 @@ export class ResolveEffectsRule extends GreyluneRule {
|
|
|
37
39
|
return [move];
|
|
38
40
|
switch (gain.type) {
|
|
39
41
|
case GainType.Force:
|
|
40
|
-
return this.gainSkill(MaterialType.StrengthMarker, this.amount(gain.count));
|
|
41
42
|
case GainType.Magic:
|
|
42
|
-
return this.
|
|
43
|
+
return this.gainSkills(this.withOtherSkill(gain).map(({ type, count }) => [skillMarker(type), this.amount(count)]));
|
|
43
44
|
case GainType.Villager: {
|
|
44
45
|
const villagers = this.gainVillagers(this.amount(gain.count));
|
|
45
46
|
return villagers.length ? [...villagers, this.startRule(RuleId.ResolveEffects)] : [];
|
|
46
47
|
}
|
|
47
48
|
case GainType.Skill:
|
|
48
49
|
if (this.force >= MAX_SKILL && this.magic >= MAX_SKILL)
|
|
49
|
-
return [];
|
|
50
|
+
return [this.customMove(CustomMoveType.GainVp, this.amount(gain.count))];
|
|
50
51
|
this.memorize(Memory.CurrentGain, gain);
|
|
51
52
|
return [this.startRule(RuleId.ChooseSkill)];
|
|
52
53
|
case GainType.Travel:
|
|
@@ -72,6 +73,14 @@ export class ResolveEffectsRule extends GreyluneRule {
|
|
|
72
73
|
return [];
|
|
73
74
|
}
|
|
74
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
|
+
}
|
|
75
84
|
get tiltedCards() {
|
|
76
85
|
return this.playerCards.rotation(true);
|
|
77
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,15 +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
|
-
import { heroicQuestAreas, questRequirements } from '../material/QuestTile';
|
|
8
|
+
import { heroicQuestAreas, questRequirements, questTriggers } from '../material/QuestTile';
|
|
10
9
|
import { TriggerType } from '../material/Reaction';
|
|
11
10
|
import { CustomMoveType } from './CustomMoveType';
|
|
12
|
-
import { EncounterRule } from './EncounterRule';
|
|
11
|
+
import { EncounterRule, outcomeRequirements } from './EncounterRule';
|
|
13
12
|
import { RuleId } from './RuleId';
|
|
14
13
|
export class ResolveEncounterRule extends EncounterRule {
|
|
15
14
|
get area() {
|
|
@@ -22,15 +21,16 @@ export class ResolveEncounterRule extends EncounterRule {
|
|
|
22
21
|
return this.area === 0 ? this.endOfAction() : [];
|
|
23
22
|
}
|
|
24
23
|
getPlayerMoves() {
|
|
24
|
+
const reduction = this.potentialReduction([TriggerType.SpendForce]);
|
|
25
25
|
const moves = this.row
|
|
26
26
|
.getIndexes()
|
|
27
|
-
.filter((card) => this.encounterMoves(card).length > 0)
|
|
27
|
+
.filter((card) => this.encounterMoves(card, reduction).length > 0)
|
|
28
28
|
.map((card) => this.customMove(CustomMoveType.ChooseEncounter, card));
|
|
29
29
|
if (this.spaceGain)
|
|
30
30
|
moves.push(this.customMove(CustomMoveType.SkipEncounter));
|
|
31
31
|
if (this.canTakeQuest)
|
|
32
32
|
moves.push(this.customMove(CustomMoveType.ResolveQuest));
|
|
33
|
-
if (!
|
|
33
|
+
if (!this.spaceGain)
|
|
34
34
|
moves.push(this.customMove(CustomMoveType.Pass));
|
|
35
35
|
return moves;
|
|
36
36
|
}
|
|
@@ -59,7 +59,7 @@ export class ResolveEncounterRule extends EncounterRule {
|
|
|
59
59
|
return false;
|
|
60
60
|
if (this.material(MaterialType.QuestMarker).id(this.player).location(LocationType.QuestRewardSpace).locationId(space).length)
|
|
61
61
|
return false;
|
|
62
|
-
return this.canPay(questRequirements[tile]);
|
|
62
|
+
return this.canPay(questRequirements[tile], this.potentialReduction(questTriggers(tile)));
|
|
63
63
|
}
|
|
64
64
|
onCustomMove(move) {
|
|
65
65
|
if (isCustomMoveType(CustomMoveType.Pass)(move))
|
|
@@ -69,18 +69,17 @@ export class ResolveEncounterRule extends EncounterRule {
|
|
|
69
69
|
return this.endOfAction();
|
|
70
70
|
}
|
|
71
71
|
if (isCustomMoveType(CustomMoveType.ResolveQuest)(move)) {
|
|
72
|
-
return this.openReactions(
|
|
72
|
+
return this.openReactions(questTriggers(this.questTile), RuleId.ResolveQuest);
|
|
73
73
|
}
|
|
74
74
|
if (isCustomMoveType(CustomMoveType.ChooseEncounter)(move))
|
|
75
75
|
return this.designate(move.data);
|
|
76
76
|
return super.onCustomMove(move);
|
|
77
77
|
}
|
|
78
78
|
designate(card) {
|
|
79
|
-
const ways = this.encounterMoves(card);
|
|
80
|
-
if (ways.length === 1 && ways[0].outcomes.length === encounterCardData[this.front(card)].outcomes.length)
|
|
81
|
-
return this.resolve(ways[0]);
|
|
82
79
|
this.memorize(Memory.ResolvedEncounter, card);
|
|
83
|
-
|
|
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)];
|
|
84
83
|
}
|
|
85
84
|
}
|
|
86
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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"}
|
|
@@ -6,6 +6,8 @@ import { GreyluneMove, GreyluneRule } from './GreyluneRule';
|
|
|
6
6
|
export declare class ResolveQuestRule extends GreyluneRule {
|
|
7
7
|
get space(): HeroicQuestArea;
|
|
8
8
|
get tile(): QuestTile;
|
|
9
|
+
get outOfReach(): boolean;
|
|
10
|
+
helps(card: number, option: number): boolean;
|
|
9
11
|
onRuleStart(): GreyluneMove[];
|
|
10
12
|
get storiesAsked(): number;
|
|
11
13
|
private placeMarker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResolveQuestRule.d.ts","sourceRoot":"","sources":["../../src/rules/ResolveQuestRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAI9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"ResolveQuestRule.d.ts","sourceRoot":"","sources":["../../src/rules/ResolveQuestRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAI9C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvD,OAAO,EAAE,eAAe,EAAqB,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAiB3D,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,IAAI,KAAK,IAAI,eAAe,CAE3B;IAED,IAAI,IAAI,IAAI,SAAS,CAEpB;IAGD,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAG3C;IAED,WAAW,IAAI,YAAY,EAAE,CAa5B;IAED,IAAI,YAAY,IAAI,MAAM,CAGzB;IAGD,OAAO,CAAC,WAAW;IASnB,IAAI,IAAI,IAAI,MAAM,EAAE,CAEnB;IAED,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,cAAc,IAAI,YAAY,EAAE,CAM/B;IAED,aAAa,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,YAAY,EAAE,CAKhF;CACF"}
|