@gamepark/skyrift 0.3.0 → 0.4.1

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 (223) hide show
  1. package/dist/Deck.d.ts +2 -1
  2. package/dist/Deck.js +2 -1
  3. package/dist/Memory.d.ts +1 -1
  4. package/dist/Memory.js +1 -1
  5. package/dist/SkyriftRules.d.ts +32 -63
  6. package/dist/SkyriftRules.js +40 -71
  7. package/dist/SkyriftSetup.js +4 -2
  8. package/dist/material/Card.d.ts +16 -0
  9. package/dist/material/Card.js +16 -0
  10. package/dist/material/CardProperties.js +48 -16
  11. package/dist/material/CardRule.d.ts +24 -20
  12. package/dist/material/CardRule.js +48 -65
  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 +2 -2
  23. package/dist/material/OngoingEffect.js +2 -2
  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/WindSands.d.ts +18 -0
  31. package/dist/material/decks/WindSands.js +19 -0
  32. package/dist/material/decks/gravehurt/AstralHammer.d.ts +18 -0
  33. package/dist/material/decks/gravehurt/AstralHammer.js +25 -0
  34. package/dist/material/decks/gravehurt/AstralHammerEffectRule.d.ts +4 -0
  35. package/dist/material/decks/gravehurt/AstralHammerEffectRule.js +26 -0
  36. package/dist/material/decks/gravehurt/CallOfTheEclipse.d.ts +17 -0
  37. package/dist/material/decks/gravehurt/CallOfTheEclipse.js +28 -0
  38. package/dist/material/decks/gravehurt/CallOfTheEclipseEffectRule.d.ts +5 -0
  39. package/dist/material/decks/gravehurt/CallOfTheEclipseEffectRule.js +11 -0
  40. package/dist/material/decks/gravehurt/CavernSkulker.d.ts +16 -0
  41. package/dist/material/decks/gravehurt/CavernSkulker.js +26 -0
  42. package/dist/material/decks/gravehurt/CavernSkulkerEffectRule.d.ts +4 -0
  43. package/dist/material/decks/gravehurt/CavernSkulkerEffectRule.js +15 -0
  44. package/dist/material/decks/gravehurt/Doom.d.ts +18 -0
  45. package/dist/material/decks/gravehurt/Doom.js +29 -0
  46. package/dist/material/decks/gravehurt/DoomEffectRule.d.ts +8 -0
  47. package/dist/material/decks/gravehurt/DoomEffectRule.js +32 -0
  48. package/dist/material/decks/gravehurt/InsatiableUmbraphage.d.ts +19 -0
  49. package/dist/material/decks/gravehurt/InsatiableUmbraphage.js +28 -0
  50. package/dist/material/decks/gravehurt/InsatiableUmbraphageEffectRule.d.ts +5 -0
  51. package/dist/material/decks/gravehurt/InsatiableUmbraphageEffectRule.js +21 -0
  52. package/dist/material/decks/gravehurt/MacabreLegion.d.ts +17 -0
  53. package/dist/material/decks/gravehurt/MacabreLegion.js +20 -0
  54. package/dist/material/decks/gravehurt/MoonFang.d.ts +17 -0
  55. package/dist/material/decks/gravehurt/MoonFang.js +20 -0
  56. package/dist/material/decks/gravehurt/Nosferatis.d.ts +20 -0
  57. package/dist/material/decks/gravehurt/Nosferatis.js +29 -0
  58. package/dist/material/decks/gravehurt/OstraVoiceOfTheSoul.d.ts +12 -0
  59. package/dist/material/decks/gravehurt/OstraVoiceOfTheSoul.js +11 -0
  60. package/dist/material/decks/gravehurt/ReturnInTime.d.ts +15 -0
  61. package/dist/material/decks/gravehurt/ReturnInTime.js +18 -0
  62. package/dist/material/decks/gravehurt/ScrabDoombird.d.ts +18 -0
  63. package/dist/material/decks/gravehurt/ScrabDoombird.js +21 -0
  64. package/dist/material/decks/gravehurt/TerrifyingSummoning.d.ts +18 -0
  65. package/dist/material/decks/gravehurt/TerrifyingSummoning.js +26 -0
  66. package/dist/material/decks/gravehurt/TerrifyingSummoningEffectRule.d.ts +5 -0
  67. package/dist/material/decks/gravehurt/TerrifyingSummoningEffectRule.js +11 -0
  68. package/dist/material/decks/gravehurt/TheGreatToady.d.ts +19 -0
  69. package/dist/material/decks/gravehurt/TheGreatToady.js +42 -0
  70. package/dist/material/decks/gravehurt/Umbraboros.d.ts +22 -0
  71. package/dist/material/decks/gravehurt/Umbraboros.js +30 -0
  72. package/dist/material/decks/gravehurt/UndeadRule.d.ts +5 -0
  73. package/dist/material/decks/gravehurt/UndeadRule.js +11 -0
  74. package/dist/material/decks/gravehurt/Whisperers.d.ts +13 -0
  75. package/dist/material/decks/gravehurt/Whisperers.js +17 -0
  76. package/dist/material/decks/gravehurt/WitchingHour.d.ts +16 -0
  77. package/dist/material/decks/gravehurt/WitchingHour.js +19 -0
  78. package/dist/material/decks/heathblade/ArcherRule.js +2 -2
  79. package/dist/material/decks/heathblade/Armada.d.ts +4 -3
  80. package/dist/material/decks/heathblade/Armada.js +5 -3
  81. package/dist/material/decks/heathblade/ArmadaEffectRule.d.ts +2 -1
  82. package/dist/material/decks/heathblade/ArmadaEffectRule.js +8 -1
  83. package/dist/material/decks/heathblade/Confluence.d.ts +2 -3
  84. package/dist/material/decks/heathblade/Confluence.js +5 -3
  85. package/dist/material/decks/heathblade/CoverOfNight.d.ts +4 -2
  86. package/dist/material/decks/heathblade/CoverOfNight.js +7 -1
  87. package/dist/material/decks/heathblade/Harvest.d.ts +4 -2
  88. package/dist/material/decks/heathblade/Harvest.js +7 -1
  89. package/dist/material/decks/heathblade/LoyalSquire.d.ts +6 -3
  90. package/dist/material/decks/heathblade/LoyalSquire.js +11 -4
  91. package/dist/material/decks/heathblade/Nightguard.js +3 -9
  92. package/dist/material/decks/heathblade/OzmaTheMage.d.ts +6 -4
  93. package/dist/material/decks/heathblade/OzmaTheMage.js +9 -3
  94. package/dist/material/decks/heathblade/PrincessLitha.d.ts +1 -2
  95. package/dist/material/decks/heathblade/PrincessLitha.js +4 -11
  96. package/dist/material/decks/heathblade/RobbinsMasterOfArms.d.ts +6 -2
  97. package/dist/material/decks/heathblade/RobbinsMasterOfArms.js +10 -1
  98. package/dist/material/decks/heathblade/Sacrifice.d.ts +7 -2
  99. package/dist/material/decks/heathblade/Sacrifice.js +19 -1
  100. package/dist/material/decks/heathblade/SoulBlade.d.ts +5 -2
  101. package/dist/material/decks/heathblade/SoulBlade.js +8 -1
  102. package/dist/material/decks/heathblade/WatchTower.d.ts +5 -3
  103. package/dist/material/decks/heathblade/WatchTower.js +10 -3
  104. package/dist/material/decks/highwave/AeliaSteadyHand.d.ts +1 -1
  105. package/dist/material/decks/highwave/AeliaSteadyHand.js +4 -1
  106. package/dist/material/decks/highwave/BoardingParty.d.ts +1 -1
  107. package/dist/material/decks/highwave/BoardingParty.js +4 -1
  108. package/dist/material/decks/highwave/BoardingPartyEffectRule.d.ts +4 -3
  109. package/dist/material/decks/highwave/BoardingPartyEffectRule.js +18 -23
  110. package/dist/material/decks/highwave/BonnyTheGunner.d.ts +0 -2
  111. package/dist/material/decks/highwave/BonnyTheGunner.js +0 -2
  112. package/dist/material/decks/highwave/CannonCardRule.d.ts +3 -0
  113. package/dist/material/decks/highwave/CannonCardRule.js +11 -10
  114. package/dist/material/decks/highwave/DarkArmageddon.d.ts +4 -2
  115. package/dist/material/decks/highwave/DarkArmageddon.js +7 -1
  116. package/dist/material/decks/highwave/DawnsDoom.d.ts +4 -2
  117. package/dist/material/decks/highwave/DawnsDoom.js +9 -1
  118. package/dist/material/decks/highwave/EyeOfSky.d.ts +2 -4
  119. package/dist/material/decks/highwave/EyeOfSky.js +5 -7
  120. package/dist/material/decks/highwave/EyeOfSkyEffectRule.d.ts +4 -4
  121. package/dist/material/decks/highwave/EyeOfSkyEffectRule.js +1 -3
  122. package/dist/material/decks/highwave/FortunesCourse.d.ts +1 -2
  123. package/dist/material/decks/highwave/FortunesCourse.js +3 -3
  124. package/dist/material/decks/highwave/GoldenApocalypse.d.ts +1 -1
  125. package/dist/material/decks/highwave/GoldenApocalypse.js +4 -1
  126. package/dist/material/decks/highwave/LongJawsSilver.d.ts +2 -3
  127. package/dist/material/decks/highwave/LongJawsSilver.js +7 -5
  128. package/dist/material/decks/highwave/OscarScullion.d.ts +4 -2
  129. package/dist/material/decks/highwave/OscarScullion.js +7 -1
  130. package/dist/material/decks/highwave/OttoFactotum.d.ts +4 -2
  131. package/dist/material/decks/highwave/OttoFactotum.js +10 -1
  132. package/dist/material/decks/highwave/RiggingRaiders.d.ts +5 -2
  133. package/dist/material/decks/highwave/RiggingRaiders.js +9 -1
  134. package/dist/material/decks/highwave/SeaScorcher.d.ts +6 -3
  135. package/dist/material/decks/highwave/SeaScorcher.js +13 -2
  136. package/dist/material/decks/highwave/SurpriseLoot.d.ts +4 -2
  137. package/dist/material/decks/highwave/SurpriseLoot.js +7 -1
  138. package/dist/material/decks/highwave/TideRover.d.ts +6 -2
  139. package/dist/material/decks/highwave/TideRover.js +15 -1
  140. package/dist/material/decks/highwave/TropicalRuffian.d.ts +1 -1
  141. package/dist/material/decks/highwave/TropicalRuffian.js +4 -1
  142. package/dist/material/decks/windsands/AbiSnakeCharmer.d.ts +13 -0
  143. package/dist/material/decks/windsands/AbiSnakeCharmer.js +15 -0
  144. package/dist/material/decks/windsands/AbiSnakeCharmerEffectRule.d.ts +8 -0
  145. package/dist/material/decks/windsands/AbiSnakeCharmerEffectRule.js +35 -0
  146. package/dist/material/decks/windsands/AncientCurse.d.ts +17 -0
  147. package/dist/material/decks/windsands/AncientCurse.js +25 -0
  148. package/dist/material/decks/windsands/Catadjinn.d.ts +14 -0
  149. package/dist/material/decks/windsands/Catadjinn.js +20 -0
  150. package/dist/material/decks/windsands/DeathTrap.d.ts +20 -0
  151. package/dist/material/decks/windsands/DeathTrap.js +38 -0
  152. package/dist/material/decks/windsands/DesertRaider.d.ts +17 -0
  153. package/dist/material/decks/windsands/DesertRaider.js +21 -0
  154. package/dist/material/decks/windsands/DuneWardrums.d.ts +12 -0
  155. package/dist/material/decks/windsands/DuneWardrums.js +14 -0
  156. package/dist/material/decks/windsands/ErgDeathslayer.d.ts +13 -0
  157. package/dist/material/decks/windsands/ErgDeathslayer.js +15 -0
  158. package/dist/material/decks/windsands/MalikShadowtracker.d.ts +18 -0
  159. package/dist/material/decks/windsands/MalikShadowtracker.js +24 -0
  160. package/dist/material/decks/windsands/Metamorph.d.ts +14 -0
  161. package/dist/material/decks/windsands/Metamorph.js +18 -0
  162. package/dist/material/decks/windsands/MushaFakir.d.ts +14 -0
  163. package/dist/material/decks/windsands/MushaFakir.js +18 -0
  164. package/dist/material/decks/windsands/OasisShaman.d.ts +13 -0
  165. package/dist/material/decks/windsands/OasisShaman.js +15 -0
  166. package/dist/material/decks/windsands/SandWalkers.d.ts +21 -0
  167. package/dist/material/decks/windsands/SandWalkers.js +30 -0
  168. package/dist/material/decks/windsands/StarlightBazaar.d.ts +15 -0
  169. package/dist/material/decks/windsands/StarlightBazaar.js +18 -0
  170. package/dist/material/decks/windsands/Vandals.d.ts +18 -0
  171. package/dist/material/decks/windsands/Vandals.js +25 -0
  172. package/dist/material/decks/windsands/WindWrath.d.ts +13 -0
  173. package/dist/material/decks/windsands/WindWrath.js +15 -0
  174. package/dist/material/decks/windsands/WindWrathEffectRule.d.ts +5 -0
  175. package/dist/material/decks/windsands/WindWrathEffectRule.js +17 -0
  176. package/dist/material/decks/windsands/WishLamp.d.ts +16 -0
  177. package/dist/material/decks/windsands/WishLamp.js +22 -0
  178. package/dist/rules/ChallengeEffectRule.d.ts +6 -0
  179. package/dist/rules/ChallengeEffectRule.js +17 -0
  180. package/dist/rules/ChallengeResponseRule.d.ts +8 -0
  181. package/dist/rules/ChallengeResponseRule.js +31 -0
  182. package/dist/rules/ChooseStartPlayerEffectRule.d.ts +6 -0
  183. package/dist/rules/ChooseStartPlayerEffectRule.js +15 -0
  184. package/dist/rules/DestroyEffectRule.d.ts +5 -2
  185. package/dist/rules/DestroyEffectRule.js +26 -3
  186. package/dist/rules/DiscardEffectRule.d.ts +5 -3
  187. package/dist/rules/DiscardEffectRule.js +17 -4
  188. package/dist/rules/DrawEffectRule.d.ts +4 -2
  189. package/dist/rules/DrawEffectRule.js +9 -6
  190. package/dist/rules/EffectRule.d.ts +3 -2
  191. package/dist/rules/EffectRule.js +9 -3
  192. package/dist/rules/EndRoundRule.js +11 -17
  193. package/dist/rules/GainPowerTokensEffectRule.d.ts +8 -0
  194. package/dist/rules/GainPowerTokensEffectRule.js +25 -0
  195. package/dist/rules/MulliganEffectRule.d.ts +7 -0
  196. package/dist/rules/MulliganEffectRule.js +19 -0
  197. package/dist/rules/PlayCardEffectRule.d.ts +9 -0
  198. package/dist/rules/PlayCardEffectRule.js +37 -0
  199. package/dist/rules/PlayCardRule.js +12 -12
  200. package/dist/rules/PlayerHelper.d.ts +9 -5
  201. package/dist/rules/PlayerHelper.js +25 -23
  202. package/dist/rules/PrepareNextRoundRule.js +6 -3
  203. package/dist/rules/PutCardUnderEffectRule.d.ts +7 -0
  204. package/dist/rules/PutCardUnderEffectRule.js +22 -0
  205. package/dist/rules/PutPowerTokenEffectRule.d.ts +4 -2
  206. package/dist/rules/PutPowerTokenEffectRule.js +24 -4
  207. package/dist/rules/ReturnCardEffectRule.d.ts +9 -0
  208. package/dist/rules/ReturnCardEffectRule.js +36 -0
  209. package/dist/rules/ReturnCardRule.d.ts +5 -3
  210. package/dist/rules/ReturnCardRule.js +18 -8
  211. package/dist/rules/RuleId.d.ts +15 -34
  212. package/dist/rules/RuleId.js +14 -33
  213. package/dist/rules/StartPlayerTurnRule.js +5 -5
  214. package/dist/rules/StashPowerTokensEffectRule.d.ts +5 -0
  215. package/dist/rules/StashPowerTokensEffectRule.js +15 -0
  216. package/dist/rules/StealCrystalEffectRule.js +3 -3
  217. package/dist/rules/StunCardRule.d.ts +4 -2
  218. package/dist/rules/StunCardRule.js +24 -19
  219. package/dist/rules/StunEffectRule.d.ts +11 -0
  220. package/dist/rules/StunEffectRule.js +45 -0
  221. package/dist/rules/SwitchSideEffectRule.d.ts +11 -0
  222. package/dist/rules/SwitchSideEffectRule.js +33 -0
  223. package/package.json +3 -3
package/dist/Deck.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export declare enum Deck {
2
2
  HearthBlade = 1,
3
- WinSands = 2,
3
+ WindSands = 2,
4
+ GraveHurt = 3,
4
5
  HighWave = 6
5
6
  }
package/dist/Deck.js CHANGED
@@ -1,6 +1,7 @@
1
1
  export var Deck;
2
2
  (function (Deck) {
3
3
  Deck[Deck["HearthBlade"] = 1] = "HearthBlade";
4
- Deck[Deck["WinSands"] = 2] = "WinSands";
4
+ Deck[Deck["WindSands"] = 2] = "WindSands";
5
+ Deck[Deck["GraveHurt"] = 3] = "GraveHurt";
5
6
  Deck[Deck["HighWave"] = 6] = "HighWave";
6
7
  })(Deck || (Deck = {}));
package/dist/Memory.d.ts CHANGED
@@ -3,7 +3,7 @@ export declare enum Memory {
3
3
  CardsPlayed = 2,
4
4
  Suit = 3,
5
5
  PendingEffects = 4,
6
- OncePerTurnEffects = 5,
6
+ ActivatedCards = 5,
7
7
  CurrentPlayer = 6,
8
8
  NextRoundStartPlayer = 7,
9
9
  EffectCount = 8,
package/dist/Memory.js CHANGED
@@ -4,7 +4,7 @@ export var Memory;
4
4
  Memory[Memory["CardsPlayed"] = 2] = "CardsPlayed";
5
5
  Memory[Memory["Suit"] = 3] = "Suit";
6
6
  Memory[Memory["PendingEffects"] = 4] = "PendingEffects";
7
- Memory[Memory["OncePerTurnEffects"] = 5] = "OncePerTurnEffects";
7
+ Memory[Memory["ActivatedCards"] = 5] = "ActivatedCards";
8
8
  Memory[Memory["CurrentPlayer"] = 6] = "CurrentPlayer";
9
9
  Memory[Memory["NextRoundStartPlayer"] = 7] = "NextRoundStartPlayer";
10
10
  Memory[Memory["EffectCount"] = 8] = "EffectCount";
@@ -1,48 +1,33 @@
1
1
  import { CustomMove, ItemMove, MaterialGame, MaterialMove, MaterialMoveRandomized, MaterialMoveView, PlayMoveContext, PositiveSequenceStrategy, SecretMaterialRules, TimeLimit } from '@gamepark/rules-api';
2
2
  import { Deck } from './Deck';
3
+ import { CavernSkulkerEffectRule } from './material/decks/gravehurt/CavernSkulkerEffectRule';
4
+ import { DoomEffectRule } from './material/decks/gravehurt/DoomEffectRule';
3
5
  import { ArmadaEffectRule } from './material/decks/heathblade/ArmadaEffectRule';
4
- import { CoverOfNightEffectRule } from './material/decks/heathblade/CoverOfNightEffectRule';
5
- import { HarvestEffectRule } from './material/decks/heathblade/HarvestEffectRule';
6
- import { LoyalSquireEffectRule } from './material/decks/heathblade/LoyalSquireEffectRule';
7
- import { OzmaTheMageEffectRule } from './material/decks/heathblade/OzmaTheMageEffectRule';
8
6
  import { PrincessLithaEffectRule } from './material/decks/heathblade/PrincessLithaEffectRule';
9
- import { RobbinsMasterOfArmsEffectRule } from './material/decks/heathblade/RobbinsMasterOfArmsEffectRule';
10
- import { SacrificeEffectRule } from './material/decks/heathblade/SacrificeEffectRule';
11
- import { SoulBladeEffectRule } from './material/decks/heathblade/SoulBladeEffectRule';
12
- import { WatchTowerEffectRule } from './material/decks/heathblade/WatchTowerEffectRule';
13
7
  import { BoardingPartyEffectRule } from './material/decks/highwave/BoardingPartyEffectRule';
14
- import { DarkArmageddonEffectRule } from './material/decks/highwave/DarkArmageddonEffectRule';
15
- import { DawnsDoomEffectRule } from './material/decks/highwave/DawnsDoomEffectRule';
16
- import { OttoFactotumEffectRule } from './material/decks/highwave/OttoFactotumEffectRule';
17
- import { SeaScorcherEffectRule } from './material/decks/highwave/SeaScorcherEffectRule';
18
8
  import { EyeOfSkyEffectRule } from './material/decks/highwave/EyeOfSkyEffectRule';
19
- import { TideRoverEffectRule } from './material/decks/highwave/TideRoverEffectRule';
20
- import { RiggingRaidersEffectRule } from './material/decks/highwave/RiggingRaidersEffectRule';
21
- import { OscarScullionEffectRule } from './material/decks/highwave/OscarScullionEffectRule';
22
- import { SurpriseLootEffectRule } from './material/decks/highwave/SurpriseLootEffectRule';
23
- import { AbiSnakeCharmerEffectRule } from './material/decks/winsands/AbiSnakeCharmerEffectRule';
24
- import { DeathTrapEffectRule } from './material/decks/winsands/DeathTrapEffectRule';
25
- import { DesertRaiderEffectRule } from './material/decks/winsands/DesertRaiderEffectRule';
26
- import { OasisShamanEffectRule } from './material/decks/winsands/OasisShamanEffectRule';
27
- import { SandWalkersEffectRule } from './material/decks/winsands/SandWalkersEffectRule';
28
- import { StarlightBazaarEffectRule } from './material/decks/winsands/StarlightBazaarEffectRule';
29
- import { VandalsEffectRule } from './material/decks/winsands/VandalsEffectRule';
30
- import { WindWrathEffectRule } from './material/decks/winsands/WindWrathEffectRule';
31
- import { WishLampEffectRule } from './material/decks/winsands/WishLampEffectRule';
9
+ import { AbiSnakeCharmerEffectRule } from './material/decks/windsands/AbiSnakeCharmerEffectRule';
10
+ import { WindWrathEffectRule } from './material/decks/windsands/WindWrathEffectRule';
32
11
  import { LocationType } from './material/LocationType';
33
12
  import { MaterialType } from './material/MaterialType';
34
- import { ChallengeRule } from './rules/ChallengeRule';
13
+ import { ChallengeEffectRule } from './rules/ChallengeEffectRule';
14
+ import { ChallengeResponseRule } from './rules/ChallengeResponseRule';
15
+ import { DestroyEffectRule } from './rules/DestroyEffectRule';
35
16
  import { DiscardEffectRule } from './rules/DiscardEffectRule';
36
17
  import { DrawEffectRule } from './rules/DrawEffectRule';
37
18
  import { EndPlayerTurnRule } from './rules/EndPlayerTurnRule';
38
19
  import { EndRoundRule } from './rules/EndRoundRule';
39
20
  import { GainCrystalEffectRule } from './rules/GainCrystalEffectRule';
40
- import { MayChallengeRule } from './rules/MayChallengeRule';
21
+ import { PlayCardEffectRule } from './rules/PlayCardEffectRule';
41
22
  import { PlayCardRule } from './rules/PlayCardRule';
42
23
  import { PrepareNextRoundRule } from './rules/PrepareNextRoundRule';
24
+ import { PutPowerTokenEffectRule } from './rules/PutPowerTokenEffectRule';
25
+ import { ReturnCardEffectRule } from './rules/ReturnCardEffectRule';
43
26
  import { StartPlayerTurnRule } from './rules/StartPlayerTurnRule';
44
27
  import { StartRoundRule } from './rules/StartRoundRule';
28
+ import { StashPowerTokensEffectRule } from './rules/StashPowerTokensEffectRule';
45
29
  import { StealCrystalEffectRule } from './rules/StealCrystalEffectRule';
30
+ import { StunEffectRule } from './rules/StunEffectRule';
46
31
  export declare class SkyriftRules extends SecretMaterialRules<Deck, MaterialType, LocationType> implements TimeLimit<MaterialGame<Deck, MaterialType, LocationType>, MaterialMove<Deck, MaterialType, LocationType>, Deck> {
47
32
  rules: {
48
33
  1: typeof StartRoundRule;
@@ -51,45 +36,26 @@ export declare class SkyriftRules extends SecretMaterialRules<Deck, MaterialType
51
36
  4: typeof EndPlayerTurnRule;
52
37
  5: typeof EndRoundRule;
53
38
  6: typeof PrepareNextRoundRule;
54
- 7: typeof MayChallengeRule;
55
- 8: typeof ChallengeRule;
56
- 102: typeof LoyalSquireEffectRule;
57
- 103: typeof PrincessLithaEffectRule;
58
- 104: typeof RobbinsMasterOfArmsEffectRule;
59
- 109: typeof OzmaTheMageEffectRule;
60
- 110: typeof ArmadaEffectRule;
61
- 111: typeof SoulBladeEffectRule;
62
- 112: typeof CoverOfNightEffectRule;
63
- 113: typeof SacrificeEffectRule;
64
- 114: typeof WatchTowerEffectRule;
65
- 115: typeof DrawEffectRule;
66
- 116: typeof HarvestEffectRule;
67
- 201: typeof DesertRaiderEffectRule;
68
- 202: typeof DrawEffectRule;
39
+ 20: typeof ChallengeEffectRule;
40
+ 21: typeof ChallengeResponseRule;
41
+ 22: typeof DrawEffectRule;
42
+ 23: typeof DiscardEffectRule;
43
+ 24: typeof DestroyEffectRule;
44
+ 25: typeof StunEffectRule;
45
+ 26: typeof ReturnCardEffectRule;
46
+ 27: typeof PutPowerTokenEffectRule;
47
+ 28: typeof StashPowerTokensEffectRule;
48
+ 29: typeof GainCrystalEffectRule;
49
+ 30: typeof StealCrystalEffectRule;
69
50
  204: typeof AbiSnakeCharmerEffectRule;
70
- 206: typeof VandalsEffectRule;
71
- 207: typeof DrawEffectRule;
72
- 208: typeof OasisShamanEffectRule;
73
- 211: typeof SandWalkersEffectRule;
74
- 212: typeof WishLampEffectRule;
75
- 213: typeof StarlightBazaarEffectRule;
76
- 214: typeof DrawEffectRule;
51
+ 31: typeof PlayCardEffectRule;
52
+ 110: typeof ArmadaEffectRule;
53
+ 103: typeof PrincessLithaEffectRule;
77
54
  215: typeof WindWrathEffectRule;
78
- 216: typeof DeathTrapEffectRule;
79
- 601: typeof SeaScorcherEffectRule;
80
- 602: typeof DrawEffectRule;
55
+ 302: typeof CavernSkulkerEffectRule;
56
+ 315: typeof DoomEffectRule;
81
57
  603: typeof EyeOfSkyEffectRule;
82
- 605: typeof DiscardEffectRule;
83
- 606: typeof RiggingRaidersEffectRule;
84
- 607: typeof OttoFactotumEffectRule;
85
- 608: typeof OscarScullionEffectRule;
86
- 609: typeof TideRoverEffectRule;
87
- 610: typeof StealCrystalEffectRule;
88
- 612: typeof GainCrystalEffectRule;
89
- 613: typeof DarkArmageddonEffectRule;
90
58
  614: typeof BoardingPartyEffectRule;
91
- 615: typeof DawnsDoomEffectRule;
92
- 616: typeof SurpriseLootEffectRule;
93
59
  };
94
60
  locationsStrategies: {
95
61
  1: {
@@ -97,17 +63,20 @@ export declare class SkyriftRules extends SecretMaterialRules<Deck, MaterialType
97
63
  2: PositiveSequenceStrategy<number, number, number>;
98
64
  7: PositiveSequenceStrategy<number, number, number>;
99
65
  8: PositiveSequenceStrategy<number, number, number>;
66
+ 14: PositiveSequenceStrategy<number, number, number>;
100
67
  };
101
68
  };
102
69
  hidingStrategies: {
103
70
  1: {
104
71
  1: import("@gamepark/rules-api").HidingStrategy<number, number>;
105
- 2: import("@gamepark/rules-api").HidingStrategy;
72
+ 2: import("@gamepark/rules-api").HidingStrategy<number, number>;
73
+ 14: import("@gamepark/rules-api").HidingStrategy<number, number>;
106
74
  };
107
75
  };
108
76
  play(move: MaterialMoveRandomized<Deck, MaterialType, LocationType> | MaterialMoveView<Deck, MaterialType, LocationType>, context?: PlayMoveContext): MaterialMove<Deck, MaterialType, LocationType, number>[];
109
77
  protected beforeItemMove(move: ItemMove): MaterialMove<Deck, MaterialType, LocationType, number>[];
110
78
  protected afterItemMove(move: ItemMove, context?: PlayMoveContext): MaterialMove<Deck, MaterialType, LocationType, number>[];
111
79
  protected onCustomMove(move: CustomMove, context?: PlayMoveContext): MaterialMove<Deck, MaterialType, LocationType, number>[];
80
+ isUnpredictableMove(move: MaterialMove<Deck, MaterialType, LocationType>, player: Deck): boolean;
112
81
  giveTime(): number;
113
82
  }
@@ -1,51 +1,36 @@
1
- import { hideFront, hideFrontToOthers, isMoveItemType, isMoveItemTypeAtOnce, MoveKind, PositiveSequenceStrategy, SecretMaterialRules } from '@gamepark/rules-api';
1
+ import { hideFront, hideFrontToOthers, isMoveItemType, isMoveItemTypeAtOnce, isStartPlayerTurn, MoveKind, PositiveSequenceStrategy, SecretMaterialRules } from '@gamepark/rules-api';
2
2
  import { CustomMoveType } from './CustomMoveType';
3
+ import { createCardRule } from './material/createCardRule';
4
+ import { CavernSkulkerEffectRule } from './material/decks/gravehurt/CavernSkulkerEffectRule';
5
+ import { DoomEffectRule } from './material/decks/gravehurt/DoomEffectRule';
3
6
  import { ArmadaEffectRule } from './material/decks/heathblade/ArmadaEffectRule';
4
- import { CoverOfNightEffectRule } from './material/decks/heathblade/CoverOfNightEffectRule';
5
- import { HarvestEffectRule } from './material/decks/heathblade/HarvestEffectRule';
6
- import { LoyalSquireEffectRule } from './material/decks/heathblade/LoyalSquireEffectRule';
7
- import { OzmaTheMageEffectRule } from './material/decks/heathblade/OzmaTheMageEffectRule';
8
7
  import { PrincessLithaEffectRule } from './material/decks/heathblade/PrincessLithaEffectRule';
9
- import { RobbinsMasterOfArmsEffectRule } from './material/decks/heathblade/RobbinsMasterOfArmsEffectRule';
10
- import { SacrificeEffectRule } from './material/decks/heathblade/SacrificeEffectRule';
11
- import { SoulBladeEffectRule } from './material/decks/heathblade/SoulBladeEffectRule';
12
- import { WatchTowerEffectRule } from './material/decks/heathblade/WatchTowerEffectRule';
13
8
  import { BoardingPartyEffectRule } from './material/decks/highwave/BoardingPartyEffectRule';
14
- import { DarkArmageddonEffectRule } from './material/decks/highwave/DarkArmageddonEffectRule';
15
- import { DawnsDoomEffectRule } from './material/decks/highwave/DawnsDoomEffectRule';
16
- import { OttoFactotumEffectRule } from './material/decks/highwave/OttoFactotumEffectRule';
17
- import { SeaScorcherEffectRule } from './material/decks/highwave/SeaScorcherEffectRule';
18
9
  import { EyeOfSkyEffectRule } from './material/decks/highwave/EyeOfSkyEffectRule';
19
- import { TideRoverEffectRule } from './material/decks/highwave/TideRoverEffectRule';
20
- import { RiggingRaidersEffectRule } from './material/decks/highwave/RiggingRaidersEffectRule';
21
- import { OscarScullionEffectRule } from './material/decks/highwave/OscarScullionEffectRule';
22
- import { SurpriseLootEffectRule } from './material/decks/highwave/SurpriseLootEffectRule';
23
- import { AbiSnakeCharmerEffectRule } from './material/decks/winsands/AbiSnakeCharmerEffectRule';
24
- import { DeathTrapEffectRule } from './material/decks/winsands/DeathTrapEffectRule';
25
- import { DesertRaiderEffectRule } from './material/decks/winsands/DesertRaiderEffectRule';
26
- import { OasisShamanEffectRule } from './material/decks/winsands/OasisShamanEffectRule';
27
- import { SandWalkersEffectRule } from './material/decks/winsands/SandWalkersEffectRule';
28
- import { StarlightBazaarEffectRule } from './material/decks/winsands/StarlightBazaarEffectRule';
29
- import { VandalsEffectRule } from './material/decks/winsands/VandalsEffectRule';
30
- import { WindWrathEffectRule } from './material/decks/winsands/WindWrathEffectRule';
31
- import { WishLampEffectRule } from './material/decks/winsands/WishLampEffectRule';
10
+ import { AbiSnakeCharmerEffectRule } from './material/decks/windsands/AbiSnakeCharmerEffectRule';
11
+ import { WindWrathEffectRule } from './material/decks/windsands/WindWrathEffectRule';
32
12
  import { LocationType } from './material/LocationType';
33
13
  import { MaterialType } from './material/MaterialType';
34
14
  import { Memory } from './Memory';
35
- import { ChallengeRule } from './rules/ChallengeRule';
15
+ import { ChallengeEffectRule } from './rules/ChallengeEffectRule';
16
+ import { ChallengeResponseRule } from './rules/ChallengeResponseRule';
17
+ import { DestroyEffectRule } from './rules/DestroyEffectRule';
36
18
  import { DiscardEffectRule } from './rules/DiscardEffectRule';
37
19
  import { DrawEffectRule } from './rules/DrawEffectRule';
38
20
  import { EndPlayerTurnRule } from './rules/EndPlayerTurnRule';
39
21
  import { EndRoundRule } from './rules/EndRoundRule';
40
22
  import { GainCrystalEffectRule } from './rules/GainCrystalEffectRule';
41
- import { MayChallengeRule } from './rules/MayChallengeRule';
23
+ import { PlayCardEffectRule } from './rules/PlayCardEffectRule';
42
24
  import { PlayCardRule } from './rules/PlayCardRule';
43
- import { PlayerHelper } from './rules/PlayerHelper';
44
25
  import { PrepareNextRoundRule } from './rules/PrepareNextRoundRule';
26
+ import { PutPowerTokenEffectRule } from './rules/PutPowerTokenEffectRule';
27
+ import { ReturnCardEffectRule } from './rules/ReturnCardEffectRule';
45
28
  import { RuleId } from './rules/RuleId';
46
29
  import { StartPlayerTurnRule } from './rules/StartPlayerTurnRule';
47
30
  import { StartRoundRule } from './rules/StartRoundRule';
31
+ import { StashPowerTokensEffectRule } from './rules/StashPowerTokensEffectRule';
48
32
  import { StealCrystalEffectRule } from './rules/StealCrystalEffectRule';
33
+ import { StunEffectRule } from './rules/StunEffectRule';
49
34
  export class SkyriftRules extends SecretMaterialRules {
50
35
  rules = {
51
36
  [RuleId.StartRound]: StartRoundRule,
@@ -54,58 +39,41 @@ export class SkyriftRules extends SecretMaterialRules {
54
39
  [RuleId.EndPlayerTurn]: EndPlayerTurnRule,
55
40
  [RuleId.EndRound]: EndRoundRule,
56
41
  [RuleId.PrepareNextRound]: PrepareNextRoundRule,
57
- [RuleId.MayChallenge]: MayChallengeRule,
58
- [RuleId.Challenge]: ChallengeRule,
59
- [RuleId.LoyalSquireEffect]: LoyalSquireEffectRule,
60
- [RuleId.PrincessLithaEffect]: PrincessLithaEffectRule,
61
- [RuleId.RobbinsMasterOfArmsEffect]: RobbinsMasterOfArmsEffectRule,
62
- [RuleId.OzmaTheMageEffect]: OzmaTheMageEffectRule,
63
- [RuleId.ArmadaEffect]: ArmadaEffectRule,
64
- [RuleId.SoulBladeEffect]: SoulBladeEffectRule,
65
- [RuleId.CoverOfNightEffect]: CoverOfNightEffectRule,
66
- [RuleId.SacrificeEffect]: SacrificeEffectRule,
67
- [RuleId.WatchTowerEffect]: WatchTowerEffectRule,
68
- [RuleId.ConfluenceEffect]: DrawEffectRule,
69
- [RuleId.HarvestEffect]: HarvestEffectRule,
70
- [RuleId.DesertRaiderEffect]: DesertRaiderEffectRule,
71
- [RuleId.MetamorphEffect]: DrawEffectRule,
42
+ [RuleId.ChallengeEffect]: ChallengeEffectRule,
43
+ [RuleId.ChallengeResponse]: ChallengeResponseRule,
44
+ [RuleId.DrawEffect]: DrawEffectRule,
45
+ [RuleId.DiscardEffect]: DiscardEffectRule,
46
+ [RuleId.DestroyEffect]: DestroyEffectRule,
47
+ [RuleId.StunEffect]: StunEffectRule,
48
+ [RuleId.ReturnCardEffect]: ReturnCardEffectRule,
49
+ [RuleId.PutPowerTokensEffect]: PutPowerTokenEffectRule,
50
+ [RuleId.StashPowerTokensEffect]: StashPowerTokensEffectRule,
51
+ [RuleId.GainCrystalEffect]: GainCrystalEffectRule,
52
+ [RuleId.StealCrystalEffect]: StealCrystalEffectRule,
72
53
  [RuleId.AbiSnakeCharmerEffect]: AbiSnakeCharmerEffectRule,
73
- [RuleId.VandalsEffect]: VandalsEffectRule,
74
- [RuleId.MushaFakirEffect]: DrawEffectRule,
75
- [RuleId.OasisShamanEffect]: OasisShamanEffectRule,
76
- [RuleId.SandWalkersEffect]: SandWalkersEffectRule,
77
- [RuleId.WishLampEffect]: WishLampEffectRule,
78
- [RuleId.StarlightBazaarEffect]: StarlightBazaarEffectRule,
79
- [RuleId.AncientCurseEffect]: DrawEffectRule,
54
+ [RuleId.PlayCardEffect]: PlayCardEffectRule,
55
+ [RuleId.ArmadaEffect]: ArmadaEffectRule,
56
+ [RuleId.PrincessLithaEffect]: PrincessLithaEffectRule,
80
57
  [RuleId.WindWrathEffect]: WindWrathEffectRule,
81
- [RuleId.DeathTrapEffect]: DeathTrapEffectRule,
82
- [RuleId.SeaScorcherEffect]: SeaScorcherEffectRule,
83
- [RuleId.AeliaSteadyHandEffect]: DrawEffectRule,
58
+ [RuleId.CavernSkulkerEffect]: CavernSkulkerEffectRule,
59
+ [RuleId.DoomEffect]: DoomEffectRule,
84
60
  [RuleId.EyeOfSkyEffect]: EyeOfSkyEffectRule,
85
- [RuleId.TropicalRuffianEffect]: DiscardEffectRule,
86
- [RuleId.RiggingRaidersEffect]: RiggingRaidersEffectRule,
87
- [RuleId.OttoFactotumEffect]: OttoFactotumEffectRule,
88
- [RuleId.OscarScullionEffect]: OscarScullionEffectRule,
89
- [RuleId.TideRoverEffect]: TideRoverEffectRule,
90
- [RuleId.LongJawsSilverEffect]: StealCrystalEffectRule,
91
- [RuleId.FortunesCourseEffect]: GainCrystalEffectRule,
92
- [RuleId.DarkArmageddonEffect]: DarkArmageddonEffectRule,
93
- [RuleId.BoardingPartyEffect]: BoardingPartyEffectRule,
94
- [RuleId.DawnsDoomEffect]: DawnsDoomEffectRule,
95
- [RuleId.SurpriseLootEffect]: SurpriseLootEffectRule
61
+ [RuleId.BoardingPartyEffect]: BoardingPartyEffectRule
96
62
  };
97
63
  locationsStrategies = {
98
64
  [MaterialType.Card]: {
99
65
  [LocationType.PlayerDeck]: new PositiveSequenceStrategy(),
100
66
  [LocationType.PlayerHand]: new PositiveSequenceStrategy(),
101
67
  [LocationType.PlayArea]: new PositiveSequenceStrategy(),
102
- [LocationType.PlayerDiscard]: new PositiveSequenceStrategy()
68
+ [LocationType.PlayerDiscard]: new PositiveSequenceStrategy(),
69
+ [LocationType.UnderCard]: new PositiveSequenceStrategy()
103
70
  }
104
71
  };
105
72
  hidingStrategies = {
106
73
  [MaterialType.Card]: {
107
74
  [LocationType.PlayerDeck]: hideFront,
108
- [LocationType.PlayerHand]: hideFrontToOthers
75
+ [LocationType.PlayerHand]: hideFrontToOthers,
76
+ [LocationType.UnderCard]: hideFront
109
77
  }
110
78
  };
111
79
  play(move, context) {
@@ -119,8 +87,7 @@ export class SkyriftRules extends SecretMaterialRules {
119
87
  if (isMoveItemType(MaterialType.Card)(move)) {
120
88
  const origin = this.material(MaterialType.Card).getItem(move.itemIndex).location;
121
89
  if (origin.type === LocationType.PlayArea && move.location.type !== LocationType.PlayArea) {
122
- const cardRule = new PlayerHelper(this.game).getCardRule(move.itemIndex);
123
- moves.push(...cardRule.onLeave());
90
+ moves.push(...createCardRule(this.game, move.itemIndex).onLeaves());
124
91
  this.memorize(Memory.OngoingEffects, (effects) => effects.filter((e) => e.cardIndex !== move.itemIndex));
125
92
  }
126
93
  }
@@ -129,8 +96,7 @@ export class SkyriftRules extends SecretMaterialRules {
129
96
  for (const itemIndex of move.indexes) {
130
97
  const origin = this.material(MaterialType.Card).getItem(itemIndex).location;
131
98
  if (origin.type === LocationType.PlayArea && move.location.type !== LocationType.PlayArea) {
132
- const cardRule = new PlayerHelper(this.game).getCardRule(itemIndex);
133
- moves.push(...cardRule.onLeave());
99
+ moves.push(...createCardRule(this.game, itemIndex).onLeaves());
134
100
  leavingIndexes.push(itemIndex);
135
101
  }
136
102
  }
@@ -172,6 +138,9 @@ export class SkyriftRules extends SecretMaterialRules {
172
138
  }
173
139
  return moves;
174
140
  }
141
+ isUnpredictableMove(move, player) {
142
+ return (isStartPlayerTurn(move) && move.id === RuleId.CavernSkulkerEffect) || super.isUnpredictableMove(move, player);
143
+ }
175
144
  giveTime() {
176
145
  return 60;
177
146
  }
@@ -1,9 +1,10 @@
1
1
  import { listingToList, MaterialGameSetup } from '@gamepark/rules-api';
2
2
  import { shuffle } from 'es-toolkit';
3
3
  import { Deck } from './Deck';
4
+ import { GraveHurt } from './material/decks/GraveHurt';
4
5
  import { HearthBlade } from './material/decks/HearthBlade';
5
6
  import { HighWave } from './material/decks/HighWave';
6
- import { WinSands } from './material/decks/WinSands';
7
+ import { WindSands } from './material/decks/WindSands';
7
8
  import { LocationType } from './material/LocationType';
8
9
  import { MaterialType } from './material/MaterialType';
9
10
  import { Memory } from './Memory';
@@ -11,7 +12,8 @@ import { RuleId } from './rules/RuleId';
11
12
  import { SkyriftRules } from './SkyriftRules';
12
13
  const deckConfigurations = {
13
14
  [Deck.HearthBlade]: HearthBlade,
14
- [Deck.WinSands]: WinSands,
15
+ [Deck.WindSands]: WindSands,
16
+ [Deck.GraveHurt]: GraveHurt,
15
17
  [Deck.HighWave]: HighWave
16
18
  };
17
19
  export class SkyriftSetup extends MaterialGameSetup {
@@ -32,6 +32,22 @@ export declare enum Card {
32
32
  AncientCurse = 214,
33
33
  WindWrath = 215,
34
34
  DeathTrap = 216,
35
+ MacabreLegion = 301,
36
+ CavernSkulker = 302,
37
+ TheGreatToady = 303,
38
+ Umbraboros = 304,
39
+ Nosferatis = 305,
40
+ InsatiableUmbraphage = 306,
41
+ ScrabDoombird = 307,
42
+ MoonFang = 308,
43
+ Whisperers = 309,
44
+ OstraVoiceOfTheSoul = 310,
45
+ TerrifyingSummoning = 311,
46
+ ReturnInTime = 312,
47
+ CallOfTheEclipse = 313,
48
+ WitchingHour = 314,
49
+ Doom = 315,
50
+ AstralHammer = 316,
35
51
  SeaScorcher = 601,
36
52
  AeliaSteadyHand = 602,
37
53
  EyeOfSky = 603,
@@ -32,6 +32,22 @@ export var Card;
32
32
  Card[Card["AncientCurse"] = 214] = "AncientCurse";
33
33
  Card[Card["WindWrath"] = 215] = "WindWrath";
34
34
  Card[Card["DeathTrap"] = 216] = "DeathTrap";
35
+ Card[Card["MacabreLegion"] = 301] = "MacabreLegion";
36
+ Card[Card["CavernSkulker"] = 302] = "CavernSkulker";
37
+ Card[Card["TheGreatToady"] = 303] = "TheGreatToady";
38
+ Card[Card["Umbraboros"] = 304] = "Umbraboros";
39
+ Card[Card["Nosferatis"] = 305] = "Nosferatis";
40
+ Card[Card["InsatiableUmbraphage"] = 306] = "InsatiableUmbraphage";
41
+ Card[Card["ScrabDoombird"] = 307] = "ScrabDoombird";
42
+ Card[Card["MoonFang"] = 308] = "MoonFang";
43
+ Card[Card["Whisperers"] = 309] = "Whisperers";
44
+ Card[Card["OstraVoiceOfTheSoul"] = 310] = "OstraVoiceOfTheSoul";
45
+ Card[Card["TerrifyingSummoning"] = 311] = "TerrifyingSummoning";
46
+ Card[Card["ReturnInTime"] = 312] = "ReturnInTime";
47
+ Card[Card["CallOfTheEclipse"] = 313] = "CallOfTheEclipse";
48
+ Card[Card["WitchingHour"] = 314] = "WitchingHour";
49
+ Card[Card["Doom"] = 315] = "Doom";
50
+ Card[Card["AstralHammer"] = 316] = "AstralHammer";
35
51
  Card[Card["SeaScorcher"] = 601] = "SeaScorcher";
36
52
  Card[Card["AeliaSteadyHand"] = 602] = "AeliaSteadyHand";
37
53
  Card[Card["EyeOfSky"] = 603] = "EyeOfSky";
@@ -15,22 +15,38 @@ import { OscarScullion } from './decks/highwave/OscarScullion';
15
15
  import { SurpriseLoot } from './decks/highwave/SurpriseLoot';
16
16
  import { FortunesCourse } from './decks/highwave/FortunesCourse';
17
17
  import { TropicalRuffian } from './decks/highwave/TropicalRuffian';
18
- import { AbiSnakeCharmer } from './decks/winsands/AbiSnakeCharmer';
19
- import { AncientCurse } from './decks/winsands/AncientCurse';
20
- import { Catadjinn } from './decks/winsands/Catadjinn';
21
- import { DeathTrap } from './decks/winsands/DeathTrap';
22
- import { DesertRaider } from './decks/winsands/DesertRaider';
23
- import { DuneWardrums } from './decks/winsands/DuneWardrums';
24
- import { ErgDeathslayer } from './decks/winsands/ErgDeathslayer';
25
- import { MalikShadowtracker } from './decks/winsands/MalikShadowtracker';
26
- import { Metamorph } from './decks/winsands/Metamorph';
27
- import { MushaFakir } from './decks/winsands/MushaFakir';
28
- import { OasisShaman } from './decks/winsands/OasisShaman';
29
- import { SandWalkers } from './decks/winsands/SandWalkers';
30
- import { StarlightBazaar } from './decks/winsands/StarlightBazaar';
31
- import { Vandals } from './decks/winsands/Vandals';
32
- import { WindWrath } from './decks/winsands/WindWrath';
33
- import { WishLamp } from './decks/winsands/WishLamp';
18
+ import { AbiSnakeCharmer } from './decks/windsands/AbiSnakeCharmer';
19
+ import { AncientCurse } from './decks/windsands/AncientCurse';
20
+ import { Catadjinn } from './decks/windsands/Catadjinn';
21
+ import { DeathTrap } from './decks/windsands/DeathTrap';
22
+ import { DesertRaider } from './decks/windsands/DesertRaider';
23
+ import { DuneWardrums } from './decks/windsands/DuneWardrums';
24
+ import { ErgDeathslayer } from './decks/windsands/ErgDeathslayer';
25
+ import { MalikShadowtracker } from './decks/windsands/MalikShadowtracker';
26
+ import { Metamorph } from './decks/windsands/Metamorph';
27
+ import { MushaFakir } from './decks/windsands/MushaFakir';
28
+ import { OasisShaman } from './decks/windsands/OasisShaman';
29
+ import { SandWalkers } from './decks/windsands/SandWalkers';
30
+ import { StarlightBazaar } from './decks/windsands/StarlightBazaar';
31
+ import { Vandals } from './decks/windsands/Vandals';
32
+ import { WindWrath } from './decks/windsands/WindWrath';
33
+ import { WishLamp } from './decks/windsands/WishLamp';
34
+ import { AstralHammer } from './decks/gravehurt/AstralHammer';
35
+ import { CavernSkulker } from './decks/gravehurt/CavernSkulker';
36
+ import { Doom } from './decks/gravehurt/Doom';
37
+ import { CallOfTheEclipse } from './decks/gravehurt/CallOfTheEclipse';
38
+ import { InsatiableUmbraphage } from './decks/gravehurt/InsatiableUmbraphage';
39
+ import { MacabreLegion } from './decks/gravehurt/MacabreLegion';
40
+ import { MoonFang } from './decks/gravehurt/MoonFang';
41
+ import { Nosferatis } from './decks/gravehurt/Nosferatis';
42
+ import { OstraVoiceOfTheSoul } from './decks/gravehurt/OstraVoiceOfTheSoul';
43
+ import { ReturnInTime } from './decks/gravehurt/ReturnInTime';
44
+ import { ScrabDoombird } from './decks/gravehurt/ScrabDoombird';
45
+ import { TerrifyingSummoning } from './decks/gravehurt/TerrifyingSummoning';
46
+ import { TheGreatToady } from './decks/gravehurt/TheGreatToady';
47
+ import { Umbraboros } from './decks/gravehurt/Umbraboros';
48
+ import { Whisperers } from './decks/gravehurt/Whisperers';
49
+ import { WitchingHour } from './decks/gravehurt/WitchingHour';
34
50
  import { Armada } from './decks/heathblade/Armada';
35
51
  import { Confluence } from './decks/heathblade/Confluence';
36
52
  import { CoverOfNight } from './decks/heathblade/CoverOfNight';
@@ -80,6 +96,22 @@ export const cardProperties = {
80
96
  [Card.AncientCurse]: AncientCurse,
81
97
  [Card.WindWrath]: WindWrath,
82
98
  [Card.DeathTrap]: DeathTrap,
99
+ [Card.MacabreLegion]: MacabreLegion,
100
+ [Card.CavernSkulker]: CavernSkulker,
101
+ [Card.TheGreatToady]: TheGreatToady,
102
+ [Card.Umbraboros]: Umbraboros,
103
+ [Card.Nosferatis]: Nosferatis,
104
+ [Card.InsatiableUmbraphage]: InsatiableUmbraphage,
105
+ [Card.ScrabDoombird]: ScrabDoombird,
106
+ [Card.MoonFang]: MoonFang,
107
+ [Card.Whisperers]: Whisperers,
108
+ [Card.OstraVoiceOfTheSoul]: OstraVoiceOfTheSoul,
109
+ [Card.TerrifyingSummoning]: TerrifyingSummoning,
110
+ [Card.ReturnInTime]: ReturnInTime,
111
+ [Card.CallOfTheEclipse]: CallOfTheEclipse,
112
+ [Card.WitchingHour]: WitchingHour,
113
+ [Card.Doom]: Doom,
114
+ [Card.AstralHammer]: AstralHammer,
83
115
  [Card.SeaScorcher]: SeaScorcher,
84
116
  [Card.AeliaSteadyHand]: AeliaSteadyHand,
85
117
  [Card.EyeOfSky]: EyeOfSky,
@@ -1,37 +1,41 @@
1
1
  import { MaterialGame, MaterialMove, MaterialRulesPart } from '@gamepark/rules-api';
2
2
  import { Deck } from '../Deck';
3
3
  import { Card, CardId } from './Card';
4
- import { CardTag } from './CardTag';
4
+ import { Effect } from './Effect';
5
5
  import { OngoingEffectType } from './OngoingEffect';
6
6
  export declare class CardRule extends MaterialRulesPart {
7
7
  index: number;
8
8
  constructor(game: MaterialGame, index: number);
9
- onEnters(): MaterialMove[];
10
- onPlayerTurnStart(_player: Deck): MaterialMove[];
11
- onRoundEnd(win: boolean): MaterialMove[];
12
- onWinRound(): MaterialMove[];
13
- onLoseRound(): MaterialMove[];
14
- onCardEnters(_card: Card, _side: Deck): MaterialMove[];
15
- oncePerTurnEffect: boolean;
16
- entersEffect: boolean;
17
- challenge: boolean;
18
- onChallengeAccepted(): import("@gamepark/rules-api").CustomMove[];
19
- onChallengeDeclined(): MaterialMove[];
20
- onLeave(): MaterialMove[];
21
- removePowerTokens(): import("@gamepark/rules-api").DeleteItem<number>[];
22
- removeStunTokens(): import("@gamepark/rules-api").DeleteItem<number>[];
9
+ onEnters?(): void;
10
+ onCardEnters?(card: Card, side: Deck): void;
11
+ activate?(): void;
12
+ onPlayerTurnStart?(): void;
13
+ onFoeTurnStart?(): void;
14
+ onSkirmishEnd?(): void;
15
+ onSkirmishWin?(): void;
16
+ onSkirmishLost?(): void;
17
+ survivesSkirmish?(): boolean;
18
+ canActivate(): boolean;
19
+ onLeaves(): MaterialMove[];
20
+ removePowerTokens(): MaterialMove[];
21
+ removeStunTokens(): MaterialMove[];
22
+ removeSpecialTokens(): MaterialMove[];
23
23
  get item(): import("@gamepark/rules-api").MaterialItem<number, number, CardId>;
24
24
  get card(): Card;
25
25
  get properties(): import("./CardProperties").CardProperties;
26
+ get playArea(): import("@gamepark/rules-api").Material<number, number, number>;
27
+ get creatures(): import("@gamepark/rules-api").Material<number, number, number>;
26
28
  isStunned(): boolean;
27
29
  getPower(): number;
28
30
  getPowerIfNotStunned(): number;
29
- addPendingEffect(): void;
31
+ addPendingEffect(ruleId: number): void;
30
32
  addOngoingEffect(type: OngoingEffectType): void;
33
+ removeOngoingEffect(type: OngoingEffectType): void;
31
34
  get player(): number;
32
- get opponent(): number;
33
- startEffect(): MaterialMove[];
35
+ get foe(): number;
36
+ startEffect(effect: Effect): MaterialMove[];
37
+ getEffectPlayer(_effect: Effect): number;
34
38
  canBePlayed(): boolean;
35
- permanentEffectTag?: CardTag;
36
- hasPermanentEffectOnTag(tag: CardTag): boolean;
39
+ canSuitBePlayed(): boolean;
40
+ ongoingEffectPreventsPlayCard(): boolean;
37
41
  }