@gamepark/mythologies 0.12.1 → 0.12.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 (114) hide show
  1. package/dist/MythologiesRules.d.ts +2 -2
  2. package/dist/MythologiesRules.js +2 -2
  3. package/dist/material/Pantheon.d.ts +5 -5
  4. package/dist/material/Pantheon.js +19 -19
  5. package/dist/material/Trial.d.ts +4 -4
  6. package/dist/material/Trial.js +11 -11
  7. package/dist/material/entity/Effect.d.ts +5 -5
  8. package/dist/material/entity/Effect.js +1 -1
  9. package/dist/material/entity/EntityDescription.d.ts +2 -2
  10. package/dist/material/entity/PlaceCardEffectRule.d.ts +2 -2
  11. package/dist/material/entity/PlaceCardEffectRule.js +3 -3
  12. package/dist/material/entity/celtic/Banshee.js +1 -1
  13. package/dist/material/entity/celtic/Brigid.js +1 -1
  14. package/dist/material/entity/celtic/Cernunnos.js +1 -1
  15. package/dist/material/entity/celtic/Dagda.js +1 -1
  16. package/dist/material/entity/celtic/Dullahan.js +1 -1
  17. package/dist/material/entity/celtic/Fairy.js +1 -1
  18. package/dist/material/entity/celtic/Kelpie.js +1 -1
  19. package/dist/material/entity/celtic/Leprechaun.js +1 -1
  20. package/dist/material/entity/celtic/Morrigan.js +1 -1
  21. package/dist/material/entity/celtic/Selkie.js +1 -1
  22. package/dist/material/entity/chinese/ChangE.js +1 -1
  23. package/dist/material/entity/chinese/Fenghuang.js +1 -1
  24. package/dist/material/entity/chinese/Jiangshi.js +1 -1
  25. package/dist/material/entity/chinese/Mogwai.js +1 -1
  26. package/dist/material/entity/chinese/Nian.js +1 -1
  27. package/dist/material/entity/chinese/Nuwa.js +1 -1
  28. package/dist/material/entity/chinese/Qilin.js +1 -1
  29. package/dist/material/entity/chinese/SunWukong.js +1 -1
  30. package/dist/material/entity/chinese/Tianlong.js +1 -1
  31. package/dist/material/entity/chinese/YanluoWang.js +1 -1
  32. package/dist/material/entity/egyptian/Ammit.js +1 -1
  33. package/dist/material/entity/egyptian/Anubis.js +1 -1
  34. package/dist/material/entity/egyptian/Beetle.js +1 -1
  35. package/dist/material/entity/egyptian/Bennu.js +1 -1
  36. package/dist/material/entity/egyptian/Cobra.js +1 -1
  37. package/dist/material/entity/egyptian/Isis.js +1 -1
  38. package/dist/material/entity/egyptian/Mummy.js +1 -1
  39. package/dist/material/entity/egyptian/Osiris.js +1 -1
  40. package/dist/material/entity/egyptian/Ra.js +1 -1
  41. package/dist/material/entity/egyptian/Sphinx.js +1 -1
  42. package/dist/material/entity/greek/Athena.js +1 -1
  43. package/dist/material/entity/greek/Centaur.js +1 -1
  44. package/dist/material/entity/greek/Chimera.js +1 -1
  45. package/dist/material/entity/greek/Cyclops.js +1 -1
  46. package/dist/material/entity/greek/Gorgon.js +1 -1
  47. package/dist/material/entity/greek/Griffin.js +1 -1
  48. package/dist/material/entity/greek/Hades.js +1 -1
  49. package/dist/material/entity/greek/Minotaur.js +1 -1
  50. package/dist/material/entity/greek/Poseidon.js +2 -2
  51. package/dist/material/entity/greek/Zeus.js +1 -1
  52. package/dist/material/entity/hindu/Asura.js +1 -1
  53. package/dist/material/entity/hindu/Brahma.js +1 -1
  54. package/dist/material/entity/hindu/Ganesh.js +1 -1
  55. package/dist/material/entity/hindu/Garuda.js +1 -1
  56. package/dist/material/entity/hindu/Kinnara.js +1 -1
  57. package/dist/material/entity/hindu/Naga.js +1 -1
  58. package/dist/material/entity/hindu/Rakshasa.js +1 -1
  59. package/dist/material/entity/hindu/Shiva.js +1 -1
  60. package/dist/material/entity/hindu/Vetala.js +1 -1
  61. package/dist/material/entity/hindu/Vishnu.js +1 -1
  62. package/dist/material/entity/inca/Amaru.js +1 -1
  63. package/dist/material/entity/inca/Caiman.js +1 -1
  64. package/dist/material/entity/inca/Condor.js +1 -1
  65. package/dist/material/entity/inca/Illapa.js +1 -1
  66. package/dist/material/entity/inca/Inti.js +1 -1
  67. package/dist/material/entity/inca/MamaQucha.js +1 -1
  68. package/dist/material/entity/inca/Puma.js +1 -1
  69. package/dist/material/entity/inca/Supay.js +1 -1
  70. package/dist/material/entity/inca/Ukuku.js +1 -1
  71. package/dist/material/entity/inca/Viracocha.js +1 -1
  72. package/dist/material/entity/norse/Alf.js +1 -1
  73. package/dist/material/entity/norse/Draugr.js +1 -1
  74. package/dist/material/entity/norse/Fenrir.js +1 -1
  75. package/dist/material/entity/norse/Freya.js +1 -1
  76. package/dist/material/entity/norse/Jotunn.js +1 -1
  77. package/dist/material/entity/norse/Loki.js +1 -1
  78. package/dist/material/entity/norse/Odin.js +1 -1
  79. package/dist/material/entity/norse/Thor.js +1 -1
  80. package/dist/material/entity/norse/Troll.js +1 -1
  81. package/dist/material/entity/norse/Valkyrie.js +1 -1
  82. package/dist/material/entity/zulu/Idlozi.js +1 -1
  83. package/dist/material/entity/zulu/Impundulu.js +1 -1
  84. package/dist/material/entity/zulu/Inkanyamba.js +1 -1
  85. package/dist/material/entity/zulu/Inkosazana.js +1 -1
  86. package/dist/material/entity/zulu/Shembe.js +1 -1
  87. package/dist/material/entity/zulu/Tokoloshe.js +1 -1
  88. package/dist/material/entity/zulu/Umvelinqangi.js +1 -1
  89. package/dist/material/entity/zulu/Unkulunkulu.js +2 -2
  90. package/dist/material/entity/zulu/Unwabu.js +1 -1
  91. package/dist/material/entity/zulu/Werehyena.js +1 -1
  92. package/dist/rules/PlaceCardsRule.d.ts +1 -1
  93. package/dist/rules/PlaceCardsRule.js +4 -4
  94. package/dist/rules/RuleId.d.ts +1 -1
  95. package/dist/rules/RuleId.js +1 -1
  96. package/dist/rules/effects/AmmitEffectRule.d.ts +2 -2
  97. package/dist/rules/effects/AmmitEffectRule.js +2 -2
  98. package/dist/rules/effects/AnubisEffectRule.d.ts +2 -2
  99. package/dist/rules/effects/AnubisEffectRule.js +2 -2
  100. package/dist/rules/effects/ChimeraEffectRule.d.ts +2 -2
  101. package/dist/rules/effects/ChimeraEffectRule.js +3 -3
  102. package/dist/rules/effects/CobraEffectRule.d.ts +3 -3
  103. package/dist/rules/effects/CobraEffectRule.js +3 -3
  104. package/dist/rules/effects/CondorEffectRule.js +1 -1
  105. package/dist/rules/effects/IdloziEffectRule.js +1 -1
  106. package/dist/rules/effects/ImpunduluEffectRule.d.ts +2 -2
  107. package/dist/rules/effects/ImpunduluEffectRule.js +2 -2
  108. package/dist/rules/effects/InkosazanaEffectRule.d.ts +2 -2
  109. package/dist/rules/effects/InkosazanaEffectRule.js +2 -2
  110. package/dist/rules/effects/RakshasaEffectRule.js +1 -1
  111. package/dist/rules/effects/ResolveEffectsRule.js +3 -3
  112. package/dist/rules/effects/SphinxEffectRule.js +1 -1
  113. package/dist/rules/effects/VishnuEffectRule.js +1 -1
  114. package/package.json +2 -2
@@ -1,7 +1,7 @@
1
1
  import { ChimeraEffectRule } from '../../../rules/effects/ChimeraEffectRule';
2
2
  import { isPlacedCrush } from '../Effect';
3
3
  export const Chimera = {
4
- invoke: [{ gem: 1 }, { gem: 1 }, { gem: 1 }],
4
+ summon: [{ gem: 1 }, { gem: 1 }, { gem: 1 }],
5
5
  effect: {
6
6
  trigger: isPlacedCrush,
7
7
  rule: ChimeraEffectRule
@@ -1,7 +1,7 @@
1
1
  import { CyclopsEffectRule } from '../../../rules/effects/CyclopsEffectRule';
2
2
  import { LineEventType, TriggerEventType } from '../Effect';
3
3
  export const Cyclops = {
4
- invoke: [{ favor: 1 }, { gem: 1 }, {}],
4
+ summon: [{ favor: 1 }, { gem: 1 }, {}],
5
5
  effect: {
6
6
  trigger: (event, { cardLocation, game }) => {
7
7
  const { x, y, player } = cardLocation;
@@ -1,7 +1,7 @@
1
1
  import { GorgonEffectRule } from '../../../rules/effects/GorgonEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Gorgon = {
4
- invoke: [{}, { gem: 1 }, { favor: 1 }],
4
+ summon: [{}, { gem: 1 }, { favor: 1 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: GorgonEffectRule
@@ -1,7 +1,7 @@
1
1
  import { GriffinEffectRule } from '../../../rules/effects/GriffinEffectRule';
2
2
  import { oncePerTurn } from '../Effect';
3
3
  export const Griffin = {
4
- invoke: [{ gem: 2 }, { favor: 1 }, {}],
4
+ summon: [{ gem: 2 }, { favor: 1 }, {}],
5
5
  effect: {
6
6
  trigger: oncePerTurn,
7
7
  rule: GriffinEffectRule
@@ -1,7 +1,7 @@
1
1
  import { HadesEffectRule } from '../../../rules/effects/HadesEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Hades = {
4
- invoke: [{}, {}, { favor: 2 }],
4
+ summon: [{}, {}, { favor: 2 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: HadesEffectRule
@@ -1,7 +1,7 @@
1
1
  import { MinotaurEffectRule } from '../../../rules/effects/MinotaurEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Minotaur = {
4
- invoke: [{}, { favor: 1 }, { gem: 1 }],
4
+ summon: [{}, { favor: 1 }, { gem: 1 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: MinotaurEffectRule
@@ -5,9 +5,9 @@ import { Pantheon } from '../../Pantheon';
5
5
  import { TriggerEventType } from '../Effect';
6
6
  import { PlayerEffectRule } from '../PlayerEffectRule';
7
7
  export const Poseidon = {
8
- invoke: [{}, { gem: 1 }, { favor: 1 }],
8
+ summon: [{}, { gem: 1 }, { favor: 1 }],
9
9
  effect: {
10
- trigger: (event, { cardLocation }) => event.type === TriggerEventType.EntityPlaced && event.invoked && isGod(event.entity) && event.location.player === cardLocation.player,
10
+ trigger: (event, { cardLocation }) => event.type === TriggerEventType.EntityPlaced && event.summoned && isGod(event.entity) && event.location.player === cardLocation.player,
11
11
  rule: class PoseidonEffectRule extends PlayerEffectRule {
12
12
  playEffect() {
13
13
  const cardLocation = this.remind(Memory.OngoingEffect).triggerEvent.location;
@@ -2,7 +2,7 @@ import { Pantheon } from '../../Pantheon';
2
2
  import { isEndOfGame } from '../Effect';
3
3
  import { PlayerEffectRule } from '../PlayerEffectRule';
4
4
  export const Zeus = {
5
- invoke: [{ favor: 1 }, {}, {}],
5
+ summon: [{ favor: 1 }, {}, {}],
6
6
  effect: {
7
7
  trigger: isEndOfGame,
8
8
  rule: class ZeusEffectRule extends PlayerEffectRule {
@@ -3,7 +3,7 @@ import { Pantheon } from '../../Pantheon';
3
3
  import { isPlaced } from '../Effect';
4
4
  import { PlayerEffectRule } from '../PlayerEffectRule';
5
5
  export const Asura = {
6
- invoke: [{ gem: 1, favor: 1 }, {}, { favor: 1 }],
6
+ summon: [{ gem: 1, favor: 1 }, {}, { favor: 1 }],
7
7
  effect: {
8
8
  trigger: isPlaced,
9
9
  rule: class AsuraEffectRule extends PlayerEffectRule {
@@ -2,7 +2,7 @@ import { Pantheon } from '../../Pantheon';
2
2
  import { TriggerEventType } from '../Effect';
3
3
  import { PlayerEffectRule } from '../PlayerEffectRule';
4
4
  export const Brahma = {
5
- invoke: [{ gem: 1, favor: 1 }, {}, { gem: 1 }],
5
+ summon: [{ gem: 1, favor: 1 }, {}, { gem: 1 }],
6
6
  effect: {
7
7
  trigger: (event) => event.type === TriggerEventType.EntitySacrificed,
8
8
  rule: class BrahmaEffectRule extends PlayerEffectRule {
@@ -4,7 +4,7 @@ import { Pantheon } from '../../Pantheon';
4
4
  import { isEndOfGame } from '../Effect';
5
5
  import { PlayerEffectRule } from '../PlayerEffectRule';
6
6
  export const Ganesh = {
7
- invoke: [{ gem: 1 }, { gem: 1 }, {}],
7
+ summon: [{ gem: 1 }, { gem: 1 }, {}],
8
8
  effect: {
9
9
  trigger: isEndOfGame,
10
10
  rule: class GaneshEffectRule extends PlayerEffectRule {
@@ -1,7 +1,7 @@
1
1
  import { GarudaEffectRule } from '../../../rules/effects/GarudaEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Garuda = {
4
- invoke: [{ favor: 1 }, {}, {}],
4
+ summon: [{ favor: 1 }, {}, {}],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: GarudaEffectRule
@@ -1,7 +1,7 @@
1
1
  import { KinnaraEffectRule } from '../../../rules/effects/KinnaraEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Kinnara = {
4
- invoke: [{ gem: 1 }, { gem: 1 }, {}],
4
+ summon: [{ gem: 1 }, { gem: 1 }, {}],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: KinnaraEffectRule
@@ -4,7 +4,7 @@ import { MaterialType } from '../../MaterialType';
4
4
  import { isCrushed } from '../Effect';
5
5
  import { PlayerEffectRule } from '../PlayerEffectRule';
6
6
  export const Naga = {
7
- invoke: [{}, { gem: 2 }, { gem: 1 }],
7
+ summon: [{}, { gem: 2 }, { gem: 1 }],
8
8
  effects: [
9
9
  {
10
10
  preventMove: (card, naga) => naga.location.player === card.location.player && areAdjacentSquares(naga.location, card.location)
@@ -1,7 +1,7 @@
1
1
  import { RakshasaEffectRule } from '../../../rules/effects/RakshasaEffectRule';
2
2
  import { TriggerEventType } from '../Effect';
3
3
  export const Rakshasa = {
4
- invoke: [{ gem: 1 }, { favor: 1 }, { gem: 1 }],
4
+ summon: [{ gem: 1 }, { favor: 1 }, { gem: 1 }],
5
5
  effect: {
6
6
  trigger: (effect) => effect.type === TriggerEventType.Infinite,
7
7
  rule: RakshasaEffectRule
@@ -1,7 +1,7 @@
1
1
  import { ShivaEffectRule } from '../../../rules/effects/ShivaEffectRule';
2
2
  import { oncePerTurn } from '../Effect';
3
3
  export const Shiva = {
4
- invoke: [{ gem: 2 }, {}, { gem: 1, favor: 1 }],
4
+ summon: [{ gem: 2 }, {}, { gem: 1, favor: 1 }],
5
5
  effect: {
6
6
  trigger: oncePerTurn,
7
7
  rule: ShivaEffectRule
@@ -1,7 +1,7 @@
1
1
  import { VetalaEffectRule } from '../../../rules/effects/VetalaEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Vetala = {
4
- invoke: [{}, { gem: 1 }, { favor: 1 }],
4
+ summon: [{}, { gem: 1 }, { favor: 1 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: VetalaEffectRule
@@ -1,7 +1,7 @@
1
1
  import { VishnuEffectRule } from '../../../rules/effects/VishnuEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Vishnu = {
4
- invoke: [{}, { gem: 1, favor: 1 }, { gem: 1 }],
4
+ summon: [{}, { gem: 1, favor: 1 }, { gem: 1 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: VishnuEffectRule
@@ -2,7 +2,7 @@ import { Pantheon } from '../../Pantheon';
2
2
  import { isPlaced } from '../Effect';
3
3
  import { PlayerEffectRule } from '../PlayerEffectRule';
4
4
  export const Amaru = {
5
- invoke: [{ gem: 1 }, {}, { favor: 1 }],
5
+ summon: [{ gem: 1 }, {}, { favor: 1 }],
6
6
  effect: {
7
7
  trigger: isPlaced,
8
8
  rule: class AmaruEffectRule extends PlayerEffectRule {
@@ -1,7 +1,7 @@
1
1
  import { CaimanEffectRule } from '../../../rules/effects/CaimanEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Caiman = {
4
- invoke: [{}, { gem: 1, favor: 1 }, { gem: 1 }],
4
+ summon: [{}, { gem: 1, favor: 1 }, { gem: 1 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: CaimanEffectRule
@@ -1,7 +1,7 @@
1
1
  import { CondorEffectRule } from '../../../rules/effects/CondorEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Condor = {
4
- invoke: [{ gem: 1 }, {}, {}],
4
+ summon: [{ gem: 1 }, {}, {}],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: CondorEffectRule
@@ -1,7 +1,7 @@
1
1
  import { IllapaEffectRule } from '../../../rules/effects/IllapaEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Illapa = {
4
- invoke: [{ favor: 2 }, {}, { gem: 1 }],
4
+ summon: [{ favor: 2 }, {}, { gem: 1 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: IllapaEffectRule
@@ -2,7 +2,7 @@ import { Pantheon } from '../../Pantheon';
2
2
  import { isEndOfGame } from '../Effect';
3
3
  import { PlayerEffectRule } from '../PlayerEffectRule';
4
4
  export const Inti = {
5
- invoke: [{ favor: 1 }, {}, {}],
5
+ summon: [{ favor: 1 }, {}, {}],
6
6
  effect: {
7
7
  trigger: isEndOfGame,
8
8
  rule: class IntiEffectRule extends PlayerEffectRule {
@@ -3,7 +3,7 @@ import { Pantheon } from '../../Pantheon';
3
3
  import { isEndOfGame } from '../Effect';
4
4
  import { PlayerEffectRule } from '../PlayerEffectRule';
5
5
  export const MamaQucha = {
6
- invoke: [{}, { favor: 1 }, { gem: 2 }],
6
+ summon: [{}, { favor: 1 }, { gem: 2 }],
7
7
  effect: {
8
8
  trigger: isEndOfGame,
9
9
  rule: class MamaQuchaEffectRule extends PlayerEffectRule {
@@ -2,7 +2,7 @@ import { Pantheon } from '../../Pantheon';
2
2
  import { TriggerEventType } from '../Effect';
3
3
  import { PlayerEffectRule } from '../PlayerEffectRule';
4
4
  export const Puma = {
5
- invoke: [{}, { favor: 1 }, {}],
5
+ summon: [{}, { favor: 1 }, {}],
6
6
  effect: {
7
7
  trigger: (event, { cardLocation }) => event.type === TriggerEventType.EntityCrushed && cardLocation.player === event.card.location.player,
8
8
  rule: class PumaEffectRule extends PlayerEffectRule {
@@ -1,7 +1,7 @@
1
1
  import { SupayEffectRule } from '../../../rules/effects/SupayEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Supay = {
4
- invoke: [{}, {}, { gem: 2, favor: 1 }],
4
+ summon: [{}, {}, { gem: 2, favor: 1 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: SupayEffectRule
@@ -1,7 +1,7 @@
1
1
  import { UkukuEffectRule } from '../../../rules/effects/UkukuEffectRule';
2
2
  import { LineEventType, TriggerEventType } from '../Effect';
3
3
  export const Ukuku = {
4
- invoke: [{ gem: 1 }, { gem: 2 }, {}],
4
+ summon: [{ gem: 1 }, { gem: 2 }, {}],
5
5
  effect: {
6
6
  trigger: (event, { cardLocation }) => {
7
7
  return (event.type === TriggerEventType.LineEvent &&
@@ -1,7 +1,7 @@
1
1
  import { ViracochaEffectRule } from '../../../rules/effects/ViracochaEffectRule';
2
2
  import { oncePerTurn } from '../Effect';
3
3
  export const Viracocha = {
4
- invoke: [{}, { favor: 1 }, {}],
4
+ summon: [{}, { favor: 1 }, {}],
5
5
  effect: {
6
6
  trigger: oncePerTurn,
7
7
  rule: ViracochaEffectRule
@@ -1,7 +1,7 @@
1
1
  import { AlfEffectRule } from '../../../rules/effects/AlfEffectRule';
2
2
  import { oncePerTurn } from '../Effect';
3
3
  export const Alf = {
4
- invoke: [{ favor: 1 }, {}, { gem: 2 }],
4
+ summon: [{ favor: 1 }, {}, { gem: 2 }],
5
5
  effect: {
6
6
  trigger: oncePerTurn,
7
7
  rule: AlfEffectRule
@@ -1,7 +1,7 @@
1
1
  import { DraugrEffectRule } from '../../../rules/effects/DraugrEffectRule';
2
2
  import { isPlacedCrush } from '../Effect';
3
3
  export const Draugr = {
4
- invoke: [{}, { gem: 1 }, { favor: 1 }],
4
+ summon: [{}, { gem: 1 }, { favor: 1 }],
5
5
  effect: {
6
6
  trigger: isPlacedCrush,
7
7
  rule: DraugrEffectRule
@@ -1,7 +1,7 @@
1
1
  import { FenrirChoiceRule } from '../../../rules/effects/FenrirEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Fenrir = {
4
- invoke: [{}, { favor: 1 }, { gem: 1 }],
4
+ summon: [{}, { favor: 1 }, { gem: 1 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: FenrirChoiceRule
@@ -3,7 +3,7 @@ import { Pantheon } from '../../Pantheon';
3
3
  import { isEndOfGame } from '../Effect';
4
4
  import { PlayerEffectRule } from '../PlayerEffectRule';
5
5
  export const Freya = {
6
- invoke: [{ gem: 2 }, { favor: 1 }, {}],
6
+ summon: [{ gem: 2 }, { favor: 1 }, {}],
7
7
  effect: {
8
8
  trigger: isEndOfGame,
9
9
  rule: class FreyaEffectRule extends PlayerEffectRule {
@@ -2,7 +2,7 @@ import { Pantheon } from '../../Pantheon';
2
2
  import { isPlacedCrush } from '../Effect';
3
3
  import { PlayerEffectRule } from '../PlayerEffectRule';
4
4
  export const Jotunn = {
5
- invoke: [{ gem: 1 }, { gem: 1 }, {}],
5
+ summon: [{ gem: 1 }, { gem: 1 }, {}],
6
6
  effect: {
7
7
  trigger: isPlacedCrush,
8
8
  rule: class JotunnEffectRule extends PlayerEffectRule {
@@ -2,7 +2,7 @@ import { UpkeepRule } from '../../../rules/UpkeepRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  import { PlayerEffectRule } from '../PlayerEffectRule';
4
4
  export const Loki = {
5
- invoke: [{}, { gem: 2 }, { gem: 1, favor: 2 }],
5
+ summon: [{}, { gem: 2 }, { gem: 1, favor: 2 }],
6
6
  effect: {
7
7
  trigger: isPlaced,
8
8
  rule: class LokiEffectRule extends PlayerEffectRule {
@@ -1,3 +1,3 @@
1
1
  export const Odin = {
2
- invoke: [{ favor: 1 }, { favor: 2 }, { favor: 1 }]
2
+ summon: [{ favor: 1 }, { favor: 2 }, { favor: 1 }]
3
3
  };
@@ -1,7 +1,7 @@
1
1
  import { ThorEffectRule } from '../../../rules/effects/ThorEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Thor = {
4
- invoke: [{ favor: 2 }, {}, {}],
4
+ summon: [{ favor: 2 }, {}, {}],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: ThorEffectRule
@@ -1,5 +1,5 @@
1
1
  export const Troll = {
2
- invoke: [{}, { gem: 1 }, { favor: 1 }],
2
+ summon: [{}, { gem: 1 }, { favor: 1 }],
3
3
  effect: {
4
4
  favorTax: (space, troll) => (space.x === troll.location.x && space.y === troll.location.y ? 1 : 0)
5
5
  }
@@ -5,7 +5,7 @@ import { Pantheon } from '../../Pantheon';
5
5
  import { isPlaced } from '../Effect';
6
6
  import { PlayerEffectRule } from '../PlayerEffectRule';
7
7
  export const Valkyrie = {
8
- invoke: [{ gem: 1 }, { gem: 2 }, {}],
8
+ summon: [{ gem: 1 }, { gem: 2 }, {}],
9
9
  effect: {
10
10
  trigger: isPlaced,
11
11
  rule: class ValkyrieEffectRule extends PlayerEffectRule {
@@ -1,7 +1,7 @@
1
1
  import { IdloziEffectRule } from '../../../rules/effects/IdloziEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Idlozi = {
4
- invoke: [{ gem: 1 }, {}, { gem: 1 }],
4
+ summon: [{ gem: 1 }, {}, { gem: 1 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: IdloziEffectRule
@@ -1,7 +1,7 @@
1
1
  import { ImpunduluEffectRule } from '../../../rules/effects/ImpunduluEffectRule';
2
2
  import { isPlacedCrush } from '../Effect';
3
3
  export const Impundulu = {
4
- invoke: [{ favor: 1 }, {}, {}],
4
+ summon: [{ favor: 1 }, {}, {}],
5
5
  effect: {
6
6
  trigger: isPlacedCrush,
7
7
  rule: ImpunduluEffectRule
@@ -2,7 +2,7 @@ import { Pantheon } from '../../Pantheon';
2
2
  import { AutoEffectRule } from '../AutoEffectRule';
3
3
  import { TriggerEventType } from '../Effect';
4
4
  export const Inkanyamba = {
5
- invoke: [{}, { favor: 1 }, { gem: 1 }],
5
+ summon: [{}, { favor: 1 }, { gem: 1 }],
6
6
  effect: {
7
7
  trigger: (effect, { cardIndex }) => effect.type === TriggerEventType.EntitiesMoved && effect.entities.includes(cardIndex),
8
8
  rule: class InkanyambaEffectRule extends AutoEffectRule {
@@ -1,7 +1,7 @@
1
1
  import { InkosazanaEffectRule } from '../../../rules/effects/InkosazanaEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Inkosazana = {
4
- invoke: [{}, { gem: 1, favor: 1 }, { favor: 1 }],
4
+ summon: [{}, { gem: 1, favor: 1 }, { favor: 1 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: InkosazanaEffectRule
@@ -4,7 +4,7 @@ import { Pantheon } from '../../Pantheon';
4
4
  import { isEndOfGame } from '../Effect';
5
5
  import { PlayerEffectRule } from '../PlayerEffectRule';
6
6
  export const Shembe = {
7
- invoke: [{ gem: 1 }, { gem: 2 }, {}],
7
+ summon: [{ gem: 1 }, { gem: 2 }, {}],
8
8
  effect: {
9
9
  trigger: isEndOfGame,
10
10
  rule: class ShembeEffectRule extends PlayerEffectRule {
@@ -3,7 +3,7 @@ import { Pantheon } from '../../Pantheon';
3
3
  import { AutoEffectRule } from '../AutoEffectRule';
4
4
  import { isEndOfMyTurn } from '../Effect';
5
5
  export const Tokoloshe = {
6
- invoke: [{}, { gem: 3 }, { favor: 2 }],
6
+ summon: [{}, { gem: 3 }, { favor: 2 }],
7
7
  effects: [
8
8
  {
9
9
  trigger: isEndOfMyTurn,
@@ -5,7 +5,7 @@ import { Pantheon } from '../../Pantheon';
5
5
  import { isEndOfGame } from '../Effect';
6
6
  import { PlayerEffectRule } from '../PlayerEffectRule';
7
7
  export const Umvelinqangi = {
8
- invoke: [{ gem: 1, favor: 1 }, { gem: 1 }, {}],
8
+ summon: [{ gem: 1, favor: 1 }, { gem: 1 }, {}],
9
9
  effect: {
10
10
  trigger: isEndOfGame,
11
11
  rule: class UmvelinqangiEffectRule extends PlayerEffectRule {
@@ -4,7 +4,7 @@ import { isEndOfGame } from '../Effect';
4
4
  import { entities } from '../EntityDescription';
5
5
  import { PlayerEffectRule } from '../PlayerEffectRule';
6
6
  export const Unkulunkulu = {
7
- invoke: [{ favor: 1 }, { favor: 2 }, {}],
7
+ summon: [{ favor: 1 }, { favor: 2 }, {}],
8
8
  effect: {
9
9
  trigger: isEndOfGame,
10
10
  rule: class UnkulunkuluEffectRule extends PlayerEffectRule {
@@ -12,7 +12,7 @@ export const Unkulunkulu = {
12
12
  const pantheon = new Pantheon(this.game, this.player);
13
13
  const { x, y } = this.card.location;
14
14
  const cards = pantheon.visibleEntities.location((l) => (l.x === x && l.y !== y) || (l.y === y && l.x !== x)).getItems();
15
- const gain = sumBy(cards, (card) => entities[card.id.front].invoke[card.location.y].favor ?? 0);
15
+ const gain = sumBy(cards, (card) => entities[card.id.front].summon[card.location.y].favor ?? 0);
16
16
  return gain > 0 ? [pantheon.gainFavor(gain)] : [];
17
17
  }
18
18
  }
@@ -4,7 +4,7 @@ import { Pantheon } from '../../Pantheon';
4
4
  import { oncePerTurn } from '../Effect';
5
5
  import { PlayerEffectRule } from '../PlayerEffectRule';
6
6
  export const Unwabu = {
7
- invoke: [{ gem: 2 }, { favor: 1 }, {}],
7
+ summon: [{ gem: 2 }, { favor: 1 }, {}],
8
8
  effect: {
9
9
  trigger: oncePerTurn,
10
10
  rule: class UnwabuEffectRule extends PlayerEffectRule {
@@ -1,7 +1,7 @@
1
1
  import { WerehyenaEffectRule } from '../../../rules/effects/WerehyenaEffectRule';
2
2
  import { isPlaced } from '../Effect';
3
3
  export const Werehyena = {
4
- invoke: [{}, { gem: 1 }, { gem: 2 }],
4
+ summon: [{}, { gem: 1 }, { gem: 2 }],
5
5
  effect: {
6
6
  trigger: isPlaced,
7
7
  rule: WerehyenaEffectRule
@@ -2,7 +2,7 @@ import { CustomMove, ItemMove, MaterialMove, PlayerTurnRule } from '@gamepark/ru
2
2
  import { CardEffect } from '../material/entity/Effect';
3
3
  import { RuleId } from './RuleId';
4
4
  export declare class PlaceCardsRule extends PlayerTurnRule {
5
- isInvoke: boolean;
5
+ isSummon: boolean;
6
6
  getPlayerMoves(): MaterialMove[];
7
7
  get infiniteEffects(): CardEffect[];
8
8
  isOncePerTurnAvailable(cardIndex: number): boolean;
@@ -12,14 +12,14 @@ import { ResolveEffectsRule } from './effects/ResolveEffectsRule';
12
12
  import { TriggerEffectsRule } from './effects/TriggerEffectsRule';
13
13
  import { RuleId } from './RuleId';
14
14
  export class PlaceCardsRule extends PlayerTurnRule {
15
- isInvoke = true;
15
+ isSummon = true;
16
16
  getPlayerMoves() {
17
17
  const moves = this.infiniteEffects.map((effect) => this.customMove(CustomMoveType.PlayEffect, effect));
18
18
  const cards = this.material(MaterialType.EntityCard).location(LocationType.PlayerSelectedCards).player(this.player);
19
19
  if (cards.length) {
20
- const cardsICanInvoke = new Pantheon(this.game, this.player).gems < 4 ? cards.id((id) => !isGod(id.front)) : cards;
21
- for (const { x, y } of new Pantheon(this.game, this.player).legalSpacesToInvoke) {
22
- moves.push(...cardsICanInvoke.moveItems({ type: LocationType.Pantheon, x, y, player: this.player }));
20
+ const cardsICanSummon = new Pantheon(this.game, this.player).gems < 4 ? cards.id((id) => !isGod(id.front)) : cards;
21
+ for (const { x, y } of new Pantheon(this.game, this.player).legalSpacesToSummon) {
22
+ moves.push(...cardsICanSummon.moveItems({ type: LocationType.Pantheon, x, y, player: this.player }));
23
23
  }
24
24
  moves.push(...cards.moveItems({ type: LocationType.PlayerDiscard, player: this.player }));
25
25
  }
@@ -25,7 +25,7 @@ export declare enum RuleId {
25
25
  AnubisEffect = 27,
26
26
  SphinxEffect = 28,
27
27
  CobraEffect = 29,
28
- CobraInvokeEffect = 30,
28
+ CobraSummonEffect = 30,
29
29
  AmmitEffect = 31,
30
30
  BennuEffect = 32,
31
31
  VishnuEffect = 33,
@@ -26,7 +26,7 @@ export var RuleId;
26
26
  RuleId[RuleId["AnubisEffect"] = 27] = "AnubisEffect";
27
27
  RuleId[RuleId["SphinxEffect"] = 28] = "SphinxEffect";
28
28
  RuleId[RuleId["CobraEffect"] = 29] = "CobraEffect";
29
- RuleId[RuleId["CobraInvokeEffect"] = 30] = "CobraInvokeEffect";
29
+ RuleId[RuleId["CobraSummonEffect"] = 30] = "CobraSummonEffect";
30
30
  RuleId[RuleId["AmmitEffect"] = 31] = "AmmitEffect";
31
31
  RuleId[RuleId["BennuEffect"] = 32] = "BennuEffect";
32
32
  RuleId[RuleId["VishnuEffect"] = 33] = "VishnuEffect";
@@ -1,6 +1,6 @@
1
- import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
1
+ import { SummonEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
2
  import { RuleId } from '../RuleId';
3
- export declare class AmmitEffectRule extends InvokeEffectRule {
3
+ export declare class AmmitEffectRule extends SummonEffectRule {
4
4
  ruleId: RuleId;
5
5
  getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
6
6
  }
@@ -1,10 +1,10 @@
1
1
  import { entityMythology } from '../../material/Entity';
2
- import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
+ import { SummonEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
3
  import { LocationType } from '../../material/LocationType';
4
4
  import { MaterialType } from '../../material/MaterialType';
5
5
  import { Pantheon } from '../../material/Pantheon';
6
6
  import { RuleId } from '../RuleId';
7
- export class AmmitEffectRule extends InvokeEffectRule {
7
+ export class AmmitEffectRule extends SummonEffectRule {
8
8
  ruleId = RuleId.AmmitEffect;
9
9
  getCardsToPlace() {
10
10
  const mythologies = new Pantheon(this.game, this.player).missingMythologies;
@@ -1,7 +1,7 @@
1
1
  import { Material } from '@gamepark/rules-api';
2
- import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
+ import { SummonEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
3
  import { RuleId } from '../RuleId';
4
- export declare class AnubisEffectRule extends InvokeEffectRule {
4
+ export declare class AnubisEffectRule extends SummonEffectRule {
5
5
  ruleId: RuleId;
6
6
  times: number;
7
7
  getCardsToPlace(): Material;
@@ -1,8 +1,8 @@
1
- import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
1
+ import { SummonEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
2
  import { LocationType } from '../../material/LocationType';
3
3
  import { MaterialType } from '../../material/MaterialType';
4
4
  import { RuleId } from '../RuleId';
5
- export class AnubisEffectRule extends InvokeEffectRule {
5
+ export class AnubisEffectRule extends SummonEffectRule {
6
6
  ruleId = RuleId.AnubisEffect;
7
7
  times = 2;
8
8
  getCardsToPlace() {
@@ -1,7 +1,7 @@
1
1
  import { XYCoordinates } from '@gamepark/rules-api';
2
- import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
+ import { SummonEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
3
  import { RuleId } from '../RuleId';
4
- export declare class ChimeraEffectRule extends InvokeEffectRule {
4
+ export declare class ChimeraEffectRule extends SummonEffectRule {
5
5
  ruleId: RuleId;
6
6
  getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
7
7
  getAvailableDestinations(): XYCoordinates[];