@gamepark/skyrift 0.2.9 → 0.4.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 (279) hide show
  1. package/dist/Deck.d.ts +2 -0
  2. package/dist/Deck.js +2 -0
  3. package/dist/Memory.d.ts +3 -2
  4. package/dist/Memory.js +2 -1
  5. package/dist/SkyriftRules.d.ts +33 -43
  6. package/dist/SkyriftRules.js +47 -51
  7. package/dist/SkyriftSetup.js +5 -0
  8. package/dist/material/Card.d.ts +32 -0
  9. package/dist/material/Card.js +32 -0
  10. package/dist/material/CardProperties.js +64 -0
  11. package/dist/material/CardRule.d.ts +26 -21
  12. package/dist/material/CardRule.js +53 -56
  13. package/dist/material/CardTag.d.ts +2 -1
  14. package/dist/material/CardTag.js +2 -1
  15. package/dist/material/Effect.d.ts +1 -1
  16. package/dist/material/EffectTraits.d.ts +51 -0
  17. package/dist/material/EffectTraits.js +1 -0
  18. package/dist/material/LocationType.d.ts +3 -1
  19. package/dist/material/LocationType.js +2 -0
  20. package/dist/material/MaterialType.d.ts +2 -1
  21. package/dist/material/MaterialType.js +1 -0
  22. package/dist/material/OngoingEffect.d.ts +8 -0
  23. package/dist/material/OngoingEffect.js +5 -0
  24. package/dist/material/SpecialTokenType.d.ts +3 -0
  25. package/dist/material/SpecialTokenType.js +4 -0
  26. package/dist/material/createCardRule.d.ts +3 -0
  27. package/dist/material/createCardRule.js +7 -0
  28. package/dist/material/decks/GraveHurt.d.ts +18 -0
  29. package/dist/material/decks/GraveHurt.js +19 -0
  30. package/dist/material/decks/WinSands.d.ts +18 -0
  31. package/dist/material/decks/WinSands.js +19 -0
  32. package/dist/material/decks/WindSands.d.ts +18 -0
  33. package/dist/material/decks/WindSands.js +19 -0
  34. package/dist/material/decks/gravehurt/AstralHammer.d.ts +18 -0
  35. package/dist/material/decks/gravehurt/AstralHammer.js +25 -0
  36. package/dist/material/decks/gravehurt/AstralHammerEffectRule.d.ts +4 -0
  37. package/dist/material/decks/gravehurt/AstralHammerEffectRule.js +26 -0
  38. package/dist/material/decks/gravehurt/CallOfTheEclipse.d.ts +17 -0
  39. package/dist/material/decks/gravehurt/CallOfTheEclipse.js +28 -0
  40. package/dist/material/decks/gravehurt/CallOfTheEclipseEffectRule.d.ts +5 -0
  41. package/dist/material/decks/gravehurt/CallOfTheEclipseEffectRule.js +11 -0
  42. package/dist/material/decks/gravehurt/CavernSkulker.d.ts +16 -0
  43. package/dist/material/decks/gravehurt/CavernSkulker.js +26 -0
  44. package/dist/material/decks/gravehurt/CavernSkulkerEffectRule.d.ts +4 -0
  45. package/dist/material/decks/gravehurt/CavernSkulkerEffectRule.js +15 -0
  46. package/dist/material/decks/gravehurt/Doom.d.ts +18 -0
  47. package/dist/material/decks/gravehurt/Doom.js +29 -0
  48. package/dist/material/decks/gravehurt/DoomEffectRule.d.ts +8 -0
  49. package/dist/material/decks/gravehurt/DoomEffectRule.js +32 -0
  50. package/dist/material/decks/gravehurt/InsatiableUmbraphage.d.ts +19 -0
  51. package/dist/material/decks/gravehurt/InsatiableUmbraphage.js +28 -0
  52. package/dist/material/decks/gravehurt/InsatiableUmbraphageEffectRule.d.ts +5 -0
  53. package/dist/material/decks/gravehurt/InsatiableUmbraphageEffectRule.js +21 -0
  54. package/dist/material/decks/gravehurt/MacabreLegion.d.ts +17 -0
  55. package/dist/material/decks/gravehurt/MacabreLegion.js +20 -0
  56. package/dist/material/decks/gravehurt/MoonFang.d.ts +17 -0
  57. package/dist/material/decks/gravehurt/MoonFang.js +20 -0
  58. package/dist/material/decks/gravehurt/Nosferatis.d.ts +20 -0
  59. package/dist/material/decks/gravehurt/Nosferatis.js +29 -0
  60. package/dist/material/decks/gravehurt/OstraVoiceOfTheSoul.d.ts +12 -0
  61. package/dist/material/decks/gravehurt/OstraVoiceOfTheSoul.js +11 -0
  62. package/dist/material/decks/gravehurt/ReturnInTime.d.ts +15 -0
  63. package/dist/material/decks/gravehurt/ReturnInTime.js +18 -0
  64. package/dist/material/decks/gravehurt/ScrabDoombird.d.ts +18 -0
  65. package/dist/material/decks/gravehurt/ScrabDoombird.js +21 -0
  66. package/dist/material/decks/gravehurt/TerrifyingSummoning.d.ts +18 -0
  67. package/dist/material/decks/gravehurt/TerrifyingSummoning.js +26 -0
  68. package/dist/material/decks/gravehurt/TerrifyingSummoningEffectRule.d.ts +5 -0
  69. package/dist/material/decks/gravehurt/TerrifyingSummoningEffectRule.js +11 -0
  70. package/dist/material/decks/gravehurt/TheGreatToady.d.ts +19 -0
  71. package/dist/material/decks/gravehurt/TheGreatToady.js +42 -0
  72. package/dist/material/decks/gravehurt/Umbraboros.d.ts +22 -0
  73. package/dist/material/decks/gravehurt/Umbraboros.js +30 -0
  74. package/dist/material/decks/gravehurt/UndeadRule.d.ts +5 -0
  75. package/dist/material/decks/gravehurt/UndeadRule.js +11 -0
  76. package/dist/material/decks/gravehurt/Whisperers.d.ts +13 -0
  77. package/dist/material/decks/gravehurt/Whisperers.js +17 -0
  78. package/dist/material/decks/gravehurt/WitchingHour.d.ts +16 -0
  79. package/dist/material/decks/gravehurt/WitchingHour.js +19 -0
  80. package/dist/material/decks/heathblade/ArcherRule.js +2 -2
  81. package/dist/material/decks/heathblade/Armada.d.ts +4 -3
  82. package/dist/material/decks/heathblade/Armada.js +5 -3
  83. package/dist/material/decks/heathblade/ArmadaEffectRule.d.ts +1 -1
  84. package/dist/material/decks/heathblade/ArmadaEffectRule.js +4 -1
  85. package/dist/material/decks/heathblade/Confluence.d.ts +2 -3
  86. package/dist/material/decks/heathblade/Confluence.js +5 -3
  87. package/dist/material/decks/heathblade/CoverOfNight.d.ts +4 -2
  88. package/dist/material/decks/heathblade/CoverOfNight.js +7 -1
  89. package/dist/material/decks/heathblade/Harvest.d.ts +4 -2
  90. package/dist/material/decks/heathblade/Harvest.js +7 -1
  91. package/dist/material/decks/heathblade/LoyalSquire.d.ts +6 -3
  92. package/dist/material/decks/heathblade/LoyalSquire.js +11 -4
  93. package/dist/material/decks/heathblade/Nightguard.js +3 -9
  94. package/dist/material/decks/heathblade/OzmaTheMage.d.ts +6 -4
  95. package/dist/material/decks/heathblade/OzmaTheMage.js +9 -3
  96. package/dist/material/decks/heathblade/OzmaTheMageEffectRule.js +1 -3
  97. package/dist/material/decks/heathblade/PrincessLitha.d.ts +1 -2
  98. package/dist/material/decks/heathblade/PrincessLitha.js +4 -11
  99. package/dist/material/decks/heathblade/RobbinsMasterOfArms.d.ts +6 -2
  100. package/dist/material/decks/heathblade/RobbinsMasterOfArms.js +10 -1
  101. package/dist/material/decks/heathblade/RobbinsMasterOfArmsEffectRule.js +1 -3
  102. package/dist/material/decks/heathblade/Sacrifice.d.ts +7 -2
  103. package/dist/material/decks/heathblade/Sacrifice.js +19 -1
  104. package/dist/material/decks/heathblade/SoulBlade.d.ts +5 -2
  105. package/dist/material/decks/heathblade/SoulBlade.js +8 -1
  106. package/dist/material/decks/heathblade/WatchTower.d.ts +5 -3
  107. package/dist/material/decks/heathblade/WatchTower.js +10 -3
  108. package/dist/material/decks/highwave/AeliaSteadyHand.d.ts +1 -1
  109. package/dist/material/decks/highwave/AeliaSteadyHand.js +4 -1
  110. package/dist/material/decks/highwave/BoardingParty.d.ts +1 -1
  111. package/dist/material/decks/highwave/BoardingParty.js +4 -1
  112. package/dist/material/decks/highwave/BoardingPartyEffectRule.d.ts +4 -3
  113. package/dist/material/decks/highwave/BoardingPartyEffectRule.js +18 -23
  114. package/dist/material/decks/highwave/BonnyTheGunner.d.ts +0 -2
  115. package/dist/material/decks/highwave/BonnyTheGunner.js +0 -2
  116. package/dist/material/decks/highwave/CannonCardRule.d.ts +3 -0
  117. package/dist/material/decks/highwave/CannonCardRule.js +11 -10
  118. package/dist/material/decks/highwave/DarkArmageddon.d.ts +4 -2
  119. package/dist/material/decks/highwave/DarkArmageddon.js +7 -1
  120. package/dist/material/decks/highwave/DawnsDoom.d.ts +4 -2
  121. package/dist/material/decks/highwave/DawnsDoom.js +9 -1
  122. package/dist/material/decks/highwave/EyeOfSky.d.ts +2 -4
  123. package/dist/material/decks/highwave/EyeOfSky.js +5 -7
  124. package/dist/material/decks/highwave/EyeOfSkyEffectRule.d.ts +4 -4
  125. package/dist/material/decks/highwave/EyeOfSkyEffectRule.js +1 -3
  126. package/dist/material/decks/highwave/FortunesCourse.d.ts +1 -2
  127. package/dist/material/decks/highwave/FortunesCourse.js +3 -3
  128. package/dist/material/decks/highwave/GoldenApocalypse.d.ts +1 -1
  129. package/dist/material/decks/highwave/GoldenApocalypse.js +4 -1
  130. package/dist/material/decks/highwave/LongJawsSilver.d.ts +2 -3
  131. package/dist/material/decks/highwave/LongJawsSilver.js +7 -5
  132. package/dist/material/decks/highwave/OscarScullion.d.ts +4 -2
  133. package/dist/material/decks/highwave/OscarScullion.js +7 -1
  134. package/dist/material/decks/highwave/OttoFactotum.d.ts +4 -2
  135. package/dist/material/decks/highwave/OttoFactotum.js +10 -1
  136. package/dist/material/decks/highwave/RiggingRaiders.d.ts +5 -2
  137. package/dist/material/decks/highwave/RiggingRaiders.js +9 -1
  138. package/dist/material/decks/highwave/SeaScorcher.d.ts +6 -3
  139. package/dist/material/decks/highwave/SeaScorcher.js +13 -2
  140. package/dist/material/decks/highwave/SurpriseLoot.d.ts +4 -2
  141. package/dist/material/decks/highwave/SurpriseLoot.js +7 -1
  142. package/dist/material/decks/highwave/TideRover.d.ts +6 -2
  143. package/dist/material/decks/highwave/TideRover.js +15 -1
  144. package/dist/material/decks/highwave/TropicalRuffian.d.ts +1 -1
  145. package/dist/material/decks/highwave/TropicalRuffian.js +4 -1
  146. package/dist/material/decks/windsands/AbiSnakeCharmer.d.ts +13 -0
  147. package/dist/material/decks/windsands/AbiSnakeCharmer.js +15 -0
  148. package/dist/material/decks/windsands/AbiSnakeCharmerEffectRule.d.ts +8 -0
  149. package/dist/material/decks/windsands/AbiSnakeCharmerEffectRule.js +35 -0
  150. package/dist/material/decks/windsands/AncientCurse.d.ts +17 -0
  151. package/dist/material/decks/windsands/AncientCurse.js +25 -0
  152. package/dist/material/decks/windsands/Catadjinn.d.ts +14 -0
  153. package/dist/material/decks/windsands/Catadjinn.js +20 -0
  154. package/dist/material/decks/windsands/DeathTrap.d.ts +20 -0
  155. package/dist/material/decks/windsands/DeathTrap.js +38 -0
  156. package/dist/material/decks/windsands/DesertRaider.d.ts +17 -0
  157. package/dist/material/decks/windsands/DesertRaider.js +21 -0
  158. package/dist/material/decks/windsands/DuneWardrums.d.ts +12 -0
  159. package/dist/material/decks/windsands/DuneWardrums.js +14 -0
  160. package/dist/material/decks/windsands/ErgDeathslayer.d.ts +13 -0
  161. package/dist/material/decks/windsands/ErgDeathslayer.js +15 -0
  162. package/dist/material/decks/windsands/MalikShadowtracker.d.ts +18 -0
  163. package/dist/material/decks/windsands/MalikShadowtracker.js +24 -0
  164. package/dist/material/decks/windsands/Metamorph.d.ts +14 -0
  165. package/dist/material/decks/windsands/Metamorph.js +18 -0
  166. package/dist/material/decks/windsands/MushaFakir.d.ts +14 -0
  167. package/dist/material/decks/windsands/MushaFakir.js +18 -0
  168. package/dist/material/decks/windsands/OasisShaman.d.ts +13 -0
  169. package/dist/material/decks/windsands/OasisShaman.js +15 -0
  170. package/dist/material/decks/windsands/SandWalkers.d.ts +21 -0
  171. package/dist/material/decks/windsands/SandWalkers.js +30 -0
  172. package/dist/material/decks/windsands/StarlightBazaar.d.ts +15 -0
  173. package/dist/material/decks/windsands/StarlightBazaar.js +18 -0
  174. package/dist/material/decks/windsands/Vandals.d.ts +18 -0
  175. package/dist/material/decks/windsands/Vandals.js +25 -0
  176. package/dist/material/decks/windsands/WindWrath.d.ts +13 -0
  177. package/dist/material/decks/windsands/WindWrath.js +15 -0
  178. package/dist/material/decks/windsands/WindWrathEffectRule.d.ts +5 -0
  179. package/dist/material/decks/windsands/WindWrathEffectRule.js +17 -0
  180. package/dist/material/decks/windsands/WishLamp.d.ts +16 -0
  181. package/dist/material/decks/windsands/WishLamp.js +22 -0
  182. package/dist/material/decks/winsands/AbiSnakeCharmer.d.ts +13 -0
  183. package/dist/material/decks/winsands/AbiSnakeCharmer.js +12 -0
  184. package/dist/material/decks/winsands/AbiSnakeCharmerEffectRule.d.ts +7 -0
  185. package/dist/material/decks/winsands/AbiSnakeCharmerEffectRule.js +33 -0
  186. package/dist/material/decks/winsands/AncientCurse.d.ts +16 -0
  187. package/dist/material/decks/winsands/AncientCurse.js +23 -0
  188. package/dist/material/decks/winsands/Catadjinn.d.ts +14 -0
  189. package/dist/material/decks/winsands/Catadjinn.js +24 -0
  190. package/dist/material/decks/winsands/CreatureBonusCardRule.d.ts +4 -0
  191. package/dist/material/decks/winsands/CreatureBonusCardRule.js +14 -0
  192. package/dist/material/decks/winsands/DeathTrap.d.ts +14 -0
  193. package/dist/material/decks/winsands/DeathTrap.js +16 -0
  194. package/dist/material/decks/winsands/DeathTrapEffectRule.d.ts +4 -0
  195. package/dist/material/decks/winsands/DeathTrapEffectRule.js +18 -0
  196. package/dist/material/decks/winsands/DesertRaider.d.ts +13 -0
  197. package/dist/material/decks/winsands/DesertRaider.js +12 -0
  198. package/dist/material/decks/winsands/DesertRaiderEffectRule.d.ts +4 -0
  199. package/dist/material/decks/winsands/DesertRaiderEffectRule.js +17 -0
  200. package/dist/material/decks/winsands/DuneWardrums.d.ts +12 -0
  201. package/dist/material/decks/winsands/DuneWardrums.js +22 -0
  202. package/dist/material/decks/winsands/ErgDeathslayer.d.ts +13 -0
  203. package/dist/material/decks/winsands/ErgDeathslayer.js +19 -0
  204. package/dist/material/decks/winsands/MalikShadowtracker.d.ts +14 -0
  205. package/dist/material/decks/winsands/MalikShadowtracker.js +16 -0
  206. package/dist/material/decks/winsands/MalikShadowtrackerEffectRule.d.ts +4 -0
  207. package/dist/material/decks/winsands/MalikShadowtrackerEffectRule.js +13 -0
  208. package/dist/material/decks/winsands/Metamorph.d.ts +14 -0
  209. package/dist/material/decks/winsands/Metamorph.js +15 -0
  210. package/dist/material/decks/winsands/MushaFakir.d.ts +15 -0
  211. package/dist/material/decks/winsands/MushaFakir.js +16 -0
  212. package/dist/material/decks/winsands/OasisShaman.d.ts +13 -0
  213. package/dist/material/decks/winsands/OasisShaman.js +12 -0
  214. package/dist/material/decks/winsands/OasisShamanEffectRule.d.ts +8 -0
  215. package/dist/material/decks/winsands/OasisShamanEffectRule.js +33 -0
  216. package/dist/material/decks/winsands/SandWalkers.d.ts +17 -0
  217. package/dist/material/decks/winsands/SandWalkers.js +26 -0
  218. package/dist/material/decks/winsands/SandWalkersEffectRule.d.ts +5 -0
  219. package/dist/material/decks/winsands/SandWalkersEffectRule.js +25 -0
  220. package/dist/material/decks/winsands/StarlightBazaar.d.ts +13 -0
  221. package/dist/material/decks/winsands/StarlightBazaar.js +12 -0
  222. package/dist/material/decks/winsands/StarlightBazaarEffectRule.d.ts +4 -0
  223. package/dist/material/decks/winsands/StarlightBazaarEffectRule.js +6 -0
  224. package/dist/material/decks/winsands/Vandals.d.ts +13 -0
  225. package/dist/material/decks/winsands/Vandals.js +12 -0
  226. package/dist/material/decks/winsands/VandalsEffectRule.d.ts +4 -0
  227. package/dist/material/decks/winsands/VandalsEffectRule.js +14 -0
  228. package/dist/material/decks/winsands/WindWrath.d.ts +13 -0
  229. package/dist/material/decks/winsands/WindWrath.js +12 -0
  230. package/dist/material/decks/winsands/WindWrathEffectRule.d.ts +5 -0
  231. package/dist/material/decks/winsands/WindWrathEffectRule.js +20 -0
  232. package/dist/material/decks/winsands/WishLamp.d.ts +13 -0
  233. package/dist/material/decks/winsands/WishLamp.js +12 -0
  234. package/dist/material/decks/winsands/WishLampEffectRule.d.ts +10 -0
  235. package/dist/material/decks/winsands/WishLampEffectRule.js +46 -0
  236. package/dist/rules/ChallengeEffectRule.d.ts +6 -0
  237. package/dist/rules/ChallengeEffectRule.js +17 -0
  238. package/dist/rules/ChallengeResponseRule.d.ts +8 -0
  239. package/dist/rules/ChallengeResponseRule.js +31 -0
  240. package/dist/rules/ChooseStartPlayerEffectRule.d.ts +6 -0
  241. package/dist/rules/ChooseStartPlayerEffectRule.js +15 -0
  242. package/dist/rules/DestroyEffectRule.d.ts +5 -2
  243. package/dist/rules/DestroyEffectRule.js +26 -3
  244. package/dist/rules/DiscardEffectRule.d.ts +5 -3
  245. package/dist/rules/DiscardEffectRule.js +13 -1
  246. package/dist/rules/DrawEffectRule.d.ts +4 -2
  247. package/dist/rules/DrawEffectRule.js +9 -6
  248. package/dist/rules/EffectRule.d.ts +4 -2
  249. package/dist/rules/EffectRule.js +12 -4
  250. package/dist/rules/EndRoundRule.js +11 -17
  251. package/dist/rules/GainPowerTokensEffectRule.d.ts +8 -0
  252. package/dist/rules/GainPowerTokensEffectRule.js +25 -0
  253. package/dist/rules/MulliganEffectRule.d.ts +7 -0
  254. package/dist/rules/MulliganEffectRule.js +19 -0
  255. package/dist/rules/PlayCardEffectRule.d.ts +9 -0
  256. package/dist/rules/PlayCardEffectRule.js +37 -0
  257. package/dist/rules/PlayCardRule.js +14 -29
  258. package/dist/rules/PlayerHelper.d.ts +8 -3
  259. package/dist/rules/PlayerHelper.js +40 -6
  260. package/dist/rules/PrepareNextRoundRule.js +7 -3
  261. package/dist/rules/PutCardUnderEffectRule.d.ts +7 -0
  262. package/dist/rules/PutCardUnderEffectRule.js +22 -0
  263. package/dist/rules/PutPowerTokenEffectRule.d.ts +4 -2
  264. package/dist/rules/PutPowerTokenEffectRule.js +24 -4
  265. package/dist/rules/ReturnCardEffectRule.d.ts +9 -0
  266. package/dist/rules/ReturnCardEffectRule.js +36 -0
  267. package/dist/rules/ReturnCardRule.d.ts +5 -3
  268. package/dist/rules/ReturnCardRule.js +18 -8
  269. package/dist/rules/RuleId.d.ts +17 -24
  270. package/dist/rules/RuleId.js +16 -23
  271. package/dist/rules/StartPlayerTurnRule.js +5 -5
  272. package/dist/rules/StashPowerTokensEffectRule.d.ts +5 -0
  273. package/dist/rules/StashPowerTokensEffectRule.js +15 -0
  274. package/dist/rules/StealCrystalEffectRule.js +3 -3
  275. package/dist/rules/StunCardRule.d.ts +4 -2
  276. package/dist/rules/StunCardRule.js +24 -19
  277. package/dist/rules/SwitchSideEffectRule.d.ts +11 -0
  278. package/dist/rules/SwitchSideEffectRule.js +33 -0
  279. package/package.json +3 -3
@@ -0,0 +1,16 @@
1
+ import { Card } from '../../Card';
2
+ import { CardRule } from '../../CardRule';
3
+ import { CardSuit } from '../../CardSuit';
4
+ import { CardType } from '../../CardType';
5
+ import { PreventPlayCardEffect } from '../../EffectTraits';
6
+ declare class WitchingHourRule extends CardRule implements PreventPlayCardEffect {
7
+ onEnters(): void;
8
+ preventPlayCard(card: Card): boolean;
9
+ }
10
+ export declare const WitchingHour: {
11
+ power: number;
12
+ type: CardType;
13
+ suit: CardSuit;
14
+ rule: typeof WitchingHourRule;
15
+ };
16
+ export {};
@@ -0,0 +1,19 @@
1
+ import { cardProperties } from '../../CardProperties';
2
+ import { CardRule } from '../../CardRule';
3
+ import { CardSuit } from '../../CardSuit';
4
+ import { CardType } from '../../CardType';
5
+ import { OngoingEffectType } from '../../OngoingEffect';
6
+ class WitchingHourRule extends CardRule {
7
+ onEnters() {
8
+ this.addOngoingEffect(OngoingEffectType.PreventPlayCard);
9
+ }
10
+ preventPlayCard(card) {
11
+ return cardProperties[card].suit === CardSuit.Twilight;
12
+ }
13
+ }
14
+ export const WitchingHour = {
15
+ power: 3,
16
+ type: CardType.Action,
17
+ suit: CardSuit.Night,
18
+ rule: WitchingHourRule
19
+ };
@@ -1,7 +1,7 @@
1
1
  import { Memory } from '../../../Memory';
2
2
  import { PlayerHelper } from '../../../rules/PlayerHelper';
3
+ import { Card } from '../../Card';
3
4
  import { CardRule } from '../../CardRule';
4
- import { CardTag } from '../../CardTag';
5
5
  export class ArcherRule extends CardRule {
6
6
  getPowerIfNotStunned() {
7
7
  if (this.remind(Memory.CurrentPlayer) === this.player || this.hasElaraBlazingArrow()) {
@@ -10,6 +10,6 @@ export class ArcherRule extends CardRule {
10
10
  return super.getPowerIfNotStunned();
11
11
  }
12
12
  hasElaraBlazingArrow() {
13
- return new PlayerHelper(this.game, this.player).cardRules.some((rule) => rule.hasPermanentEffectOnTag(CardTag.Archer));
13
+ return new PlayerHelper(this.game, this.player).hasCard(Card.ElaraBlazingArrow);
14
14
  }
15
15
  }
@@ -1,9 +1,10 @@
1
1
  import { CardRule } from '../../CardRule';
2
2
  import { CardSuit } from '../../CardSuit';
3
3
  import { CardType } from '../../CardType';
4
- declare class ArmadaRule extends CardRule {
5
- challenge: boolean;
6
- onChallengeAccepted(): import("@gamepark/rules-api").CustomMove[];
4
+ import { ChallengeEffect } from '../../EffectTraits';
5
+ declare class ArmadaRule extends CardRule implements ChallengeEffect {
6
+ onEnters(): void;
7
+ onChallengeAccepted(): void;
7
8
  }
8
9
  export declare const Armada: {
9
10
  power: number;
@@ -1,11 +1,13 @@
1
+ import { RuleId } from '../../../rules/RuleId';
1
2
  import { CardRule } from '../../CardRule';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardType } from '../../CardType';
4
5
  class ArmadaRule extends CardRule {
5
- challenge = true;
6
+ onEnters() {
7
+ this.addPendingEffect(RuleId.ChallengeEffect);
8
+ }
6
9
  onChallengeAccepted() {
7
- this.addPendingEffect();
8
- return super.onChallengeAccepted();
10
+ this.addPendingEffect(RuleId.ArmadaEffect);
9
11
  }
10
12
  }
11
13
  export const Armada = {
@@ -1,7 +1,7 @@
1
1
  import { CustomMove } from '@gamepark/rules-api';
2
2
  import { DiscardEffectRule } from '../../../rules/DiscardEffectRule';
3
3
  export declare class ArmadaEffectRule extends DiscardEffectRule {
4
- discardCount: number;
5
4
  getPlayerMoves(): import("@gamepark/rules-api").MaterialMove[];
5
+ onDiscard(): never[];
6
6
  onCustomMove(move: CustomMove): import("@gamepark/rules-api").MaterialMove[];
7
7
  }
@@ -2,12 +2,15 @@ import { CustomMoveType } from '../../../CustomMoveType';
2
2
  import { Memory } from '../../../Memory';
3
3
  import { DiscardEffectRule } from '../../../rules/DiscardEffectRule';
4
4
  export class ArmadaEffectRule extends DiscardEffectRule {
5
- discardCount = Infinity;
6
5
  getPlayerMoves() {
7
6
  const moves = super.getPlayerMoves();
8
7
  moves.push(this.customMove(CustomMoveType.Pass));
9
8
  return moves;
10
9
  }
10
+ onDiscard() {
11
+ this.memorize(Memory.EffectCount, (count) => count + 1);
12
+ return [];
13
+ }
11
14
  onCustomMove(move) {
12
15
  if (move.type === CustomMoveType.Pass) {
13
16
  return [this.customMove(CustomMoveType.Draw, { player: this.player, quantity: this.remind(Memory.EffectCount) }), ...this.endEffect()];
@@ -1,12 +1,11 @@
1
- import { MaterialMove } from '@gamepark/rules-api';
2
1
  import { Deck } from '../../../Deck';
3
2
  import { Card } from '../../Card';
4
3
  import { CardRule } from '../../CardRule';
5
4
  import { CardSuit } from '../../CardSuit';
6
5
  import { CardType } from '../../CardType';
7
6
  declare class ConfluenceRule extends CardRule {
8
- entersEffect: boolean;
9
- onCardEnters(card: Card, side: Deck): MaterialMove[];
7
+ onEnters(): void;
8
+ onCardEnters(card: Card, side: Deck): void;
10
9
  }
11
10
  export declare const Confluence: {
12
11
  power: number;
@@ -1,14 +1,16 @@
1
+ import { RuleId } from '../../../rules/RuleId';
1
2
  import { cardProperties } from '../../CardProperties';
2
3
  import { CardRule } from '../../CardRule';
3
4
  import { CardSuit } from '../../CardSuit';
4
5
  import { CardType } from '../../CardType';
5
6
  class ConfluenceRule extends CardRule {
6
- entersEffect = true;
7
+ onEnters() {
8
+ this.addPendingEffect(RuleId.DrawEffect);
9
+ }
7
10
  onCardEnters(card, side) {
8
11
  if (side === this.player && cardProperties[card].type === CardType.Action) {
9
- this.addPendingEffect();
12
+ this.addPendingEffect(RuleId.DrawEffect);
10
13
  }
11
- return [];
12
14
  }
13
15
  }
14
16
  export const Confluence = {
@@ -1,8 +1,10 @@
1
1
  import { CardRule } from '../../CardRule';
2
+ import { StunEffect } from '../../EffectTraits';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardType } from '../../CardType';
4
- declare class CoverOfNightRule extends CardRule {
5
- entersEffect: boolean;
5
+ declare class CoverOfNightRule extends CardRule implements StunEffect {
6
+ onEnters(): void;
7
+ getStunCount(): number;
6
8
  }
7
9
  export declare const CoverOfNight: {
8
10
  power: number;
@@ -1,8 +1,14 @@
1
+ import { RuleId } from '../../../rules/RuleId';
1
2
  import { CardRule } from '../../CardRule';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardType } from '../../CardType';
4
5
  class CoverOfNightRule extends CardRule {
5
- entersEffect = true;
6
+ onEnters() {
7
+ this.addPendingEffect(RuleId.StunEffect);
8
+ }
9
+ getStunCount() {
10
+ return 2;
11
+ }
6
12
  }
7
13
  export const CoverOfNight = {
8
14
  power: 2,
@@ -1,8 +1,10 @@
1
1
  import { CardRule } from '../../CardRule';
2
+ import { StashPowerTokenEffect } from '../../EffectTraits';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardType } from '../../CardType';
4
- declare class HarvestRule extends CardRule {
5
- entersEffect: boolean;
5
+ declare class HarvestRule extends CardRule implements StashPowerTokenEffect {
6
+ onEnters(): void;
7
+ getStashPowerTokenCount(): number;
6
8
  }
7
9
  export declare const Harvest: {
8
10
  power: number;
@@ -1,8 +1,14 @@
1
+ import { RuleId } from '../../../rules/RuleId';
1
2
  import { CardRule } from '../../CardRule';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardType } from '../../CardType';
4
5
  class HarvestRule extends CardRule {
5
- entersEffect = true;
6
+ onEnters() {
7
+ this.addPendingEffect(RuleId.StashPowerTokensEffect);
8
+ }
9
+ getStashPowerTokenCount() {
10
+ return 3;
11
+ }
6
12
  }
7
13
  export const Harvest = {
8
14
  power: 2,
@@ -1,9 +1,12 @@
1
+ import { Material } from '@gamepark/rules-api';
1
2
  import { CardRule } from '../../CardRule';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardType } from '../../CardType';
4
- declare class LoyalSquireRule extends CardRule {
5
- entersEffect: boolean;
6
- onRoundEnd(): never[];
5
+ import { ReturnCardEffect } from '../../EffectTraits';
6
+ declare class LoyalSquireRule extends CardRule implements ReturnCardEffect {
7
+ onEnters(): void;
8
+ onSkirmishEnd(): void;
9
+ getReturnTargets(): Material;
7
10
  }
8
11
  export declare const LoyalSquire: {
9
12
  power: number;
@@ -1,11 +1,18 @@
1
+ import { RuleId } from '../../../rules/RuleId';
2
+ import { cardProperties } from '../../CardProperties';
1
3
  import { CardRule } from '../../CardRule';
2
4
  import { CardSuit } from '../../CardSuit';
5
+ import { CardTag } from '../../CardTag';
3
6
  import { CardType } from '../../CardType';
4
7
  class LoyalSquireRule extends CardRule {
5
- entersEffect = true;
6
- onRoundEnd() {
7
- this.addPendingEffect();
8
- return [];
8
+ onEnters() {
9
+ this.addPendingEffect(RuleId.ReturnCardEffect);
10
+ }
11
+ onSkirmishEnd() {
12
+ this.addPendingEffect(RuleId.ReturnCardEffect);
13
+ }
14
+ getReturnTargets() {
15
+ return this.playArea.id((id) => cardProperties[id.front].tag === CardTag.Knight);
9
16
  }
10
17
  }
11
18
  export const LoyalSquire = {
@@ -1,17 +1,11 @@
1
- import { cardProperties } from '../../CardProperties';
2
1
  import { CardRule } from '../../CardRule';
3
2
  import { CardSuit } from '../../CardSuit';
4
3
  import { CardType } from '../../CardType';
5
- import { LocationType } from '../../LocationType';
6
- import { MaterialType } from '../../MaterialType';
7
4
  class NightguardRule extends CardRule {
8
5
  getPowerIfNotStunned() {
9
- const creatures = this.material(MaterialType.Card)
10
- .location(LocationType.PlayArea)
11
- .id((id) => cardProperties[id.front].type === CardType.Creature);
12
- const myCreatures = creatures.player(this.player).length;
13
- const opponentCreatures = creatures.player((p) => p !== this.player).length;
14
- return super.getPowerIfNotStunned() + (opponentCreatures > myCreatures ? 3 : 0);
6
+ const myCreatures = this.creatures.player(this.player).length;
7
+ const foeCreatures = this.creatures.player(this.foe).length;
8
+ return super.getPowerIfNotStunned() + (foeCreatures > myCreatures ? 3 : 0);
15
9
  }
16
10
  }
17
11
  export const Nightguard = {
@@ -1,12 +1,14 @@
1
- import { MaterialMove } from '@gamepark/rules-api';
2
1
  import { Deck } from '../../../Deck';
3
2
  import { Card } from '../../Card';
4
3
  import { CardRule } from '../../CardRule';
5
4
  import { CardSuit } from '../../CardSuit';
6
5
  import { CardType } from '../../CardType';
7
- declare class OzmaTheMageRule extends CardRule {
8
- onCardEnters(card: Card, side: Deck): MaterialMove[];
9
- onLeave(): import("@gamepark/rules-api").MoveItem<number, number, number>[];
6
+ import { PutPowerTokenEffect } from '../../EffectTraits';
7
+ declare class OzmaTheMageRule extends CardRule implements PutPowerTokenEffect {
8
+ onCardEnters(card: Card, side: Deck): void;
9
+ isAutoPutPowerToken(): boolean;
10
+ onLeaves(): import("@gamepark/rules-api").MaterialMove[];
11
+ stashPowerTokens(): import("@gamepark/rules-api").MoveItem<number, number, number>[];
10
12
  }
11
13
  export declare const OzmaTheMage: {
12
14
  power: number;
@@ -1,3 +1,4 @@
1
+ import { RuleId } from '../../../rules/RuleId';
1
2
  import { cardProperties } from '../../CardProperties';
2
3
  import { CardRule } from '../../CardRule';
3
4
  import { CardSuit } from '../../CardSuit';
@@ -7,11 +8,16 @@ import { MaterialType } from '../../MaterialType';
7
8
  class OzmaTheMageRule extends CardRule {
8
9
  onCardEnters(card, side) {
9
10
  if (side === this.player && cardProperties[card].type === CardType.Action) {
10
- this.addPendingEffect();
11
+ this.addPendingEffect(RuleId.PutPowerTokensEffect);
11
12
  }
12
- return [];
13
13
  }
14
- onLeave() {
14
+ isAutoPutPowerToken() {
15
+ return true;
16
+ }
17
+ onLeaves() {
18
+ return [...this.stashPowerTokens(), ...this.removeStunTokens(), ...this.removeSpecialTokens()];
19
+ }
20
+ stashPowerTokens() {
15
21
  const powerTokens = this.material(MaterialType.PowerToken).location(LocationType.CardPowerTokens).parent(this.index);
16
22
  return powerTokens.moveItems({ type: LocationType.PlayerStash, player: this.player }, powerTokens.getQuantity());
17
23
  }
@@ -1,17 +1,15 @@
1
1
  import { EffectRule } from '../../../rules/EffectRule';
2
- import { Memory } from '../../../Memory';
3
2
  import { LocationType } from '../../LocationType';
4
3
  import { MaterialType } from '../../MaterialType';
5
4
  export class OzmaTheMageEffectRule extends EffectRule {
6
5
  onRuleStart() {
7
- const ozmaIndex = this.remind(Memory.PendingEffects)[0].cardIndex;
8
6
  return [
9
7
  this.material(MaterialType.PowerToken)
10
8
  .location(LocationType.PowerTokenStock)
11
9
  .createItem({
12
10
  location: {
13
11
  type: LocationType.CardPowerTokens,
14
- parent: ozmaIndex
12
+ parent: this.effectCardIndex
15
13
  }
16
14
  }),
17
15
  ...this.endEffect()
@@ -1,11 +1,10 @@
1
- import { MaterialMove } from '@gamepark/rules-api';
2
1
  import { CardRule } from '../../CardRule';
3
2
  import { CardSuit } from '../../CardSuit';
4
3
  import { CardTag } from '../../CardTag';
5
4
  import { CardType } from '../../CardType';
6
5
  declare class PrincessLithaRule extends CardRule {
7
6
  getPowerIfNotStunned(): number;
8
- onWinRound(): MaterialMove[];
7
+ onSkirmishWin(): void;
9
8
  }
10
9
  export declare const PrincessLitha: {
11
10
  power: number;
@@ -1,22 +1,15 @@
1
- import { cardProperties } from '../../CardProperties';
1
+ import { RuleId } from '../../../rules/RuleId';
2
2
  import { CardRule } from '../../CardRule';
3
3
  import { CardSuit } from '../../CardSuit';
4
4
  import { CardTag } from '../../CardTag';
5
5
  import { CardType } from '../../CardType';
6
- import { LocationType } from '../../LocationType';
7
- import { MaterialType } from '../../MaterialType';
8
6
  class PrincessLithaRule extends CardRule {
9
7
  getPowerIfNotStunned() {
10
- const otherCreaturesCount = this.material(MaterialType.Card)
11
- .location(LocationType.PlayArea)
12
- .player(this.player)
13
- .id((id) => cardProperties[id.front].type === CardType.Creature)
14
- .length - 1;
8
+ const otherCreaturesCount = this.creatures.player(this.player).length - 1;
15
9
  return super.getPowerIfNotStunned() + otherCreaturesCount;
16
10
  }
17
- onWinRound() {
18
- this.addPendingEffect();
19
- return [];
11
+ onSkirmishWin() {
12
+ this.addPendingEffect(RuleId.PrincessLithaEffect);
20
13
  }
21
14
  }
22
15
  export const PrincessLitha = {
@@ -1,9 +1,13 @@
1
+ import { Material } from '@gamepark/rules-api';
1
2
  import { CardRule } from '../../CardRule';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardTag } from '../../CardTag';
4
5
  import { CardType } from '../../CardType';
5
- declare class RobbinsMasterOfArmsRule extends CardRule {
6
- entersEffect: boolean;
6
+ import { PutPowerTokenEffect } from '../../EffectTraits';
7
+ declare class RobbinsMasterOfArmsRule extends CardRule implements PutPowerTokenEffect {
8
+ onEnters(): void;
9
+ isAutoPutPowerToken(): boolean;
10
+ getPutPowerTokenTargets(): Material;
7
11
  }
8
12
  export declare const RobbinsMasterOfArms: {
9
13
  power: number;
@@ -1,9 +1,18 @@
1
+ import { RuleId } from '../../../rules/RuleId';
1
2
  import { CardRule } from '../../CardRule';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardTag } from '../../CardTag';
4
5
  import { CardType } from '../../CardType';
5
6
  class RobbinsMasterOfArmsRule extends CardRule {
6
- entersEffect = true;
7
+ onEnters() {
8
+ this.addPendingEffect(RuleId.PutPowerTokensEffect);
9
+ }
10
+ isAutoPutPowerToken() {
11
+ return true;
12
+ }
13
+ getPutPowerTokenTargets() {
14
+ return this.creatures.player(this.player).index((index) => index !== this.index);
15
+ }
7
16
  }
8
17
  export const RobbinsMasterOfArms = {
9
18
  power: 3,
@@ -1,4 +1,3 @@
1
- import { Memory } from '../../../Memory';
2
1
  import { cardProperties } from '../../CardProperties';
3
2
  import { CardType } from '../../CardType';
4
3
  import { LocationType } from '../../LocationType';
@@ -7,13 +6,12 @@ import { EffectRule } from '../../../rules/EffectRule';
7
6
  export class RobbinsMasterOfArmsEffectRule extends EffectRule {
8
7
  onRuleStart() {
9
8
  const moves = [];
10
- const robbinsIndex = this.remind(Memory.PendingEffects)[0].cardIndex;
11
9
  const otherCreatures = this.material(MaterialType.Card)
12
10
  .location(LocationType.PlayArea)
13
11
  .player(this.player)
14
12
  .id((id) => cardProperties[id.front].type === CardType.Creature)
15
13
  .getIndexes()
16
- .filter(index => index !== robbinsIndex);
14
+ .filter(index => index !== this.effectCardIndex);
17
15
  for (const creatureIndex of otherCreatures) {
18
16
  moves.push(this.material(MaterialType.PowerToken)
19
17
  .location(LocationType.PowerTokenStock)
@@ -1,8 +1,13 @@
1
+ import { Material } from '@gamepark/rules-api';
1
2
  import { CardRule } from '../../CardRule';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardType } from '../../CardType';
4
- declare class SacrificeRule extends CardRule {
5
- entersEffect: boolean;
5
+ import { DestroyEffect } from '../../EffectTraits';
6
+ declare class SacrificeRule extends CardRule implements DestroyEffect {
7
+ onEnters(): void;
8
+ getDestroyCount(): number;
9
+ getDestroyTargets(): Material;
10
+ isDestroyOptional(): boolean;
6
11
  }
7
12
  export declare const Sacrifice: {
8
13
  power: number;
@@ -1,8 +1,26 @@
1
+ import { Memory } from '../../../Memory';
2
+ import { RuleId } from '../../../rules/RuleId';
1
3
  import { CardRule } from '../../CardRule';
2
4
  import { CardSuit } from '../../CardSuit';
3
5
  import { CardType } from '../../CardType';
4
6
  class SacrificeRule extends CardRule {
5
- entersEffect = true;
7
+ onEnters() {
8
+ this.addPendingEffect(RuleId.DestroyEffect);
9
+ }
10
+ getDestroyCount() {
11
+ return 2;
12
+ }
13
+ getDestroyTargets() {
14
+ if (this.isDestroyOptional()) {
15
+ return this.creatures.player(this.player);
16
+ }
17
+ else {
18
+ return this.creatures.player(this.foe);
19
+ }
20
+ }
21
+ isDestroyOptional() {
22
+ return this.remind(Memory.EffectCount) === 2;
23
+ }
6
24
  }
7
25
  export const Sacrifice = {
8
26
  power: 4,
@@ -1,8 +1,11 @@
1
+ import { Material } from '@gamepark/rules-api';
1
2
  import { CardRule } from '../../CardRule';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardType } from '../../CardType';
4
- declare class SoulBladeRule extends CardRule {
5
- entersEffect: boolean;
5
+ import { DestroyEffect } from '../../EffectTraits';
6
+ declare class SoulBladeRule extends CardRule implements DestroyEffect {
7
+ onEnters(): void;
8
+ getDestroyTargets(): Material;
6
9
  }
7
10
  export declare const SoulBlade: {
8
11
  power: number;
@@ -1,8 +1,15 @@
1
+ import { RuleId } from '../../../rules/RuleId';
1
2
  import { CardRule } from '../../CardRule';
3
+ import { createCardRule } from '../../createCardRule';
2
4
  import { CardSuit } from '../../CardSuit';
3
5
  import { CardType } from '../../CardType';
4
6
  class SoulBladeRule extends CardRule {
5
- entersEffect = true;
7
+ onEnters() {
8
+ this.addPendingEffect(RuleId.DestroyEffect);
9
+ }
10
+ getDestroyTargets() {
11
+ return this.creatures.index((index) => createCardRule(this.game, index).getPower() >= 4);
12
+ }
6
13
  }
7
14
  export const SoulBlade = {
8
15
  power: 2,
@@ -1,9 +1,11 @@
1
1
  import { CardRule } from '../../CardRule';
2
2
  import { CardSuit } from '../../CardSuit';
3
3
  import { CardType } from '../../CardType';
4
- declare class WatchTowerRule extends CardRule {
5
- challenge: boolean;
6
- onChallengeAccepted(): import("@gamepark/rules-api").CustomMove[];
4
+ import { ChallengeEffect, DrawEffect } from '../../EffectTraits';
5
+ declare class WatchTowerRule extends CardRule implements DrawEffect, ChallengeEffect {
6
+ onEnters(): void;
7
+ onChallengeAccepted(): void;
8
+ getDrawCount(): number;
7
9
  }
8
10
  export declare const WatchTower: {
9
11
  power: number;
@@ -1,11 +1,18 @@
1
+ import { RuleId } from '../../../rules/RuleId';
1
2
  import { CardRule } from '../../CardRule';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardType } from '../../CardType';
4
5
  class WatchTowerRule extends CardRule {
5
- challenge = true;
6
+ onEnters() {
7
+ this.addPendingEffect(RuleId.ChallengeEffect);
8
+ }
6
9
  onChallengeAccepted() {
7
- this.addPendingEffect();
8
- return super.onChallengeAccepted();
10
+ this.addPendingEffect(RuleId.DrawEffect);
11
+ }
12
+ getDrawCount() {
13
+ const myCreatures = this.creatures.player(this.player).length;
14
+ const foeCreatures = this.creatures.player(this.foe).length;
15
+ return foeCreatures - myCreatures;
9
16
  }
10
17
  }
11
18
  export const WatchTower = {
@@ -2,7 +2,7 @@ import { CardRule } from '../../CardRule';
2
2
  import { CardSuit } from '../../CardSuit';
3
3
  import { CardType } from '../../CardType';
4
4
  declare class AeliaSteadyHandRule extends CardRule {
5
- oncePerTurnEffect: boolean;
5
+ activate(): void;
6
6
  }
7
7
  export declare const AeliaSteadyHand: {
8
8
  power: number;
@@ -1,8 +1,11 @@
1
+ import { RuleId } from '../../../rules/RuleId';
1
2
  import { CardRule } from '../../CardRule';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardType } from '../../CardType';
4
5
  class AeliaSteadyHandRule extends CardRule {
5
- oncePerTurnEffect = true;
6
+ activate() {
7
+ this.addPendingEffect(RuleId.DrawEffect);
8
+ }
6
9
  }
7
10
  export const AeliaSteadyHand = {
8
11
  power: 2,
@@ -2,7 +2,7 @@ import { CardRule } from '../../CardRule';
2
2
  import { CardSuit } from '../../CardSuit';
3
3
  import { CardType } from '../../CardType';
4
4
  declare class BoardingPartyRule extends CardRule {
5
- entersEffect: boolean;
5
+ onEnters(): void;
6
6
  }
7
7
  export declare const BoardingParty: {
8
8
  power: number;
@@ -1,8 +1,11 @@
1
+ import { RuleId } from '../../../rules/RuleId';
1
2
  import { CardRule } from '../../CardRule';
2
3
  import { CardSuit } from '../../CardSuit';
3
4
  import { CardType } from '../../CardType';
4
5
  class BoardingPartyRule extends CardRule {
5
- entersEffect = true;
6
+ onEnters() {
7
+ this.addPendingEffect(RuleId.BoardingPartyEffect);
8
+ }
6
9
  }
7
10
  export const BoardingParty = {
8
11
  power: 2,
@@ -1,10 +1,11 @@
1
- import { CustomMove, ItemMove } from '@gamepark/rules-api';
1
+ import { CustomMove } from '@gamepark/rules-api';
2
2
  import { DestroyEffectRule } from '../../../rules/DestroyEffectRule';
3
3
  export declare class BoardingPartyEffectRule extends DestroyEffectRule {
4
- onRuleStart(): never[];
4
+ onRuleStart(): import("@gamepark/rules-api").MaterialMove[];
5
5
  get isBoardingPlayer(): boolean;
6
6
  getPlayerMoves(): import("@gamepark/rules-api").MaterialMove[];
7
7
  getTargets(): import("@gamepark/rules-api").Material<number, number, number>;
8
- afterItemMove(move: ItemMove): import("@gamepark/rules-api").MaterialMove[];
8
+ onCardDestroyed(): import("@gamepark/rules-api").MaterialMove[];
9
9
  onCustomMove(move: CustomMove): import("@gamepark/rules-api").MaterialMove[];
10
+ onRuleEnd(): never[];
10
11
  }