@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.
Files changed (102) hide show
  1. package/dist/GreyluneRules.d.ts +3 -2
  2. package/dist/GreyluneRules.d.ts.map +1 -1
  3. package/dist/GreyluneRules.js +2 -1
  4. package/dist/GreyluneRules.js.map +1 -1
  5. package/dist/GreyluneSetup.d.ts.map +1 -1
  6. package/dist/GreyluneSetup.js +1 -2
  7. package/dist/GreyluneSetup.js.map +1 -1
  8. package/dist/Memory.d.ts +19 -17
  9. package/dist/Memory.d.ts.map +1 -1
  10. package/dist/Memory.js +19 -17
  11. package/dist/Memory.js.map +1 -1
  12. package/dist/ai/Evaluation.d.ts +1 -1
  13. package/dist/ai/Evaluation.d.ts.map +1 -1
  14. package/dist/ai/Evaluation.js +12 -13
  15. package/dist/ai/Evaluation.js.map +1 -1
  16. package/dist/ai/Simulation.js +1 -1
  17. package/dist/ai/Simulation.js.map +1 -1
  18. package/dist/material/Effect.d.ts +2 -1
  19. package/dist/material/Effect.d.ts.map +1 -1
  20. package/dist/material/Effect.js +1 -0
  21. package/dist/material/Effect.js.map +1 -1
  22. package/dist/material/EventTile.d.ts.map +1 -1
  23. package/dist/material/EventTile.js +2 -12
  24. package/dist/material/EventTile.js.map +1 -1
  25. package/dist/material/LocationType.d.ts +0 -1
  26. package/dist/material/LocationType.d.ts.map +1 -1
  27. package/dist/material/LocationType.js +0 -1
  28. package/dist/material/LocationType.js.map +1 -1
  29. package/dist/material/QuestTile.d.ts +2 -0
  30. package/dist/material/QuestTile.d.ts.map +1 -1
  31. package/dist/material/QuestTile.js +2 -0
  32. package/dist/material/QuestTile.js.map +1 -1
  33. package/dist/material/Reaction.d.ts +7 -2
  34. package/dist/material/Reaction.d.ts.map +1 -1
  35. package/dist/material/Reaction.js +13 -0
  36. package/dist/material/Reaction.js.map +1 -1
  37. package/dist/material/VillageCard.d.ts.map +1 -1
  38. package/dist/material/VillageCard.js +5 -5
  39. package/dist/material/VillageCard.js.map +1 -1
  40. package/dist/rules/BonusTokenRule.d.ts.map +1 -1
  41. package/dist/rules/BonusTokenRule.js +3 -2
  42. package/dist/rules/BonusTokenRule.js.map +1 -1
  43. package/dist/rules/ChooseOutcomeRule.d.ts +3 -0
  44. package/dist/rules/ChooseOutcomeRule.d.ts.map +1 -1
  45. package/dist/rules/ChooseOutcomeRule.js +14 -0
  46. package/dist/rules/ChooseOutcomeRule.js.map +1 -1
  47. package/dist/rules/ChooseSkillRule.d.ts +1 -0
  48. package/dist/rules/ChooseSkillRule.d.ts.map +1 -1
  49. package/dist/rules/ChooseSkillRule.js +12 -2
  50. package/dist/rules/ChooseSkillRule.js.map +1 -1
  51. package/dist/rules/EncounterRule.d.ts +3 -2
  52. package/dist/rules/EncounterRule.d.ts.map +1 -1
  53. package/dist/rules/EncounterRule.js +25 -8
  54. package/dist/rules/EncounterRule.js.map +1 -1
  55. package/dist/rules/EndTurnRule.d.ts +7 -0
  56. package/dist/rules/EndTurnRule.d.ts.map +1 -0
  57. package/dist/rules/EndTurnRule.js +12 -0
  58. package/dist/rules/EndTurnRule.js.map +1 -0
  59. package/dist/rules/EventRule.d.ts +3 -0
  60. package/dist/rules/EventRule.d.ts.map +1 -1
  61. package/dist/rules/EventRule.js +19 -0
  62. package/dist/rules/EventRule.js.map +1 -1
  63. package/dist/rules/GreyluneRule.d.ts +10 -2
  64. package/dist/rules/GreyluneRule.d.ts.map +1 -1
  65. package/dist/rules/GreyluneRule.js +63 -12
  66. package/dist/rules/GreyluneRule.js.map +1 -1
  67. package/dist/rules/ReactionRule.d.ts +9 -1
  68. package/dist/rules/ReactionRule.d.ts.map +1 -1
  69. package/dist/rules/ReactionRule.js +65 -6
  70. package/dist/rules/ReactionRule.js.map +1 -1
  71. package/dist/rules/ResolveEffectsRule.d.ts +1 -0
  72. package/dist/rules/ResolveEffectsRule.d.ts.map +1 -1
  73. package/dist/rules/ResolveEffectsRule.js +13 -4
  74. package/dist/rules/ResolveEffectsRule.js.map +1 -1
  75. package/dist/rules/ResolveEncounterRule.d.ts.map +1 -1
  76. package/dist/rules/ResolveEncounterRule.js +11 -12
  77. package/dist/rules/ResolveEncounterRule.js.map +1 -1
  78. package/dist/rules/ResolveQuestRule.d.ts +2 -0
  79. package/dist/rules/ResolveQuestRule.d.ts.map +1 -1
  80. package/dist/rules/ResolveQuestRule.js +9 -0
  81. package/dist/rules/ResolveQuestRule.js.map +1 -1
  82. package/dist/rules/RuleId.d.ts +5 -4
  83. package/dist/rules/RuleId.d.ts.map +1 -1
  84. package/dist/rules/RuleId.js +5 -4
  85. package/dist/rules/RuleId.js.map +1 -1
  86. package/dist/rules/SeasonRule.d.ts.map +1 -1
  87. package/dist/rules/SeasonRule.js +4 -1
  88. package/dist/rules/SeasonRule.js.map +1 -1
  89. package/dist/rules/SpecialActionRule.d.ts +0 -1
  90. package/dist/rules/SpecialActionRule.d.ts.map +1 -1
  91. package/dist/rules/SpecialActionRule.js +1 -10
  92. package/dist/rules/SpecialActionRule.js.map +1 -1
  93. package/dist/rules/SummerRule.d.ts.map +1 -1
  94. package/dist/rules/SummerRule.js +4 -3
  95. package/dist/rules/SummerRule.js.map +1 -1
  96. package/dist/rules/TellStoryRule.d.ts +7 -0
  97. package/dist/rules/TellStoryRule.d.ts.map +1 -1
  98. package/dist/rules/TellStoryRule.js +46 -3
  99. package/dist/rules/TellStoryRule.js.map +1 -1
  100. package/dist/rules/WinterRule.js +1 -1
  101. package/dist/rules/WinterRule.js.map +1 -1
  102. 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
- const moves = this.moveSkillMarker(marker, amount);
140
- return moves.length ? [...moves, ...this.skillGained(marker, amount)] : [];
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
- skillGained(marker, amount) {
149
- this.memorize(Memory.CurrentGain, { type: marker === MaterialType.StrengthMarker ? GainType.Force : GainType.Magic, count: amount });
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
- const gain = this.remind(Memory.CurrentGain);
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;AAElE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAErD,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;AAc/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,aAAa,GAAG,SAAS,CAG1D;IAED,IAAI,OAAO,IAAI,cAAc,EAAE,CAG9B;IAED,cAAc,IAAI,YAAY,EAAE,CAK/B;IAED,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,EAAE,CAQ7C;IAED,OAAO,CAAC,KAAK;CAGd"}
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 { TriggerType } from '../material/Reaction';
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.resumeRule === RuleId.TellStory ? new TellStoryRule(this.game) : this.activation;
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
- const moves = this.useReaction(card, option);
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;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAgB,YAAY,EAAkB,MAAM,gBAAgB,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAc/C,MAAM,OAAO,YAAa,SAAQ,YAAY;IAM5C,IAAI,QAAQ;QACV,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAgB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;QACjE,OAAO,IAAI,CAAC,UAAU,EAAE,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;IACzH,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,MAAM,CAAS,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,cAAc,CAAA;IACpE,CAAC;IAGD,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9F,CAAC;IAGD,IAAI,OAAO;QACT,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAA;QAClG,OAAO,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAC5C,CAAC;IAED,IAAI,OAAO;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IACtH,CAAC;IAED,cAAc;QACZ,OAAO;YACL,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YACpF,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;SAChE,CAAA;IACH,CAAC;IAED,YAAY,CAAC,IAAgB;QAC3B,IAAI,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;QACpE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACxF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAwC,CAAA;QACtE,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;QAE5C,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAClE,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,CAAA;IAC1D,CAAC;IAEO,KAAK;QACX,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;IAC1C,CAAC;CACF"}
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;AAKvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAc3D,qBAAa,kBAAmB,SAAQ,YAAY;IAMlD,WAAW,IAAI,YAAY,EAAE,CAY5B;IAQD,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,SAAS;IA4CjB,IAAI,WAAW,8CAEd;IAED,IAAI,WAAW,6GAEd;IAGD,IAAI,gBAAgB,IAAI,OAAO,CAE9B;CACF"}
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 = rest;
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.gainSkill(MaterialType.MagicMarker, this.amount(gain.count));
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,EAAQ,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAgB,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAajC,MAAM,OAAO,kBAAmB,SAAQ,YAAY;IAMlD,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;QACjC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QACtB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,KAAK,CAAA;YAC7B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAClC,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAA;YAC9B,KAAK,GAAG,IAAI,CAAA;QACd,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;QACjC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;IACpD,CAAC;IAQO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAU,MAAM,CAAC,eAAe,CAAC;YAAE,OAAO,EAAE,CAAA;QAC5D,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAA;QACnC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;YAAE,OAAO,EAAE,CAAA;QACrE,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;IAC5E,CAAC;IAEO,SAAS,CAAC,IAAU;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QAChC,IAAI,IAAI;YAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACvB,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,QAAQ,CAAC,KAAK;gBACjB,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YAC7E,KAAK,QAAQ,CAAC,KAAK;gBACjB,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YAC1E,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACvB,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC7D,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACtF,CAAC;YACD,KAAK,QAAQ,CAAC,KAAK;gBACjB,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,SAAS;oBAAE,OAAO,EAAE,CAAA;gBACjE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;gBACvC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAA;YAC7C,KAAK,QAAQ,CAAC,MAAM;gBAElB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;gBAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAA;gBAClC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAA;gBACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;gBAC7D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;gBAC3C,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAChE,KAAK,QAAQ,CAAC,UAAU;gBACtB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC/E,KAAK,QAAQ,CAAC,aAAa;gBACzB,OAAO,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC5E,KAAK,QAAQ,CAAC,SAAS;gBACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;gBAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,CAAA;gBACnC,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,CAAA;YACtE,KAAK,QAAQ,CAAC,UAAU;gBACtB,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YAC3E,KAAK,QAAQ,CAAC,QAAQ;gBACpB,OAAO,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC,CAAA;YAClE;gBAIE,OAAO,EAAE,CAAA;QACb,CAAC;IACH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IACtG,CAAC;IAGD,IAAI,gBAAgB;QAClB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC3G,CAAC;CACF"}
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,EAAM,MAAM,oBAAoB,CAAA;AAKpD,OAAO,EAAE,eAAe,EAAuC,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAGvG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAiB7C,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,CAS/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;IAMD,IAAI,YAAY,IAAI,OAAO,CAO1B;IAED,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,EAAE,CAW7C;IAYD,OAAO,CAAC,SAAS;CAMlB"}
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 (!moves.length)
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([TriggerType.SpendForce], RuleId.ResolveQuest);
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
- return [this.startRule(RuleId.ChooseOutcome)];
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":"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"}
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;AAEvD,OAAO,EAAE,eAAe,EAAqB,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACrF,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAa3D,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,IAAI,KAAK,IAAI,eAAe,CAE3B;IAED,IAAI,IAAI,IAAI,SAAS,CAEpB;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"}
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"}