@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.
- package/dist/Deck.d.ts +2 -1
- package/dist/Deck.js +2 -1
- package/dist/Memory.d.ts +1 -1
- package/dist/Memory.js +1 -1
- package/dist/SkyriftRules.d.ts +32 -63
- package/dist/SkyriftRules.js +40 -71
- package/dist/SkyriftSetup.js +4 -2
- package/dist/material/Card.d.ts +16 -0
- package/dist/material/Card.js +16 -0
- package/dist/material/CardProperties.js +48 -16
- package/dist/material/CardRule.d.ts +24 -20
- package/dist/material/CardRule.js +48 -65
- package/dist/material/CardTag.d.ts +2 -1
- package/dist/material/CardTag.js +2 -1
- package/dist/material/Effect.d.ts +1 -1
- package/dist/material/EffectTraits.d.ts +51 -0
- package/dist/material/EffectTraits.js +1 -0
- package/dist/material/LocationType.d.ts +3 -1
- package/dist/material/LocationType.js +2 -0
- package/dist/material/MaterialType.d.ts +2 -1
- package/dist/material/MaterialType.js +1 -0
- package/dist/material/OngoingEffect.d.ts +2 -2
- package/dist/material/OngoingEffect.js +2 -2
- package/dist/material/SpecialTokenType.d.ts +3 -0
- package/dist/material/SpecialTokenType.js +4 -0
- package/dist/material/createCardRule.d.ts +3 -0
- package/dist/material/createCardRule.js +7 -0
- package/dist/material/decks/GraveHurt.d.ts +18 -0
- package/dist/material/decks/GraveHurt.js +19 -0
- package/dist/material/decks/WindSands.d.ts +18 -0
- package/dist/material/decks/WindSands.js +19 -0
- package/dist/material/decks/gravehurt/AstralHammer.d.ts +18 -0
- package/dist/material/decks/gravehurt/AstralHammer.js +25 -0
- package/dist/material/decks/gravehurt/AstralHammerEffectRule.d.ts +4 -0
- package/dist/material/decks/gravehurt/AstralHammerEffectRule.js +26 -0
- package/dist/material/decks/gravehurt/CallOfTheEclipse.d.ts +17 -0
- package/dist/material/decks/gravehurt/CallOfTheEclipse.js +28 -0
- package/dist/material/decks/gravehurt/CallOfTheEclipseEffectRule.d.ts +5 -0
- package/dist/material/decks/gravehurt/CallOfTheEclipseEffectRule.js +11 -0
- package/dist/material/decks/gravehurt/CavernSkulker.d.ts +16 -0
- package/dist/material/decks/gravehurt/CavernSkulker.js +26 -0
- package/dist/material/decks/gravehurt/CavernSkulkerEffectRule.d.ts +4 -0
- package/dist/material/decks/gravehurt/CavernSkulkerEffectRule.js +15 -0
- package/dist/material/decks/gravehurt/Doom.d.ts +18 -0
- package/dist/material/decks/gravehurt/Doom.js +29 -0
- package/dist/material/decks/gravehurt/DoomEffectRule.d.ts +8 -0
- package/dist/material/decks/gravehurt/DoomEffectRule.js +32 -0
- package/dist/material/decks/gravehurt/InsatiableUmbraphage.d.ts +19 -0
- package/dist/material/decks/gravehurt/InsatiableUmbraphage.js +28 -0
- package/dist/material/decks/gravehurt/InsatiableUmbraphageEffectRule.d.ts +5 -0
- package/dist/material/decks/gravehurt/InsatiableUmbraphageEffectRule.js +21 -0
- package/dist/material/decks/gravehurt/MacabreLegion.d.ts +17 -0
- package/dist/material/decks/gravehurt/MacabreLegion.js +20 -0
- package/dist/material/decks/gravehurt/MoonFang.d.ts +17 -0
- package/dist/material/decks/gravehurt/MoonFang.js +20 -0
- package/dist/material/decks/gravehurt/Nosferatis.d.ts +20 -0
- package/dist/material/decks/gravehurt/Nosferatis.js +29 -0
- package/dist/material/decks/gravehurt/OstraVoiceOfTheSoul.d.ts +12 -0
- package/dist/material/decks/gravehurt/OstraVoiceOfTheSoul.js +11 -0
- package/dist/material/decks/gravehurt/ReturnInTime.d.ts +15 -0
- package/dist/material/decks/gravehurt/ReturnInTime.js +18 -0
- package/dist/material/decks/gravehurt/ScrabDoombird.d.ts +18 -0
- package/dist/material/decks/gravehurt/ScrabDoombird.js +21 -0
- package/dist/material/decks/gravehurt/TerrifyingSummoning.d.ts +18 -0
- package/dist/material/decks/gravehurt/TerrifyingSummoning.js +26 -0
- package/dist/material/decks/gravehurt/TerrifyingSummoningEffectRule.d.ts +5 -0
- package/dist/material/decks/gravehurt/TerrifyingSummoningEffectRule.js +11 -0
- package/dist/material/decks/gravehurt/TheGreatToady.d.ts +19 -0
- package/dist/material/decks/gravehurt/TheGreatToady.js +42 -0
- package/dist/material/decks/gravehurt/Umbraboros.d.ts +22 -0
- package/dist/material/decks/gravehurt/Umbraboros.js +30 -0
- package/dist/material/decks/gravehurt/UndeadRule.d.ts +5 -0
- package/dist/material/decks/gravehurt/UndeadRule.js +11 -0
- package/dist/material/decks/gravehurt/Whisperers.d.ts +13 -0
- package/dist/material/decks/gravehurt/Whisperers.js +17 -0
- package/dist/material/decks/gravehurt/WitchingHour.d.ts +16 -0
- package/dist/material/decks/gravehurt/WitchingHour.js +19 -0
- package/dist/material/decks/heathblade/ArcherRule.js +2 -2
- package/dist/material/decks/heathblade/Armada.d.ts +4 -3
- package/dist/material/decks/heathblade/Armada.js +5 -3
- package/dist/material/decks/heathblade/ArmadaEffectRule.d.ts +2 -1
- package/dist/material/decks/heathblade/ArmadaEffectRule.js +8 -1
- package/dist/material/decks/heathblade/Confluence.d.ts +2 -3
- package/dist/material/decks/heathblade/Confluence.js +5 -3
- package/dist/material/decks/heathblade/CoverOfNight.d.ts +4 -2
- package/dist/material/decks/heathblade/CoverOfNight.js +7 -1
- package/dist/material/decks/heathblade/Harvest.d.ts +4 -2
- package/dist/material/decks/heathblade/Harvest.js +7 -1
- package/dist/material/decks/heathblade/LoyalSquire.d.ts +6 -3
- package/dist/material/decks/heathblade/LoyalSquire.js +11 -4
- package/dist/material/decks/heathblade/Nightguard.js +3 -9
- package/dist/material/decks/heathblade/OzmaTheMage.d.ts +6 -4
- package/dist/material/decks/heathblade/OzmaTheMage.js +9 -3
- package/dist/material/decks/heathblade/PrincessLitha.d.ts +1 -2
- package/dist/material/decks/heathblade/PrincessLitha.js +4 -11
- package/dist/material/decks/heathblade/RobbinsMasterOfArms.d.ts +6 -2
- package/dist/material/decks/heathblade/RobbinsMasterOfArms.js +10 -1
- package/dist/material/decks/heathblade/Sacrifice.d.ts +7 -2
- package/dist/material/decks/heathblade/Sacrifice.js +19 -1
- package/dist/material/decks/heathblade/SoulBlade.d.ts +5 -2
- package/dist/material/decks/heathblade/SoulBlade.js +8 -1
- package/dist/material/decks/heathblade/WatchTower.d.ts +5 -3
- package/dist/material/decks/heathblade/WatchTower.js +10 -3
- package/dist/material/decks/highwave/AeliaSteadyHand.d.ts +1 -1
- package/dist/material/decks/highwave/AeliaSteadyHand.js +4 -1
- package/dist/material/decks/highwave/BoardingParty.d.ts +1 -1
- package/dist/material/decks/highwave/BoardingParty.js +4 -1
- package/dist/material/decks/highwave/BoardingPartyEffectRule.d.ts +4 -3
- package/dist/material/decks/highwave/BoardingPartyEffectRule.js +18 -23
- package/dist/material/decks/highwave/BonnyTheGunner.d.ts +0 -2
- package/dist/material/decks/highwave/BonnyTheGunner.js +0 -2
- package/dist/material/decks/highwave/CannonCardRule.d.ts +3 -0
- package/dist/material/decks/highwave/CannonCardRule.js +11 -10
- package/dist/material/decks/highwave/DarkArmageddon.d.ts +4 -2
- package/dist/material/decks/highwave/DarkArmageddon.js +7 -1
- package/dist/material/decks/highwave/DawnsDoom.d.ts +4 -2
- package/dist/material/decks/highwave/DawnsDoom.js +9 -1
- package/dist/material/decks/highwave/EyeOfSky.d.ts +2 -4
- package/dist/material/decks/highwave/EyeOfSky.js +5 -7
- package/dist/material/decks/highwave/EyeOfSkyEffectRule.d.ts +4 -4
- package/dist/material/decks/highwave/EyeOfSkyEffectRule.js +1 -3
- package/dist/material/decks/highwave/FortunesCourse.d.ts +1 -2
- package/dist/material/decks/highwave/FortunesCourse.js +3 -3
- package/dist/material/decks/highwave/GoldenApocalypse.d.ts +1 -1
- package/dist/material/decks/highwave/GoldenApocalypse.js +4 -1
- package/dist/material/decks/highwave/LongJawsSilver.d.ts +2 -3
- package/dist/material/decks/highwave/LongJawsSilver.js +7 -5
- package/dist/material/decks/highwave/OscarScullion.d.ts +4 -2
- package/dist/material/decks/highwave/OscarScullion.js +7 -1
- package/dist/material/decks/highwave/OttoFactotum.d.ts +4 -2
- package/dist/material/decks/highwave/OttoFactotum.js +10 -1
- package/dist/material/decks/highwave/RiggingRaiders.d.ts +5 -2
- package/dist/material/decks/highwave/RiggingRaiders.js +9 -1
- package/dist/material/decks/highwave/SeaScorcher.d.ts +6 -3
- package/dist/material/decks/highwave/SeaScorcher.js +13 -2
- package/dist/material/decks/highwave/SurpriseLoot.d.ts +4 -2
- package/dist/material/decks/highwave/SurpriseLoot.js +7 -1
- package/dist/material/decks/highwave/TideRover.d.ts +6 -2
- package/dist/material/decks/highwave/TideRover.js +15 -1
- package/dist/material/decks/highwave/TropicalRuffian.d.ts +1 -1
- package/dist/material/decks/highwave/TropicalRuffian.js +4 -1
- package/dist/material/decks/windsands/AbiSnakeCharmer.d.ts +13 -0
- package/dist/material/decks/windsands/AbiSnakeCharmer.js +15 -0
- package/dist/material/decks/windsands/AbiSnakeCharmerEffectRule.d.ts +8 -0
- package/dist/material/decks/windsands/AbiSnakeCharmerEffectRule.js +35 -0
- package/dist/material/decks/windsands/AncientCurse.d.ts +17 -0
- package/dist/material/decks/windsands/AncientCurse.js +25 -0
- package/dist/material/decks/windsands/Catadjinn.d.ts +14 -0
- package/dist/material/decks/windsands/Catadjinn.js +20 -0
- package/dist/material/decks/windsands/DeathTrap.d.ts +20 -0
- package/dist/material/decks/windsands/DeathTrap.js +38 -0
- package/dist/material/decks/windsands/DesertRaider.d.ts +17 -0
- package/dist/material/decks/windsands/DesertRaider.js +21 -0
- package/dist/material/decks/windsands/DuneWardrums.d.ts +12 -0
- package/dist/material/decks/windsands/DuneWardrums.js +14 -0
- package/dist/material/decks/windsands/ErgDeathslayer.d.ts +13 -0
- package/dist/material/decks/windsands/ErgDeathslayer.js +15 -0
- package/dist/material/decks/windsands/MalikShadowtracker.d.ts +18 -0
- package/dist/material/decks/windsands/MalikShadowtracker.js +24 -0
- package/dist/material/decks/windsands/Metamorph.d.ts +14 -0
- package/dist/material/decks/windsands/Metamorph.js +18 -0
- package/dist/material/decks/windsands/MushaFakir.d.ts +14 -0
- package/dist/material/decks/windsands/MushaFakir.js +18 -0
- package/dist/material/decks/windsands/OasisShaman.d.ts +13 -0
- package/dist/material/decks/windsands/OasisShaman.js +15 -0
- package/dist/material/decks/windsands/SandWalkers.d.ts +21 -0
- package/dist/material/decks/windsands/SandWalkers.js +30 -0
- package/dist/material/decks/windsands/StarlightBazaar.d.ts +15 -0
- package/dist/material/decks/windsands/StarlightBazaar.js +18 -0
- package/dist/material/decks/windsands/Vandals.d.ts +18 -0
- package/dist/material/decks/windsands/Vandals.js +25 -0
- package/dist/material/decks/windsands/WindWrath.d.ts +13 -0
- package/dist/material/decks/windsands/WindWrath.js +15 -0
- package/dist/material/decks/windsands/WindWrathEffectRule.d.ts +5 -0
- package/dist/material/decks/windsands/WindWrathEffectRule.js +17 -0
- package/dist/material/decks/windsands/WishLamp.d.ts +16 -0
- package/dist/material/decks/windsands/WishLamp.js +22 -0
- package/dist/rules/ChallengeEffectRule.d.ts +6 -0
- package/dist/rules/ChallengeEffectRule.js +17 -0
- package/dist/rules/ChallengeResponseRule.d.ts +8 -0
- package/dist/rules/ChallengeResponseRule.js +31 -0
- package/dist/rules/ChooseStartPlayerEffectRule.d.ts +6 -0
- package/dist/rules/ChooseStartPlayerEffectRule.js +15 -0
- package/dist/rules/DestroyEffectRule.d.ts +5 -2
- package/dist/rules/DestroyEffectRule.js +26 -3
- package/dist/rules/DiscardEffectRule.d.ts +5 -3
- package/dist/rules/DiscardEffectRule.js +17 -4
- package/dist/rules/DrawEffectRule.d.ts +4 -2
- package/dist/rules/DrawEffectRule.js +9 -6
- package/dist/rules/EffectRule.d.ts +3 -2
- package/dist/rules/EffectRule.js +9 -3
- package/dist/rules/EndRoundRule.js +11 -17
- package/dist/rules/GainPowerTokensEffectRule.d.ts +8 -0
- package/dist/rules/GainPowerTokensEffectRule.js +25 -0
- package/dist/rules/MulliganEffectRule.d.ts +7 -0
- package/dist/rules/MulliganEffectRule.js +19 -0
- package/dist/rules/PlayCardEffectRule.d.ts +9 -0
- package/dist/rules/PlayCardEffectRule.js +37 -0
- package/dist/rules/PlayCardRule.js +12 -12
- package/dist/rules/PlayerHelper.d.ts +9 -5
- package/dist/rules/PlayerHelper.js +25 -23
- package/dist/rules/PrepareNextRoundRule.js +6 -3
- package/dist/rules/PutCardUnderEffectRule.d.ts +7 -0
- package/dist/rules/PutCardUnderEffectRule.js +22 -0
- package/dist/rules/PutPowerTokenEffectRule.d.ts +4 -2
- package/dist/rules/PutPowerTokenEffectRule.js +24 -4
- package/dist/rules/ReturnCardEffectRule.d.ts +9 -0
- package/dist/rules/ReturnCardEffectRule.js +36 -0
- package/dist/rules/ReturnCardRule.d.ts +5 -3
- package/dist/rules/ReturnCardRule.js +18 -8
- package/dist/rules/RuleId.d.ts +15 -34
- package/dist/rules/RuleId.js +14 -33
- package/dist/rules/StartPlayerTurnRule.js +5 -5
- package/dist/rules/StashPowerTokensEffectRule.d.ts +5 -0
- package/dist/rules/StashPowerTokensEffectRule.js +15 -0
- package/dist/rules/StealCrystalEffectRule.js +3 -3
- package/dist/rules/StunCardRule.d.ts +4 -2
- package/dist/rules/StunCardRule.js +24 -19
- package/dist/rules/StunEffectRule.d.ts +11 -0
- package/dist/rules/StunEffectRule.js +45 -0
- package/dist/rules/SwitchSideEffectRule.d.ts +11 -0
- package/dist/rules/SwitchSideEffectRule.js +33 -0
- package/package.json +3 -3
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Memory } from '../../../Memory';
|
|
2
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
3
|
+
import { CardRule } from '../../CardRule';
|
|
4
|
+
import { CardSuit } from '../../CardSuit';
|
|
5
|
+
import { CardType } from '../../CardType';
|
|
6
|
+
class AncientCurseRule extends CardRule {
|
|
7
|
+
onEnters() {
|
|
8
|
+
this.addPendingEffect(RuleId.ChallengeEffect);
|
|
9
|
+
}
|
|
10
|
+
getDrawPlayer() {
|
|
11
|
+
return this.remind(Memory.ChallengeConceded) ?? this.player;
|
|
12
|
+
}
|
|
13
|
+
onChallengeAccepted() {
|
|
14
|
+
this.addPendingEffect(RuleId.DrawEffect);
|
|
15
|
+
}
|
|
16
|
+
onChallengeDeclined() {
|
|
17
|
+
this.addPendingEffect(RuleId.DrawEffect);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export const AncientCurse = {
|
|
21
|
+
power: 3,
|
|
22
|
+
type: CardType.Action,
|
|
23
|
+
suit: CardSuit.Night,
|
|
24
|
+
rule: AncientCurseRule
|
|
25
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { CardSuit } from '../../CardSuit';
|
|
3
|
+
import { CardType } from '../../CardType';
|
|
4
|
+
declare class CatadjinnRule extends CardRule {
|
|
5
|
+
onEnters(): void;
|
|
6
|
+
getPowerIfNotStunned(): number;
|
|
7
|
+
}
|
|
8
|
+
export declare const Catadjinn: {
|
|
9
|
+
power: number;
|
|
10
|
+
type: CardType;
|
|
11
|
+
suit: CardSuit;
|
|
12
|
+
rule: typeof CatadjinnRule;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
|
+
import { cardProperties } from '../../CardProperties';
|
|
3
|
+
import { CardRule } from '../../CardRule';
|
|
4
|
+
import { CardSuit } from '../../CardSuit';
|
|
5
|
+
import { CardType } from '../../CardType';
|
|
6
|
+
class CatadjinnRule extends CardRule {
|
|
7
|
+
onEnters() {
|
|
8
|
+
this.addPendingEffect(RuleId.ChallengeEffect);
|
|
9
|
+
}
|
|
10
|
+
getPowerIfNotStunned() {
|
|
11
|
+
const nonNightCards = this.playArea.id((id) => cardProperties[id.front].suit !== CardSuit.Night);
|
|
12
|
+
return super.getPowerIfNotStunned() - nonNightCards.length;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export const Catadjinn = {
|
|
16
|
+
power: 6,
|
|
17
|
+
type: CardType.Creature,
|
|
18
|
+
suit: CardSuit.Night,
|
|
19
|
+
rule: CatadjinnRule
|
|
20
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Material } from '@gamepark/rules-api';
|
|
2
|
+
import { Card } from '../../Card';
|
|
3
|
+
import { CardRule } from '../../CardRule';
|
|
4
|
+
import { CardSuit } from '../../CardSuit';
|
|
5
|
+
import { CardType } from '../../CardType';
|
|
6
|
+
import { DestroyEffect, PreventEffectsEffect } from '../../EffectTraits';
|
|
7
|
+
declare class DeathTrapRule extends CardRule implements DestroyEffect, PreventEffectsEffect {
|
|
8
|
+
onEnters(): void;
|
|
9
|
+
preventEnterEffects(cardIndex: number): boolean;
|
|
10
|
+
onCardEnters(card: Card): void;
|
|
11
|
+
getDestroyTargets(): Material;
|
|
12
|
+
isAutoDestroy(): boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare const DeathTrap: {
|
|
15
|
+
power: number;
|
|
16
|
+
type: CardType;
|
|
17
|
+
suit: CardSuit;
|
|
18
|
+
rule: typeof DeathTrapRule;
|
|
19
|
+
};
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Memory } from '../../../Memory';
|
|
2
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
3
|
+
import { cardProperties } from '../../CardProperties';
|
|
4
|
+
import { CardRule } from '../../CardRule';
|
|
5
|
+
import { createCardRule } from '../../createCardRule';
|
|
6
|
+
import { CardSuit } from '../../CardSuit';
|
|
7
|
+
import { CardType } from '../../CardType';
|
|
8
|
+
import { MaterialType } from '../../MaterialType';
|
|
9
|
+
import { OngoingEffectType } from '../../OngoingEffect';
|
|
10
|
+
class DeathTrapRule extends CardRule {
|
|
11
|
+
onEnters() {
|
|
12
|
+
this.addOngoingEffect(OngoingEffectType.PreventEffects);
|
|
13
|
+
}
|
|
14
|
+
preventEnterEffects(cardIndex) {
|
|
15
|
+
return createCardRule(this.game, cardIndex).properties.type === CardType.Creature;
|
|
16
|
+
}
|
|
17
|
+
onCardEnters(card) {
|
|
18
|
+
if (cardProperties[card].type === CardType.Creature) {
|
|
19
|
+
this.removeOngoingEffect(OngoingEffectType.PreventEffects);
|
|
20
|
+
this.addPendingEffect(RuleId.DestroyEffect);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
getDestroyTargets() {
|
|
24
|
+
const currentPlayer = this.remind(Memory.CurrentPlayer);
|
|
25
|
+
const cardsPlayed = this.remind(Memory.CardsPlayed, currentPlayer);
|
|
26
|
+
const targetIndex = cardsPlayed[cardsPlayed.length - 1];
|
|
27
|
+
return this.material(MaterialType.Card).index(targetIndex);
|
|
28
|
+
}
|
|
29
|
+
isAutoDestroy() {
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
export const DeathTrap = {
|
|
34
|
+
power: 2,
|
|
35
|
+
type: CardType.Action,
|
|
36
|
+
suit: CardSuit.Twilight,
|
|
37
|
+
rule: DeathTrapRule
|
|
38
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Material } from '@gamepark/rules-api';
|
|
2
|
+
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
import { StunEffect } from '../../EffectTraits';
|
|
6
|
+
declare class DesertRaiderRule extends CardRule implements StunEffect {
|
|
7
|
+
onEnters(): void;
|
|
8
|
+
getStunTargets(): Material;
|
|
9
|
+
isAutoStun(): boolean;
|
|
10
|
+
}
|
|
11
|
+
export declare const DesertRaider: {
|
|
12
|
+
power: number;
|
|
13
|
+
type: CardType;
|
|
14
|
+
suit: CardSuit;
|
|
15
|
+
rule: typeof DesertRaiderRule;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
|
+
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
class DesertRaiderRule extends CardRule {
|
|
6
|
+
onEnters() {
|
|
7
|
+
this.addPendingEffect(RuleId.StunEffect);
|
|
8
|
+
}
|
|
9
|
+
getStunTargets() {
|
|
10
|
+
return this.playArea.index(this.index);
|
|
11
|
+
}
|
|
12
|
+
isAutoStun() {
|
|
13
|
+
return true;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export const DesertRaider = {
|
|
17
|
+
power: 5,
|
|
18
|
+
type: CardType.Creature,
|
|
19
|
+
suit: CardSuit.Day,
|
|
20
|
+
rule: DesertRaiderRule
|
|
21
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { CardSuit } from '../../CardSuit';
|
|
3
|
+
import { CardType } from '../../CardType';
|
|
4
|
+
export declare class DuneWardrumsRule extends CardRule {
|
|
5
|
+
getPowerIfNotStunned(): number;
|
|
6
|
+
}
|
|
7
|
+
export declare const DuneWardrums: {
|
|
8
|
+
power: number;
|
|
9
|
+
type: CardType;
|
|
10
|
+
suit: CardSuit;
|
|
11
|
+
rule: typeof DuneWardrumsRule;
|
|
12
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { CardSuit } from '../../CardSuit';
|
|
3
|
+
import { CardType } from '../../CardType';
|
|
4
|
+
export class DuneWardrumsRule extends CardRule {
|
|
5
|
+
getPowerIfNotStunned() {
|
|
6
|
+
return super.getPowerIfNotStunned() + this.creatures.player(this.player).length;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
export const DuneWardrums = {
|
|
10
|
+
power: 2,
|
|
11
|
+
type: CardType.Action,
|
|
12
|
+
suit: CardSuit.Day,
|
|
13
|
+
rule: DuneWardrumsRule
|
|
14
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { CardSuit } from '../../CardSuit';
|
|
3
|
+
import { CardType } from '../../CardType';
|
|
4
|
+
declare class ErgDeathslayerRule extends CardRule {
|
|
5
|
+
canBePlayed(): boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const ErgDeathslayer: {
|
|
8
|
+
power: number;
|
|
9
|
+
type: CardType;
|
|
10
|
+
suit: CardSuit;
|
|
11
|
+
rule: typeof ErgDeathslayerRule;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { CardSuit } from '../../CardSuit';
|
|
3
|
+
import { CardType } from '../../CardType';
|
|
4
|
+
class ErgDeathslayerRule extends CardRule {
|
|
5
|
+
canBePlayed() {
|
|
6
|
+
const hasOtherCardInPlay = this.playArea.player(this.player).length > 0;
|
|
7
|
+
return !hasOtherCardInPlay && super.canBePlayed();
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const ErgDeathslayer = {
|
|
11
|
+
power: 5,
|
|
12
|
+
type: CardType.Creature,
|
|
13
|
+
suit: CardSuit.Day,
|
|
14
|
+
rule: ErgDeathslayerRule
|
|
15
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Deck } from '../../../Deck';
|
|
2
|
+
import { Card } from '../../Card';
|
|
3
|
+
import { CardRule } from '../../CardRule';
|
|
4
|
+
import { CardSuit } from '../../CardSuit';
|
|
5
|
+
import { CardType } from '../../CardType';
|
|
6
|
+
import { PreventPlayCardEffect } from '../../EffectTraits';
|
|
7
|
+
declare class MalikShadowtrackerRule extends CardRule implements PreventPlayCardEffect {
|
|
8
|
+
onEnters(): void;
|
|
9
|
+
preventPlayCard(card: Card, player: Deck): boolean;
|
|
10
|
+
onCardEnters(_card: Card, side: Deck): void;
|
|
11
|
+
}
|
|
12
|
+
export declare const MalikShadowtracker: {
|
|
13
|
+
power: number;
|
|
14
|
+
type: CardType;
|
|
15
|
+
suit: CardSuit;
|
|
16
|
+
rule: typeof MalikShadowtrackerRule;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,24 @@
|
|
|
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 MalikShadowtrackerRule extends CardRule {
|
|
7
|
+
onEnters() {
|
|
8
|
+
this.addOngoingEffect(OngoingEffectType.PreventPlayCard);
|
|
9
|
+
}
|
|
10
|
+
preventPlayCard(card, player) {
|
|
11
|
+
return player !== this.player && cardProperties[card].suit !== CardSuit.Twilight;
|
|
12
|
+
}
|
|
13
|
+
onCardEnters(_card, side) {
|
|
14
|
+
if (side !== this.player) {
|
|
15
|
+
this.removeOngoingEffect(OngoingEffectType.PreventPlayCard);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export const MalikShadowtracker = {
|
|
20
|
+
power: 2,
|
|
21
|
+
type: CardType.Creature,
|
|
22
|
+
suit: CardSuit.Twilight,
|
|
23
|
+
rule: MalikShadowtrackerRule
|
|
24
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { CardSuit } from '../../CardSuit';
|
|
3
|
+
import { CardType } from '../../CardType';
|
|
4
|
+
declare class MetamorphRule extends CardRule {
|
|
5
|
+
getPowerIfNotStunned(): number;
|
|
6
|
+
onSkirmishWin(): void;
|
|
7
|
+
}
|
|
8
|
+
export declare const Metamorph: {
|
|
9
|
+
power: number;
|
|
10
|
+
type: CardType;
|
|
11
|
+
suit: CardSuit;
|
|
12
|
+
rule: typeof MetamorphRule;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
|
+
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
class MetamorphRule extends CardRule {
|
|
6
|
+
getPowerIfNotStunned() {
|
|
7
|
+
return super.getPowerIfNotStunned() + this.creatures.player(this.player).length - 1;
|
|
8
|
+
}
|
|
9
|
+
onSkirmishWin() {
|
|
10
|
+
this.addPendingEffect(RuleId.DrawEffect);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export const Metamorph = {
|
|
14
|
+
power: 1,
|
|
15
|
+
type: CardType.Creature,
|
|
16
|
+
suit: CardSuit.Day,
|
|
17
|
+
rule: MetamorphRule
|
|
18
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { CardSuit } from '../../CardSuit';
|
|
3
|
+
import { CardType } from '../../CardType';
|
|
4
|
+
declare class MushaFakirRule extends CardRule {
|
|
5
|
+
onEnters(): void;
|
|
6
|
+
onSkirmishLost(): void;
|
|
7
|
+
}
|
|
8
|
+
export declare const MushaFakir: {
|
|
9
|
+
power: number;
|
|
10
|
+
type: CardType;
|
|
11
|
+
suit: CardSuit;
|
|
12
|
+
rule: typeof MushaFakirRule;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
|
+
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
class MushaFakirRule extends CardRule {
|
|
6
|
+
onEnters() {
|
|
7
|
+
this.addPendingEffect(RuleId.DrawEffect);
|
|
8
|
+
}
|
|
9
|
+
onSkirmishLost() {
|
|
10
|
+
this.addPendingEffect(RuleId.DrawEffect);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export const MushaFakir = {
|
|
14
|
+
power: 2,
|
|
15
|
+
type: CardType.Creature,
|
|
16
|
+
suit: CardSuit.Night,
|
|
17
|
+
rule: MushaFakirRule
|
|
18
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { CardSuit } from '../../CardSuit';
|
|
3
|
+
import { CardType } from '../../CardType';
|
|
4
|
+
declare class OasisShamanRule extends CardRule {
|
|
5
|
+
onEnters(): void;
|
|
6
|
+
}
|
|
7
|
+
export declare const OasisShaman: {
|
|
8
|
+
power: number;
|
|
9
|
+
type: CardType;
|
|
10
|
+
suit: CardSuit;
|
|
11
|
+
rule: typeof OasisShamanRule;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
|
+
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
class OasisShamanRule extends CardRule {
|
|
6
|
+
onEnters() {
|
|
7
|
+
this.addPendingEffect(RuleId.PlayCardEffect);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const OasisShaman = {
|
|
11
|
+
power: 1,
|
|
12
|
+
type: CardType.Creature,
|
|
13
|
+
suit: CardSuit.Twilight,
|
|
14
|
+
rule: OasisShamanRule
|
|
15
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Material } from '@gamepark/rules-api';
|
|
2
|
+
import { Deck } from '../../../Deck';
|
|
3
|
+
import { Card } from '../../Card';
|
|
4
|
+
import { CardRule } from '../../CardRule';
|
|
5
|
+
import { CardSuit } from '../../CardSuit';
|
|
6
|
+
import { CardType } from '../../CardType';
|
|
7
|
+
import { PutPowerTokenEffect, ReturnCardEffect } from '../../EffectTraits';
|
|
8
|
+
declare class SandWalkersRule extends CardRule implements ReturnCardEffect, PutPowerTokenEffect {
|
|
9
|
+
onEnters(): void;
|
|
10
|
+
getPutPowerTokenTargets(): Material;
|
|
11
|
+
isAutoPutPowerToken(): boolean;
|
|
12
|
+
onCardEnters(card: Card, side: Deck): void;
|
|
13
|
+
isAutoReturn(): boolean;
|
|
14
|
+
}
|
|
15
|
+
export declare const SandWalkers: {
|
|
16
|
+
power: number;
|
|
17
|
+
type: CardType;
|
|
18
|
+
suit: CardSuit;
|
|
19
|
+
rule: typeof SandWalkersRule;
|
|
20
|
+
};
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
|
+
import { cardProperties } from '../../CardProperties';
|
|
3
|
+
import { CardRule } from '../../CardRule';
|
|
4
|
+
import { CardSuit } from '../../CardSuit';
|
|
5
|
+
import { CardType } from '../../CardType';
|
|
6
|
+
class SandWalkersRule extends CardRule {
|
|
7
|
+
onEnters() {
|
|
8
|
+
this.addPendingEffect(RuleId.PutPowerTokensEffect);
|
|
9
|
+
}
|
|
10
|
+
getPutPowerTokenTargets() {
|
|
11
|
+
return this.creatures.player(this.player);
|
|
12
|
+
}
|
|
13
|
+
isAutoPutPowerToken() {
|
|
14
|
+
return true;
|
|
15
|
+
}
|
|
16
|
+
onCardEnters(card, side) {
|
|
17
|
+
if (side === this.player && cardProperties[card].type === CardType.Creature) {
|
|
18
|
+
this.addPendingEffect(RuleId.ReturnCardEffect);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
isAutoReturn() {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export const SandWalkers = {
|
|
26
|
+
power: 1,
|
|
27
|
+
type: CardType.Action,
|
|
28
|
+
suit: CardSuit.Day,
|
|
29
|
+
rule: SandWalkersRule
|
|
30
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { DrawEffect } from '../../EffectTraits';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
declare class StarlightBazaarRule extends CardRule implements DrawEffect {
|
|
6
|
+
onEnters(): void;
|
|
7
|
+
getDrawCount(): number;
|
|
8
|
+
}
|
|
9
|
+
export declare const StarlightBazaar: {
|
|
10
|
+
power: number;
|
|
11
|
+
type: CardType;
|
|
12
|
+
suit: CardSuit;
|
|
13
|
+
rule: typeof StarlightBazaarRule;
|
|
14
|
+
};
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
|
+
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
class StarlightBazaarRule extends CardRule {
|
|
6
|
+
onEnters() {
|
|
7
|
+
this.addPendingEffect(RuleId.DrawEffect);
|
|
8
|
+
}
|
|
9
|
+
getDrawCount() {
|
|
10
|
+
return 3;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
export const StarlightBazaar = {
|
|
14
|
+
power: 1,
|
|
15
|
+
type: CardType.Action,
|
|
16
|
+
suit: CardSuit.Night,
|
|
17
|
+
rule: StarlightBazaarRule
|
|
18
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Material } from '@gamepark/rules-api';
|
|
2
|
+
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
import { DestroyEffect } from '../../EffectTraits';
|
|
6
|
+
declare class VandalsRule extends CardRule implements DestroyEffect {
|
|
7
|
+
getPowerIfNotStunned(): number;
|
|
8
|
+
activate(): void;
|
|
9
|
+
getDestroyTargets(): Material;
|
|
10
|
+
isAutoDestroy(): boolean;
|
|
11
|
+
}
|
|
12
|
+
export declare const Vandals: {
|
|
13
|
+
power: number;
|
|
14
|
+
type: CardType;
|
|
15
|
+
suit: CardSuit;
|
|
16
|
+
rule: typeof VandalsRule;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
|
+
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
class VandalsRule extends CardRule {
|
|
6
|
+
getPowerIfNotStunned() {
|
|
7
|
+
return super.getPowerIfNotStunned() + this.creatures.player(this.player).length - 1;
|
|
8
|
+
}
|
|
9
|
+
activate() {
|
|
10
|
+
this.addPendingEffect(RuleId.DestroyEffect);
|
|
11
|
+
this.addPendingEffect(RuleId.DrawEffect);
|
|
12
|
+
}
|
|
13
|
+
getDestroyTargets() {
|
|
14
|
+
return this.playArea.index(this.index);
|
|
15
|
+
}
|
|
16
|
+
isAutoDestroy() {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
export const Vandals = {
|
|
21
|
+
power: 1,
|
|
22
|
+
type: CardType.Creature,
|
|
23
|
+
suit: CardSuit.Night,
|
|
24
|
+
rule: VandalsRule
|
|
25
|
+
};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { CardSuit } from '../../CardSuit';
|
|
3
|
+
import { CardType } from '../../CardType';
|
|
4
|
+
declare class WindWrathRule extends CardRule {
|
|
5
|
+
onEnters(): void;
|
|
6
|
+
}
|
|
7
|
+
export declare const WindWrath: {
|
|
8
|
+
power: number;
|
|
9
|
+
type: CardType;
|
|
10
|
+
suit: CardSuit;
|
|
11
|
+
rule: typeof WindWrathRule;
|
|
12
|
+
};
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
|
+
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
class WindWrathRule extends CardRule {
|
|
6
|
+
onEnters() {
|
|
7
|
+
this.addPendingEffect(RuleId.WindWrathEffect);
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
export const WindWrath = {
|
|
11
|
+
power: 2,
|
|
12
|
+
type: CardType.Action,
|
|
13
|
+
suit: CardSuit.Twilight,
|
|
14
|
+
rule: WindWrathRule
|
|
15
|
+
};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CustomMoveType } from '../../../CustomMoveType';
|
|
2
|
+
import { LocationType } from '../../LocationType';
|
|
3
|
+
import { MaterialType } from '../../MaterialType';
|
|
4
|
+
import { EffectRule } from '../../../rules/EffectRule';
|
|
5
|
+
export class WindWrathEffectRule extends EffectRule {
|
|
6
|
+
onRuleStart() {
|
|
7
|
+
const moves = [];
|
|
8
|
+
for (const player of this.game.players) {
|
|
9
|
+
const hand = this.material(MaterialType.Card).location(LocationType.PlayerHand).player(player);
|
|
10
|
+
if (hand.length > 0) {
|
|
11
|
+
moves.push(hand.moveItemsAtOnce({ type: LocationType.PlayerDiscard, player }));
|
|
12
|
+
moves.push(this.customMove(CustomMoveType.Draw, { player, quantity: hand.length }));
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return [...moves, ...this.endEffect()];
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { CardSuit } from '../../CardSuit';
|
|
3
|
+
import { CardType } from '../../CardType';
|
|
4
|
+
import { StunEffect } from '../../EffectTraits';
|
|
5
|
+
declare class WishLampRule extends CardRule implements StunEffect {
|
|
6
|
+
onEnters(): void;
|
|
7
|
+
getStunCount(): number;
|
|
8
|
+
getStunTargetsCount(): number;
|
|
9
|
+
}
|
|
10
|
+
export declare const WishLamp: {
|
|
11
|
+
power: number;
|
|
12
|
+
type: CardType;
|
|
13
|
+
suit: CardSuit;
|
|
14
|
+
rule: typeof WishLampRule;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
|
+
import { Card } from '../../Card';
|
|
3
|
+
import { CardRule } from '../../CardRule';
|
|
4
|
+
import { CardSuit } from '../../CardSuit';
|
|
5
|
+
import { CardType } from '../../CardType';
|
|
6
|
+
class WishLampRule extends CardRule {
|
|
7
|
+
onEnters() {
|
|
8
|
+
this.addPendingEffect(RuleId.StunEffect);
|
|
9
|
+
}
|
|
10
|
+
getStunCount() {
|
|
11
|
+
return 2;
|
|
12
|
+
}
|
|
13
|
+
getStunTargetsCount() {
|
|
14
|
+
return 1 + this.playArea.player(this.player).id((id) => id.front === Card.Catadjinn).length;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
export const WishLamp = {
|
|
18
|
+
power: 2,
|
|
19
|
+
type: CardType.Action,
|
|
20
|
+
suit: CardSuit.Night,
|
|
21
|
+
rule: WishLampRule
|
|
22
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { CustomMove } from '@gamepark/rules-api';
|
|
2
|
+
import { EffectRule } from './EffectRule';
|
|
3
|
+
export declare class ChallengeEffectRule extends EffectRule {
|
|
4
|
+
getPlayerMoves(): CustomMove[];
|
|
5
|
+
onCustomMove(move: CustomMove): import("@gamepark/rules-api").MaterialMove[];
|
|
6
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { CustomMoveType } from '../CustomMoveType';
|
|
2
|
+
import { EffectRule } from './EffectRule';
|
|
3
|
+
import { RuleId } from './RuleId';
|
|
4
|
+
export class ChallengeEffectRule extends EffectRule {
|
|
5
|
+
getPlayerMoves() {
|
|
6
|
+
return [this.customMove(CustomMoveType.Challenge), this.customMove(CustomMoveType.Pass)];
|
|
7
|
+
}
|
|
8
|
+
onCustomMove(move) {
|
|
9
|
+
if (move.type === CustomMoveType.Challenge) {
|
|
10
|
+
return [this.startPlayerTurn(RuleId.ChallengeResponse, this.nextPlayer)];
|
|
11
|
+
}
|
|
12
|
+
else if (move.type === CustomMoveType.Pass) {
|
|
13
|
+
return this.endEffect();
|
|
14
|
+
}
|
|
15
|
+
return super.onCustomMove(move);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { CustomMove, ItemMove } from '@gamepark/rules-api';
|
|
2
|
+
import { ChallengeEffect } from '../material/EffectTraits';
|
|
3
|
+
import { EffectRule } from './EffectRule';
|
|
4
|
+
export declare class ChallengeResponseRule extends EffectRule<ChallengeEffect> {
|
|
5
|
+
getPlayerMoves(): (CustomMove | import("@gamepark/rules-api").CreateItem<number, number, number>)[];
|
|
6
|
+
afterItemMove(move: ItemMove): import("@gamepark/rules-api").MaterialMove[];
|
|
7
|
+
onCustomMove(move: CustomMove): import("@gamepark/rules-api").MaterialMove[];
|
|
8
|
+
}
|