@gamepark/skyrift 0.2.8 → 0.3.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 (121) hide show
  1. package/dist/Deck.d.ts +1 -0
  2. package/dist/Deck.js +1 -0
  3. package/dist/Memory.d.ts +2 -1
  4. package/dist/Memory.js +1 -0
  5. package/dist/SkyriftRules.d.ts +35 -14
  6. package/dist/SkyriftRules.js +42 -15
  7. package/dist/SkyriftSetup.js +3 -0
  8. package/dist/material/Card.d.ts +26 -10
  9. package/dist/material/Card.js +26 -10
  10. package/dist/material/CardProperties.js +52 -20
  11. package/dist/material/CardRule.d.ts +3 -2
  12. package/dist/material/CardRule.js +14 -0
  13. package/dist/material/OngoingEffect.d.ts +8 -0
  14. package/dist/material/OngoingEffect.js +5 -0
  15. package/dist/material/decks/HearthBlade.js +4 -4
  16. package/dist/material/decks/HighWave.js +10 -10
  17. package/dist/material/decks/WinSands.d.ts +18 -0
  18. package/dist/material/decks/WinSands.js +19 -0
  19. package/dist/material/decks/heathblade/Confluence.js +1 -1
  20. package/dist/material/decks/heathblade/Harvest.js +1 -1
  21. package/dist/material/decks/heathblade/OzmaTheMageEffectRule.js +1 -3
  22. package/dist/material/decks/heathblade/RobbinsMasterOfArmsEffectRule.js +1 -3
  23. package/dist/material/decks/highwave/BonnyTheGunner.d.ts +14 -0
  24. package/dist/material/decks/highwave/BonnyTheGunner.js +13 -0
  25. package/dist/material/decks/highwave/CannonCardRule.js +5 -3
  26. package/dist/material/decks/highwave/DarkArmageddon.d.ts +15 -0
  27. package/dist/material/decks/highwave/DarkArmageddon.js +14 -0
  28. package/dist/material/decks/highwave/DarkArmageddonEffectRule.d.ts +4 -0
  29. package/dist/material/decks/highwave/DarkArmageddonEffectRule.js +4 -0
  30. package/dist/material/decks/highwave/EyeOfSky.d.ts +16 -0
  31. package/dist/material/decks/highwave/EyeOfSky.js +20 -0
  32. package/dist/material/decks/highwave/EyeOfSkyEffectRule.d.ts +7 -0
  33. package/dist/material/decks/highwave/EyeOfSkyEffectRule.js +21 -0
  34. package/dist/material/decks/highwave/FortunesCourse.d.ts +14 -0
  35. package/dist/material/decks/highwave/FortunesCourse.js +15 -0
  36. package/dist/material/decks/highwave/GoldenApocalypse.d.ts +15 -0
  37. package/dist/material/decks/highwave/GoldenApocalypse.js +14 -0
  38. package/dist/material/decks/highwave/OscarScullion.d.ts +13 -0
  39. package/dist/material/decks/highwave/OscarScullion.js +12 -0
  40. package/dist/material/decks/highwave/OscarScullionEffectRule.d.ts +5 -0
  41. package/dist/material/decks/highwave/OscarScullionEffectRule.js +12 -0
  42. package/dist/material/decks/highwave/OttoFactotum.d.ts +13 -0
  43. package/dist/material/decks/highwave/OttoFactotum.js +12 -0
  44. package/dist/material/decks/highwave/OttoFactotumEffectRule.d.ts +4 -0
  45. package/dist/material/decks/highwave/OttoFactotumEffectRule.js +9 -0
  46. package/dist/material/decks/highwave/RiggingRaiders.d.ts +13 -0
  47. package/dist/material/decks/highwave/RiggingRaiders.js +12 -0
  48. package/dist/material/decks/highwave/RiggingRaidersEffectRule.d.ts +5 -0
  49. package/dist/material/decks/highwave/RiggingRaidersEffectRule.js +17 -0
  50. package/dist/material/decks/highwave/SeaScorcher.d.ts +16 -0
  51. package/dist/material/decks/highwave/SeaScorcher.js +19 -0
  52. package/dist/material/decks/highwave/SeaScorcherEffectRule.d.ts +5 -0
  53. package/dist/material/decks/highwave/SeaScorcherEffectRule.js +13 -0
  54. package/dist/material/decks/highwave/TideRover.d.ts +13 -0
  55. package/dist/material/decks/highwave/TideRover.js +12 -0
  56. package/dist/material/decks/highwave/TideRoverEffectRule.d.ts +4 -0
  57. package/dist/material/decks/highwave/TideRoverEffectRule.js +26 -0
  58. package/dist/material/decks/highwave/TropicalRuffian.js +1 -1
  59. package/dist/material/decks/winsands/AbiSnakeCharmer.d.ts +13 -0
  60. package/dist/material/decks/winsands/AbiSnakeCharmer.js +12 -0
  61. package/dist/material/decks/winsands/AbiSnakeCharmerEffectRule.d.ts +7 -0
  62. package/dist/material/decks/winsands/AbiSnakeCharmerEffectRule.js +33 -0
  63. package/dist/material/decks/winsands/AncientCurse.d.ts +16 -0
  64. package/dist/material/decks/winsands/AncientCurse.js +23 -0
  65. package/dist/material/decks/winsands/Catadjinn.d.ts +14 -0
  66. package/dist/material/decks/winsands/Catadjinn.js +24 -0
  67. package/dist/material/decks/winsands/CreatureBonusCardRule.d.ts +4 -0
  68. package/dist/material/decks/winsands/CreatureBonusCardRule.js +14 -0
  69. package/dist/material/decks/winsands/DeathTrap.d.ts +14 -0
  70. package/dist/material/decks/winsands/DeathTrap.js +16 -0
  71. package/dist/material/decks/winsands/DeathTrapEffectRule.d.ts +4 -0
  72. package/dist/material/decks/winsands/DeathTrapEffectRule.js +18 -0
  73. package/dist/material/decks/winsands/DesertRaider.d.ts +13 -0
  74. package/dist/material/decks/winsands/DesertRaider.js +12 -0
  75. package/dist/material/decks/winsands/DesertRaiderEffectRule.d.ts +4 -0
  76. package/dist/material/decks/winsands/DesertRaiderEffectRule.js +17 -0
  77. package/dist/material/decks/winsands/DuneWardrums.d.ts +12 -0
  78. package/dist/material/decks/winsands/DuneWardrums.js +22 -0
  79. package/dist/material/decks/winsands/ErgDeathslayer.d.ts +13 -0
  80. package/dist/material/decks/winsands/ErgDeathslayer.js +19 -0
  81. package/dist/material/decks/winsands/MalikShadowtracker.d.ts +14 -0
  82. package/dist/material/decks/winsands/MalikShadowtracker.js +16 -0
  83. package/dist/material/decks/winsands/MalikShadowtrackerEffectRule.d.ts +4 -0
  84. package/dist/material/decks/winsands/MalikShadowtrackerEffectRule.js +13 -0
  85. package/dist/material/decks/winsands/Metamorph.d.ts +14 -0
  86. package/dist/material/decks/winsands/Metamorph.js +15 -0
  87. package/dist/material/decks/winsands/MushaFakir.d.ts +15 -0
  88. package/dist/material/decks/winsands/MushaFakir.js +16 -0
  89. package/dist/material/decks/winsands/OasisShaman.d.ts +13 -0
  90. package/dist/material/decks/winsands/OasisShaman.js +12 -0
  91. package/dist/material/decks/winsands/OasisShamanEffectRule.d.ts +8 -0
  92. package/dist/material/decks/winsands/OasisShamanEffectRule.js +33 -0
  93. package/dist/material/decks/winsands/SandWalkers.d.ts +17 -0
  94. package/dist/material/decks/winsands/SandWalkers.js +26 -0
  95. package/dist/material/decks/winsands/SandWalkersEffectRule.d.ts +5 -0
  96. package/dist/material/decks/winsands/SandWalkersEffectRule.js +25 -0
  97. package/dist/material/decks/winsands/StarlightBazaar.d.ts +13 -0
  98. package/dist/material/decks/winsands/StarlightBazaar.js +12 -0
  99. package/dist/material/decks/winsands/StarlightBazaarEffectRule.d.ts +4 -0
  100. package/dist/material/decks/winsands/StarlightBazaarEffectRule.js +6 -0
  101. package/dist/material/decks/winsands/Vandals.d.ts +13 -0
  102. package/dist/material/decks/winsands/Vandals.js +12 -0
  103. package/dist/material/decks/winsands/VandalsEffectRule.d.ts +4 -0
  104. package/dist/material/decks/winsands/VandalsEffectRule.js +14 -0
  105. package/dist/material/decks/winsands/WindWrath.d.ts +13 -0
  106. package/dist/material/decks/winsands/WindWrath.js +12 -0
  107. package/dist/material/decks/winsands/WindWrathEffectRule.d.ts +5 -0
  108. package/dist/material/decks/winsands/WindWrathEffectRule.js +20 -0
  109. package/dist/material/decks/winsands/WishLamp.d.ts +13 -0
  110. package/dist/material/decks/winsands/WishLamp.js +12 -0
  111. package/dist/material/decks/winsands/WishLampEffectRule.d.ts +10 -0
  112. package/dist/material/decks/winsands/WishLampEffectRule.js +46 -0
  113. package/dist/rules/EffectRule.d.ts +1 -0
  114. package/dist/rules/EffectRule.js +4 -2
  115. package/dist/rules/PlayCardRule.js +4 -19
  116. package/dist/rules/PlayerHelper.d.ts +2 -1
  117. package/dist/rules/PlayerHelper.js +32 -0
  118. package/dist/rules/PrepareNextRoundRule.js +1 -0
  119. package/dist/rules/RuleId.d.ts +20 -8
  120. package/dist/rules/RuleId.js +20 -8
  121. package/package.json +2 -2
@@ -0,0 +1,13 @@
1
+ import { CardRule } from '../../CardRule';
2
+ import { CardSuit } from '../../CardSuit';
3
+ import { CardType } from '../../CardType';
4
+ declare class WishLampRule extends CardRule {
5
+ entersEffect: boolean;
6
+ }
7
+ export declare const WishLamp: {
8
+ power: number;
9
+ type: CardType;
10
+ suit: CardSuit;
11
+ rule: typeof WishLampRule;
12
+ };
13
+ export {};
@@ -0,0 +1,12 @@
1
+ import { CardRule } from '../../CardRule';
2
+ import { CardSuit } from '../../CardSuit';
3
+ import { CardType } from '../../CardType';
4
+ class WishLampRule extends CardRule {
5
+ entersEffect = true;
6
+ }
7
+ export const WishLamp = {
8
+ power: 2,
9
+ type: CardType.Action,
10
+ suit: CardSuit.Night,
11
+ rule: WishLampRule
12
+ };
@@ -0,0 +1,10 @@
1
+ import { ItemMove, Material } from '@gamepark/rules-api';
2
+ import { StunCardRule } from '../../../rules/StunCardRule';
3
+ export declare class WishLampEffectRule extends StunCardRule {
4
+ stunCount: number;
5
+ onRuleStart(): import("@gamepark/rules-api").MaterialMove[];
6
+ getTargets(): Material;
7
+ afterItemMove(move: ItemMove): import("@gamepark/rules-api").MaterialMove[];
8
+ get catadjinnCount(): number;
9
+ onRuleEnd(): never[];
10
+ }
@@ -0,0 +1,46 @@
1
+ import { isCreateItemType } from '@gamepark/rules-api';
2
+ import { Memory } from '../../../Memory';
3
+ import { StunCardRule } from '../../../rules/StunCardRule';
4
+ import { Card } from '../../Card';
5
+ import { cardProperties } from '../../CardProperties';
6
+ import { CardType } from '../../CardType';
7
+ import { LocationType } from '../../LocationType';
8
+ import { MaterialType } from '../../MaterialType';
9
+ export class WishLampEffectRule extends StunCardRule {
10
+ stunCount = 2;
11
+ onRuleStart() {
12
+ this.memorize(Memory.EffectCount, []);
13
+ if (!this.getTargets().length) {
14
+ return this.endEffect();
15
+ }
16
+ return [];
17
+ }
18
+ getTargets() {
19
+ const stunned = this.remind(Memory.EffectCount);
20
+ return this.material(MaterialType.Card)
21
+ .location(LocationType.PlayArea)
22
+ .id((id) => cardProperties[id.front].type === CardType.Creature)
23
+ .index((index) => !stunned.includes(index));
24
+ }
25
+ afterItemMove(move) {
26
+ if (isCreateItemType(MaterialType.StunToken)(move) && move.item.location.type === LocationType.CardStunTokens) {
27
+ const stunned = this.memorize(Memory.EffectCount, (s) => [...s, move.item.location.parent]);
28
+ if (stunned.length >= 1 + this.catadjinnCount || !this.getTargets().length) {
29
+ return this.endEffect();
30
+ }
31
+ return [];
32
+ }
33
+ return [];
34
+ }
35
+ get catadjinnCount() {
36
+ return this.material(MaterialType.Card)
37
+ .location(LocationType.PlayArea)
38
+ .player(this.player)
39
+ .id((id) => id.front === Card.Catadjinn)
40
+ .length;
41
+ }
42
+ onRuleEnd() {
43
+ this.forget(Memory.EffectCount);
44
+ return [];
45
+ }
46
+ }
@@ -1,5 +1,6 @@
1
1
  import { CustomMove, MaterialMove, PlayerTurnRule } from '@gamepark/rules-api';
2
2
  export declare class EffectRule extends PlayerTurnRule {
3
+ get effectCardIndex(): number;
3
4
  get cardRule(): import("../material/CardRule").CardRule;
4
5
  endEffect(): MaterialMove[];
5
6
  onCustomMove(move: CustomMove): MaterialMove[];
@@ -6,9 +6,11 @@ import { Memory } from '../Memory';
6
6
  import { PlayerHelper } from './PlayerHelper';
7
7
  import { RuleId } from './RuleId';
8
8
  export class EffectRule extends PlayerTurnRule {
9
+ get effectCardIndex() {
10
+ return this.remind(Memory.PendingEffects)[0].cardIndex;
11
+ }
9
12
  get cardRule() {
10
- const pendingEffects = this.remind(Memory.PendingEffects);
11
- return new PlayerHelper(this.game, this.player).getCardRule(pendingEffects[0].cardIndex);
13
+ return new PlayerHelper(this.game, this.player).getCardRule(this.effectCardIndex);
12
14
  }
13
15
  endEffect() {
14
16
  return [this.customMove(CustomMoveType.EndEffect)];
@@ -1,7 +1,6 @@
1
1
  import { isMoveItemType, PlayerTurnRule } from '@gamepark/rules-api';
2
2
  import { CustomMoveType } from '../CustomMoveType';
3
3
  import { cardProperties } from '../material/CardProperties';
4
- import { CardSuit } from '../material/CardSuit';
5
4
  import { LocationType } from '../material/LocationType';
6
5
  import { MaterialType } from '../material/MaterialType';
7
6
  import { Memory } from '../Memory';
@@ -44,26 +43,11 @@ export class PlayCardRule extends PlayerTurnRule {
44
43
  afterItemMove(move) {
45
44
  const moves = [];
46
45
  if (isMoveItemType(MaterialType.Card)(move) && move.location.type === LocationType.PlayArea) {
47
- this.memorize(Memory.CardsPlayed, (cards) => [...cards, move.itemIndex], this.player);
48
- const cardRule = new PlayerHelper(this.game, this.player).getCardRule(move.itemIndex);
49
- if (!this.remind(Memory.Suit)) {
50
- const card = this.material(MaterialType.Card).getItem(move.itemIndex);
51
- const suit = cardProperties[card.id.front].suit;
52
- if (suit === CardSuit.Day || suit === CardSuit.Night) {
53
- this.memorize(Memory.Suit, suit);
54
- }
55
- }
56
- const cardsInPlay = this.material(MaterialType.Card).location(LocationType.PlayArea);
57
- for (const cardIndex of cardsInPlay.getIndexes()) {
58
- if (cardIndex !== move.itemIndex) {
59
- const otherCardRule = new PlayerHelper(this.game, this.player).getCardRule(cardIndex);
60
- moves.push(...otherCardRule.onCardEnters(cardRule.card, move.location.player));
61
- }
62
- }
63
- moves.push(...cardRule.onEnters());
46
+ const playerHelper = new PlayerHelper(this.game, this.player);
47
+ moves.push(...playerHelper.onCardPlayed(move.itemIndex));
64
48
  const pendingEffects = this.remind(Memory.PendingEffects);
65
49
  if (pendingEffects.length > 0) {
66
- return new PlayerHelper(this.game, this.player).getCardRule(pendingEffects[0].cardIndex).startEffect();
50
+ return [...moves, ...playerHelper.getCardRule(pendingEffects[0].cardIndex).startEffect()];
67
51
  }
68
52
  }
69
53
  if (isMoveItemType(MaterialType.Card)(move) || isMoveItemType(MaterialType.PowerToken)(move)) {
@@ -75,6 +59,7 @@ export class PlayCardRule extends PlayerTurnRule {
75
59
  }
76
60
  onCustomMove(move) {
77
61
  if (move.type === CustomMoveType.ConcedeRound) {
62
+ this.memorize(Memory.OngoingEffects, []);
78
63
  return [this.startRule(RuleId.EndRound)];
79
64
  }
80
65
  else if (move.type === CustomMoveType.ActivateCard) {
@@ -1,4 +1,4 @@
1
- import { MaterialGame, MaterialRulesPart } from '@gamepark/rules-api';
1
+ import { MaterialGame, MaterialMove, MaterialRulesPart } from '@gamepark/rules-api';
2
2
  import { Deck } from '../Deck';
3
3
  export declare class PlayerHelper extends MaterialRulesPart {
4
4
  private player;
@@ -10,4 +10,5 @@ export declare class PlayerHelper extends MaterialRulesPart {
10
10
  getPower(): number;
11
11
  get foe(): number;
12
12
  hasMorePower(): boolean;
13
+ onCardPlayed(cardIndex: number): MaterialMove[];
13
14
  }
@@ -1,8 +1,11 @@
1
1
  import { MaterialRulesPart } from '@gamepark/rules-api';
2
2
  import { sumBy } from 'es-toolkit';
3
3
  import { cardProperties } from '../material/CardProperties';
4
+ import { CardSuit } from '../material/CardSuit';
5
+ import { CardType } from '../material/CardType';
4
6
  import { LocationType } from '../material/LocationType';
5
7
  import { MaterialType } from '../material/MaterialType';
8
+ import { OngoingEffectType } from '../material/OngoingEffect';
6
9
  import { Memory } from '../Memory';
7
10
  export class PlayerHelper extends MaterialRulesPart {
8
11
  player;
@@ -33,4 +36,33 @@ export class PlayerHelper extends MaterialRulesPart {
33
36
  hasMorePower() {
34
37
  return this.getPower() > new PlayerHelper(this.game, this.foe).getPower();
35
38
  }
39
+ onCardPlayed(cardIndex) {
40
+ this.memorize(Memory.CardsPlayed, (cards) => [...cards, cardIndex], this.player);
41
+ this.memorize(Memory.OngoingEffects, (effects) => effects.filter((e) => !(e.type === OngoingEffectType.ForcedSuit &&
42
+ this.material(MaterialType.Card).getItem(e.cardIndex).location.player !== this.player)));
43
+ const cardRule = this.getCardRule(cardIndex);
44
+ if (!this.remind(Memory.Suit)) {
45
+ const suit = cardProperties[cardRule.card].suit;
46
+ if (suit === CardSuit.Day || suit === CardSuit.Night) {
47
+ this.memorize(Memory.Suit, suit);
48
+ }
49
+ }
50
+ const ongoingEffects = this.remind(Memory.OngoingEffects);
51
+ const deathTrap = ongoingEffects.find((e) => e.type === OngoingEffectType.DeathTrap);
52
+ if (deathTrap && cardProperties[cardRule.card].type === CardType.Creature) {
53
+ this.memorize(Memory.OngoingEffects, (effects) => effects.filter((e) => e.type !== OngoingEffectType.DeathTrap));
54
+ this.memorize(Memory.PendingEffects, (effects) => [...effects, { cardIndex: deathTrap.cardIndex }]);
55
+ return [];
56
+ }
57
+ const moves = [];
58
+ const cardsInPlay = this.material(MaterialType.Card).location(LocationType.PlayArea);
59
+ for (const index of cardsInPlay.getIndexes()) {
60
+ if (index !== cardIndex) {
61
+ const otherCardRule = this.getCardRule(index);
62
+ moves.push(...otherCardRule.onCardEnters(cardRule.card, this.player));
63
+ }
64
+ }
65
+ moves.push(...cardRule.onEnters());
66
+ return moves;
67
+ }
36
68
  }
@@ -22,6 +22,7 @@ export class PrepareNextRoundRule extends MaterialRulesPart {
22
22
  }
23
23
  onRuleEnd() {
24
24
  this.forget(Memory.NextRoundStartPlayer);
25
+ this.memorize(Memory.OngoingEffects, []);
25
26
  return [];
26
27
  }
27
28
  }
@@ -18,17 +18,29 @@ export declare enum RuleId {
18
18
  WatchTowerEffect = 114,
19
19
  ConfluenceEffect = 115,
20
20
  HarvestEffect = 116,
21
- PowderMonkeyEffect = 601,
21
+ DesertRaiderEffect = 201,
22
+ MetamorphEffect = 202,
23
+ AbiSnakeCharmerEffect = 204,
24
+ VandalsEffect = 206,
25
+ MushaFakirEffect = 207,
26
+ OasisShamanEffect = 208,
27
+ SandWalkersEffect = 211,
28
+ WishLampEffect = 212,
29
+ StarlightBazaarEffect = 213,
30
+ AncientCurseEffect = 214,
31
+ WindWrathEffect = 215,
32
+ DeathTrapEffect = 216,
33
+ SeaScorcherEffect = 601,
22
34
  AeliaSteadyHandEffect = 602,
23
- RicoSkeyeEffect = 603,
35
+ EyeOfSkyEffect = 603,
24
36
  TropicalRuffianEffect = 605,
25
- ScallywagEffect = 606,
26
- OttoPouchyEffect = 607,
27
- SkupperEffect = 608,
28
- SaltyDogEffect = 609,
37
+ RiggingRaidersEffect = 606,
38
+ OttoFactotumEffect = 607,
39
+ OscarScullionEffect = 608,
40
+ TideRoverEffect = 609,
29
41
  LongJawsSilverEffect = 610,
30
- TreasureMapEffect = 612,
31
- DarkBlazerEffect = 613,
42
+ FortunesCourseEffect = 612,
43
+ DarkArmageddonEffect = 613,
32
44
  BoardingPartyEffect = 614,
33
45
  DawnsDoomEffect = 615,
34
46
  SurpriseLootEffect = 616
@@ -20,17 +20,29 @@ export var RuleId;
20
20
  RuleId[RuleId["WatchTowerEffect"] = 114] = "WatchTowerEffect";
21
21
  RuleId[RuleId["ConfluenceEffect"] = 115] = "ConfluenceEffect";
22
22
  RuleId[RuleId["HarvestEffect"] = 116] = "HarvestEffect";
23
- RuleId[RuleId["PowderMonkeyEffect"] = 601] = "PowderMonkeyEffect";
23
+ RuleId[RuleId["DesertRaiderEffect"] = 201] = "DesertRaiderEffect";
24
+ RuleId[RuleId["MetamorphEffect"] = 202] = "MetamorphEffect";
25
+ RuleId[RuleId["AbiSnakeCharmerEffect"] = 204] = "AbiSnakeCharmerEffect";
26
+ RuleId[RuleId["VandalsEffect"] = 206] = "VandalsEffect";
27
+ RuleId[RuleId["MushaFakirEffect"] = 207] = "MushaFakirEffect";
28
+ RuleId[RuleId["OasisShamanEffect"] = 208] = "OasisShamanEffect";
29
+ RuleId[RuleId["SandWalkersEffect"] = 211] = "SandWalkersEffect";
30
+ RuleId[RuleId["WishLampEffect"] = 212] = "WishLampEffect";
31
+ RuleId[RuleId["StarlightBazaarEffect"] = 213] = "StarlightBazaarEffect";
32
+ RuleId[RuleId["AncientCurseEffect"] = 214] = "AncientCurseEffect";
33
+ RuleId[RuleId["WindWrathEffect"] = 215] = "WindWrathEffect";
34
+ RuleId[RuleId["DeathTrapEffect"] = 216] = "DeathTrapEffect";
35
+ RuleId[RuleId["SeaScorcherEffect"] = 601] = "SeaScorcherEffect";
24
36
  RuleId[RuleId["AeliaSteadyHandEffect"] = 602] = "AeliaSteadyHandEffect";
25
- RuleId[RuleId["RicoSkeyeEffect"] = 603] = "RicoSkeyeEffect";
37
+ RuleId[RuleId["EyeOfSkyEffect"] = 603] = "EyeOfSkyEffect";
26
38
  RuleId[RuleId["TropicalRuffianEffect"] = 605] = "TropicalRuffianEffect";
27
- RuleId[RuleId["ScallywagEffect"] = 606] = "ScallywagEffect";
28
- RuleId[RuleId["OttoPouchyEffect"] = 607] = "OttoPouchyEffect";
29
- RuleId[RuleId["SkupperEffect"] = 608] = "SkupperEffect";
30
- RuleId[RuleId["SaltyDogEffect"] = 609] = "SaltyDogEffect";
39
+ RuleId[RuleId["RiggingRaidersEffect"] = 606] = "RiggingRaidersEffect";
40
+ RuleId[RuleId["OttoFactotumEffect"] = 607] = "OttoFactotumEffect";
41
+ RuleId[RuleId["OscarScullionEffect"] = 608] = "OscarScullionEffect";
42
+ RuleId[RuleId["TideRoverEffect"] = 609] = "TideRoverEffect";
31
43
  RuleId[RuleId["LongJawsSilverEffect"] = 610] = "LongJawsSilverEffect";
32
- RuleId[RuleId["TreasureMapEffect"] = 612] = "TreasureMapEffect";
33
- RuleId[RuleId["DarkBlazerEffect"] = 613] = "DarkBlazerEffect";
44
+ RuleId[RuleId["FortunesCourseEffect"] = 612] = "FortunesCourseEffect";
45
+ RuleId[RuleId["DarkArmageddonEffect"] = 613] = "DarkArmageddonEffect";
34
46
  RuleId[RuleId["BoardingPartyEffect"] = 614] = "BoardingPartyEffect";
35
47
  RuleId[RuleId["DawnsDoomEffect"] = 615] = "DawnsDoomEffect";
36
48
  RuleId[RuleId["SurpriseLootEffect"] = 616] = "SurpriseLootEffect";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/skyrift",
3
- "version": "0.2.8",
3
+ "version": "0.3.0",
4
4
  "description": "The rules of SkyRift adapted for Game Park",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -30,5 +30,5 @@
30
30
  "es-toolkit": "^1.43.0",
31
31
  "vitest": "^4.0.15"
32
32
  },
33
- "gitHead": "2e5cefc3607beeb5e14a274e18c741360b2bfb5b"
33
+ "gitHead": "f50ba0de0d312d2424e9bb27f567966975c5e72d"
34
34
  }