@gamepark/mythologies 0.9.3 → 0.11.0

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 (319) hide show
  1. package/dist/CustomMoveType.d.ts +14 -14
  2. package/dist/CustomMoveType.js +11 -14
  3. package/dist/Memory.d.ts +14 -14
  4. package/dist/Memory.js +15 -18
  5. package/dist/MythologiesOptions.d.ts +12 -12
  6. package/dist/MythologiesOptions.js +22 -25
  7. package/dist/MythologiesRules.d.ts +158 -158
  8. package/dist/MythologiesRules.js +216 -244
  9. package/dist/MythologiesSetup.d.ts +17 -17
  10. package/dist/MythologiesSetup.js +84 -161
  11. package/dist/PlayerColor.d.ts +10 -10
  12. package/dist/PlayerColor.js +7 -10
  13. package/dist/index.d.ts +3 -3
  14. package/dist/index.js +3 -9
  15. package/dist/material/Destiny.d.ts +15 -15
  16. package/dist/material/Destiny.js +91 -130
  17. package/dist/material/Entity.d.ts +102 -102
  18. package/dist/material/Entity.js +92 -99
  19. package/dist/material/LocationType.d.ts +28 -28
  20. package/dist/material/LocationType.js +29 -33
  21. package/dist/material/MaterialType.d.ts +13 -13
  22. package/dist/material/MaterialType.js +14 -17
  23. package/dist/material/Mythology.d.ts +18 -18
  24. package/dist/material/Mythology.js +16 -19
  25. package/dist/material/Pantheon.d.ts +50 -51
  26. package/dist/material/Pantheon.js +294 -486
  27. package/dist/material/Trial.d.ts +22 -22
  28. package/dist/material/Trial.js +139 -183
  29. package/dist/material/entity/AutoEffectRule.d.ts +11 -11
  30. package/dist/material/entity/AutoEffectRule.js +16 -49
  31. package/dist/material/entity/Effect.d.ts +106 -104
  32. package/dist/material/entity/Effect.js +26 -44
  33. package/dist/material/entity/EntityDescription.d.ts +13 -13
  34. package/dist/material/entity/EntityDescription.js +165 -170
  35. package/dist/material/entity/MoveEffectRule.d.ts +18 -18
  36. package/dist/material/entity/MoveEffectRule.js +73 -129
  37. package/dist/material/entity/PlaceCardEffectRule.d.ts +15 -15
  38. package/dist/material/entity/PlaceCardEffectRule.js +43 -78
  39. package/dist/material/entity/PlayerEffectRule.d.ts +14 -14
  40. package/dist/material/entity/PlayerEffectRule.js +36 -63
  41. package/dist/material/entity/SacrificeEffectRule.d.ts +11 -11
  42. package/dist/material/entity/SacrificeEffectRule.js +40 -64
  43. package/dist/material/entity/SimultaneousEffectRule.d.ts +18 -18
  44. package/dist/material/entity/SimultaneousEffectRule.js +64 -149
  45. package/dist/material/entity/SimultaneousMoveEffectRule.d.ts +17 -17
  46. package/dist/material/entity/SimultaneousMoveEffectRule.js +65 -141
  47. package/dist/material/entity/SimultaneousSacrificeEffectRule.d.ts +10 -10
  48. package/dist/material/entity/SimultaneousSacrificeEffectRule.js +31 -55
  49. package/dist/material/entity/celtic/Banshee.d.ts +2 -2
  50. package/dist/material/entity/celtic/Banshee.js +23 -46
  51. package/dist/material/entity/celtic/Brigid.d.ts +2 -2
  52. package/dist/material/entity/celtic/Brigid.js +17 -40
  53. package/dist/material/entity/celtic/Cernunnos.d.ts +2 -2
  54. package/dist/material/entity/celtic/Cernunnos.js +19 -43
  55. package/dist/material/entity/celtic/Dagda.d.ts +2 -2
  56. package/dist/material/entity/celtic/Dagda.js +26 -50
  57. package/dist/material/entity/celtic/Dullahan.d.ts +2 -2
  58. package/dist/material/entity/celtic/Dullahan.js +9 -12
  59. package/dist/material/entity/celtic/Fairy.d.ts +2 -2
  60. package/dist/material/entity/celtic/Fairy.js +9 -12
  61. package/dist/material/entity/celtic/Kelpie.d.ts +2 -2
  62. package/dist/material/entity/celtic/Kelpie.js +16 -39
  63. package/dist/material/entity/celtic/Leprechaun.d.ts +2 -2
  64. package/dist/material/entity/celtic/Leprechaun.js +9 -12
  65. package/dist/material/entity/celtic/Morrigan.d.ts +2 -2
  66. package/dist/material/entity/celtic/Morrigan.js +8 -11
  67. package/dist/material/entity/celtic/Selkie.d.ts +2 -2
  68. package/dist/material/entity/celtic/Selkie.js +14 -17
  69. package/dist/material/entity/chinese/ChangE.d.ts +2 -2
  70. package/dist/material/entity/chinese/ChangE.js +6 -9
  71. package/dist/material/entity/chinese/Fenghuang.d.ts +2 -2
  72. package/dist/material/entity/chinese/Fenghuang.js +10 -15
  73. package/dist/material/entity/chinese/Jiangshi.d.ts +2 -2
  74. package/dist/material/entity/chinese/Jiangshi.js +9 -12
  75. package/dist/material/entity/chinese/Mogwai.d.ts +2 -2
  76. package/dist/material/entity/chinese/Mogwai.js +18 -44
  77. package/dist/material/entity/chinese/Nian.d.ts +2 -2
  78. package/dist/material/entity/chinese/Nian.js +19 -42
  79. package/dist/material/entity/chinese/Nuwa.d.ts +2 -2
  80. package/dist/material/entity/chinese/Nuwa.js +9 -12
  81. package/dist/material/entity/chinese/Qilin.d.ts +2 -2
  82. package/dist/material/entity/chinese/Qilin.js +9 -12
  83. package/dist/material/entity/chinese/SunWukong.d.ts +2 -2
  84. package/dist/material/entity/chinese/SunWukong.js +17 -43
  85. package/dist/material/entity/chinese/Tianlong.d.ts +2 -2
  86. package/dist/material/entity/chinese/Tianlong.js +9 -12
  87. package/dist/material/entity/chinese/YanluoWang.d.ts +2 -2
  88. package/dist/material/entity/chinese/YanluoWang.js +9 -12
  89. package/dist/material/entity/egyptian/Ammit.d.ts +2 -2
  90. package/dist/material/entity/egyptian/Ammit.js +9 -12
  91. package/dist/material/entity/egyptian/Anubis.d.ts +2 -2
  92. package/dist/material/entity/egyptian/Anubis.js +9 -12
  93. package/dist/material/entity/egyptian/Beetle.d.ts +2 -2
  94. package/dist/material/entity/egyptian/Beetle.js +20 -43
  95. package/dist/material/entity/egyptian/Bennu.d.ts +2 -2
  96. package/dist/material/entity/egyptian/Bennu.js +9 -12
  97. package/dist/material/entity/egyptian/Cobra.d.ts +2 -2
  98. package/dist/material/entity/egyptian/Cobra.js +9 -12
  99. package/dist/material/entity/egyptian/Isis.d.ts +2 -2
  100. package/dist/material/entity/egyptian/Isis.js +15 -41
  101. package/dist/material/entity/egyptian/Mummy.d.ts +2 -2
  102. package/dist/material/entity/egyptian/Mummy.js +17 -40
  103. package/dist/material/entity/egyptian/Osiris.d.ts +2 -2
  104. package/dist/material/entity/egyptian/Osiris.js +24 -72
  105. package/dist/material/entity/egyptian/Ra.d.ts +2 -2
  106. package/dist/material/entity/egyptian/Ra.js +9 -12
  107. package/dist/material/entity/egyptian/Sphinx.d.ts +2 -2
  108. package/dist/material/entity/egyptian/Sphinx.js +9 -12
  109. package/dist/material/entity/greek/Athena.d.ts +2 -2
  110. package/dist/material/entity/greek/Athena.js +9 -12
  111. package/dist/material/entity/greek/Centaur.d.ts +2 -2
  112. package/dist/material/entity/greek/Centaur.js +9 -12
  113. package/dist/material/entity/greek/Chimera.d.ts +2 -2
  114. package/dist/material/entity/greek/Chimera.js +9 -12
  115. package/dist/material/entity/greek/Cyclops.d.ts +2 -2
  116. package/dist/material/entity/greek/Cyclops.js +15 -19
  117. package/dist/material/entity/greek/Gorgon.d.ts +2 -2
  118. package/dist/material/entity/greek/Gorgon.js +9 -12
  119. package/dist/material/entity/greek/Griffin.d.ts +2 -2
  120. package/dist/material/entity/greek/Griffin.js +9 -12
  121. package/dist/material/entity/greek/Hades.d.ts +2 -2
  122. package/dist/material/entity/greek/Hades.js +9 -12
  123. package/dist/material/entity/greek/Minotaur.d.ts +2 -2
  124. package/dist/material/entity/greek/Minotaur.js +9 -12
  125. package/dist/material/entity/greek/Poseidon.d.ts +2 -2
  126. package/dist/material/entity/greek/Poseidon.js +20 -46
  127. package/dist/material/entity/greek/Zeus.d.ts +2 -2
  128. package/dist/material/entity/greek/Zeus.js +17 -40
  129. package/dist/material/entity/hindu/Asura.d.ts +2 -2
  130. package/dist/material/entity/hindu/Asura.js +19 -67
  131. package/dist/material/entity/hindu/Brahma.d.ts +2 -2
  132. package/dist/material/entity/hindu/Brahma.js +14 -37
  133. package/dist/material/entity/hindu/Ganesh.d.ts +2 -2
  134. package/dist/material/entity/hindu/Ganesh.js +18 -41
  135. package/dist/material/entity/hindu/Garuda.d.ts +2 -2
  136. package/dist/material/entity/hindu/Garuda.js +9 -12
  137. package/dist/material/entity/hindu/Kinnara.d.ts +2 -2
  138. package/dist/material/entity/hindu/Kinnara.js +9 -12
  139. package/dist/material/entity/hindu/Naga.d.ts +2 -2
  140. package/dist/material/entity/hindu/Naga.js +29 -75
  141. package/dist/material/entity/hindu/Rakshasa.d.ts +2 -2
  142. package/dist/material/entity/hindu/Rakshasa.js +9 -12
  143. package/dist/material/entity/hindu/Shiva.d.ts +2 -2
  144. package/dist/material/entity/hindu/Shiva.js +9 -12
  145. package/dist/material/entity/hindu/Vetala.d.ts +2 -2
  146. package/dist/material/entity/hindu/Vetala.js +9 -12
  147. package/dist/material/entity/hindu/Vishnu.d.ts +2 -2
  148. package/dist/material/entity/hindu/Vishnu.js +20 -68
  149. package/dist/material/entity/inca/Amaru.d.ts +2 -2
  150. package/dist/material/entity/inca/Amaru.js +15 -38
  151. package/dist/material/entity/inca/Caiman.d.ts +2 -2
  152. package/dist/material/entity/inca/Caiman.js +9 -12
  153. package/dist/material/entity/inca/Condor.d.ts +2 -2
  154. package/dist/material/entity/inca/Condor.js +9 -12
  155. package/dist/material/entity/inca/Illapa.d.ts +2 -2
  156. package/dist/material/entity/inca/Illapa.js +9 -12
  157. package/dist/material/entity/inca/Inti.d.ts +2 -2
  158. package/dist/material/entity/inca/Inti.js +16 -39
  159. package/dist/material/entity/inca/MamaQucha.d.ts +2 -2
  160. package/dist/material/entity/inca/MamaQucha.js +20 -43
  161. package/dist/material/entity/inca/Puma.d.ts +2 -2
  162. package/dist/material/entity/inca/Puma.js +14 -40
  163. package/dist/material/entity/inca/Supay.d.ts +2 -2
  164. package/dist/material/entity/inca/Supay.js +9 -12
  165. package/dist/material/entity/inca/Ukuku.d.ts +2 -2
  166. package/dist/material/entity/inca/Ukuku.js +14 -18
  167. package/dist/material/entity/inca/Viracocha.d.ts +2 -2
  168. package/dist/material/entity/inca/Viracocha.js +9 -12
  169. package/dist/material/entity/norse/Alf.d.ts +2 -2
  170. package/dist/material/entity/norse/Alf.js +9 -12
  171. package/dist/material/entity/norse/Draugr.d.ts +2 -2
  172. package/dist/material/entity/norse/Draugr.js +9 -12
  173. package/dist/material/entity/norse/Fenrir.d.ts +2 -2
  174. package/dist/material/entity/norse/Fenrir.js +9 -12
  175. package/dist/material/entity/norse/Freya.d.ts +2 -2
  176. package/dist/material/entity/norse/Freya.js +17 -40
  177. package/dist/material/entity/norse/Jotunn.d.ts +2 -2
  178. package/dist/material/entity/norse/Jotunn.js +15 -38
  179. package/dist/material/entity/norse/Loki.d.ts +2 -2
  180. package/dist/material/entity/norse/Loki.js +14 -37
  181. package/dist/material/entity/norse/Odin.d.ts +2 -2
  182. package/dist/material/entity/norse/Odin.js +3 -6
  183. package/dist/material/entity/norse/Thor.d.ts +2 -2
  184. package/dist/material/entity/norse/Thor.js +9 -12
  185. package/dist/material/entity/norse/Troll.d.ts +2 -2
  186. package/dist/material/entity/norse/Troll.js +6 -9
  187. package/dist/material/entity/norse/Valkyrie.d.ts +2 -2
  188. package/dist/material/entity/norse/Valkyrie.js +27 -73
  189. package/dist/material/entity/zulu/Idlozi.d.ts +2 -2
  190. package/dist/material/entity/zulu/Idlozi.js +9 -12
  191. package/dist/material/entity/zulu/Impundulu.d.ts +2 -2
  192. package/dist/material/entity/zulu/Impundulu.js +9 -12
  193. package/dist/material/entity/zulu/Inkanyamba.d.ts +2 -2
  194. package/dist/material/entity/zulu/Inkanyamba.js +16 -42
  195. package/dist/material/entity/zulu/Inkosazana.d.ts +2 -2
  196. package/dist/material/entity/zulu/Inkosazana.js +9 -12
  197. package/dist/material/entity/zulu/Shembe.d.ts +2 -2
  198. package/dist/material/entity/zulu/Shembe.js +19 -44
  199. package/dist/material/entity/zulu/Tokoloshe.d.ts +2 -2
  200. package/dist/material/entity/zulu/Tokoloshe.js +24 -47
  201. package/dist/material/entity/zulu/Umvelinqangi.d.ts +2 -2
  202. package/dist/material/entity/zulu/Umvelinqangi.js +22 -45
  203. package/dist/material/entity/zulu/Unkulunkulu.d.ts +2 -2
  204. package/dist/material/entity/zulu/Unkulunkulu.js +20 -43
  205. package/dist/material/entity/zulu/Unwabu.d.ts +2 -2
  206. package/dist/material/entity/zulu/Unwabu.js +25 -49
  207. package/dist/material/entity/zulu/Werehyena.d.ts +2 -2
  208. package/dist/material/entity/zulu/Werehyena.js +9 -12
  209. package/dist/rules/ChooseDraftTokenRule.d.ts +15 -15
  210. package/dist/rules/ChooseDraftTokenRule.js +54 -103
  211. package/dist/rules/DrawDestinyCardRule.d.ts +7 -7
  212. package/dist/rules/DrawDestinyCardRule.js +44 -115
  213. package/dist/rules/EndGameRule.d.ts +5 -5
  214. package/dist/rules/EndGameRule.js +34 -105
  215. package/dist/rules/PlaceCardsRule.d.ts +14 -14
  216. package/dist/rules/PlaceCardsRule.js +107 -206
  217. package/dist/rules/PlaceTokenRule.d.ts +12 -12
  218. package/dist/rules/PlaceTokenRule.js +75 -151
  219. package/dist/rules/RuleId.d.ts +65 -65
  220. package/dist/rules/RuleId.js +66 -69
  221. package/dist/rules/UpkeepRule.d.ts +9 -9
  222. package/dist/rules/UpkeepRule.js +56 -154
  223. package/dist/rules/effects/AlfEffectRule.d.ts +10 -10
  224. package/dist/rules/effects/AlfEffectRule.js +33 -59
  225. package/dist/rules/effects/AmmitEffectRule.d.ts +6 -6
  226. package/dist/rules/effects/AmmitEffectRule.js +15 -40
  227. package/dist/rules/effects/AnubisEffectRule.d.ts +9 -9
  228. package/dist/rules/effects/AnubisEffectRule.js +24 -49
  229. package/dist/rules/effects/AthenaEffectRule.d.ts +10 -10
  230. package/dist/rules/effects/AthenaEffectRule.js +48 -150
  231. package/dist/rules/effects/BennuEffectRule.d.ts +6 -6
  232. package/dist/rules/effects/BennuEffectRule.js +10 -35
  233. package/dist/rules/effects/CaimanEffectRule.d.ts +7 -7
  234. package/dist/rules/effects/CaimanEffectRule.js +23 -72
  235. package/dist/rules/effects/CentaurEffectRule.d.ts +15 -15
  236. package/dist/rules/effects/CentaurEffectRule.js +36 -95
  237. package/dist/rules/effects/ChimeraEffectRule.d.ts +8 -9
  238. package/dist/rules/effects/ChimeraEffectRule.js +15 -44
  239. package/dist/rules/effects/CobraEffectRule.d.ts +13 -13
  240. package/dist/rules/effects/CobraEffectRule.js +30 -61
  241. package/dist/rules/effects/CondorEffectRule.d.ts +8 -8
  242. package/dist/rules/effects/CondorEffectRule.js +20 -45
  243. package/dist/rules/effects/CyclopsEffectRule.d.ts +11 -11
  244. package/dist/rules/effects/CyclopsEffectRule.js +50 -106
  245. package/dist/rules/effects/DraugrEffectRule.d.ts +11 -12
  246. package/dist/rules/effects/DraugrEffectRule.js +32 -63
  247. package/dist/rules/effects/DullahanEffectRule.d.ts +11 -11
  248. package/dist/rules/effects/DullahanEffectRule.js +48 -73
  249. package/dist/rules/effects/FairyEffectRule.d.ts +10 -10
  250. package/dist/rules/effects/FairyEffectRule.js +33 -55
  251. package/dist/rules/effects/FenghuangEffectRule.d.ts +8 -8
  252. package/dist/rules/effects/FenghuangEffectRule.js +18 -48
  253. package/dist/rules/effects/FenrirEffectRule.d.ts +16 -16
  254. package/dist/rules/effects/FenrirEffectRule.js +85 -139
  255. package/dist/rules/effects/GarudaEffectRule.d.ts +16 -16
  256. package/dist/rules/effects/GarudaEffectRule.js +55 -113
  257. package/dist/rules/effects/GorgonEffectRule.d.ts +7 -7
  258. package/dist/rules/effects/GorgonEffectRule.js +15 -40
  259. package/dist/rules/effects/GriffinEffectRule.d.ts +9 -9
  260. package/dist/rules/effects/GriffinEffectRule.js +16 -41
  261. package/dist/rules/effects/HadesEffectRule.d.ts +9 -9
  262. package/dist/rules/effects/HadesEffectRule.js +14 -39
  263. package/dist/rules/effects/IdloziEffectRule.d.ts +9 -9
  264. package/dist/rules/effects/IdloziEffectRule.js +21 -46
  265. package/dist/rules/effects/IllapaEffectRule.d.ts +16 -16
  266. package/dist/rules/effects/IllapaEffectRule.js +43 -76
  267. package/dist/rules/effects/ImpunduluEffectRule.d.ts +10 -11
  268. package/dist/rules/effects/ImpunduluEffectRule.js +39 -81
  269. package/dist/rules/effects/InkosazanaEffectRule.d.ts +7 -7
  270. package/dist/rules/effects/InkosazanaEffectRule.js +21 -46
  271. package/dist/rules/effects/JiangshiEffectRule.d.ts +8 -8
  272. package/dist/rules/effects/JiangshiEffectRule.js +25 -51
  273. package/dist/rules/effects/KinnaraEffectRule.d.ts +13 -13
  274. package/dist/rules/effects/KinnaraEffectRule.js +42 -95
  275. package/dist/rules/effects/LeprechaunEffectRule.d.ts +9 -9
  276. package/dist/rules/effects/LeprechaunEffectRule.js +23 -49
  277. package/dist/rules/effects/MinotaurEffectRule.d.ts +11 -11
  278. package/dist/rules/effects/MinotaurEffectRule.js +23 -49
  279. package/dist/rules/effects/MultipleSimultaneousMoveEffectRule.d.ts +14 -13
  280. package/dist/rules/effects/MultipleSimultaneousMoveEffectRule.js +71 -125
  281. package/dist/rules/effects/NuwaEffectRule.d.ts +14 -14
  282. package/dist/rules/effects/NuwaEffectRule.js +57 -106
  283. package/dist/rules/effects/OdinEffectRule.d.ts +11 -11
  284. package/dist/rules/effects/OdinEffectRule.js +27 -52
  285. package/dist/rules/effects/PermanentEffectsRule.d.ts +7 -7
  286. package/dist/rules/effects/PermanentEffectsRule.js +21 -54
  287. package/dist/rules/effects/QilinEffectRule.d.ts +8 -8
  288. package/dist/rules/effects/QilinEffectRule.js +40 -115
  289. package/dist/rules/effects/RaEffectRule.d.ts +9 -9
  290. package/dist/rules/effects/RaEffectRule.js +14 -39
  291. package/dist/rules/effects/RakshasaEffectRule.d.ts +13 -13
  292. package/dist/rules/effects/RakshasaEffectRule.js +23 -48
  293. package/dist/rules/effects/ResolveEffectsRule.d.ts +12 -12
  294. package/dist/rules/effects/ResolveEffectsRule.js +87 -141
  295. package/dist/rules/effects/SelkieEffectRule.d.ts +8 -8
  296. package/dist/rules/effects/SelkieEffectRule.js +19 -44
  297. package/dist/rules/effects/ShivaEffectRule.d.ts +10 -10
  298. package/dist/rules/effects/ShivaEffectRule.js +35 -61
  299. package/dist/rules/effects/SphinxEffectRule.d.ts +10 -10
  300. package/dist/rules/effects/SphinxEffectRule.js +33 -58
  301. package/dist/rules/effects/SupayEffectRule.d.ts +20 -20
  302. package/dist/rules/effects/SupayEffectRule.js +44 -81
  303. package/dist/rules/effects/ThorEffectRule.d.ts +11 -11
  304. package/dist/rules/effects/ThorEffectRule.js +32 -58
  305. package/dist/rules/effects/TianlongEffectRule.d.ts +17 -17
  306. package/dist/rules/effects/TianlongEffectRule.js +47 -105
  307. package/dist/rules/effects/TriggerEffectsRule.d.ts +11 -11
  308. package/dist/rules/effects/TriggerEffectsRule.js +65 -183
  309. package/dist/rules/effects/UkukuEffectRule.d.ts +14 -14
  310. package/dist/rules/effects/UkukuEffectRule.js +35 -66
  311. package/dist/rules/effects/VetalaEffectRule.d.ts +12 -12
  312. package/dist/rules/effects/VetalaEffectRule.js +37 -62
  313. package/dist/rules/effects/ViracochaEffectRule.d.ts +7 -7
  314. package/dist/rules/effects/ViracochaEffectRule.js +15 -40
  315. package/dist/rules/effects/WerehyenaEffectRule.d.ts +8 -8
  316. package/dist/rules/effects/WerehyenaEffectRule.js +37 -98
  317. package/dist/rules/effects/YanluoWangEffectRule.d.ts +9 -9
  318. package/dist/rules/effects/YanluoWangEffectRule.js +46 -104
  319. package/package.json +7 -8
@@ -1,76 +1,43 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.IllapaSacrificeRule = exports.IllapaEffectRule = void 0;
19
- var rules_api_1 = require("@gamepark/rules-api");
20
- var lodash_1 = require("lodash");
21
- var CustomMoveType_1 = require("../../CustomMoveType");
22
- var Entity_1 = require("../../material/Entity");
23
- var PlayerEffectRule_1 = require("../../material/entity/PlayerEffectRule");
24
- var SimultaneousSacrificeEffectRule_1 = require("../../material/entity/SimultaneousSacrificeEffectRule");
25
- var Memory_1 = require("../../Memory");
26
- var RuleId_1 = require("../RuleId");
27
- var IllapaEffectRule = (function (_super) {
28
- __extends(IllapaEffectRule, _super);
29
- function IllapaEffectRule() {
30
- var _this = _super !== null && _super.apply(this, arguments) || this;
31
- _this.ruleId = RuleId_1.RuleId.IllapaEffect;
32
- return _this;
33
- }
34
- IllapaEffectRule.prototype.getPlayerMoves = function () {
35
- var _this = this;
36
- return (0, lodash_1.range)(0, 3).map(function (line) { return _this.customMove(CustomMoveType_1.CustomMoveType.ChoosePlan, line); });
37
- };
38
- IllapaEffectRule.prototype.onCustomMove = function (move) {
39
- if (move.type === CustomMoveType_1.CustomMoveType.ChoosePlan) {
40
- this.memorize(Memory_1.Memory.TargetPlane, move.data);
41
- var moves = new IllapaSacrificeRule(this.game).playEffect();
42
- if (!moves.some(rules_api_1.isStartSimultaneousRule)) {
43
- this.forget(Memory_1.Memory.TargetPlane);
44
- moves.push(this.customMove(CustomMoveType_1.CustomMoveType.EndEffect));
45
- }
46
- return moves;
47
- }
48
- return _super.prototype.onCustomMove.call(this, move);
49
- };
50
- return IllapaEffectRule;
51
- }(PlayerEffectRule_1.PlayerEffectRule));
52
- exports.IllapaEffectRule = IllapaEffectRule;
53
- var IllapaSacrificeRule = (function (_super) {
54
- __extends(IllapaSacrificeRule, _super);
55
- function IllapaSacrificeRule() {
56
- var _this = _super !== null && _super.apply(this, arguments) || this;
57
- _this.ruleId = RuleId_1.RuleId.IllapaSacrifice;
58
- return _this;
59
- }
60
- IllapaSacrificeRule.prototype.getAffectedPlayers = function () {
61
- var _this = this;
62
- return this.game.players.filter(function (player) { return _this.isOpponent(player); });
63
- };
64
- IllapaSacrificeRule.prototype.getCardsToSacrifice = function (player) {
65
- var line = this.remind(Memory_1.Memory.TargetPlane);
66
- return _super.prototype.getCardsToSacrifice.call(this, player)
67
- .id(function (id) { return (0, Entity_1.isCreature)(id.front); })
68
- .location(function (l) { return l.y === line; });
69
- };
70
- IllapaSacrificeRule.prototype.onRuleEnd = function () {
71
- this.forget(Memory_1.Memory.TargetPlane);
72
- return [];
73
- };
74
- return IllapaSacrificeRule;
75
- }(SimultaneousSacrificeEffectRule_1.SimultaneousSacrificeEffectRule));
76
- exports.IllapaSacrificeRule = IllapaSacrificeRule;
1
+ import { isStartSimultaneousRule } from '@gamepark/rules-api';
2
+ import { range } from 'es-toolkit';
3
+ import { CustomMoveType } from '../../CustomMoveType';
4
+ import { isCreature } from '../../material/Entity';
5
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
6
+ import { SimultaneousSacrificeEffectRule } from '../../material/entity/SimultaneousSacrificeEffectRule';
7
+ import { Memory } from '../../Memory';
8
+ import { RuleId } from '../RuleId';
9
+ export class IllapaEffectRule extends PlayerEffectRule {
10
+ ruleId = RuleId.IllapaEffect;
11
+ getPlayerMoves() {
12
+ return range(0, 3).map((line) => this.customMove(CustomMoveType.ChoosePlan, line));
13
+ }
14
+ onCustomMove(move) {
15
+ if (move.type === CustomMoveType.ChoosePlan) {
16
+ this.memorize(Memory.TargetPlane, move.data);
17
+ const moves = new IllapaSacrificeRule(this.game).playEffect();
18
+ if (!moves.some(isStartSimultaneousRule)) {
19
+ this.forget(Memory.TargetPlane);
20
+ moves.push(this.customMove(CustomMoveType.EndEffect));
21
+ }
22
+ return moves;
23
+ }
24
+ return super.onCustomMove(move);
25
+ }
26
+ }
27
+ export class IllapaSacrificeRule extends SimultaneousSacrificeEffectRule {
28
+ ruleId = RuleId.IllapaSacrifice;
29
+ getAffectedPlayers() {
30
+ return this.game.players.filter((player) => this.isOpponent(player));
31
+ }
32
+ getCardsToSacrifice(player) {
33
+ const line = this.remind(Memory.TargetPlane);
34
+ return super
35
+ .getCardsToSacrifice(player)
36
+ .id((id) => isCreature(id.front))
37
+ .location((l) => l.y === line);
38
+ }
39
+ onRuleEnd() {
40
+ this.forget(Memory.TargetPlane);
41
+ return [];
42
+ }
43
+ }
@@ -1,11 +1,10 @@
1
- import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
- import { RuleId } from '../RuleId';
3
- export declare class ImpunduluEffectRule extends InvokeEffectRule {
4
- ruleId: RuleId;
5
- playEffect(): import("@gamepark/rules-api").StartRule<RuleId>[];
6
- onRuleStart(): import("@gamepark/rules-api").MoveItem<number, number, number>[];
7
- getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
8
- get availableSanctuaryCards(): import("@gamepark/rules-api").Material<number, number, number>;
9
- get topCreaturesDeckCard(): import("@gamepark/rules-api").Material<number, number, number>;
10
- get mythology(): import("../../material/Mythology").Mythology;
11
- }
1
+ import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
+ import { RuleId } from '../RuleId';
3
+ export declare class ImpunduluEffectRule extends InvokeEffectRule {
4
+ ruleId: RuleId;
5
+ onRuleStart(): import("@gamepark/rules-api").MoveItem<number, number, number>[];
6
+ getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
7
+ get availableSanctuaryCards(): import("@gamepark/rules-api").Material<number, number, number>;
8
+ get topCreaturesDeckCard(): import("@gamepark/rules-api").Material<number, number, number>;
9
+ get mythology(): import("../../material/Mythology").Mythology;
10
+ }
@@ -1,81 +1,39 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.ImpunduluEffectRule = void 0;
19
- var Destiny_1 = require("../../material/Destiny");
20
- var Entity_1 = require("../../material/Entity");
21
- var PlaceCardEffectRule_1 = require("../../material/entity/PlaceCardEffectRule");
22
- var LocationType_1 = require("../../material/LocationType");
23
- var MaterialType_1 = require("../../material/MaterialType");
24
- var Pantheon_1 = require("../../material/Pantheon");
25
- var RuleId_1 = require("../RuleId");
26
- var ImpunduluEffectRule = (function (_super) {
27
- __extends(ImpunduluEffectRule, _super);
28
- function ImpunduluEffectRule() {
29
- var _this = _super !== null && _super.apply(this, arguments) || this;
30
- _this.ruleId = RuleId_1.RuleId.ImpunduluEffect;
31
- return _this;
32
- }
33
- ImpunduluEffectRule.prototype.playEffect = function () {
34
- var player = this.card.location.player;
35
- return new Pantheon_1.Pantheon(this.game, player).hasCrushed(this.card) ? [this.startRule(this.ruleId)] : [];
36
- };
37
- ImpunduluEffectRule.prototype.onRuleStart = function () {
38
- if (this.availableSanctuaryCards.length === 0) {
39
- return [this.topCreaturesDeckCard.rotateItem(true)];
40
- }
41
- return [];
42
- };
43
- ImpunduluEffectRule.prototype.getCardsToPlace = function () {
44
- var availableSanctuaryCards = this.availableSanctuaryCards;
45
- if (availableSanctuaryCards.length) {
46
- return availableSanctuaryCards;
47
- }
48
- else {
49
- return this.topCreaturesDeckCard;
50
- }
51
- };
52
- Object.defineProperty(ImpunduluEffectRule.prototype, "availableSanctuaryCards", {
53
- get: function () {
54
- var _this = this;
55
- var board = this.material(MaterialType_1.MaterialType.MythologyBoard).id(function (id) { return id.mythology === _this.mythology; });
56
- return new Destiny_1.Destiny(this.game).cardsWithoutToken.location(LocationType_1.LocationType.SanctuaryCreatureSpot).parent(board.getIndex());
57
- },
58
- enumerable: false,
59
- configurable: true
60
- });
61
- Object.defineProperty(ImpunduluEffectRule.prototype, "topCreaturesDeckCard", {
62
- get: function () {
63
- var deck = this.material(MaterialType_1.MaterialType.EntityCard).location(LocationType_1.LocationType.CreaturesDeck).locationId(this.mythology);
64
- return deck.maxBy(function (item) { return item.location.x; });
65
- },
66
- enumerable: false,
67
- configurable: true
68
- });
69
- Object.defineProperty(ImpunduluEffectRule.prototype, "mythology", {
70
- get: function () {
71
- var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
72
- var _a = this.card.location, x = _a.x, y = _a.y;
73
- var crushed = pantheon.coveredEntities.location(function (l) { return l.x === x && l.y === y; }).maxBy(function (item) { return item.location.z; });
74
- return (0, Entity_1.entityMythology)(crushed.getItem().id.front);
75
- },
76
- enumerable: false,
77
- configurable: true
78
- });
79
- return ImpunduluEffectRule;
80
- }(PlaceCardEffectRule_1.InvokeEffectRule));
81
- exports.ImpunduluEffectRule = ImpunduluEffectRule;
1
+ import { Destiny } from '../../material/Destiny';
2
+ import { entityMythology } from '../../material/Entity';
3
+ import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
4
+ import { LocationType } from '../../material/LocationType';
5
+ import { MaterialType } from '../../material/MaterialType';
6
+ import { Pantheon } from '../../material/Pantheon';
7
+ import { RuleId } from '../RuleId';
8
+ export class ImpunduluEffectRule extends InvokeEffectRule {
9
+ ruleId = RuleId.ImpunduluEffect;
10
+ onRuleStart() {
11
+ if (this.availableSanctuaryCards.length === 0) {
12
+ return [this.topCreaturesDeckCard.rotateItem(true)];
13
+ }
14
+ return [];
15
+ }
16
+ getCardsToPlace() {
17
+ const availableSanctuaryCards = this.availableSanctuaryCards;
18
+ if (availableSanctuaryCards.length) {
19
+ return availableSanctuaryCards;
20
+ }
21
+ else {
22
+ return this.topCreaturesDeckCard;
23
+ }
24
+ }
25
+ get availableSanctuaryCards() {
26
+ const board = this.material(MaterialType.MythologyBoard).id((id) => id.mythology === this.mythology);
27
+ return new Destiny(this.game).cardsWithoutToken.location(LocationType.SanctuaryCreatureSpot).parent(board.getIndex());
28
+ }
29
+ get topCreaturesDeckCard() {
30
+ const deck = this.material(MaterialType.EntityCard).location(LocationType.CreaturesDeck).locationId(this.mythology);
31
+ return deck.maxBy((item) => item.location.x);
32
+ }
33
+ get mythology() {
34
+ const pantheon = new Pantheon(this.game, this.player);
35
+ const { x, y } = this.card.location;
36
+ const crushed = pantheon.coveredEntities.location((l) => l.x === x && l.y === y).maxBy((item) => item.location.z);
37
+ return entityMythology(crushed.getItem().id.front);
38
+ }
39
+ }
@@ -1,7 +1,7 @@
1
- import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
- import { RuleId } from '../RuleId';
3
- export declare class InkosazanaEffectRule extends InvokeEffectRule {
4
- ruleId: RuleId;
5
- onRuleStart(): import("@gamepark/rules-api").MaterialMove<number, number, number, number>[];
6
- getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
7
- }
1
+ import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
+ import { RuleId } from '../RuleId';
3
+ export declare class InkosazanaEffectRule extends InvokeEffectRule {
4
+ ruleId: RuleId;
5
+ onRuleStart(): import("@gamepark/rules-api").MaterialMove[];
6
+ getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
7
+ }
@@ -1,46 +1,21 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.InkosazanaEffectRule = void 0;
19
- var PlaceCardEffectRule_1 = require("../../material/entity/PlaceCardEffectRule");
20
- var LocationType_1 = require("../../material/LocationType");
21
- var MaterialType_1 = require("../../material/MaterialType");
22
- var Memory_1 = require("../../Memory");
23
- var RuleId_1 = require("../RuleId");
24
- var InkosazanaEffectRule = (function (_super) {
25
- __extends(InkosazanaEffectRule, _super);
26
- function InkosazanaEffectRule() {
27
- var _this = _super !== null && _super.apply(this, arguments) || this;
28
- _this.ruleId = RuleId_1.RuleId.InkosazanaEffect;
29
- return _this;
30
- }
31
- InkosazanaEffectRule.prototype.onRuleStart = function () {
32
- if (!this.remind(Memory_1.Memory.EffectCount)) {
33
- this.remind(Memory_1.Memory.PendingEffects).unshift([this.getEffect()]);
34
- this.memorize(Memory_1.Memory.EffectCount, true);
35
- }
36
- else {
37
- this.forget(Memory_1.Memory.EffectCount);
38
- }
39
- return _super.prototype.onRuleStart.call(this);
40
- };
41
- InkosazanaEffectRule.prototype.getCardsToPlace = function () {
42
- return this.material(MaterialType_1.MaterialType.EntityCard).location(LocationType_1.LocationType.PlayerDiscard).player(this.player);
43
- };
44
- return InkosazanaEffectRule;
45
- }(PlaceCardEffectRule_1.InvokeEffectRule));
46
- exports.InkosazanaEffectRule = InkosazanaEffectRule;
1
+ import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
+ import { LocationType } from '../../material/LocationType';
3
+ import { MaterialType } from '../../material/MaterialType';
4
+ import { Memory } from '../../Memory';
5
+ import { RuleId } from '../RuleId';
6
+ export class InkosazanaEffectRule extends InvokeEffectRule {
7
+ ruleId = RuleId.InkosazanaEffect;
8
+ onRuleStart() {
9
+ if (!this.remind(Memory.EffectCount)) {
10
+ this.remind(Memory.PendingEffects).unshift([this.getEffect()]);
11
+ this.memorize(Memory.EffectCount, true);
12
+ }
13
+ else {
14
+ this.forget(Memory.EffectCount);
15
+ }
16
+ return super.onRuleStart();
17
+ }
18
+ getCardsToPlace() {
19
+ return this.material(MaterialType.EntityCard).location(LocationType.PlayerDiscard).player(this.player);
20
+ }
21
+ }
@@ -1,8 +1,8 @@
1
- import { ItemMove, MaterialMove } from '@gamepark/rules-api';
2
- import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
3
- import { RuleId } from '../RuleId';
4
- export declare class JiangshiEffectRule extends PlayerEffectRule {
5
- ruleId: RuleId;
6
- getPlayerMoves(): MaterialMove[];
7
- beforeItemMove(move: ItemMove): (import("@gamepark/rules-api").CustomMove<number> | import("@gamepark/rules-api").CreateItem<number, number, number>)[];
8
- }
1
+ import { ItemMove, MaterialMove } from '@gamepark/rules-api';
2
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
3
+ import { RuleId } from '../RuleId';
4
+ export declare class JiangshiEffectRule extends PlayerEffectRule {
5
+ ruleId: RuleId;
6
+ getPlayerMoves(): MaterialMove[];
7
+ beforeItemMove(move: ItemMove): (import("@gamepark/rules-api").CustomMove | import("@gamepark/rules-api").CreateItem<number, number, number>)[];
8
+ }
@@ -1,51 +1,25 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.JiangshiEffectRule = void 0;
19
- var rules_api_1 = require("@gamepark/rules-api");
20
- var CustomMoveType_1 = require("../../CustomMoveType");
21
- var PlayerEffectRule_1 = require("../../material/entity/PlayerEffectRule");
22
- var LocationType_1 = require("../../material/LocationType");
23
- var MaterialType_1 = require("../../material/MaterialType");
24
- var Pantheon_1 = require("../../material/Pantheon");
25
- var RuleId_1 = require("../RuleId");
26
- var PermanentEffectsRule_1 = require("./PermanentEffectsRule");
27
- var JiangshiEffectRule = (function (_super) {
28
- __extends(JiangshiEffectRule, _super);
29
- function JiangshiEffectRule() {
30
- var _this = _super !== null && _super.apply(this, arguments) || this;
31
- _this.ruleId = RuleId_1.RuleId.JiangshiEffect;
32
- return _this;
33
- }
34
- JiangshiEffectRule.prototype.getPlayerMoves = function () {
35
- var _this = this;
36
- var location = this.card.location;
37
- var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
38
- var rule = new PermanentEffectsRule_1.PermanentEffectsRule(this.game);
39
- var piles = pantheon.getPiles(function (space) { return space.y === location.y; }).filter(function (pile) { return rule.canSacrifice(pile.maxBy(function (item) { return item.location.z; }).getItem()); });
40
- return piles.map(function (pile) { return pile.moveItemsAtOnce({ type: LocationType_1.LocationType.PlayerDiscard, player: _this.player }); });
41
- };
42
- JiangshiEffectRule.prototype.beforeItemMove = function (move) {
43
- if ((0, rules_api_1.isMoveItemTypeAtOnce)(MaterialType_1.MaterialType.EntityCard)(move) && move.location.type === LocationType_1.LocationType.PlayerDiscard) {
44
- var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
45
- return [pantheon.gainGems(2), this.customMove(CustomMoveType_1.CustomMoveType.EndEffect)];
46
- }
47
- return [];
48
- };
49
- return JiangshiEffectRule;
50
- }(PlayerEffectRule_1.PlayerEffectRule));
51
- exports.JiangshiEffectRule = JiangshiEffectRule;
1
+ import { isMoveItemTypeAtOnce } from '@gamepark/rules-api';
2
+ import { CustomMoveType } from '../../CustomMoveType';
3
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
4
+ import { LocationType } from '../../material/LocationType';
5
+ import { MaterialType } from '../../material/MaterialType';
6
+ import { Pantheon } from '../../material/Pantheon';
7
+ import { RuleId } from '../RuleId';
8
+ import { PermanentEffectsRule } from './PermanentEffectsRule';
9
+ export class JiangshiEffectRule extends PlayerEffectRule {
10
+ ruleId = RuleId.JiangshiEffect;
11
+ getPlayerMoves() {
12
+ const location = this.card.location;
13
+ const pantheon = new Pantheon(this.game, this.player);
14
+ const rule = new PermanentEffectsRule(this.game);
15
+ const piles = pantheon.getPiles((space) => space.y === location.y).filter((pile) => rule.canSacrifice(pile.maxBy((item) => item.location.z).getItem()));
16
+ return piles.map((pile) => pile.moveItemsAtOnce({ type: LocationType.PlayerDiscard, player: this.player }));
17
+ }
18
+ beforeItemMove(move) {
19
+ if (isMoveItemTypeAtOnce(MaterialType.EntityCard)(move) && move.location.type === LocationType.PlayerDiscard) {
20
+ const pantheon = new Pantheon(this.game, this.player);
21
+ return [pantheon.gainGems(2), this.customMove(CustomMoveType.EndEffect)];
22
+ }
23
+ return [];
24
+ }
25
+ }
@@ -1,13 +1,13 @@
1
- import { ItemMove, MaterialMove } from '@gamepark/rules-api';
2
- import { PlaceCardEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
- import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
4
- import { RuleId } from '../RuleId';
5
- export declare class KinnaraEffectRule extends PlayerEffectRule {
6
- ruleId: RuleId;
7
- getPlayerMoves(): MaterialMove<number, number, number, number>[];
8
- afterItemMove(move: ItemMove): import("@gamepark/rules-api").StartRule<RuleId.KinnaraPlaceEffect>[];
9
- }
10
- export declare class KinnaraPlaceEffectRule extends PlaceCardEffectRule {
11
- getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
12
- onRuleEnd(): never[];
13
- }
1
+ import { ItemMove, MaterialMove } from '@gamepark/rules-api';
2
+ import { PlaceCardEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
4
+ import { RuleId } from '../RuleId';
5
+ export declare class KinnaraEffectRule extends PlayerEffectRule {
6
+ ruleId: RuleId;
7
+ getPlayerMoves(): MaterialMove[];
8
+ afterItemMove(move: ItemMove): import("@gamepark/rules-api").StartRule<RuleId.KinnaraPlaceEffect>[];
9
+ }
10
+ export declare class KinnaraPlaceEffectRule extends PlaceCardEffectRule {
11
+ getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
12
+ onRuleEnd(): never[];
13
+ }
@@ -1,95 +1,42 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __values = (this && this.__values) || function(o) {
18
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
19
- if (m) return m.call(o);
20
- if (o && typeof o.length === "number") return {
21
- next: function () {
22
- if (o && i >= o.length) o = void 0;
23
- return { value: o && o[i++], done: !o };
24
- }
25
- };
26
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.KinnaraPlaceEffectRule = exports.KinnaraEffectRule = void 0;
30
- var rules_api_1 = require("@gamepark/rules-api");
31
- var PlaceCardEffectRule_1 = require("../../material/entity/PlaceCardEffectRule");
32
- var PlayerEffectRule_1 = require("../../material/entity/PlayerEffectRule");
33
- var LocationType_1 = require("../../material/LocationType");
34
- var MaterialType_1 = require("../../material/MaterialType");
35
- var Pantheon_1 = require("../../material/Pantheon");
36
- var Memory_1 = require("../../Memory");
37
- var RuleId_1 = require("../RuleId");
38
- var KinnaraEffectRule = (function (_super) {
39
- __extends(KinnaraEffectRule, _super);
40
- function KinnaraEffectRule() {
41
- var _this = _super !== null && _super.apply(this, arguments) || this;
42
- _this.ruleId = RuleId_1.RuleId.KinnaraEffect;
43
- return _this;
44
- }
45
- KinnaraEffectRule.prototype.getPlayerMoves = function () {
46
- var e_1, _a;
47
- var moves = [];
48
- var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
49
- var mythologies = pantheon.missingMythologies;
50
- var creaturesDecks = this.material(MaterialType_1.MaterialType.EntityCard).location(LocationType_1.LocationType.CreaturesDeck);
51
- var godsDecks = this.material(MaterialType_1.MaterialType.EntityCard).location(LocationType_1.LocationType.GodsDeck);
52
- var gems = pantheon.gems;
53
- try {
54
- for (var mythologies_1 = __values(mythologies), mythologies_1_1 = mythologies_1.next(); !mythologies_1_1.done; mythologies_1_1 = mythologies_1.next()) {
55
- var mythology = mythologies_1_1.value;
56
- moves.push(creaturesDecks.locationId(mythology).deck().moveItem({ type: LocationType_1.LocationType.PlayerSelectedCards, player: this.player }));
57
- if (gems >= 4) {
58
- moves.push(godsDecks.locationId(mythology).deck().moveItem({ type: LocationType_1.LocationType.PlayerSelectedCards, player: this.player }));
59
- }
60
- }
61
- }
62
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
63
- finally {
64
- try {
65
- if (mythologies_1_1 && !mythologies_1_1.done && (_a = mythologies_1.return)) _a.call(mythologies_1);
66
- }
67
- finally { if (e_1) throw e_1.error; }
68
- }
69
- return moves;
70
- };
71
- KinnaraEffectRule.prototype.afterItemMove = function (move) {
72
- if ((0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.EntityCard)(move) && move.location.type === LocationType_1.LocationType.PlayerSelectedCards) {
73
- this.memorize(Memory_1.Memory.TargetEntities, move.itemIndex);
74
- return [this.startRule(RuleId_1.RuleId.KinnaraPlaceEffect)];
75
- }
76
- return [];
77
- };
78
- return KinnaraEffectRule;
79
- }(PlayerEffectRule_1.PlayerEffectRule));
80
- exports.KinnaraEffectRule = KinnaraEffectRule;
81
- var KinnaraPlaceEffectRule = (function (_super) {
82
- __extends(KinnaraPlaceEffectRule, _super);
83
- function KinnaraPlaceEffectRule() {
84
- return _super !== null && _super.apply(this, arguments) || this;
85
- }
86
- KinnaraPlaceEffectRule.prototype.getCardsToPlace = function () {
87
- return this.material(MaterialType_1.MaterialType.EntityCard).index(this.remind(Memory_1.Memory.TargetEntities));
88
- };
89
- KinnaraPlaceEffectRule.prototype.onRuleEnd = function () {
90
- this.forget(Memory_1.Memory.TargetEntities);
91
- return [];
92
- };
93
- return KinnaraPlaceEffectRule;
94
- }(PlaceCardEffectRule_1.PlaceCardEffectRule));
95
- exports.KinnaraPlaceEffectRule = KinnaraPlaceEffectRule;
1
+ import { isMoveItemType } from '@gamepark/rules-api';
2
+ import { PlaceCardEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
4
+ import { LocationType } from '../../material/LocationType';
5
+ import { MaterialType } from '../../material/MaterialType';
6
+ import { Pantheon } from '../../material/Pantheon';
7
+ import { Memory } from '../../Memory';
8
+ import { RuleId } from '../RuleId';
9
+ export class KinnaraEffectRule extends PlayerEffectRule {
10
+ ruleId = RuleId.KinnaraEffect;
11
+ getPlayerMoves() {
12
+ const moves = [];
13
+ const pantheon = new Pantheon(this.game, this.player);
14
+ const mythologies = pantheon.missingMythologies;
15
+ const creaturesDecks = this.material(MaterialType.EntityCard).location(LocationType.CreaturesDeck);
16
+ const godsDecks = this.material(MaterialType.EntityCard).location(LocationType.GodsDeck);
17
+ const gems = pantheon.gems;
18
+ for (const mythology of mythologies) {
19
+ moves.push(creaturesDecks.locationId(mythology).deck().moveItem({ type: LocationType.PlayerSelectedCards, player: this.player }));
20
+ if (gems >= 4) {
21
+ moves.push(godsDecks.locationId(mythology).deck().moveItem({ type: LocationType.PlayerSelectedCards, player: this.player }));
22
+ }
23
+ }
24
+ return moves;
25
+ }
26
+ afterItemMove(move) {
27
+ if (isMoveItemType(MaterialType.EntityCard)(move) && move.location.type === LocationType.PlayerSelectedCards) {
28
+ this.memorize(Memory.TargetEntities, move.itemIndex);
29
+ return [this.startRule(RuleId.KinnaraPlaceEffect)];
30
+ }
31
+ return [];
32
+ }
33
+ }
34
+ export class KinnaraPlaceEffectRule extends PlaceCardEffectRule {
35
+ getCardsToPlace() {
36
+ return this.material(MaterialType.EntityCard).index(this.remind(Memory.TargetEntities));
37
+ }
38
+ onRuleEnd() {
39
+ this.forget(Memory.TargetEntities);
40
+ return [];
41
+ }
42
+ }