@gamepark/mythologies 0.10.0 → 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 -50
  26. package/dist/material/Pantheon.js +294 -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 +106 -106
  32. package/dist/material/entity/Effect.js +26 -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 +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 -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 +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 -14
  280. package/dist/rules/effects/MultipleSimultaneousMoveEffectRule.js +71 -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 +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,13 +1,13 @@
1
- import { MoveItem } from '@gamepark/rules-api';
2
- import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
- import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
4
- import { RuleId } from '../RuleId';
5
- export declare class CobraEffectRule extends SacrificeEffectRule {
6
- ruleId: RuleId;
7
- getCardsToSacrifice(): import("@gamepark/rules-api").Material<number, number, number>;
8
- onSacrifice(move: MoveItem): (MoveItem<number, number, number> | import("@gamepark/rules-api").StartRule<RuleId.CobraInvokeEffect>)[];
9
- }
10
- export declare class CobraInvokeEffect extends InvokeEffectRule {
11
- getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
12
- onRuleEnd(): never[];
13
- }
1
+ import { MoveItem } from '@gamepark/rules-api';
2
+ import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
+ import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
4
+ import { RuleId } from '../RuleId';
5
+ export declare class CobraEffectRule extends SacrificeEffectRule {
6
+ ruleId: RuleId;
7
+ getCardsToSacrifice(): import("@gamepark/rules-api").Material<number, number, number>;
8
+ onSacrifice(move: MoveItem): (MoveItem<number, number, number> | import("@gamepark/rules-api").StartRule<RuleId.CobraInvokeEffect>)[];
9
+ }
10
+ export declare class CobraInvokeEffect extends InvokeEffectRule {
11
+ getCardsToPlace(): import("@gamepark/rules-api").Material<number, number, number>;
12
+ onRuleEnd(): never[];
13
+ }
@@ -1,61 +1,30 @@
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.CobraInvokeEffect = exports.CobraEffectRule = void 0;
19
- var Entity_1 = require("../../material/Entity");
20
- var PlaceCardEffectRule_1 = require("../../material/entity/PlaceCardEffectRule");
21
- var SacrificeEffectRule_1 = require("../../material/entity/SacrificeEffectRule");
22
- var LocationType_1 = require("../../material/LocationType");
23
- var MaterialType_1 = require("../../material/MaterialType");
24
- var Memory_1 = require("../../Memory");
25
- var RuleId_1 = require("../RuleId");
26
- var CobraEffectRule = (function (_super) {
27
- __extends(CobraEffectRule, _super);
28
- function CobraEffectRule() {
29
- var _this = _super !== null && _super.apply(this, arguments) || this;
30
- _this.ruleId = RuleId_1.RuleId.CobraEffect;
31
- return _this;
32
- }
33
- CobraEffectRule.prototype.getCardsToSacrifice = function () {
34
- var _a = this.card.location, x = _a.x, y = _a.y;
35
- return _super.prototype.getCardsToSacrifice.call(this).location(function (l) { return l.x === x && l.y !== y; });
36
- };
37
- CobraEffectRule.prototype.onSacrifice = function (move) {
38
- var cards = this.material(MaterialType_1.MaterialType.EntityCard);
39
- var mythology = (0, Entity_1.entityMythology)(cards.getItem(move.itemIndex).id.front);
40
- var creaturesDeck = cards.location(LocationType_1.LocationType.CreaturesDeck).locationId(mythology).deck();
41
- this.memorize(Memory_1.Memory.TargetEntities, creaturesDeck.getIndex());
42
- return [creaturesDeck.dealOne({ type: LocationType_1.LocationType.PlayerSelectedCards, player: this.player }), this.startRule(RuleId_1.RuleId.CobraInvokeEffect)];
43
- };
44
- return CobraEffectRule;
45
- }(SacrificeEffectRule_1.SacrificeEffectRule));
46
- exports.CobraEffectRule = CobraEffectRule;
47
- var CobraInvokeEffect = (function (_super) {
48
- __extends(CobraInvokeEffect, _super);
49
- function CobraInvokeEffect() {
50
- return _super !== null && _super.apply(this, arguments) || this;
51
- }
52
- CobraInvokeEffect.prototype.getCardsToPlace = function () {
53
- return this.material(MaterialType_1.MaterialType.EntityCard).index(this.remind(Memory_1.Memory.TargetEntities));
54
- };
55
- CobraInvokeEffect.prototype.onRuleEnd = function () {
56
- this.forget(Memory_1.Memory.TargetEntities);
57
- return [];
58
- };
59
- return CobraInvokeEffect;
60
- }(PlaceCardEffectRule_1.InvokeEffectRule));
61
- exports.CobraInvokeEffect = CobraInvokeEffect;
1
+ import { entityMythology } from '../../material/Entity';
2
+ import { InvokeEffectRule } from '../../material/entity/PlaceCardEffectRule';
3
+ import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
4
+ import { LocationType } from '../../material/LocationType';
5
+ import { MaterialType } from '../../material/MaterialType';
6
+ import { Memory } from '../../Memory';
7
+ import { RuleId } from '../RuleId';
8
+ export class CobraEffectRule extends SacrificeEffectRule {
9
+ ruleId = RuleId.CobraEffect;
10
+ getCardsToSacrifice() {
11
+ const { x, y } = this.card.location;
12
+ return super.getCardsToSacrifice().location((l) => l.x === x && l.y !== y);
13
+ }
14
+ onSacrifice(move) {
15
+ const cards = this.material(MaterialType.EntityCard);
16
+ const mythology = entityMythology(cards.getItem(move.itemIndex).id.front);
17
+ const creaturesDeck = cards.location(LocationType.CreaturesDeck).locationId(mythology).deck();
18
+ this.memorize(Memory.TargetEntities, creaturesDeck.getIndex());
19
+ return [creaturesDeck.dealOne({ type: LocationType.PlayerSelectedCards, player: this.player }), this.startRule(RuleId.CobraInvokeEffect)];
20
+ }
21
+ }
22
+ export class CobraInvokeEffect extends InvokeEffectRule {
23
+ getCardsToPlace() {
24
+ return this.material(MaterialType.EntityCard).index(this.remind(Memory.TargetEntities));
25
+ }
26
+ onRuleEnd() {
27
+ this.forget(Memory.TargetEntities);
28
+ return [];
29
+ }
30
+ }
@@ -1,8 +1,8 @@
1
- import { MaterialMove, MoveItem } from '@gamepark/rules-api';
2
- import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
3
- import { RuleId } from '../RuleId';
4
- export declare class CondorEffectRule extends SacrificeEffectRule {
5
- ruleId: RuleId;
6
- getCardsToSacrifice(): import("@gamepark/rules-api").Material<number, number, number>;
7
- onSacrifice(move: MoveItem): MaterialMove<number, number, number, number>[];
8
- }
1
+ import { MaterialMove, MoveItem } from '@gamepark/rules-api';
2
+ import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
3
+ import { RuleId } from '../RuleId';
4
+ export declare class CondorEffectRule extends SacrificeEffectRule {
5
+ ruleId: RuleId;
6
+ getCardsToSacrifice(): import("@gamepark/rules-api").Material<number, number, number>;
7
+ onSacrifice(move: MoveItem): MaterialMove[];
8
+ }
@@ -1,45 +1,20 @@
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.CondorEffectRule = void 0;
19
- var rules_api_1 = require("@gamepark/rules-api");
20
- var CustomMoveType_1 = require("../../CustomMoveType");
21
- var SacrificeEffectRule_1 = require("../../material/entity/SacrificeEffectRule");
22
- var MaterialType_1 = require("../../material/MaterialType");
23
- var Pantheon_1 = require("../../material/Pantheon");
24
- var RuleId_1 = require("../RuleId");
25
- var CondorEffectRule = (function (_super) {
26
- __extends(CondorEffectRule, _super);
27
- function CondorEffectRule() {
28
- var _this = _super !== null && _super.apply(this, arguments) || this;
29
- _this.ruleId = RuleId_1.RuleId.CondorEffect;
30
- return _this;
31
- }
32
- CondorEffectRule.prototype.getCardsToSacrifice = function () {
33
- var location = this.card.location;
34
- return _super.prototype.getCardsToSacrifice.call(this).location(function (l) { return (0, rules_api_1.areAdjacentSquares)(l, location); });
35
- };
36
- CondorEffectRule.prototype.onSacrifice = function (move) {
37
- var entity = this.material(MaterialType_1.MaterialType.EntityCard).getItem(move.itemIndex);
38
- var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
39
- var moves = pantheon.getInvokeGains(entity.id.front, entity.location.y);
40
- moves.push(this.customMove(CustomMoveType_1.CustomMoveType.EndEffect));
41
- return moves;
42
- };
43
- return CondorEffectRule;
44
- }(SacrificeEffectRule_1.SacrificeEffectRule));
45
- exports.CondorEffectRule = CondorEffectRule;
1
+ import { areAdjacentSquares } from '@gamepark/rules-api';
2
+ import { CustomMoveType } from '../../CustomMoveType';
3
+ import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
4
+ import { MaterialType } from '../../material/MaterialType';
5
+ import { Pantheon } from '../../material/Pantheon';
6
+ import { RuleId } from '../RuleId';
7
+ export class CondorEffectRule extends SacrificeEffectRule {
8
+ ruleId = RuleId.CondorEffect;
9
+ getCardsToSacrifice() {
10
+ const location = this.card.location;
11
+ return super.getCardsToSacrifice().location((l) => areAdjacentSquares(l, location));
12
+ }
13
+ onSacrifice(move) {
14
+ const entity = this.material(MaterialType.EntityCard).getItem(move.itemIndex);
15
+ const pantheon = new Pantheon(this.game, this.player);
16
+ const moves = pantheon.getInvokeGains(entity.id.front, entity.location.y);
17
+ moves.push(this.customMove(CustomMoveType.EndEffect));
18
+ return moves;
19
+ }
20
+ }
@@ -1,11 +1,11 @@
1
- import { ItemMove, MaterialMove } from '@gamepark/rules-api';
2
- import { ColumnEvent, LineEvent } from '../../material/entity/Effect';
3
- import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
4
- import { RuleId } from '../RuleId';
5
- export declare class CyclopsEffectRule extends PlayerEffectRule {
6
- ruleId: RuleId;
7
- getPlayerMoves(): MaterialMove<number, number, number, number>[];
8
- afterItemMove(move: ItemMove): (import("@gamepark/rules-api").CustomMove<number> | import("@gamepark/rules-api").MoveItem<number, number, number>)[];
9
- takeNeighborsBonus(event?: LineEvent | ColumnEvent): import("@gamepark/rules-api").MoveItem<number, number, number>[];
10
- getBonus(event?: LineEvent | ColumnEvent): import("@gamepark/rules-api").Material<number, number, number>;
11
- }
1
+ import { ItemMove, MaterialMove } from '@gamepark/rules-api';
2
+ import { ColumnEvent, LineEvent } from '../../material/entity/Effect';
3
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
4
+ import { RuleId } from '../RuleId';
5
+ export declare class CyclopsEffectRule extends PlayerEffectRule {
6
+ ruleId: RuleId;
7
+ getPlayerMoves(): MaterialMove[];
8
+ afterItemMove(move: ItemMove): (import("@gamepark/rules-api").CustomMove | import("@gamepark/rules-api").MoveItem<number, number, number>)[];
9
+ takeNeighborsBonus(event?: LineEvent | ColumnEvent): import("@gamepark/rules-api").MoveItem<number, number, number>[];
10
+ getBonus(event?: LineEvent | ColumnEvent): import("@gamepark/rules-api").Material<number, number, number>;
11
+ }
@@ -1,106 +1,50 @@
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.CyclopsEffectRule = void 0;
44
- var rules_api_1 = require("@gamepark/rules-api");
45
- var CustomMoveType_1 = require("../../CustomMoveType");
46
- var Effect_1 = require("../../material/entity/Effect");
47
- var PlayerEffectRule_1 = require("../../material/entity/PlayerEffectRule");
48
- var LocationType_1 = require("../../material/LocationType");
49
- var MaterialType_1 = require("../../material/MaterialType");
50
- var Pantheon_1 = require("../../material/Pantheon");
51
- var Memory_1 = require("../../Memory");
52
- var RuleId_1 = require("../RuleId");
53
- var CyclopsEffectRule = (function (_super) {
54
- __extends(CyclopsEffectRule, _super);
55
- function CyclopsEffectRule() {
56
- var _this = _super !== null && _super.apply(this, arguments) || this;
57
- _this.ruleId = RuleId_1.RuleId.CyclopsEffect;
58
- return _this;
59
- }
60
- CyclopsEffectRule.prototype.getPlayerMoves = function () {
61
- var moves = [this.customMove(CustomMoveType_1.CustomMoveType.EndEffect)];
62
- var canPay = new Pantheon_1.Pantheon(this.game, this.player).gems > 0;
63
- if (canPay) {
64
- moves.push(new Pantheon_1.Pantheon(this.game, this.player).spendGems(1));
65
- }
66
- return moves;
67
- };
68
- CyclopsEffectRule.prototype.afterItemMove = function (move) {
69
- var _this = this;
70
- if ((0, rules_api_1.isDeleteItemType)(MaterialType_1.MaterialType.GemToken)(move)) {
71
- this.memorize(Memory_1.Memory.OncePerTurn, function (indexes) {
72
- if (indexes === void 0) { indexes = []; }
73
- return indexes.concat(_this.getEffect().cardIndex);
74
- });
75
- return __spreadArray(__spreadArray([], __read(this.takeNeighborsBonus()), false), [this.customMove(CustomMoveType_1.CustomMoveType.EndEffect)], false);
76
- }
77
- return [];
78
- };
79
- CyclopsEffectRule.prototype.takeNeighborsBonus = function (event) {
80
- if (event === void 0) { event = this.getEffect().triggerEvent; }
81
- if (event.type === Effect_1.TriggerEventType.LineEvent) {
82
- return this.getBonus().moveItems({ type: LocationType_1.LocationType.PlayerGems, player: event.player });
83
- }
84
- else {
85
- return this.getBonus().moveItems({ type: LocationType_1.LocationType.PlayerFavor, player: event.player });
86
- }
87
- };
88
- CyclopsEffectRule.prototype.getBonus = function (event) {
89
- if (event === void 0) { event = this.getEffect().triggerEvent; }
90
- var neighbors = (0, rules_api_1.getNeighbors)(event.player, this.game.players);
91
- if (event.type === Effect_1.TriggerEventType.LineEvent) {
92
- return this.material(MaterialType_1.MaterialType.GemToken)
93
- .location(LocationType_1.LocationType.PantheonLineBonus)
94
- .player(function (player) { return neighbors.includes(player); })
95
- .location(function (l) { return l.y === event.y; });
96
- }
97
- else {
98
- return this.material(MaterialType_1.MaterialType.FavorToken)
99
- .location(LocationType_1.LocationType.PantheonColumnBonus)
100
- .player(function (player) { return neighbors.includes(player); })
101
- .location(function (l) { return l.x === event.x; });
102
- }
103
- };
104
- return CyclopsEffectRule;
105
- }(PlayerEffectRule_1.PlayerEffectRule));
106
- exports.CyclopsEffectRule = CyclopsEffectRule;
1
+ import { getNeighbors, isDeleteItemType } from '@gamepark/rules-api';
2
+ import { CustomMoveType } from '../../CustomMoveType';
3
+ import { TriggerEventType } from '../../material/entity/Effect';
4
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
5
+ import { LocationType } from '../../material/LocationType';
6
+ import { MaterialType } from '../../material/MaterialType';
7
+ import { Pantheon } from '../../material/Pantheon';
8
+ import { Memory } from '../../Memory';
9
+ import { RuleId } from '../RuleId';
10
+ export class CyclopsEffectRule extends PlayerEffectRule {
11
+ ruleId = RuleId.CyclopsEffect;
12
+ getPlayerMoves() {
13
+ const moves = [this.customMove(CustomMoveType.EndEffect)];
14
+ const canPay = new Pantheon(this.game, this.player).gems > 0;
15
+ if (canPay) {
16
+ moves.push(new Pantheon(this.game, this.player).spendGems(1));
17
+ }
18
+ return moves;
19
+ }
20
+ afterItemMove(move) {
21
+ if (isDeleteItemType(MaterialType.GemToken)(move)) {
22
+ this.memorize(Memory.OncePerTurn, (indexes = []) => indexes.concat(this.getEffect().cardIndex));
23
+ return [...this.takeNeighborsBonus(), this.customMove(CustomMoveType.EndEffect)];
24
+ }
25
+ return [];
26
+ }
27
+ takeNeighborsBonus(event = this.getEffect().triggerEvent) {
28
+ if (event.type === TriggerEventType.LineEvent) {
29
+ return this.getBonus().moveItems({ type: LocationType.PlayerGems, player: event.player });
30
+ }
31
+ else {
32
+ return this.getBonus().moveItems({ type: LocationType.PlayerFavor, player: event.player });
33
+ }
34
+ }
35
+ getBonus(event = this.getEffect().triggerEvent) {
36
+ const neighbors = getNeighbors(event.player, this.game.players);
37
+ if (event.type === TriggerEventType.LineEvent) {
38
+ return this.material(MaterialType.GemToken)
39
+ .location(LocationType.PantheonLineBonus)
40
+ .player((player) => neighbors.includes(player))
41
+ .location((l) => l.y === event.y);
42
+ }
43
+ else {
44
+ return this.material(MaterialType.FavorToken)
45
+ .location(LocationType.PantheonColumnBonus)
46
+ .player((player) => neighbors.includes(player))
47
+ .location((l) => l.x === event.x);
48
+ }
49
+ }
50
+ }
@@ -1,11 +1,11 @@
1
- import { ItemMove, Material } from '@gamepark/rules-api';
2
- import { SimultaneousSacrificeEffectRule } from '../../material/entity/SimultaneousSacrificeEffectRule';
3
- import { PlayerColor } from '../../PlayerColor';
4
- import { RuleId } from '../RuleId';
5
- export declare class DraugrEffectRule extends SimultaneousSacrificeEffectRule {
6
- ruleId: RuleId;
7
- getAffectedPlayers(): number[];
8
- getActivePlayerLegalMoves(player: PlayerColor): import("@gamepark/rules-api").MaterialMove<number, number, number, number>[];
9
- getCardsToSacrifice(player: PlayerColor): Material;
10
- beforeItemMove(move: ItemMove): import("@gamepark/rules-api").MaterialMove<number, number, number, number>[];
11
- }
1
+ import { ItemMove, Material } from '@gamepark/rules-api';
2
+ import { SimultaneousSacrificeEffectRule } from '../../material/entity/SimultaneousSacrificeEffectRule';
3
+ import { PlayerColor } from '../../PlayerColor';
4
+ import { RuleId } from '../RuleId';
5
+ export declare class DraugrEffectRule extends SimultaneousSacrificeEffectRule {
6
+ ruleId: RuleId;
7
+ getAffectedPlayers(): number[];
8
+ getActivePlayerLegalMoves(player: PlayerColor): import("@gamepark/rules-api").MaterialMove[];
9
+ getCardsToSacrifice(player: PlayerColor): Material;
10
+ beforeItemMove(move: ItemMove): import("@gamepark/rules-api").MaterialMove[];
11
+ }
@@ -1,58 +1,32 @@
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.DraugrEffectRule = void 0;
19
- var rules_api_1 = require("@gamepark/rules-api");
20
- var Entity_1 = require("../../material/Entity");
21
- var SimultaneousSacrificeEffectRule_1 = require("../../material/entity/SimultaneousSacrificeEffectRule");
22
- var LocationType_1 = require("../../material/LocationType");
23
- var MaterialType_1 = require("../../material/MaterialType");
24
- var RuleId_1 = require("../RuleId");
25
- var DraugrEffectRule = (function (_super) {
26
- __extends(DraugrEffectRule, _super);
27
- function DraugrEffectRule() {
28
- var _this = _super !== null && _super.apply(this, arguments) || this;
29
- _this.ruleId = RuleId_1.RuleId.DraugrEffect;
30
- return _this;
31
- }
32
- DraugrEffectRule.prototype.getAffectedPlayers = function () {
33
- var _this = this;
34
- return this.game.players.filter(function (player) { return _this.isOpponent(player); });
35
- };
36
- DraugrEffectRule.prototype.getActivePlayerLegalMoves = function (player) {
37
- var moves = _super.prototype.getActivePlayerLegalMoves.call(this, player);
38
- var gems = this.material(MaterialType_1.MaterialType.GemToken).location(LocationType_1.LocationType.PlayerGems).player(player);
39
- var owner = this.card.location.player;
40
- if (gems.getQuantity() >= 2 || (gems.getQuantity() === 1 && moves.length === 0)) {
41
- moves.push(gems.moveItem({ type: LocationType_1.LocationType.PlayerGems, player: owner }, 2));
42
- }
43
- return moves;
44
- };
45
- DraugrEffectRule.prototype.getCardsToSacrifice = function (player) {
46
- return _super.prototype.getCardsToSacrifice.call(this, player).id(function (id) { return (0, Entity_1.isCreature)(id.front); });
47
- };
48
- DraugrEffectRule.prototype.beforeItemMove = function (move) {
49
- if ((0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.GemToken)(move)) {
50
- return [this.endPlayerTurn(this.material(MaterialType_1.MaterialType.GemToken).getItem(move.itemIndex).location.player)];
51
- }
52
- else {
53
- return _super.prototype.beforeItemMove.call(this, move);
54
- }
55
- };
56
- return DraugrEffectRule;
57
- }(SimultaneousSacrificeEffectRule_1.SimultaneousSacrificeEffectRule));
58
- exports.DraugrEffectRule = DraugrEffectRule;
1
+ import { isMoveItemType } from '@gamepark/rules-api';
2
+ import { isCreature } from '../../material/Entity';
3
+ import { SimultaneousSacrificeEffectRule } from '../../material/entity/SimultaneousSacrificeEffectRule';
4
+ import { LocationType } from '../../material/LocationType';
5
+ import { MaterialType } from '../../material/MaterialType';
6
+ import { RuleId } from '../RuleId';
7
+ export class DraugrEffectRule extends SimultaneousSacrificeEffectRule {
8
+ ruleId = RuleId.DraugrEffect;
9
+ getAffectedPlayers() {
10
+ return this.game.players.filter((player) => this.isOpponent(player));
11
+ }
12
+ getActivePlayerLegalMoves(player) {
13
+ const moves = super.getActivePlayerLegalMoves(player);
14
+ const gems = this.material(MaterialType.GemToken).location(LocationType.PlayerGems).player(player);
15
+ const owner = this.card.location.player;
16
+ if (gems.getQuantity() >= 2 || (gems.getQuantity() === 1 && moves.length === 0)) {
17
+ moves.push(gems.moveItem({ type: LocationType.PlayerGems, player: owner }, 2));
18
+ }
19
+ return moves;
20
+ }
21
+ getCardsToSacrifice(player) {
22
+ return super.getCardsToSacrifice(player).id((id) => isCreature(id.front));
23
+ }
24
+ beforeItemMove(move) {
25
+ if (isMoveItemType(MaterialType.GemToken)(move)) {
26
+ return [this.endPlayerTurn(this.material(MaterialType.GemToken).getItem(move.itemIndex).location.player)];
27
+ }
28
+ else {
29
+ return super.beforeItemMove(move);
30
+ }
31
+ }
32
+ }
@@ -1,11 +1,11 @@
1
- import { Location, MaterialMove, MoveItem, XYCoordinates } from '@gamepark/rules-api';
2
- import { MoveEffectRule } from '../../material/entity/MoveEffectRule';
3
- import { RuleId } from '../RuleId';
4
- export declare class DullahanEffectRule extends MoveEffectRule {
5
- ruleId: RuleId;
6
- onRuleStart(): MaterialMove<number, number, number, number>[];
7
- getMovingCards(): import("@gamepark/rules-api").Material<number, number, number>;
8
- isLegalDestination(space: XYCoordinates, cardLocation: Location): boolean;
9
- onCardMoved(move: MoveItem): MaterialMove<number, number, number, number>[];
10
- onRuleEnd(): never[];
11
- }
1
+ import { Location, MaterialMove, MoveItem, XYCoordinates } from '@gamepark/rules-api';
2
+ import { MoveEffectRule } from '../../material/entity/MoveEffectRule';
3
+ import { RuleId } from '../RuleId';
4
+ export declare class DullahanEffectRule extends MoveEffectRule {
5
+ ruleId: RuleId;
6
+ onRuleStart(): MaterialMove[];
7
+ getMovingCards(): import("@gamepark/rules-api").Material<number, number, number>;
8
+ isLegalDestination(space: XYCoordinates, cardLocation: Location): boolean;
9
+ onCardMoved(move: MoveItem): MaterialMove[];
10
+ onRuleEnd(): never[];
11
+ }