@gamepark/skyrift 0.2.9 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Deck.d.ts +2 -0
- package/dist/Deck.js +2 -0
- package/dist/Memory.d.ts +3 -2
- package/dist/Memory.js +2 -1
- package/dist/SkyriftRules.d.ts +33 -43
- package/dist/SkyriftRules.js +47 -51
- package/dist/SkyriftSetup.js +5 -0
- package/dist/material/Card.d.ts +32 -0
- package/dist/material/Card.js +32 -0
- package/dist/material/CardProperties.js +64 -0
- package/dist/material/CardRule.d.ts +26 -21
- package/dist/material/CardRule.js +53 -56
- 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 +8 -0
- package/dist/material/OngoingEffect.js +5 -0
- 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/WinSands.d.ts +18 -0
- package/dist/material/decks/WinSands.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 +1 -1
- package/dist/material/decks/heathblade/ArmadaEffectRule.js +4 -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/OzmaTheMageEffectRule.js +1 -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/RobbinsMasterOfArmsEffectRule.js +1 -3
- 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/material/decks/winsands/AbiSnakeCharmer.d.ts +13 -0
- package/dist/material/decks/winsands/AbiSnakeCharmer.js +12 -0
- package/dist/material/decks/winsands/AbiSnakeCharmerEffectRule.d.ts +7 -0
- package/dist/material/decks/winsands/AbiSnakeCharmerEffectRule.js +33 -0
- package/dist/material/decks/winsands/AncientCurse.d.ts +16 -0
- package/dist/material/decks/winsands/AncientCurse.js +23 -0
- package/dist/material/decks/winsands/Catadjinn.d.ts +14 -0
- package/dist/material/decks/winsands/Catadjinn.js +24 -0
- package/dist/material/decks/winsands/CreatureBonusCardRule.d.ts +4 -0
- package/dist/material/decks/winsands/CreatureBonusCardRule.js +14 -0
- package/dist/material/decks/winsands/DeathTrap.d.ts +14 -0
- package/dist/material/decks/winsands/DeathTrap.js +16 -0
- package/dist/material/decks/winsands/DeathTrapEffectRule.d.ts +4 -0
- package/dist/material/decks/winsands/DeathTrapEffectRule.js +18 -0
- package/dist/material/decks/winsands/DesertRaider.d.ts +13 -0
- package/dist/material/decks/winsands/DesertRaider.js +12 -0
- package/dist/material/decks/winsands/DesertRaiderEffectRule.d.ts +4 -0
- package/dist/material/decks/winsands/DesertRaiderEffectRule.js +17 -0
- package/dist/material/decks/winsands/DuneWardrums.d.ts +12 -0
- package/dist/material/decks/winsands/DuneWardrums.js +22 -0
- package/dist/material/decks/winsands/ErgDeathslayer.d.ts +13 -0
- package/dist/material/decks/winsands/ErgDeathslayer.js +19 -0
- package/dist/material/decks/winsands/MalikShadowtracker.d.ts +14 -0
- package/dist/material/decks/winsands/MalikShadowtracker.js +16 -0
- package/dist/material/decks/winsands/MalikShadowtrackerEffectRule.d.ts +4 -0
- package/dist/material/decks/winsands/MalikShadowtrackerEffectRule.js +13 -0
- package/dist/material/decks/winsands/Metamorph.d.ts +14 -0
- package/dist/material/decks/winsands/Metamorph.js +15 -0
- package/dist/material/decks/winsands/MushaFakir.d.ts +15 -0
- package/dist/material/decks/winsands/MushaFakir.js +16 -0
- package/dist/material/decks/winsands/OasisShaman.d.ts +13 -0
- package/dist/material/decks/winsands/OasisShaman.js +12 -0
- package/dist/material/decks/winsands/OasisShamanEffectRule.d.ts +8 -0
- package/dist/material/decks/winsands/OasisShamanEffectRule.js +33 -0
- package/dist/material/decks/winsands/SandWalkers.d.ts +17 -0
- package/dist/material/decks/winsands/SandWalkers.js +26 -0
- package/dist/material/decks/winsands/SandWalkersEffectRule.d.ts +5 -0
- package/dist/material/decks/winsands/SandWalkersEffectRule.js +25 -0
- package/dist/material/decks/winsands/StarlightBazaar.d.ts +13 -0
- package/dist/material/decks/winsands/StarlightBazaar.js +12 -0
- package/dist/material/decks/winsands/StarlightBazaarEffectRule.d.ts +4 -0
- package/dist/material/decks/winsands/StarlightBazaarEffectRule.js +6 -0
- package/dist/material/decks/winsands/Vandals.d.ts +13 -0
- package/dist/material/decks/winsands/Vandals.js +12 -0
- package/dist/material/decks/winsands/VandalsEffectRule.d.ts +4 -0
- package/dist/material/decks/winsands/VandalsEffectRule.js +14 -0
- package/dist/material/decks/winsands/WindWrath.d.ts +13 -0
- package/dist/material/decks/winsands/WindWrath.js +12 -0
- package/dist/material/decks/winsands/WindWrathEffectRule.d.ts +5 -0
- package/dist/material/decks/winsands/WindWrathEffectRule.js +20 -0
- package/dist/material/decks/winsands/WishLamp.d.ts +13 -0
- package/dist/material/decks/winsands/WishLamp.js +12 -0
- package/dist/material/decks/winsands/WishLampEffectRule.d.ts +10 -0
- package/dist/material/decks/winsands/WishLampEffectRule.js +46 -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 +13 -1
- package/dist/rules/DrawEffectRule.d.ts +4 -2
- package/dist/rules/DrawEffectRule.js +9 -6
- package/dist/rules/EffectRule.d.ts +4 -2
- package/dist/rules/EffectRule.js +12 -4
- 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 +14 -29
- package/dist/rules/PlayerHelper.d.ts +8 -3
- package/dist/rules/PlayerHelper.js +40 -6
- package/dist/rules/PrepareNextRoundRule.js +7 -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 +17 -24
- package/dist/rules/RuleId.js +16 -23
- 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/SwitchSideEffectRule.d.ts +11 -0
- package/dist/rules/SwitchSideEffectRule.js +33 -0
- package/package.json +3 -3
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Card } from '../../Card';
|
|
2
|
+
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
import { PreventPlayCardEffect } from '../../EffectTraits';
|
|
6
|
+
declare class WitchingHourRule extends CardRule implements PreventPlayCardEffect {
|
|
7
|
+
onEnters(): void;
|
|
8
|
+
preventPlayCard(card: Card): boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const WitchingHour: {
|
|
11
|
+
power: number;
|
|
12
|
+
type: CardType;
|
|
13
|
+
suit: CardSuit;
|
|
14
|
+
rule: typeof WitchingHourRule;
|
|
15
|
+
};
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { cardProperties } from '../../CardProperties';
|
|
2
|
+
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { CardSuit } from '../../CardSuit';
|
|
4
|
+
import { CardType } from '../../CardType';
|
|
5
|
+
import { OngoingEffectType } from '../../OngoingEffect';
|
|
6
|
+
class WitchingHourRule extends CardRule {
|
|
7
|
+
onEnters() {
|
|
8
|
+
this.addOngoingEffect(OngoingEffectType.PreventPlayCard);
|
|
9
|
+
}
|
|
10
|
+
preventPlayCard(card) {
|
|
11
|
+
return cardProperties[card].suit === CardSuit.Twilight;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export const WitchingHour = {
|
|
15
|
+
power: 3,
|
|
16
|
+
type: CardType.Action,
|
|
17
|
+
suit: CardSuit.Night,
|
|
18
|
+
rule: WitchingHourRule
|
|
19
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Memory } from '../../../Memory';
|
|
2
2
|
import { PlayerHelper } from '../../../rules/PlayerHelper';
|
|
3
|
+
import { Card } from '../../Card';
|
|
3
4
|
import { CardRule } from '../../CardRule';
|
|
4
|
-
import { CardTag } from '../../CardTag';
|
|
5
5
|
export class ArcherRule extends CardRule {
|
|
6
6
|
getPowerIfNotStunned() {
|
|
7
7
|
if (this.remind(Memory.CurrentPlayer) === this.player || this.hasElaraBlazingArrow()) {
|
|
@@ -10,6 +10,6 @@ export class ArcherRule extends CardRule {
|
|
|
10
10
|
return super.getPowerIfNotStunned();
|
|
11
11
|
}
|
|
12
12
|
hasElaraBlazingArrow() {
|
|
13
|
-
return new PlayerHelper(this.game, this.player).
|
|
13
|
+
return new PlayerHelper(this.game, this.player).hasCard(Card.ElaraBlazingArrow);
|
|
14
14
|
}
|
|
15
15
|
}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { CardRule } from '../../CardRule';
|
|
2
2
|
import { CardSuit } from '../../CardSuit';
|
|
3
3
|
import { CardType } from '../../CardType';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import { ChallengeEffect } from '../../EffectTraits';
|
|
5
|
+
declare class ArmadaRule extends CardRule implements ChallengeEffect {
|
|
6
|
+
onEnters(): void;
|
|
7
|
+
onChallengeAccepted(): void;
|
|
7
8
|
}
|
|
8
9
|
export declare const Armada: {
|
|
9
10
|
power: number;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardType } from '../../CardType';
|
|
4
5
|
class ArmadaRule extends CardRule {
|
|
5
|
-
|
|
6
|
+
onEnters() {
|
|
7
|
+
this.addPendingEffect(RuleId.ChallengeEffect);
|
|
8
|
+
}
|
|
6
9
|
onChallengeAccepted() {
|
|
7
|
-
this.addPendingEffect();
|
|
8
|
-
return super.onChallengeAccepted();
|
|
10
|
+
this.addPendingEffect(RuleId.ArmadaEffect);
|
|
9
11
|
}
|
|
10
12
|
}
|
|
11
13
|
export const Armada = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CustomMove } from '@gamepark/rules-api';
|
|
2
2
|
import { DiscardEffectRule } from '../../../rules/DiscardEffectRule';
|
|
3
3
|
export declare class ArmadaEffectRule extends DiscardEffectRule {
|
|
4
|
-
discardCount: number;
|
|
5
4
|
getPlayerMoves(): import("@gamepark/rules-api").MaterialMove[];
|
|
5
|
+
onDiscard(): never[];
|
|
6
6
|
onCustomMove(move: CustomMove): import("@gamepark/rules-api").MaterialMove[];
|
|
7
7
|
}
|
|
@@ -2,12 +2,15 @@ import { CustomMoveType } from '../../../CustomMoveType';
|
|
|
2
2
|
import { Memory } from '../../../Memory';
|
|
3
3
|
import { DiscardEffectRule } from '../../../rules/DiscardEffectRule';
|
|
4
4
|
export class ArmadaEffectRule extends DiscardEffectRule {
|
|
5
|
-
discardCount = Infinity;
|
|
6
5
|
getPlayerMoves() {
|
|
7
6
|
const moves = super.getPlayerMoves();
|
|
8
7
|
moves.push(this.customMove(CustomMoveType.Pass));
|
|
9
8
|
return moves;
|
|
10
9
|
}
|
|
10
|
+
onDiscard() {
|
|
11
|
+
this.memorize(Memory.EffectCount, (count) => count + 1);
|
|
12
|
+
return [];
|
|
13
|
+
}
|
|
11
14
|
onCustomMove(move) {
|
|
12
15
|
if (move.type === CustomMoveType.Pass) {
|
|
13
16
|
return [this.customMove(CustomMoveType.Draw, { player: this.player, quantity: this.remind(Memory.EffectCount) }), ...this.endEffect()];
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import { MaterialMove } from '@gamepark/rules-api';
|
|
2
1
|
import { Deck } from '../../../Deck';
|
|
3
2
|
import { Card } from '../../Card';
|
|
4
3
|
import { CardRule } from '../../CardRule';
|
|
5
4
|
import { CardSuit } from '../../CardSuit';
|
|
6
5
|
import { CardType } from '../../CardType';
|
|
7
6
|
declare class ConfluenceRule extends CardRule {
|
|
8
|
-
|
|
9
|
-
onCardEnters(card: Card, side: Deck):
|
|
7
|
+
onEnters(): void;
|
|
8
|
+
onCardEnters(card: Card, side: Deck): void;
|
|
10
9
|
}
|
|
11
10
|
export declare const Confluence: {
|
|
12
11
|
power: number;
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
1
2
|
import { cardProperties } from '../../CardProperties';
|
|
2
3
|
import { CardRule } from '../../CardRule';
|
|
3
4
|
import { CardSuit } from '../../CardSuit';
|
|
4
5
|
import { CardType } from '../../CardType';
|
|
5
6
|
class ConfluenceRule extends CardRule {
|
|
6
|
-
|
|
7
|
+
onEnters() {
|
|
8
|
+
this.addPendingEffect(RuleId.DrawEffect);
|
|
9
|
+
}
|
|
7
10
|
onCardEnters(card, side) {
|
|
8
11
|
if (side === this.player && cardProperties[card].type === CardType.Action) {
|
|
9
|
-
this.addPendingEffect();
|
|
12
|
+
this.addPendingEffect(RuleId.DrawEffect);
|
|
10
13
|
}
|
|
11
|
-
return [];
|
|
12
14
|
}
|
|
13
15
|
}
|
|
14
16
|
export const Confluence = {
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { StunEffect } from '../../EffectTraits';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardType } from '../../CardType';
|
|
4
|
-
declare class CoverOfNightRule extends CardRule {
|
|
5
|
-
|
|
5
|
+
declare class CoverOfNightRule extends CardRule implements StunEffect {
|
|
6
|
+
onEnters(): void;
|
|
7
|
+
getStunCount(): number;
|
|
6
8
|
}
|
|
7
9
|
export declare const CoverOfNight: {
|
|
8
10
|
power: number;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardType } from '../../CardType';
|
|
4
5
|
class CoverOfNightRule extends CardRule {
|
|
5
|
-
|
|
6
|
+
onEnters() {
|
|
7
|
+
this.addPendingEffect(RuleId.StunEffect);
|
|
8
|
+
}
|
|
9
|
+
getStunCount() {
|
|
10
|
+
return 2;
|
|
11
|
+
}
|
|
6
12
|
}
|
|
7
13
|
export const CoverOfNight = {
|
|
8
14
|
power: 2,
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { CardRule } from '../../CardRule';
|
|
2
|
+
import { StashPowerTokenEffect } from '../../EffectTraits';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardType } from '../../CardType';
|
|
4
|
-
declare class HarvestRule extends CardRule {
|
|
5
|
-
|
|
5
|
+
declare class HarvestRule extends CardRule implements StashPowerTokenEffect {
|
|
6
|
+
onEnters(): void;
|
|
7
|
+
getStashPowerTokenCount(): number;
|
|
6
8
|
}
|
|
7
9
|
export declare const Harvest: {
|
|
8
10
|
power: number;
|
|
@@ -1,8 +1,14 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardType } from '../../CardType';
|
|
4
5
|
class HarvestRule extends CardRule {
|
|
5
|
-
|
|
6
|
+
onEnters() {
|
|
7
|
+
this.addPendingEffect(RuleId.StashPowerTokensEffect);
|
|
8
|
+
}
|
|
9
|
+
getStashPowerTokenCount() {
|
|
10
|
+
return 3;
|
|
11
|
+
}
|
|
6
12
|
}
|
|
7
13
|
export const Harvest = {
|
|
8
14
|
power: 2,
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { Material } from '@gamepark/rules-api';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardType } from '../../CardType';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
import { ReturnCardEffect } from '../../EffectTraits';
|
|
6
|
+
declare class LoyalSquireRule extends CardRule implements ReturnCardEffect {
|
|
7
|
+
onEnters(): void;
|
|
8
|
+
onSkirmishEnd(): void;
|
|
9
|
+
getReturnTargets(): Material;
|
|
7
10
|
}
|
|
8
11
|
export declare const LoyalSquire: {
|
|
9
12
|
power: number;
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
|
+
import { cardProperties } from '../../CardProperties';
|
|
1
3
|
import { CardRule } from '../../CardRule';
|
|
2
4
|
import { CardSuit } from '../../CardSuit';
|
|
5
|
+
import { CardTag } from '../../CardTag';
|
|
3
6
|
import { CardType } from '../../CardType';
|
|
4
7
|
class LoyalSquireRule extends CardRule {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
onEnters() {
|
|
9
|
+
this.addPendingEffect(RuleId.ReturnCardEffect);
|
|
10
|
+
}
|
|
11
|
+
onSkirmishEnd() {
|
|
12
|
+
this.addPendingEffect(RuleId.ReturnCardEffect);
|
|
13
|
+
}
|
|
14
|
+
getReturnTargets() {
|
|
15
|
+
return this.playArea.id((id) => cardProperties[id.front].tag === CardTag.Knight);
|
|
9
16
|
}
|
|
10
17
|
}
|
|
11
18
|
export const LoyalSquire = {
|
|
@@ -1,17 +1,11 @@
|
|
|
1
|
-
import { cardProperties } from '../../CardProperties';
|
|
2
1
|
import { CardRule } from '../../CardRule';
|
|
3
2
|
import { CardSuit } from '../../CardSuit';
|
|
4
3
|
import { CardType } from '../../CardType';
|
|
5
|
-
import { LocationType } from '../../LocationType';
|
|
6
|
-
import { MaterialType } from '../../MaterialType';
|
|
7
4
|
class NightguardRule extends CardRule {
|
|
8
5
|
getPowerIfNotStunned() {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
const myCreatures = creatures.player(this.player).length;
|
|
13
|
-
const opponentCreatures = creatures.player((p) => p !== this.player).length;
|
|
14
|
-
return super.getPowerIfNotStunned() + (opponentCreatures > myCreatures ? 3 : 0);
|
|
6
|
+
const myCreatures = this.creatures.player(this.player).length;
|
|
7
|
+
const foeCreatures = this.creatures.player(this.foe).length;
|
|
8
|
+
return super.getPowerIfNotStunned() + (foeCreatures > myCreatures ? 3 : 0);
|
|
15
9
|
}
|
|
16
10
|
}
|
|
17
11
|
export const Nightguard = {
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
import { MaterialMove } from '@gamepark/rules-api';
|
|
2
1
|
import { Deck } from '../../../Deck';
|
|
3
2
|
import { Card } from '../../Card';
|
|
4
3
|
import { CardRule } from '../../CardRule';
|
|
5
4
|
import { CardSuit } from '../../CardSuit';
|
|
6
5
|
import { CardType } from '../../CardType';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
import { PutPowerTokenEffect } from '../../EffectTraits';
|
|
7
|
+
declare class OzmaTheMageRule extends CardRule implements PutPowerTokenEffect {
|
|
8
|
+
onCardEnters(card: Card, side: Deck): void;
|
|
9
|
+
isAutoPutPowerToken(): boolean;
|
|
10
|
+
onLeaves(): import("@gamepark/rules-api").MaterialMove[];
|
|
11
|
+
stashPowerTokens(): import("@gamepark/rules-api").MoveItem<number, number, number>[];
|
|
10
12
|
}
|
|
11
13
|
export declare const OzmaTheMage: {
|
|
12
14
|
power: number;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
1
2
|
import { cardProperties } from '../../CardProperties';
|
|
2
3
|
import { CardRule } from '../../CardRule';
|
|
3
4
|
import { CardSuit } from '../../CardSuit';
|
|
@@ -7,11 +8,16 @@ import { MaterialType } from '../../MaterialType';
|
|
|
7
8
|
class OzmaTheMageRule extends CardRule {
|
|
8
9
|
onCardEnters(card, side) {
|
|
9
10
|
if (side === this.player && cardProperties[card].type === CardType.Action) {
|
|
10
|
-
this.addPendingEffect();
|
|
11
|
+
this.addPendingEffect(RuleId.PutPowerTokensEffect);
|
|
11
12
|
}
|
|
12
|
-
return [];
|
|
13
13
|
}
|
|
14
|
-
|
|
14
|
+
isAutoPutPowerToken() {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
onLeaves() {
|
|
18
|
+
return [...this.stashPowerTokens(), ...this.removeStunTokens(), ...this.removeSpecialTokens()];
|
|
19
|
+
}
|
|
20
|
+
stashPowerTokens() {
|
|
15
21
|
const powerTokens = this.material(MaterialType.PowerToken).location(LocationType.CardPowerTokens).parent(this.index);
|
|
16
22
|
return powerTokens.moveItems({ type: LocationType.PlayerStash, player: this.player }, powerTokens.getQuantity());
|
|
17
23
|
}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { EffectRule } from '../../../rules/EffectRule';
|
|
2
|
-
import { Memory } from '../../../Memory';
|
|
3
2
|
import { LocationType } from '../../LocationType';
|
|
4
3
|
import { MaterialType } from '../../MaterialType';
|
|
5
4
|
export class OzmaTheMageEffectRule extends EffectRule {
|
|
6
5
|
onRuleStart() {
|
|
7
|
-
const ozmaIndex = this.remind(Memory.PendingEffects)[0].cardIndex;
|
|
8
6
|
return [
|
|
9
7
|
this.material(MaterialType.PowerToken)
|
|
10
8
|
.location(LocationType.PowerTokenStock)
|
|
11
9
|
.createItem({
|
|
12
10
|
location: {
|
|
13
11
|
type: LocationType.CardPowerTokens,
|
|
14
|
-
parent:
|
|
12
|
+
parent: this.effectCardIndex
|
|
15
13
|
}
|
|
16
14
|
}),
|
|
17
15
|
...this.endEffect()
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { MaterialMove } from '@gamepark/rules-api';
|
|
2
1
|
import { CardRule } from '../../CardRule';
|
|
3
2
|
import { CardSuit } from '../../CardSuit';
|
|
4
3
|
import { CardTag } from '../../CardTag';
|
|
5
4
|
import { CardType } from '../../CardType';
|
|
6
5
|
declare class PrincessLithaRule extends CardRule {
|
|
7
6
|
getPowerIfNotStunned(): number;
|
|
8
|
-
|
|
7
|
+
onSkirmishWin(): void;
|
|
9
8
|
}
|
|
10
9
|
export declare const PrincessLitha: {
|
|
11
10
|
power: number;
|
|
@@ -1,22 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
2
2
|
import { CardRule } from '../../CardRule';
|
|
3
3
|
import { CardSuit } from '../../CardSuit';
|
|
4
4
|
import { CardTag } from '../../CardTag';
|
|
5
5
|
import { CardType } from '../../CardType';
|
|
6
|
-
import { LocationType } from '../../LocationType';
|
|
7
|
-
import { MaterialType } from '../../MaterialType';
|
|
8
6
|
class PrincessLithaRule extends CardRule {
|
|
9
7
|
getPowerIfNotStunned() {
|
|
10
|
-
const otherCreaturesCount = this.
|
|
11
|
-
.location(LocationType.PlayArea)
|
|
12
|
-
.player(this.player)
|
|
13
|
-
.id((id) => cardProperties[id.front].type === CardType.Creature)
|
|
14
|
-
.length - 1;
|
|
8
|
+
const otherCreaturesCount = this.creatures.player(this.player).length - 1;
|
|
15
9
|
return super.getPowerIfNotStunned() + otherCreaturesCount;
|
|
16
10
|
}
|
|
17
|
-
|
|
18
|
-
this.addPendingEffect();
|
|
19
|
-
return [];
|
|
11
|
+
onSkirmishWin() {
|
|
12
|
+
this.addPendingEffect(RuleId.PrincessLithaEffect);
|
|
20
13
|
}
|
|
21
14
|
}
|
|
22
15
|
export const PrincessLitha = {
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
+
import { Material } from '@gamepark/rules-api';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardTag } from '../../CardTag';
|
|
4
5
|
import { CardType } from '../../CardType';
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
import { PutPowerTokenEffect } from '../../EffectTraits';
|
|
7
|
+
declare class RobbinsMasterOfArmsRule extends CardRule implements PutPowerTokenEffect {
|
|
8
|
+
onEnters(): void;
|
|
9
|
+
isAutoPutPowerToken(): boolean;
|
|
10
|
+
getPutPowerTokenTargets(): Material;
|
|
7
11
|
}
|
|
8
12
|
export declare const RobbinsMasterOfArms: {
|
|
9
13
|
power: number;
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardTag } from '../../CardTag';
|
|
4
5
|
import { CardType } from '../../CardType';
|
|
5
6
|
class RobbinsMasterOfArmsRule extends CardRule {
|
|
6
|
-
|
|
7
|
+
onEnters() {
|
|
8
|
+
this.addPendingEffect(RuleId.PutPowerTokensEffect);
|
|
9
|
+
}
|
|
10
|
+
isAutoPutPowerToken() {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
getPutPowerTokenTargets() {
|
|
14
|
+
return this.creatures.player(this.player).index((index) => index !== this.index);
|
|
15
|
+
}
|
|
7
16
|
}
|
|
8
17
|
export const RobbinsMasterOfArms = {
|
|
9
18
|
power: 3,
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Memory } from '../../../Memory';
|
|
2
1
|
import { cardProperties } from '../../CardProperties';
|
|
3
2
|
import { CardType } from '../../CardType';
|
|
4
3
|
import { LocationType } from '../../LocationType';
|
|
@@ -7,13 +6,12 @@ import { EffectRule } from '../../../rules/EffectRule';
|
|
|
7
6
|
export class RobbinsMasterOfArmsEffectRule extends EffectRule {
|
|
8
7
|
onRuleStart() {
|
|
9
8
|
const moves = [];
|
|
10
|
-
const robbinsIndex = this.remind(Memory.PendingEffects)[0].cardIndex;
|
|
11
9
|
const otherCreatures = this.material(MaterialType.Card)
|
|
12
10
|
.location(LocationType.PlayArea)
|
|
13
11
|
.player(this.player)
|
|
14
12
|
.id((id) => cardProperties[id.front].type === CardType.Creature)
|
|
15
13
|
.getIndexes()
|
|
16
|
-
.filter(index => index !==
|
|
14
|
+
.filter(index => index !== this.effectCardIndex);
|
|
17
15
|
for (const creatureIndex of otherCreatures) {
|
|
18
16
|
moves.push(this.material(MaterialType.PowerToken)
|
|
19
17
|
.location(LocationType.PowerTokenStock)
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
+
import { Material } from '@gamepark/rules-api';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardType } from '../../CardType';
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
import { DestroyEffect } from '../../EffectTraits';
|
|
6
|
+
declare class SacrificeRule extends CardRule implements DestroyEffect {
|
|
7
|
+
onEnters(): void;
|
|
8
|
+
getDestroyCount(): number;
|
|
9
|
+
getDestroyTargets(): Material;
|
|
10
|
+
isDestroyOptional(): boolean;
|
|
6
11
|
}
|
|
7
12
|
export declare const Sacrifice: {
|
|
8
13
|
power: number;
|
|
@@ -1,8 +1,26 @@
|
|
|
1
|
+
import { Memory } from '../../../Memory';
|
|
2
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
1
3
|
import { CardRule } from '../../CardRule';
|
|
2
4
|
import { CardSuit } from '../../CardSuit';
|
|
3
5
|
import { CardType } from '../../CardType';
|
|
4
6
|
class SacrificeRule extends CardRule {
|
|
5
|
-
|
|
7
|
+
onEnters() {
|
|
8
|
+
this.addPendingEffect(RuleId.DestroyEffect);
|
|
9
|
+
}
|
|
10
|
+
getDestroyCount() {
|
|
11
|
+
return 2;
|
|
12
|
+
}
|
|
13
|
+
getDestroyTargets() {
|
|
14
|
+
if (this.isDestroyOptional()) {
|
|
15
|
+
return this.creatures.player(this.player);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
return this.creatures.player(this.foe);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
isDestroyOptional() {
|
|
22
|
+
return this.remind(Memory.EffectCount) === 2;
|
|
23
|
+
}
|
|
6
24
|
}
|
|
7
25
|
export const Sacrifice = {
|
|
8
26
|
power: 4,
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { Material } from '@gamepark/rules-api';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardType } from '../../CardType';
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
import { DestroyEffect } from '../../EffectTraits';
|
|
6
|
+
declare class SoulBladeRule extends CardRule implements DestroyEffect {
|
|
7
|
+
onEnters(): void;
|
|
8
|
+
getDestroyTargets(): Material;
|
|
6
9
|
}
|
|
7
10
|
export declare const SoulBlade: {
|
|
8
11
|
power: number;
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
3
|
+
import { createCardRule } from '../../createCardRule';
|
|
2
4
|
import { CardSuit } from '../../CardSuit';
|
|
3
5
|
import { CardType } from '../../CardType';
|
|
4
6
|
class SoulBladeRule extends CardRule {
|
|
5
|
-
|
|
7
|
+
onEnters() {
|
|
8
|
+
this.addPendingEffect(RuleId.DestroyEffect);
|
|
9
|
+
}
|
|
10
|
+
getDestroyTargets() {
|
|
11
|
+
return this.creatures.index((index) => createCardRule(this.game, index).getPower() >= 4);
|
|
12
|
+
}
|
|
6
13
|
}
|
|
7
14
|
export const SoulBlade = {
|
|
8
15
|
power: 2,
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { CardRule } from '../../CardRule';
|
|
2
2
|
import { CardSuit } from '../../CardSuit';
|
|
3
3
|
import { CardType } from '../../CardType';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
import { ChallengeEffect, DrawEffect } from '../../EffectTraits';
|
|
5
|
+
declare class WatchTowerRule extends CardRule implements DrawEffect, ChallengeEffect {
|
|
6
|
+
onEnters(): void;
|
|
7
|
+
onChallengeAccepted(): void;
|
|
8
|
+
getDrawCount(): number;
|
|
7
9
|
}
|
|
8
10
|
export declare const WatchTower: {
|
|
9
11
|
power: number;
|
|
@@ -1,11 +1,18 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardType } from '../../CardType';
|
|
4
5
|
class WatchTowerRule extends CardRule {
|
|
5
|
-
|
|
6
|
+
onEnters() {
|
|
7
|
+
this.addPendingEffect(RuleId.ChallengeEffect);
|
|
8
|
+
}
|
|
6
9
|
onChallengeAccepted() {
|
|
7
|
-
this.addPendingEffect();
|
|
8
|
-
|
|
10
|
+
this.addPendingEffect(RuleId.DrawEffect);
|
|
11
|
+
}
|
|
12
|
+
getDrawCount() {
|
|
13
|
+
const myCreatures = this.creatures.player(this.player).length;
|
|
14
|
+
const foeCreatures = this.creatures.player(this.foe).length;
|
|
15
|
+
return foeCreatures - myCreatures;
|
|
9
16
|
}
|
|
10
17
|
}
|
|
11
18
|
export const WatchTower = {
|
|
@@ -2,7 +2,7 @@ import { CardRule } from '../../CardRule';
|
|
|
2
2
|
import { CardSuit } from '../../CardSuit';
|
|
3
3
|
import { CardType } from '../../CardType';
|
|
4
4
|
declare class AeliaSteadyHandRule extends CardRule {
|
|
5
|
-
|
|
5
|
+
activate(): void;
|
|
6
6
|
}
|
|
7
7
|
export declare const AeliaSteadyHand: {
|
|
8
8
|
power: number;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardType } from '../../CardType';
|
|
4
5
|
class AeliaSteadyHandRule extends CardRule {
|
|
5
|
-
|
|
6
|
+
activate() {
|
|
7
|
+
this.addPendingEffect(RuleId.DrawEffect);
|
|
8
|
+
}
|
|
6
9
|
}
|
|
7
10
|
export const AeliaSteadyHand = {
|
|
8
11
|
power: 2,
|
|
@@ -2,7 +2,7 @@ import { CardRule } from '../../CardRule';
|
|
|
2
2
|
import { CardSuit } from '../../CardSuit';
|
|
3
3
|
import { CardType } from '../../CardType';
|
|
4
4
|
declare class BoardingPartyRule extends CardRule {
|
|
5
|
-
|
|
5
|
+
onEnters(): void;
|
|
6
6
|
}
|
|
7
7
|
export declare const BoardingParty: {
|
|
8
8
|
power: number;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { RuleId } from '../../../rules/RuleId';
|
|
1
2
|
import { CardRule } from '../../CardRule';
|
|
2
3
|
import { CardSuit } from '../../CardSuit';
|
|
3
4
|
import { CardType } from '../../CardType';
|
|
4
5
|
class BoardingPartyRule extends CardRule {
|
|
5
|
-
|
|
6
|
+
onEnters() {
|
|
7
|
+
this.addPendingEffect(RuleId.BoardingPartyEffect);
|
|
8
|
+
}
|
|
6
9
|
}
|
|
7
10
|
export const BoardingParty = {
|
|
8
11
|
power: 2,
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { CustomMove
|
|
1
|
+
import { CustomMove } from '@gamepark/rules-api';
|
|
2
2
|
import { DestroyEffectRule } from '../../../rules/DestroyEffectRule';
|
|
3
3
|
export declare class BoardingPartyEffectRule extends DestroyEffectRule {
|
|
4
|
-
onRuleStart():
|
|
4
|
+
onRuleStart(): import("@gamepark/rules-api").MaterialMove[];
|
|
5
5
|
get isBoardingPlayer(): boolean;
|
|
6
6
|
getPlayerMoves(): import("@gamepark/rules-api").MaterialMove[];
|
|
7
7
|
getTargets(): import("@gamepark/rules-api").Material<number, number, number>;
|
|
8
|
-
|
|
8
|
+
onCardDestroyed(): import("@gamepark/rules-api").MaterialMove[];
|
|
9
9
|
onCustomMove(move: CustomMove): import("@gamepark/rules-api").MaterialMove[];
|
|
10
|
+
onRuleEnd(): never[];
|
|
10
11
|
}
|