@gamepark/mythologies 0.10.0 → 0.12.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 (321) 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 +160 -158
  8. package/dist/MythologiesRules.js +220 -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 -50
  26. package/dist/material/Pantheon.js +303 -484
  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 +130 -106
  32. package/dist/material/entity/Effect.js +32 -46
  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 +17 -15
  38. package/dist/material/entity/PlaceCardEffectRule.js +58 -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 +64 -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 +9 -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 +66 -65
  220. package/dist/rules/RuleId.js +67 -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 +14 -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 +33 -95
  237. package/dist/rules/effects/ChimeraEffectRule.d.ts +8 -8
  238. package/dist/rules/effects/ChimeraEffectRule.js +15 -40
  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 -11
  246. package/dist/rules/effects/DraugrEffectRule.js +32 -58
  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 -10
  268. package/dist/rules/effects/ImpunduluEffectRule.js +39 -77
  269. package/dist/rules/effects/InkosazanaEffectRule.d.ts +7 -7
  270. package/dist/rules/effects/InkosazanaEffectRule.js +11 -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 +15 -14
  280. package/dist/rules/effects/MultipleSimultaneousMoveEffectRule.js +96 -144
  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 +15 -12
  294. package/dist/rules/effects/ResolveEffectsRule.js +154 -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 +12 -11
  308. package/dist/rules/effects/TriggerEffectsRule.js +67 -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/VishnuEffectRule.d.ts +10 -0
  316. package/dist/rules/effects/VishnuEffectRule.js +44 -0
  317. package/dist/rules/effects/WerehyenaEffectRule.d.ts +8 -8
  318. package/dist/rules/effects/WerehyenaEffectRule.js +37 -98
  319. package/dist/rules/effects/YanluoWangEffectRule.d.ts +9 -9
  320. package/dist/rules/effects/YanluoWangEffectRule.js +46 -104
  321. package/package.json +7 -8
@@ -1,150 +1,48 @@
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
- var __read = (this && this.__read) || function (o, n) {
29
- var m = typeof Symbol === "function" && o[Symbol.iterator];
30
- if (!m) return o;
31
- var i = m.call(o), r, ar = [], e;
32
- try {
33
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
34
- }
35
- catch (error) { e = { error: error }; }
36
- finally {
37
- try {
38
- if (r && !r.done && (m = i["return"])) m.call(i);
39
- }
40
- finally { if (e) throw e.error; }
41
- }
42
- return ar;
43
- };
44
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
45
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
46
- if (ar || !(i in from)) {
47
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
48
- ar[i] = from[i];
49
- }
50
- }
51
- return to.concat(ar || Array.prototype.slice.call(from));
52
- };
53
- Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.AthenaEffectRule = void 0;
55
- var CustomMoveType_1 = require("../../CustomMoveType");
56
- var PlayerEffectRule_1 = require("../../material/entity/PlayerEffectRule");
57
- var LocationType_1 = require("../../material/LocationType");
58
- var Pantheon_1 = require("../../material/Pantheon");
59
- var Memory_1 = require("../../Memory");
60
- var RuleId_1 = require("../RuleId");
61
- var TriggerEffectsRule_1 = require("./TriggerEffectsRule");
62
- var AthenaEffectRule = (function (_super) {
63
- __extends(AthenaEffectRule, _super);
64
- function AthenaEffectRule() {
65
- var _this = _super !== null && _super.apply(this, arguments) || this;
66
- _this.ruleId = RuleId_1.RuleId.AthenaEffect;
67
- return _this;
68
- }
69
- AthenaEffectRule.prototype.onRuleStart = function () {
70
- var e_1, _a;
71
- var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
72
- var lockedLocations = [];
73
- try {
74
- for (var _b = __values(pantheon.visibleEntities.getItems()), _c = _b.next(); !_c.done; _c = _b.next()) {
75
- var card = _c.value;
76
- if (!pantheon.isAbleToMove(card)) {
77
- lockedLocations.push({ x: card.location.x, y: card.location.y });
78
- }
79
- }
80
- }
81
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
82
- finally {
83
- try {
84
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
85
- }
86
- finally { if (e_1) throw e_1.error; }
87
- }
88
- this.memorize(Memory_1.Memory.TargetLocations, lockedLocations);
89
- return _super.prototype.onRuleStart.call(this);
90
- };
91
- AthenaEffectRule.prototype.getPlayerMoves = function () {
92
- var e_2, _a;
93
- var moves = [];
94
- var legalSpaces = new Pantheon_1.Pantheon(this.game, this.player).legalSpaces;
95
- var piles = new Pantheon_1.Pantheon(this.game, this.player).getPiles();
96
- var lockedLocations = this.remind(Memory_1.Memory.TargetLocations);
97
- var _loop_1 = function (pile) {
98
- var e_3, _b;
99
- var location = pile.getItem().location;
100
- if (!lockedLocations.some(function (_a) {
101
- var x = _a.x, y = _a.y;
102
- return x === location.x && y === location.y;
103
- })) {
104
- try {
105
- for (var legalSpaces_1 = (e_3 = void 0, __values(legalSpaces)), legalSpaces_1_1 = legalSpaces_1.next(); !legalSpaces_1_1.done; legalSpaces_1_1 = legalSpaces_1.next()) {
106
- var _c = legalSpaces_1_1.value, x = _c.x, y = _c.y;
107
- if (x !== location.x || y !== location.y) {
108
- moves.push(pile.moveItemsAtOnce({ type: LocationType_1.LocationType.Pantheon, player: this_1.player, x: x, y: y }));
109
- }
110
- }
111
- }
112
- catch (e_3_1) { e_3 = { error: e_3_1 }; }
113
- finally {
114
- try {
115
- if (legalSpaces_1_1 && !legalSpaces_1_1.done && (_b = legalSpaces_1.return)) _b.call(legalSpaces_1);
116
- }
117
- finally { if (e_3) throw e_3.error; }
118
- }
119
- }
120
- };
121
- var this_1 = this;
122
- try {
123
- for (var piles_1 = __values(piles), piles_1_1 = piles_1.next(); !piles_1_1.done; piles_1_1 = piles_1.next()) {
124
- var pile = piles_1_1.value;
125
- _loop_1(pile);
126
- }
127
- }
128
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
129
- finally {
130
- try {
131
- if (piles_1_1 && !piles_1_1.done && (_a = piles_1.return)) _a.call(piles_1);
132
- }
133
- finally { if (e_2) throw e_2.error; }
134
- }
135
- moves.push(this.customMove(CustomMoveType_1.CustomMoveType.EndEffect));
136
- return moves;
137
- };
138
- AthenaEffectRule.prototype.onEndEffect = function () {
139
- var _a;
140
- var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
141
- (_a = new TriggerEffectsRule_1.TriggerEffectsRule(this.game)).triggerEffects.apply(_a, __spreadArray([], __read(pantheon.updateGrid()), false));
142
- return __spreadArray(__spreadArray([], __read(pantheon.gainBonus()), false), __read(_super.prototype.onEndEffect.call(this)), false);
143
- };
144
- AthenaEffectRule.prototype.onRuleEnd = function () {
145
- this.forget(Memory_1.Memory.TargetLocations);
146
- return [];
147
- };
148
- return AthenaEffectRule;
149
- }(PlayerEffectRule_1.PlayerEffectRule));
150
- exports.AthenaEffectRule = AthenaEffectRule;
1
+ import { CustomMoveType } from '../../CustomMoveType';
2
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
3
+ import { LocationType } from '../../material/LocationType';
4
+ import { Pantheon } from '../../material/Pantheon';
5
+ import { Memory } from '../../Memory';
6
+ import { RuleId } from '../RuleId';
7
+ import { TriggerEffectsRule } from './TriggerEffectsRule';
8
+ export class AthenaEffectRule extends PlayerEffectRule {
9
+ ruleId = RuleId.AthenaEffect;
10
+ onRuleStart() {
11
+ const pantheon = new Pantheon(this.game, this.player);
12
+ const lockedLocations = [];
13
+ for (const card of pantheon.visibleEntities.getItems()) {
14
+ if (!pantheon.isAbleToMove(card)) {
15
+ lockedLocations.push({ x: card.location.x, y: card.location.y });
16
+ }
17
+ }
18
+ this.memorize(Memory.TargetLocations, lockedLocations);
19
+ return super.onRuleStart();
20
+ }
21
+ getPlayerMoves() {
22
+ const moves = [];
23
+ const legalSpaces = new Pantheon(this.game, this.player).legalSpaces;
24
+ const piles = new Pantheon(this.game, this.player).getPiles();
25
+ const lockedLocations = this.remind(Memory.TargetLocations);
26
+ for (const pile of piles) {
27
+ const location = pile.getItem().location;
28
+ if (!lockedLocations.some(({ x, y }) => x === location.x && y === location.y)) {
29
+ for (const { x, y } of legalSpaces) {
30
+ if (x !== location.x || y !== location.y) {
31
+ moves.push(pile.moveItemsAtOnce({ type: LocationType.Pantheon, player: this.player, x, y }));
32
+ }
33
+ }
34
+ }
35
+ }
36
+ moves.push(this.customMove(CustomMoveType.EndEffect));
37
+ return moves;
38
+ }
39
+ onEndEffect() {
40
+ const pantheon = new Pantheon(this.game, this.player);
41
+ new TriggerEffectsRule(this.game).triggerEffects(...pantheon.updateGrid());
42
+ return super.onEndEffect();
43
+ }
44
+ onRuleEnd() {
45
+ this.forget(Memory.TargetLocations);
46
+ return [];
47
+ }
48
+ }
@@ -1,6 +1,6 @@
1
- import { PlaceCardEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
- import { RuleId } from '../RuleId';
3
- export declare class BennuEffectRule extends PlaceCardEffectRule {
4
- ruleId: RuleId;
5
- getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
6
- }
1
+ import { PlaceCardEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
+ import { RuleId } from '../RuleId';
3
+ export declare class BennuEffectRule extends PlaceCardEffectRule {
4
+ ruleId: RuleId;
5
+ getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
6
+ }
@@ -1,35 +1,10 @@
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.BennuEffectRule = 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 RuleId_1 = require("../RuleId");
23
- var BennuEffectRule = (function (_super) {
24
- __extends(BennuEffectRule, _super);
25
- function BennuEffectRule() {
26
- var _this = _super !== null && _super.apply(this, arguments) || this;
27
- _this.ruleId = RuleId_1.RuleId.BennuEffect;
28
- return _this;
29
- }
30
- BennuEffectRule.prototype.getCardsToPlace = function () {
31
- return this.material(MaterialType_1.MaterialType.EntityCard).location(LocationType_1.LocationType.PlayerDiscard);
32
- };
33
- return BennuEffectRule;
34
- }(PlaceCardEffectRule_1.PlaceCardEffectRule));
35
- exports.BennuEffectRule = BennuEffectRule;
1
+ import { PlaceCardEffectRule } from '../../material/entity/PlaceCardEffectRule';
2
+ import { LocationType } from '../../material/LocationType';
3
+ import { MaterialType } from '../../material/MaterialType';
4
+ import { RuleId } from '../RuleId';
5
+ export class BennuEffectRule extends PlaceCardEffectRule {
6
+ ruleId = RuleId.BennuEffect;
7
+ getCardsToPlace() {
8
+ return this.material(MaterialType.EntityCard).location(LocationType.PlayerDiscard);
9
+ }
10
+ }
@@ -1,7 +1,7 @@
1
- import { MoveItem } from '@gamepark/rules-api';
2
- import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
3
- import { RuleId } from '../RuleId';
4
- export declare class CaimanEffectRule extends SacrificeEffectRule {
5
- ruleId: RuleId;
6
- onSacrifice(move: MoveItem): (import("@gamepark/rules-api").CustomMove<number> | import("@gamepark/rules-api").CreateItem<number, number, number> | MoveItem<number, number, number>)[];
7
- }
1
+ import { MoveItem } from '@gamepark/rules-api';
2
+ import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
3
+ import { RuleId } from '../RuleId';
4
+ export declare class CaimanEffectRule extends SacrificeEffectRule {
5
+ ruleId: RuleId;
6
+ onSacrifice(move: MoveItem): (import("@gamepark/rules-api").CustomMove | import("@gamepark/rules-api").CreateItem<number, number, number> | MoveItem<number, number, number>)[];
7
+ }
@@ -1,72 +1,23 @@
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 __read = (this && this.__read) || function (o, n) {
18
- var m = typeof Symbol === "function" && o[Symbol.iterator];
19
- if (!m) return o;
20
- var i = m.call(o), r, ar = [], e;
21
- try {
22
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
23
- }
24
- catch (error) { e = { error: error }; }
25
- finally {
26
- try {
27
- if (r && !r.done && (m = i["return"])) m.call(i);
28
- }
29
- finally { if (e) throw e.error; }
30
- }
31
- return ar;
32
- };
33
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
34
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
35
- if (ar || !(i in from)) {
36
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
37
- ar[i] = from[i];
38
- }
39
- }
40
- return to.concat(ar || Array.prototype.slice.call(from));
41
- };
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.CaimanEffectRule = void 0;
44
- var CustomMoveType_1 = require("../../CustomMoveType");
45
- var Entity_1 = require("../../material/Entity");
46
- var SacrificeEffectRule_1 = require("../../material/entity/SacrificeEffectRule");
47
- var LocationType_1 = require("../../material/LocationType");
48
- var MaterialType_1 = require("../../material/MaterialType");
49
- var Pantheon_1 = require("../../material/Pantheon");
50
- var RuleId_1 = require("../RuleId");
51
- var CaimanEffectRule = (function (_super) {
52
- __extends(CaimanEffectRule, _super);
53
- function CaimanEffectRule() {
54
- var _this = _super !== null && _super.apply(this, arguments) || this;
55
- _this.ruleId = RuleId_1.RuleId.CaimanEffect;
56
- return _this;
57
- }
58
- CaimanEffectRule.prototype.onSacrifice = function (move) {
59
- var card = this.material(MaterialType_1.MaterialType.EntityCard).getItem(move.itemIndex);
60
- var mythology = (0, Entity_1.entityMythology)(card.id.front);
61
- var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
62
- var others = pantheon.visibleEntities
63
- .location(function (l) { return l.x !== card.location.x || l.y !== card.location.y; })
64
- .id(function (id) { return (0, Entity_1.entityMythology)(id.front) === mythology; });
65
- return __spreadArray(__spreadArray([], __read(others.moveItems({ type: LocationType_1.LocationType.PlayerDiscard, player: this.player })), false), [
66
- pantheon.gainGems(1 + others.length),
67
- this.customMove(CustomMoveType_1.CustomMoveType.EndEffect)
68
- ], false);
69
- };
70
- return CaimanEffectRule;
71
- }(SacrificeEffectRule_1.SacrificeEffectRule));
72
- exports.CaimanEffectRule = CaimanEffectRule;
1
+ import { CustomMoveType } from '../../CustomMoveType';
2
+ import { entityMythology } from '../../material/Entity';
3
+ import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
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 CaimanEffectRule extends SacrificeEffectRule {
9
+ ruleId = RuleId.CaimanEffect;
10
+ onSacrifice(move) {
11
+ const card = this.material(MaterialType.EntityCard).getItem(move.itemIndex);
12
+ const mythology = entityMythology(card.id.front);
13
+ const pantheon = new Pantheon(this.game, this.player);
14
+ const others = pantheon.visibleEntities
15
+ .location((l) => l.x !== card.location.x || l.y !== card.location.y)
16
+ .id((id) => entityMythology(id.front) === mythology);
17
+ return [
18
+ ...others.moveItems({ type: LocationType.PlayerDiscard, player: this.player }),
19
+ pantheon.gainGems(1 + others.length),
20
+ this.customMove(CustomMoveType.EndEffect)
21
+ ];
22
+ }
23
+ }
@@ -1,15 +1,15 @@
1
- import { Location, Material, MaterialMove, XYCoordinates } from '@gamepark/rules-api';
2
- import { MoveEffectRule } from '../../material/entity/MoveEffectRule';
3
- import { SimultaneousSacrificeEffectRule } from '../../material/entity/SimultaneousSacrificeEffectRule';
4
- import { PlayerColor } from '../../PlayerColor';
5
- import { RuleId } from '../RuleId';
6
- export declare class CentaurEffectRule extends MoveEffectRule {
7
- ruleId: RuleId;
8
- getMovingCards(effectCardIndex?: number): Material;
9
- isLegalDestination(space: XYCoordinates, cardLocation: Location): boolean;
10
- onEndEffect(): MaterialMove<number, number, number, number>[];
11
- }
12
- export declare class CentaurEffectSacrificeRule extends SimultaneousSacrificeEffectRule {
13
- ruleId: RuleId;
14
- getCardsToSacrifice(player: PlayerColor): Material;
15
- }
1
+ import { Location, Material, XYCoordinates } from '@gamepark/rules-api';
2
+ import { MoveEffectRule } from '../../material/entity/MoveEffectRule';
3
+ import { SimultaneousSacrificeEffectRule } from '../../material/entity/SimultaneousSacrificeEffectRule';
4
+ import { PlayerColor } from '../../PlayerColor';
5
+ import { RuleId } from '../RuleId';
6
+ export declare class CentaurEffectRule extends MoveEffectRule {
7
+ ruleId: RuleId;
8
+ getMovingCards(effectCardIndex?: number): Material;
9
+ isLegalDestination(space: XYCoordinates, cardLocation: Location): boolean;
10
+ onEndEffect(): import("@gamepark/rules-api").MaterialMove[];
11
+ }
12
+ export declare class CentaurEffectSacrificeRule extends SimultaneousSacrificeEffectRule {
13
+ ruleId: RuleId;
14
+ getCardsToSacrifice(player: PlayerColor): Material;
15
+ }
@@ -1,95 +1,33 @@
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 __read = (this && this.__read) || function (o, n) {
18
- var m = typeof Symbol === "function" && o[Symbol.iterator];
19
- if (!m) return o;
20
- var i = m.call(o), r, ar = [], e;
21
- try {
22
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
23
- }
24
- catch (error) { e = { error: error }; }
25
- finally {
26
- try {
27
- if (r && !r.done && (m = i["return"])) m.call(i);
28
- }
29
- finally { if (e) throw e.error; }
30
- }
31
- return ar;
32
- };
33
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
34
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
35
- if (ar || !(i in from)) {
36
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
37
- ar[i] = from[i];
38
- }
39
- }
40
- return to.concat(ar || Array.prototype.slice.call(from));
41
- };
42
- Object.defineProperty(exports, "__esModule", { value: true });
43
- exports.CentaurEffectSacrificeRule = exports.CentaurEffectRule = void 0;
44
- var rules_api_1 = require("@gamepark/rules-api");
45
- var Entity_1 = require("../../material/Entity");
46
- var MoveEffectRule_1 = require("../../material/entity/MoveEffectRule");
47
- var SimultaneousSacrificeEffectRule_1 = require("../../material/entity/SimultaneousSacrificeEffectRule");
48
- var MaterialType_1 = require("../../material/MaterialType");
49
- var Pantheon_1 = require("../../material/Pantheon");
50
- var Memory_1 = require("../../Memory");
51
- var RuleId_1 = require("../RuleId");
52
- var TriggerEffectsRule_1 = require("./TriggerEffectsRule");
53
- var CentaurEffectRule = (function (_super) {
54
- __extends(CentaurEffectRule, _super);
55
- function CentaurEffectRule() {
56
- var _this = _super !== null && _super.apply(this, arguments) || this;
57
- _this.ruleId = RuleId_1.RuleId.CentaurEffect;
58
- return _this;
59
- }
60
- CentaurEffectRule.prototype.getMovingCards = function (effectCardIndex) {
61
- if (effectCardIndex === void 0) { effectCardIndex = this.getEffect().cardIndex; }
62
- return this.material(MaterialType_1.MaterialType.EntityCard).index(effectCardIndex);
63
- };
64
- CentaurEffectRule.prototype.isLegalDestination = function (space, cardLocation) {
65
- return (0, rules_api_1.areAdjacentSquares)(space, cardLocation);
66
- };
67
- CentaurEffectRule.prototype.onEndEffect = function () {
68
- var _a;
69
- var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
70
- (_a = new TriggerEffectsRule_1.TriggerEffectsRule(this.game)).triggerEffects.apply(_a, __spreadArray([], __read(pantheon.updateGrid()), false));
71
- var moves = pantheon.gainBonus();
72
- moves.push.apply(moves, __spreadArray([], __read(new CentaurEffectSacrificeRule(this.game).playEffect()), false));
73
- return moves;
74
- };
75
- return CentaurEffectRule;
76
- }(MoveEffectRule_1.MoveEffectRule));
77
- exports.CentaurEffectRule = CentaurEffectRule;
78
- var CentaurEffectSacrificeRule = (function (_super) {
79
- __extends(CentaurEffectSacrificeRule, _super);
80
- function CentaurEffectSacrificeRule() {
81
- var _this = _super !== null && _super.apply(this, arguments) || this;
82
- _this.ruleId = RuleId_1.RuleId.CentaurEffectSacrifice;
83
- return _this;
84
- }
85
- CentaurEffectSacrificeRule.prototype.getCardsToSacrifice = function (player) {
86
- var _this = this;
87
- var cardIndex = this.remind(Memory_1.Memory.OngoingEffect).cardIndex;
88
- return _super.prototype.getCardsToSacrifice.call(this, player)
89
- .index(function (index) { return index !== cardIndex; })
90
- .id(function (id) { return (0, Entity_1.isCreature)(id.front); })
91
- .location(function (l) { return l.y === _this.card.location.y; });
92
- };
93
- return CentaurEffectSacrificeRule;
94
- }(SimultaneousSacrificeEffectRule_1.SimultaneousSacrificeEffectRule));
95
- exports.CentaurEffectSacrificeRule = CentaurEffectSacrificeRule;
1
+ import { areAdjacentSquares } from '@gamepark/rules-api';
2
+ import { isCreature } from '../../material/Entity';
3
+ import { MoveEffectRule } from '../../material/entity/MoveEffectRule';
4
+ import { SimultaneousSacrificeEffectRule } from '../../material/entity/SimultaneousSacrificeEffectRule';
5
+ import { MaterialType } from '../../material/MaterialType';
6
+ import { Pantheon } from '../../material/Pantheon';
7
+ import { RuleId } from '../RuleId';
8
+ import { TriggerEffectsRule } from './TriggerEffectsRule';
9
+ export class CentaurEffectRule extends MoveEffectRule {
10
+ ruleId = RuleId.CentaurEffect;
11
+ getMovingCards(effectCardIndex = this.getEffect().cardIndex) {
12
+ return this.material(MaterialType.EntityCard).index(effectCardIndex);
13
+ }
14
+ isLegalDestination(space, cardLocation) {
15
+ return areAdjacentSquares(space, cardLocation);
16
+ }
17
+ onEndEffect() {
18
+ const pantheon = new Pantheon(this.game, this.player);
19
+ new TriggerEffectsRule(this.game).triggerEffects(...pantheon.updateGrid());
20
+ return new CentaurEffectSacrificeRule(this.game).playEffect();
21
+ }
22
+ }
23
+ export class CentaurEffectSacrificeRule extends SimultaneousSacrificeEffectRule {
24
+ ruleId = RuleId.CentaurEffectSacrifice;
25
+ getCardsToSacrifice(player) {
26
+ const cardIndex = this.getEffect().cardIndex;
27
+ return super
28
+ .getCardsToSacrifice(player)
29
+ .index((index) => index !== cardIndex)
30
+ .id((id) => isCreature(id.front))
31
+ .location((l) => l.y === this.card.location.y);
32
+ }
33
+ }
@@ -1,8 +1,8 @@
1
- import { XYCoordinates } from '@gamepark/rules-api';
2
- import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
- import { RuleId } from '../RuleId';
4
- export declare class ChimeraEffectRule extends InvokeEffectRule {
5
- ruleId: RuleId;
6
- getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
7
- getAvailableDestinations(): XYCoordinates[];
8
- }
1
+ import { XYCoordinates } from '@gamepark/rules-api';
2
+ import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
+ import { RuleId } from '../RuleId';
4
+ export declare class ChimeraEffectRule extends InvokeEffectRule {
5
+ ruleId: RuleId;
6
+ getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
7
+ getAvailableDestinations(): XYCoordinates[];
8
+ }
@@ -1,40 +1,15 @@
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.ChimeraEffectRule = void 0;
19
- var Destiny_1 = require("../../material/Destiny");
20
- var PlaceCardEffectRule_1 = require("../../material/entity/PlaceCardEffectRule");
21
- var Pantheon_1 = require("../../material/Pantheon");
22
- var RuleId_1 = require("../RuleId");
23
- var ChimeraEffectRule = (function (_super) {
24
- __extends(ChimeraEffectRule, _super);
25
- function ChimeraEffectRule() {
26
- var _this = _super !== null && _super.apply(this, arguments) || this;
27
- _this.ruleId = RuleId_1.RuleId.ChimeraEffect;
28
- return _this;
29
- }
30
- ChimeraEffectRule.prototype.getCardsToPlace = function () {
31
- return new Destiny_1.Destiny(this.game).creaturesOnTopOfDecks;
32
- };
33
- ChimeraEffectRule.prototype.getAvailableDestinations = function () {
34
- var pantheon = new Pantheon_1.Pantheon(this.game, this.card.location.player);
35
- var space = this.card.location;
36
- return pantheon.isLegalSpaceToInvoke(space) ? [space] : [];
37
- };
38
- return ChimeraEffectRule;
39
- }(PlaceCardEffectRule_1.InvokeEffectRule));
40
- exports.ChimeraEffectRule = ChimeraEffectRule;
1
+ import { Destiny } from '../../material/Destiny';
2
+ import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
+ import { Pantheon } from '../../material/Pantheon';
4
+ import { RuleId } from '../RuleId';
5
+ export class ChimeraEffectRule extends InvokeEffectRule {
6
+ ruleId = RuleId.ChimeraEffect;
7
+ getCardsToPlace() {
8
+ return new Destiny(this.game).creaturesOnTopOfDecks;
9
+ }
10
+ getAvailableDestinations() {
11
+ const pantheon = new Pantheon(this.game, this.card.location.player);
12
+ const space = this.card.location;
13
+ return pantheon.isLegalSpaceToInvoke(space) ? [space] : [];
14
+ }
15
+ }