@gamepark/mythologies 1.0.29 → 1.0.31

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/MythologiesRules.d.ts.map +1 -1
  2. package/dist/MythologiesRules.js +6 -0
  3. package/dist/MythologiesRules.js.map +1 -1
  4. package/dist/material/entity/MoveEffectRule.d.ts.map +1 -1
  5. package/dist/material/entity/MoveEffectRule.js +4 -2
  6. package/dist/material/entity/MoveEffectRule.js.map +1 -1
  7. package/dist/material/entity/SacrificeEffectRule.d.ts +1 -1
  8. package/dist/material/entity/SacrificeEffectRule.d.ts.map +1 -1
  9. package/dist/material/entity/SacrificeEffectRule.js +1 -2
  10. package/dist/material/entity/SacrificeEffectRule.js.map +1 -1
  11. package/dist/material/entity/SimultaneousMoveEffectRule.d.ts.map +1 -1
  12. package/dist/material/entity/SimultaneousMoveEffectRule.js +4 -2
  13. package/dist/material/entity/SimultaneousMoveEffectRule.js.map +1 -1
  14. package/dist/material/entity/SimultaneousSacrificeEffectRule.js +0 -1
  15. package/dist/material/entity/SimultaneousSacrificeEffectRule.js.map +1 -1
  16. package/dist/material/entity/celtic/Lugh.d.ts +3 -0
  17. package/dist/material/entity/celtic/Lugh.d.ts.map +1 -0
  18. package/dist/material/entity/celtic/Lugh.js +4 -0
  19. package/dist/material/entity/celtic/Lugh.js.map +1 -0
  20. package/dist/material/entity/chinese/Fuxi.d.ts +3 -0
  21. package/dist/material/entity/chinese/Fuxi.d.ts.map +1 -0
  22. package/dist/material/entity/chinese/Fuxi.js +10 -0
  23. package/dist/material/entity/chinese/Fuxi.js.map +1 -0
  24. package/dist/material/entity/egyptian/Horus.d.ts +3 -0
  25. package/dist/material/entity/egyptian/Horus.d.ts.map +1 -0
  26. package/dist/material/entity/egyptian/Horus.js +19 -0
  27. package/dist/material/entity/egyptian/Horus.js.map +1 -0
  28. package/dist/material/entity/greek/Dionysus.d.ts +3 -0
  29. package/dist/material/entity/greek/Dionysus.d.ts.map +1 -0
  30. package/dist/material/entity/greek/Dionysus.js +17 -0
  31. package/dist/material/entity/greek/Dionysus.js.map +1 -0
  32. package/dist/material/entity/hindu/Krishna.d.ts +3 -0
  33. package/dist/material/entity/hindu/Krishna.d.ts.map +1 -0
  34. package/dist/material/entity/hindu/Krishna.js +10 -0
  35. package/dist/material/entity/hindu/Krishna.js.map +1 -0
  36. package/dist/material/entity/inca/MamaQuilla.d.ts +3 -0
  37. package/dist/material/entity/inca/MamaQuilla.d.ts.map +1 -0
  38. package/dist/material/entity/inca/MamaQuilla.js +17 -0
  39. package/dist/material/entity/inca/MamaQuilla.js.map +1 -0
  40. package/dist/material/entity/norse/Hel.d.ts +3 -0
  41. package/dist/material/entity/norse/Hel.d.ts.map +1 -0
  42. package/dist/material/entity/norse/Hel.js +10 -0
  43. package/dist/material/entity/norse/Hel.js.map +1 -0
  44. package/dist/material/entity/zulu/Nomkhubulwane.d.ts +3 -0
  45. package/dist/material/entity/zulu/Nomkhubulwane.d.ts.map +1 -0
  46. package/dist/material/entity/zulu/Nomkhubulwane.js +4 -0
  47. package/dist/material/entity/zulu/Nomkhubulwane.js.map +1 -0
  48. package/dist/rules/PlaceTokenRule.d.ts +1 -1
  49. package/dist/rules/effects/CaimanEffectRule.js +0 -1
  50. package/dist/rules/effects/CaimanEffectRule.js.map +1 -1
  51. package/dist/rules/effects/CobraEffectRule.d.ts.map +1 -1
  52. package/dist/rules/effects/CobraEffectRule.js +0 -2
  53. package/dist/rules/effects/CobraEffectRule.js.map +1 -1
  54. package/dist/rules/effects/CondorEffectRule.js +0 -1
  55. package/dist/rules/effects/CondorEffectRule.js.map +1 -1
  56. package/dist/rules/effects/DionysusEffectRule.d.ts +9 -0
  57. package/dist/rules/effects/DionysusEffectRule.d.ts.map +1 -0
  58. package/dist/rules/effects/DionysusEffectRule.js +34 -0
  59. package/dist/rules/effects/DionysusEffectRule.js.map +1 -0
  60. package/dist/rules/effects/DullahanEffectRule.js +0 -1
  61. package/dist/rules/effects/DullahanEffectRule.js.map +1 -1
  62. package/dist/rules/effects/FairyEffectRule.d.ts +2 -2
  63. package/dist/rules/effects/FairyEffectRule.d.ts.map +1 -1
  64. package/dist/rules/effects/FairyEffectRule.js +1 -2
  65. package/dist/rules/effects/FairyEffectRule.js.map +1 -1
  66. package/dist/rules/effects/FuxiEffectRule.d.ts +19 -0
  67. package/dist/rules/effects/FuxiEffectRule.d.ts.map +1 -0
  68. package/dist/rules/effects/FuxiEffectRule.js +104 -0
  69. package/dist/rules/effects/FuxiEffectRule.js.map +1 -0
  70. package/dist/rules/effects/GarudaEffectRule.d.ts +3 -3
  71. package/dist/rules/effects/GarudaEffectRule.d.ts.map +1 -1
  72. package/dist/rules/effects/GarudaEffectRule.js +1 -2
  73. package/dist/rules/effects/GarudaEffectRule.js.map +1 -1
  74. package/dist/rules/effects/GorgonEffectRule.d.ts +1 -2
  75. package/dist/rules/effects/GorgonEffectRule.d.ts.map +1 -1
  76. package/dist/rules/effects/GorgonEffectRule.js +1 -2
  77. package/dist/rules/effects/GorgonEffectRule.js.map +1 -1
  78. package/dist/rules/effects/HelEffectRule.d.ts +21 -0
  79. package/dist/rules/effects/HelEffectRule.d.ts.map +1 -0
  80. package/dist/rules/effects/HelEffectRule.js +89 -0
  81. package/dist/rules/effects/HelEffectRule.js.map +1 -0
  82. package/dist/rules/effects/KrishnaEffectRule.d.ts +9 -0
  83. package/dist/rules/effects/KrishnaEffectRule.d.ts.map +1 -0
  84. package/dist/rules/effects/KrishnaEffectRule.js +17 -0
  85. package/dist/rules/effects/KrishnaEffectRule.js.map +1 -0
  86. package/dist/rules/effects/MultipleSimultaneousMoveEffectRule.js +0 -1
  87. package/dist/rules/effects/MultipleSimultaneousMoveEffectRule.js.map +1 -1
  88. package/dist/rules/effects/NuwaEffectRule.js +0 -1
  89. package/dist/rules/effects/NuwaEffectRule.js.map +1 -1
  90. package/dist/rules/effects/VetalaEffectRule.d.ts +2 -2
  91. package/dist/rules/effects/VetalaEffectRule.d.ts.map +1 -1
  92. package/dist/rules/effects/VetalaEffectRule.js +1 -3
  93. package/dist/rules/effects/VetalaEffectRule.js.map +1 -1
  94. package/dist/rules/effects/ViracochaEffectRule.d.ts +1 -2
  95. package/dist/rules/effects/ViracochaEffectRule.d.ts.map +1 -1
  96. package/dist/rules/effects/ViracochaEffectRule.js +1 -2
  97. package/dist/rules/effects/ViracochaEffectRule.js.map +1 -1
  98. package/dist/rules/effects/YanluoWangEffectRule.d.ts +5 -1
  99. package/dist/rules/effects/YanluoWangEffectRule.d.ts.map +1 -1
  100. package/dist/rules/effects/YanluoWangEffectRule.js +31 -11
  101. package/dist/rules/effects/YanluoWangEffectRule.js.map +1 -1
  102. package/package.json +3 -3
@@ -3,7 +3,6 @@ import { CustomMoveType } from '../../CustomMoveType';
3
3
  import { MoveEffectRule } from '../../material/entity/MoveEffectRule';
4
4
  import { LocationType } from '../../material/LocationType';
5
5
  import { MaterialType } from '../../material/MaterialType';
6
- import { Pantheon } from '../../material/Pantheon';
7
6
  import { Memory } from '../../Memory';
8
7
  import { RuleId } from '../RuleId';
9
8
  export class VetalaEffectRule extends MoveEffectRule {
@@ -28,8 +27,7 @@ export class VetalaEffectRule extends MoveEffectRule {
28
27
  const count = this.memorize(Memory.EffectCount, (count) => count - 1);
29
28
  return count > 0 ? [] : [this.customMove(CustomMoveType.EndEffect)];
30
29
  }
31
- onCardSacrificed(move) {
32
- new Pantheon(this.game, this.player).onCardSacrificed(move.itemIndex, false);
30
+ onCardSacrificed() {
33
31
  return this.onCardMoved();
34
32
  }
35
33
  onRuleEnd() {
@@ -1 +1 @@
1
- {"version":3,"file":"VetalaEffectRule.js","sourceRoot":"","sources":["../../../src/rules/effects/VetalaEffectRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAwC,MAAM,qBAAqB,CAAA;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAClD,MAAM,GAAG,MAAM,CAAC,YAAY,CAAA;IAE5B,WAAW;QACT,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;QACjI,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;YACrD,OAAO,EAAE,CAAA;QACX,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAA;IACjF,CAAC;IAED,wBAAwB,CAAC,IAAkB,EAAE,SAAiB;QAC5D,OAAO,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IACpH,CAAC;IAED,WAAW;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAS,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAC7E,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAA;IACrE,CAAC;IAED,gBAAgB,CAAC,IAAc;QAC7B,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QAC5E,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC/B,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
1
+ {"version":3,"file":"VetalaEffectRule.js","sourceRoot":"","sources":["../../../src/rules/effects/VetalaEffectRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAA8B,MAAM,qBAAqB,CAAA;AACpF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,MAAM,OAAO,gBAAiB,SAAQ,cAAc;IAClD,MAAM,GAAG,MAAM,CAAC,YAAY,CAAA;IAE5B,WAAW;QACT,MAAM,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;QACjI,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAA;YACrD,OAAO,EAAE,CAAA;QACX,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAA;QACpD,CAAC;IACH,CAAC;IAED,cAAc;QACZ,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAA;IACjF,CAAC;IAED,wBAAwB,CAAC,IAAkB,EAAE,SAAiB;QAC5D,OAAO,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAA;IACpH,CAAC;IAED,WAAW;QACT,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAS,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAC7E,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAA;IACrE,CAAC;IAED,gBAAgB;QAEd,OAAO,IAAI,CAAC,WAAW,EAAE,CAAA;IAC3B,CAAC;IAED,SAAS;QACP,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QAC/B,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
@@ -1,10 +1,9 @@
1
- import { MoveItem } from '@gamepark/rules-api';
2
1
  import { CustomMoveType } from '../../CustomMoveType';
3
2
  import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
4
3
  import { RuleId } from '../RuleId';
5
4
  export declare class ViracochaEffectRule extends SacrificeEffectRule {
6
5
  ruleId: RuleId;
7
6
  getCardsToSacrifice(): import("@gamepark/rules-api").Material<number, number, number>;
8
- onSacrifice(move: MoveItem): (import("@gamepark/rules-api").CreateItem<number, number, number> | import("@gamepark/rules-api").CustomMove<CustomMoveType.EndEffect, any>)[];
7
+ onSacrifice(): (import("@gamepark/rules-api").CreateItem<number, number, number> | import("@gamepark/rules-api").CustomMove<CustomMoveType.EndEffect, any>)[];
9
8
  }
10
9
  //# sourceMappingURL=ViracochaEffectRule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViracochaEffectRule.d.ts","sourceRoot":"","sources":["../../../src/rules/effects/ViracochaEffectRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAE/E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,MAAM,SAAyB;IAE/B,mBAAmB;IAInB,WAAW,CAAC,IAAI,EAAE,QAAQ;CAK3B"}
1
+ {"version":3,"file":"ViracochaEffectRule.d.ts","sourceRoot":"","sources":["../../../src/rules/effects/ViracochaEffectRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAE/E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,qBAAa,mBAAoB,SAAQ,mBAAmB;IAC1D,MAAM,SAAyB;IAE/B,mBAAmB;IAInB,WAAW;CAKZ"}
@@ -8,9 +8,8 @@ export class ViracochaEffectRule extends SacrificeEffectRule {
8
8
  getCardsToSacrifice() {
9
9
  return super.getCardsToSacrifice().id((id) => isCreature(id.front));
10
10
  }
11
- onSacrifice(move) {
11
+ onSacrifice() {
12
12
  const pantheon = new Pantheon(this.game, this.player);
13
- pantheon.onCardSacrificed(move.itemIndex);
14
13
  return [pantheon.gainFavor(2), this.customMove(CustomMoveType.EndEffect)];
15
14
  }
16
15
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ViracochaEffectRule.js","sourceRoot":"","sources":["../../../src/rules/effects/ViracochaEffectRule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAY,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IAC1D,MAAM,GAAG,MAAM,CAAC,eAAe,CAAA;IAE/B,mBAAmB;QACjB,OAAO,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAW,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/E,CAAC;IAED,WAAW,CAAC,IAAc;QACxB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACrD,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3E,CAAC;CACF"}
1
+ {"version":3,"file":"ViracochaEffectRule.js","sourceRoot":"","sources":["../../../src/rules/effects/ViracochaEffectRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAY,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC5D,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,MAAM,OAAO,mBAAoB,SAAQ,mBAAmB;IAC1D,MAAM,GAAG,MAAM,CAAC,eAAe,CAAA;IAE/B,mBAAmB;QACjB,OAAO,KAAK,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAW,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAC/E,CAAC;IAED,WAAW;QAET,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAA;IAC3E,CAAC;CACF"}
@@ -1,11 +1,15 @@
1
1
  import { ItemMove, MaterialMove } from '@gamepark/rules-api';
2
2
  import { CustomMoveType } from '../../CustomMoveType';
3
3
  import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
4
+ import { PlayerColor } from '../../PlayerColor';
4
5
  import { RuleId } from '../RuleId';
5
6
  export declare class YanluoWangEffectRule extends PlayerEffectRule {
6
7
  ruleId: RuleId;
7
8
  onRuleStart(): import("@gamepark/rules-api").CustomMove<CustomMoveType.EndEffect, any>[];
9
+ getTradeMoves(): MaterialMove[];
10
+ getTradesLeftWith(player: PlayerColor): number;
11
+ getMaxRemainingTrades(): number;
8
12
  getPlayerMoves(): MaterialMove[];
9
- afterItemMove(move: ItemMove): import("@gamepark/rules-api").MoveItem<number, number, number>[];
13
+ afterItemMove(move: ItemMove): import("@gamepark/rules-api").MoveItem<number, number, number>[] | import("@gamepark/rules-api").CustomMove<CustomMoveType.EndEffect, any>[];
10
14
  }
11
15
  //# sourceMappingURL=YanluoWangEffectRule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"YanluoWangEffectRule.d.ts","sourceRoot":"","sources":["../../../src/rules/effects/YanluoWangEffectRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAKzE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,MAAM,SAA0B;IAEhC,WAAW;IAcX,cAAc;IAad,aAAa,CAAC,IAAI,EAAE,QAAQ;CAS7B"}
1
+ {"version":3,"file":"YanluoWangEffectRule.d.ts","sourceRoot":"","sources":["../../../src/rules/effects/YanluoWangEffectRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAA;AAKzE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,qBAAa,oBAAqB,SAAQ,gBAAgB;IACxD,MAAM,SAA0B;IAEhC,WAAW;IAgBX,aAAa,IAAI,YAAY,EAAE;IAa/B,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;IAO9C,qBAAqB,IAAI,MAAM;IAM/B,cAAc;IAId,aAAa,CAAC,IAAI,EAAE,QAAQ;CAY7B"}
@@ -9,31 +9,48 @@ import { RuleId } from '../RuleId';
9
9
  export class YanluoWangEffectRule extends PlayerEffectRule {
10
10
  ruleId = RuleId.YanluoWangEffect;
11
11
  onRuleStart() {
12
- if (new Pantheon(this.game, this.player).gems) {
13
- for (const player of this.game.players) {
14
- if (player !== this.player) {
15
- const emptySpace = new Pantheon(this.game, player).grid[2].filter((space) => space === undefined).length;
16
- this.memorize(Memory.EffectCount, emptySpace, player);
17
- }
12
+ if (!new Pantheon(this.game, this.player).gems) {
13
+ return [this.customMove(CustomMoveType.EndEffect)];
14
+ }
15
+ for (const player of this.game.players) {
16
+ if (player !== this.player) {
17
+ const emptySpace = new Pantheon(this.game, player).grid[2].filter((space) => space === undefined).length;
18
+ this.memorize(Memory.EffectCount, emptySpace, player);
18
19
  }
19
- return [];
20
20
  }
21
- else {
21
+ if (!this.getTradeMoves().length) {
22
22
  return [this.customMove(CustomMoveType.EndEffect)];
23
23
  }
24
+ return [];
24
25
  }
25
- getPlayerMoves() {
26
- const moves = [this.customMove(CustomMoveType.EndEffect)];
26
+ getTradeMoves() {
27
+ const moves = [];
27
28
  const gems = this.material(MaterialType.GemToken).location(LocationType.PlayerGems).player(this.player);
28
29
  if (gems.getQuantity() > 0) {
29
30
  for (const player of this.game.players) {
30
- if (this.remind(Memory.EffectCount, player) && new Pantheon(this.game, player).favor) {
31
+ if (this.getTradesLeftWith(player) > 0) {
31
32
  moves.push(gems.moveItem({ type: LocationType.PlayerGems, player }, 1));
32
33
  }
33
34
  }
34
35
  }
35
36
  return moves;
36
37
  }
38
+ getTradesLeftWith(player) {
39
+ if (player === this.player)
40
+ return 0;
41
+ const effectCount = this.remind(Memory.EffectCount, player) ?? 0;
42
+ if (effectCount <= 0)
43
+ return 0;
44
+ return Math.min(effectCount, new Pantheon(this.game, player).favor);
45
+ }
46
+ getMaxRemainingTrades() {
47
+ const myGems = this.material(MaterialType.GemToken).location(LocationType.PlayerGems).player(this.player).getQuantity();
48
+ const totalPerPlayer = this.game.players.reduce((sum, player) => sum + this.getTradesLeftWith(player), 0);
49
+ return Math.min(myGems, totalPerPlayer);
50
+ }
51
+ getPlayerMoves() {
52
+ return [this.customMove(CustomMoveType.EndEffect), ...this.getTradeMoves()];
53
+ }
37
54
  afterItemMove(move) {
38
55
  if (isMoveItemType(MaterialType.GemToken)(move)) {
39
56
  const player = move.location.player;
@@ -41,6 +58,9 @@ export class YanluoWangEffectRule extends PlayerEffectRule {
41
58
  const favor = this.material(MaterialType.FavorToken).location(LocationType.PlayerFavor).player(player);
42
59
  return [favor.moveItem({ type: LocationType.PlayerFavor, player: this.player }, 1)];
43
60
  }
61
+ if (isMoveItemType(MaterialType.FavorToken)(move) && !this.getTradeMoves().length) {
62
+ return [this.customMove(CustomMoveType.EndEffect)];
63
+ }
44
64
  return [];
45
65
  }
46
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"YanluoWangEffectRule.js","sourceRoot":"","sources":["../../../src/rules/effects/YanluoWangEffectRule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"YanluoWangEffectRule.js","sourceRoot":"","sources":["../../../src/rules/effects/YanluoWangEffectRule.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/mythologies",
3
- "version": "1.0.29",
3
+ "version": "1.0.31",
4
4
  "description": "The rules of Mythologies adapted for Game Park",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -27,10 +27,10 @@
27
27
  "es-toolkit": "^1.43.0"
28
28
  },
29
29
  "devDependencies": {
30
- "@gamepark/rules-api": "~7.6.2",
30
+ "@gamepark/rules-api": "~7.6.3",
31
31
  "es-toolkit": "^1.45.1",
32
32
  "madge": "^8.0.0",
33
33
  "vitest": "^4.1.2"
34
34
  },
35
- "gitHead": "5cb25dc5fa7038be74c7162add430fcbe779f64b"
35
+ "gitHead": "07f10bddc02e9b0905cc461a67f20d83db8344a1"
36
36
  }