@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,62 +1,37 @@
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.VetalaEffectRule = void 0;
19
- var rules_api_1 = require("@gamepark/rules-api");
20
- var CustomMoveType_1 = require("../../CustomMoveType");
21
- var MoveEffectRule_1 = require("../../material/entity/MoveEffectRule");
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 VetalaEffectRule = (function (_super) {
27
- __extends(VetalaEffectRule, _super);
28
- function VetalaEffectRule() {
29
- var _this = _super !== null && _super.apply(this, arguments) || this;
30
- _this.ruleId = RuleId_1.RuleId.VetalaEffect;
31
- return _this;
32
- }
33
- VetalaEffectRule.prototype.onRuleStart = function () {
34
- var entitiesSacrificed = this.material(MaterialType_1.MaterialType.EntityCard).location(LocationType_1.LocationType.PlayerDiscard).player(this.player).length;
35
- if (entitiesSacrificed) {
36
- this.memorize(Memory_1.Memory.EffectCount, entitiesSacrificed);
37
- return [];
38
- }
39
- else {
40
- return [this.customMove(CustomMoveType_1.CustomMoveType.EndEffect)];
41
- }
42
- };
43
- VetalaEffectRule.prototype.getPlayerMoves = function () {
44
- return _super.prototype.getPlayerMoves.call(this).concat(this.customMove(CustomMoveType_1.CustomMoveType.EndEffect));
45
- };
46
- VetalaEffectRule.prototype.getAvailableDestinations = function (card, cardIndex) {
47
- return _super.prototype.getAvailableDestinations.call(this, card, cardIndex).filter(function (space) { return (0, rules_api_1.areAdjacentSquares)(card.location, space); });
48
- };
49
- VetalaEffectRule.prototype.onCardMoved = function () {
50
- var count = this.memorize(Memory_1.Memory.EffectCount, function (count) { return count - 1; });
51
- return count > 0 ? [] : [this.customMove(CustomMoveType_1.CustomMoveType.EndEffect)];
52
- };
53
- VetalaEffectRule.prototype.onCardSacrificed = function () {
54
- return this.onCardMoved();
55
- };
56
- VetalaEffectRule.prototype.onRuleEnd = function () {
57
- this.forget(Memory_1.Memory.EffectCount);
58
- return [];
59
- };
60
- return VetalaEffectRule;
61
- }(MoveEffectRule_1.MoveEffectRule));
62
- exports.VetalaEffectRule = VetalaEffectRule;
1
+ import { areAdjacentSquares } from '@gamepark/rules-api';
2
+ import { CustomMoveType } from '../../CustomMoveType';
3
+ import { MoveEffectRule } from '../../material/entity/MoveEffectRule';
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 VetalaEffectRule extends MoveEffectRule {
9
+ ruleId = RuleId.VetalaEffect;
10
+ onRuleStart() {
11
+ const entitiesSacrificed = this.material(MaterialType.EntityCard).location(LocationType.PlayerDiscard).player(this.player).length;
12
+ if (entitiesSacrificed) {
13
+ this.memorize(Memory.EffectCount, entitiesSacrificed);
14
+ return [];
15
+ }
16
+ else {
17
+ return [this.customMove(CustomMoveType.EndEffect)];
18
+ }
19
+ }
20
+ getPlayerMoves() {
21
+ return super.getPlayerMoves().concat(this.customMove(CustomMoveType.EndEffect));
22
+ }
23
+ getAvailableDestinations(card, cardIndex) {
24
+ return super.getAvailableDestinations(card, cardIndex).filter((space) => areAdjacentSquares(card.location, space));
25
+ }
26
+ onCardMoved() {
27
+ const count = this.memorize(Memory.EffectCount, (count) => count - 1);
28
+ return count > 0 ? [] : [this.customMove(CustomMoveType.EndEffect)];
29
+ }
30
+ onCardSacrificed() {
31
+ return this.onCardMoved();
32
+ }
33
+ onRuleEnd() {
34
+ this.forget(Memory.EffectCount);
35
+ return [];
36
+ }
37
+ }
@@ -1,7 +1,7 @@
1
- import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
2
- import { RuleId } from '../RuleId';
3
- export declare class ViracochaEffectRule extends SacrificeEffectRule {
4
- ruleId: RuleId;
5
- getCardsToSacrifice(): import("@gamepark/rules-api").Material<number, number, number>;
6
- onSacrifice(): (import("@gamepark/rules-api").CustomMove<number> | import("@gamepark/rules-api").CreateItem<number, number, number>)[];
7
- }
1
+ import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
2
+ import { RuleId } from '../RuleId';
3
+ export declare class ViracochaEffectRule extends SacrificeEffectRule {
4
+ ruleId: RuleId;
5
+ getCardsToSacrifice(): import("@gamepark/rules-api").Material<number, number, number>;
6
+ onSacrifice(): (import("@gamepark/rules-api").CustomMove | import("@gamepark/rules-api").CreateItem<number, number, number>)[];
7
+ }
@@ -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.ViracochaEffectRule = void 0;
19
- var CustomMoveType_1 = require("../../CustomMoveType");
20
- var Entity_1 = require("../../material/Entity");
21
- var SacrificeEffectRule_1 = require("../../material/entity/SacrificeEffectRule");
22
- var Pantheon_1 = require("../../material/Pantheon");
23
- var RuleId_1 = require("../RuleId");
24
- var ViracochaEffectRule = (function (_super) {
25
- __extends(ViracochaEffectRule, _super);
26
- function ViracochaEffectRule() {
27
- var _this = _super !== null && _super.apply(this, arguments) || this;
28
- _this.ruleId = RuleId_1.RuleId.ViracochaEffect;
29
- return _this;
30
- }
31
- ViracochaEffectRule.prototype.getCardsToSacrifice = function () {
32
- return _super.prototype.getCardsToSacrifice.call(this).id(function (id) { return (0, Entity_1.isCreature)(id.front); });
33
- };
34
- ViracochaEffectRule.prototype.onSacrifice = function () {
35
- var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
36
- return [pantheon.gainFavor(2), this.customMove(CustomMoveType_1.CustomMoveType.EndEffect)];
37
- };
38
- return ViracochaEffectRule;
39
- }(SacrificeEffectRule_1.SacrificeEffectRule));
40
- exports.ViracochaEffectRule = ViracochaEffectRule;
1
+ import { CustomMoveType } from '../../CustomMoveType';
2
+ import { isCreature } from '../../material/Entity';
3
+ import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
4
+ import { Pantheon } from '../../material/Pantheon';
5
+ import { RuleId } from '../RuleId';
6
+ export class ViracochaEffectRule extends SacrificeEffectRule {
7
+ ruleId = RuleId.ViracochaEffect;
8
+ getCardsToSacrifice() {
9
+ return super.getCardsToSacrifice().id((id) => isCreature(id.front));
10
+ }
11
+ onSacrifice() {
12
+ const pantheon = new Pantheon(this.game, this.player);
13
+ return [pantheon.gainFavor(2), this.customMove(CustomMoveType.EndEffect)];
14
+ }
15
+ }
@@ -0,0 +1,10 @@
1
+ import { CustomMove, MaterialMove } from '@gamepark/rules-api';
2
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
3
+ import { RuleId } from '../RuleId';
4
+ export declare class VishnuEffectRule extends PlayerEffectRule {
5
+ ruleId: RuleId;
6
+ playEffect(): (import("@gamepark/rules-api").MoveItem<number, number, number> | import("@gamepark/rules-api").StartRule<RuleId>)[];
7
+ onRuleStart(): MaterialMove[];
8
+ getPlayerMoves(): CustomMove[];
9
+ onCustomMove(move: CustomMove): MaterialMove[];
10
+ }
@@ -0,0 +1,44 @@
1
+ import { CustomMoveType } from '../../CustomMoveType';
2
+ import { Destiny } from '../../material/Destiny';
3
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
4
+ import { LocationType } from '../../material/LocationType';
5
+ import { MaterialType } from '../../material/MaterialType';
6
+ import { Pantheon } from '../../material/Pantheon';
7
+ import { Memory } from '../../Memory';
8
+ import { RuleId } from '../RuleId';
9
+ export class VishnuEffectRule extends PlayerEffectRule {
10
+ ruleId = RuleId.VishnuEffect;
11
+ playEffect() {
12
+ const godsToExile = new Destiny(this.game).cardsWithoutToken.location(LocationType.SanctuaryGodSpot);
13
+ if (!godsToExile.length)
14
+ return [];
15
+ this.memorize(Memory.TargetEntities, godsToExile.getIndexes());
16
+ const hiddenGods = godsToExile.rotation((rotation) => rotation !== undefined);
17
+ return [...hiddenGods.rotateItems(undefined), this.startRule(this.ruleId)];
18
+ }
19
+ onRuleStart() {
20
+ const moves = this.getPlayerMoves();
21
+ return moves.length === 1 ? moves : [];
22
+ }
23
+ getPlayerMoves() {
24
+ return this.remind(Memory.TargetEntities).map((entity) => this.customMove(CustomMoveType.ChooseEntityCard, entity));
25
+ }
26
+ onCustomMove(move) {
27
+ if (move.type === CustomMoveType.ChooseEntityCard) {
28
+ const pantheon = new Pantheon(this.game, this.player);
29
+ const gods = this.material(MaterialType.EntityCard).index(this.remind(Memory.TargetEntities));
30
+ const entity = gods.getItem(move.data).id.front;
31
+ return [
32
+ ...gods.deleteItems(),
33
+ pantheon.gainFavor(gods.length),
34
+ ...pantheon.getInvokeGains(entity, this.card.location.y),
35
+ this.customMove(CustomMoveType.EndEffect)
36
+ ];
37
+ }
38
+ else if (move.type === CustomMoveType.EndEffect) {
39
+ this.forget(Memory.TargetEntities);
40
+ return this.onEndEffect();
41
+ }
42
+ return [];
43
+ }
44
+ }
@@ -1,8 +1,8 @@
1
- import { ItemMove } from '@gamepark/rules-api';
2
- import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
3
- import { RuleId } from '../RuleId';
4
- export declare class WerehyenaEffectRule extends PlayerEffectRule {
5
- ruleId: RuleId;
6
- getPlayerMoves(): import("@gamepark/rules-api").MaterialMove<number, number, number, number>[];
7
- beforeItemMove(move: ItemMove): import("@gamepark/rules-api").MaterialMove<number, number, number, number>[];
8
- }
1
+ import { ItemMove } from '@gamepark/rules-api';
2
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
3
+ import { RuleId } from '../RuleId';
4
+ export declare class WerehyenaEffectRule extends PlayerEffectRule {
5
+ ruleId: RuleId;
6
+ getPlayerMoves(): import("@gamepark/rules-api").MaterialMove[];
7
+ beforeItemMove(move: ItemMove): import("@gamepark/rules-api").MaterialMove[];
8
+ }
@@ -1,98 +1,37 @@
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.WerehyenaEffectRule = void 0;
44
- var rules_api_1 = require("@gamepark/rules-api");
45
- var Entity_1 = require("../../material/Entity");
46
- var PlaceCardEffectRule_1 = require("../../material/entity/PlaceCardEffectRule");
47
- var PlayerEffectRule_1 = require("../../material/entity/PlayerEffectRule");
48
- var SacrificeEffectRule_1 = require("../../material/entity/SacrificeEffectRule");
49
- var LocationType_1 = require("../../material/LocationType");
50
- var MaterialType_1 = require("../../material/MaterialType");
51
- var RuleId_1 = require("../RuleId");
52
- var WerehyenaEffectRule = (function (_super) {
53
- __extends(WerehyenaEffectRule, _super);
54
- function WerehyenaEffectRule() {
55
- var _this = _super !== null && _super.apply(this, arguments) || this;
56
- _this.ruleId = RuleId_1.RuleId.WerehyenaEffect;
57
- return _this;
58
- }
59
- WerehyenaEffectRule.prototype.getPlayerMoves = function () {
60
- return __spreadArray(__spreadArray([], __read(new WerehyenaSacrificeEffectRule(this.game).getPlayerMoves()), false), __read(new WerehyenaCallEffectRule(this.game).getPlayerMoves()), false);
61
- };
62
- WerehyenaEffectRule.prototype.beforeItemMove = function (move) {
63
- if ((0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.EntityCard)(move)) {
64
- if (move.location.type === LocationType_1.LocationType.PlayerDiscard) {
65
- return new WerehyenaSacrificeEffectRule(this.game).beforeItemMove(move);
66
- }
67
- else if (move.location.type === LocationType_1.LocationType.Pantheon) {
68
- return new WerehyenaCallEffectRule(this.game).beforeItemMove(move);
69
- }
70
- }
71
- return [];
72
- };
73
- return WerehyenaEffectRule;
74
- }(PlayerEffectRule_1.PlayerEffectRule));
75
- exports.WerehyenaEffectRule = WerehyenaEffectRule;
76
- var WerehyenaSacrificeEffectRule = (function (_super) {
77
- __extends(WerehyenaSacrificeEffectRule, _super);
78
- function WerehyenaSacrificeEffectRule() {
79
- return _super !== null && _super.apply(this, arguments) || this;
80
- }
81
- WerehyenaSacrificeEffectRule.prototype.getCardsToSacrifice = function () {
82
- return _super.prototype.getCardsToSacrifice.call(this).id(function (id) { return (0, Entity_1.isCreature)(id.front); });
83
- };
84
- return WerehyenaSacrificeEffectRule;
85
- }(SacrificeEffectRule_1.SacrificeEffectRule));
86
- var WerehyenaCallEffectRule = (function (_super) {
87
- __extends(WerehyenaCallEffectRule, _super);
88
- function WerehyenaCallEffectRule() {
89
- return _super !== null && _super.apply(this, arguments) || this;
90
- }
91
- WerehyenaCallEffectRule.prototype.getCardsToPlace = function () {
92
- var _this = this;
93
- return this.material(MaterialType_1.MaterialType.EntityCard)
94
- .location(LocationType_1.LocationType.PlayerDiscard)
95
- .player(function (player) { return player !== _this.player; });
96
- };
97
- return WerehyenaCallEffectRule;
98
- }(PlaceCardEffectRule_1.PlaceCardEffectRule));
1
+ import { isMoveItemType } from '@gamepark/rules-api';
2
+ import { isCreature } from '../../material/Entity';
3
+ import { PlaceCardEffectRule } from '../../material/entity/PlaceCardEffectRule';
4
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
5
+ import { SacrificeEffectRule } from '../../material/entity/SacrificeEffectRule';
6
+ import { LocationType } from '../../material/LocationType';
7
+ import { MaterialType } from '../../material/MaterialType';
8
+ import { RuleId } from '../RuleId';
9
+ export class WerehyenaEffectRule extends PlayerEffectRule {
10
+ ruleId = RuleId.WerehyenaEffect;
11
+ getPlayerMoves() {
12
+ return [...new WerehyenaSacrificeEffectRule(this.game).getPlayerMoves(), ...new WerehyenaCallEffectRule(this.game).getPlayerMoves()];
13
+ }
14
+ beforeItemMove(move) {
15
+ if (isMoveItemType(MaterialType.EntityCard)(move)) {
16
+ if (move.location.type === LocationType.PlayerDiscard) {
17
+ return new WerehyenaSacrificeEffectRule(this.game).beforeItemMove(move);
18
+ }
19
+ else if (move.location.type === LocationType.Pantheon) {
20
+ return new WerehyenaCallEffectRule(this.game).beforeItemMove(move);
21
+ }
22
+ }
23
+ return [];
24
+ }
25
+ }
26
+ class WerehyenaSacrificeEffectRule extends SacrificeEffectRule {
27
+ getCardsToSacrifice() {
28
+ return super.getCardsToSacrifice().id((id) => isCreature(id.front));
29
+ }
30
+ }
31
+ class WerehyenaCallEffectRule extends PlaceCardEffectRule {
32
+ getCardsToPlace() {
33
+ return this.material(MaterialType.EntityCard)
34
+ .location(LocationType.PlayerDiscard)
35
+ .player((player) => player !== this.player);
36
+ }
37
+ }
@@ -1,9 +1,9 @@
1
- import { ItemMove, MaterialMove } from '@gamepark/rules-api';
2
- import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
3
- import { RuleId } from '../RuleId';
4
- export declare class YanluoWangEffectRule extends PlayerEffectRule {
5
- ruleId: RuleId;
6
- onRuleStart(): import("@gamepark/rules-api").CustomMove<number>[];
7
- getPlayerMoves(): MaterialMove<number, number, number, number>[];
8
- afterItemMove(move: ItemMove): import("@gamepark/rules-api").MoveItem<number, number, number>[];
9
- }
1
+ import { ItemMove, MaterialMove } from '@gamepark/rules-api';
2
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
3
+ import { RuleId } from '../RuleId';
4
+ export declare class YanluoWangEffectRule extends PlayerEffectRule {
5
+ ruleId: RuleId;
6
+ onRuleStart(): import("@gamepark/rules-api").CustomMove[];
7
+ getPlayerMoves(): MaterialMove[];
8
+ afterItemMove(move: ItemMove): import("@gamepark/rules-api").MoveItem<number, number, number>[];
9
+ }
@@ -1,104 +1,46 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __values = (this && this.__values) || function(o) {
18
- var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
19
- if (m) return m.call(o);
20
- if (o && typeof o.length === "number") return {
21
- next: function () {
22
- if (o && i >= o.length) o = void 0;
23
- return { value: o && o[i++], done: !o };
24
- }
25
- };
26
- throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.YanluoWangEffectRule = void 0;
30
- var rules_api_1 = require("@gamepark/rules-api");
31
- var CustomMoveType_1 = require("../../CustomMoveType");
32
- var PlayerEffectRule_1 = require("../../material/entity/PlayerEffectRule");
33
- var LocationType_1 = require("../../material/LocationType");
34
- var MaterialType_1 = require("../../material/MaterialType");
35
- var Pantheon_1 = require("../../material/Pantheon");
36
- var Memory_1 = require("../../Memory");
37
- var RuleId_1 = require("../RuleId");
38
- var YanluoWangEffectRule = (function (_super) {
39
- __extends(YanluoWangEffectRule, _super);
40
- function YanluoWangEffectRule() {
41
- var _this = _super !== null && _super.apply(this, arguments) || this;
42
- _this.ruleId = RuleId_1.RuleId.YanluoWangEffect;
43
- return _this;
44
- }
45
- YanluoWangEffectRule.prototype.onRuleStart = function () {
46
- var e_1, _a;
47
- if (new Pantheon_1.Pantheon(this.game, this.player).gems) {
48
- try {
49
- for (var _b = __values(this.game.players), _c = _b.next(); !_c.done; _c = _b.next()) {
50
- var player = _c.value;
51
- if (player !== this.player) {
52
- var emptySpace = new Pantheon_1.Pantheon(this.game, player).grid[2].filter(function (space) { return space === undefined; }).length;
53
- this.memorize(Memory_1.Memory.EffectCount, emptySpace, player);
54
- }
55
- }
56
- }
57
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
58
- finally {
59
- try {
60
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
61
- }
62
- finally { if (e_1) throw e_1.error; }
63
- }
64
- return [];
65
- }
66
- else {
67
- return [this.customMove(CustomMoveType_1.CustomMoveType.EndEffect)];
68
- }
69
- };
70
- YanluoWangEffectRule.prototype.getPlayerMoves = function () {
71
- var e_2, _a;
72
- var moves = [this.customMove(CustomMoveType_1.CustomMoveType.EndEffect)];
73
- var gems = this.material(MaterialType_1.MaterialType.GemToken).location(LocationType_1.LocationType.PlayerGems).player(this.player);
74
- if (gems.getQuantity() > 0) {
75
- try {
76
- for (var _b = __values(this.game.players), _c = _b.next(); !_c.done; _c = _b.next()) {
77
- var player = _c.value;
78
- if (this.remind(Memory_1.Memory.EffectCount, player) && new Pantheon_1.Pantheon(this.game, player).favor) {
79
- moves.push(gems.moveItem({ type: LocationType_1.LocationType.PlayerGems, player: player }, 1));
80
- }
81
- }
82
- }
83
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
84
- finally {
85
- try {
86
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
87
- }
88
- finally { if (e_2) throw e_2.error; }
89
- }
90
- }
91
- return moves;
92
- };
93
- YanluoWangEffectRule.prototype.afterItemMove = function (move) {
94
- if ((0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.GemToken)(move)) {
95
- var player = move.location.player;
96
- this.memorize(Memory_1.Memory.EffectCount, function (count) { return count - 1; }, player);
97
- var favor = this.material(MaterialType_1.MaterialType.FavorToken).location(LocationType_1.LocationType.PlayerFavor).player(player);
98
- return [favor.moveItem({ type: LocationType_1.LocationType.PlayerFavor, player: this.player }, 1)];
99
- }
100
- return [];
101
- };
102
- return YanluoWangEffectRule;
103
- }(PlayerEffectRule_1.PlayerEffectRule));
104
- exports.YanluoWangEffectRule = YanluoWangEffectRule;
1
+ import { isMoveItemType } from '@gamepark/rules-api';
2
+ import { CustomMoveType } from '../../CustomMoveType';
3
+ import { PlayerEffectRule } from '../../material/entity/PlayerEffectRule';
4
+ import { LocationType } from '../../material/LocationType';
5
+ import { MaterialType } from '../../material/MaterialType';
6
+ import { Pantheon } from '../../material/Pantheon';
7
+ import { Memory } from '../../Memory';
8
+ import { RuleId } from '../RuleId';
9
+ export class YanluoWangEffectRule extends PlayerEffectRule {
10
+ ruleId = RuleId.YanluoWangEffect;
11
+ onRuleStart() {
12
+ if (new Pantheon(this.game, this.player).gems) {
13
+ for (const player of this.game.players) {
14
+ if (player !== this.player) {
15
+ const emptySpace = new Pantheon(this.game, player).grid[2].filter((space) => space === undefined).length;
16
+ this.memorize(Memory.EffectCount, emptySpace, player);
17
+ }
18
+ }
19
+ return [];
20
+ }
21
+ else {
22
+ return [this.customMove(CustomMoveType.EndEffect)];
23
+ }
24
+ }
25
+ getPlayerMoves() {
26
+ const moves = [this.customMove(CustomMoveType.EndEffect)];
27
+ const gems = this.material(MaterialType.GemToken).location(LocationType.PlayerGems).player(this.player);
28
+ if (gems.getQuantity() > 0) {
29
+ for (const player of this.game.players) {
30
+ if (this.remind(Memory.EffectCount, player) && new Pantheon(this.game, player).favor) {
31
+ moves.push(gems.moveItem({ type: LocationType.PlayerGems, player }, 1));
32
+ }
33
+ }
34
+ }
35
+ return moves;
36
+ }
37
+ afterItemMove(move) {
38
+ if (isMoveItemType(MaterialType.GemToken)(move)) {
39
+ const player = move.location.player;
40
+ this.memorize(Memory.EffectCount, (count) => count - 1, player);
41
+ const favor = this.material(MaterialType.FavorToken).location(LocationType.PlayerFavor).player(player);
42
+ return [favor.moveItem({ type: LocationType.PlayerFavor, player: this.player }, 1)];
43
+ }
44
+ return [];
45
+ }
46
+ }
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@gamepark/mythologies",
3
- "version": "0.10.0",
3
+ "version": "0.12.0",
4
4
  "description": "The rules of Mythologies adapted for Game Park",
5
5
  "sideEffects": false,
6
+ "type": "module",
6
7
  "main": "dist/index.js",
7
8
  "types": "dist/index.d.ts",
8
9
  "files": [
@@ -20,14 +21,12 @@
20
21
  "lint": "eslint --fix"
21
22
  },
22
23
  "peerDependencies": {
23
- "@gamepark/rules-api": ">=6.38.5",
24
- "lodash": ">=4.17"
24
+ "@gamepark/rules-api": ">=7",
25
+ "es-toolkit": "^1.39.10"
25
26
  },
26
27
  "devDependencies": {
27
- "@gamepark/rules-api": "~6.38.5",
28
- "@types/lodash": "^4.17.7",
29
- "i18next": "^22.0.3",
30
- "lodash": "^4.17.21"
28
+ "@gamepark/rules-api": "~7.0.3",
29
+ "es-toolkit": "^1.39.10"
31
30
  },
32
- "gitHead": "cd62f129beedd2f9880e5ae0e19381655bde15b5"
31
+ "gitHead": "0c7452e2a5ab531208e1bc4d994ec47bfd7bfcdd"
33
32
  }