@gamepark/skyrift 0.6.3 → 0.6.4
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/material/LocationType.d.ts +2 -1
- package/dist/material/LocationType.js +1 -0
- package/dist/material/decks/highwave/BoardingPartyEffectRule.d.ts +2 -1
- package/dist/material/decks/highwave/BoardingPartyEffectRule.js +8 -0
- package/dist/rules/ChallengeEffectRule.d.ts +2 -1
- package/dist/rules/ChallengeEffectRule.js +7 -0
- package/dist/rules/DiscardEffectRule.d.ts +2 -2
- package/dist/rules/DiscardEffectRule.js +2 -2
- package/dist/rules/EffectRule.d.ts +2 -1
- package/dist/rules/EffectRule.js +6 -3
- package/dist/rules/PutPowerTokenEffectRule.d.ts +2 -2
- package/dist/rules/PutPowerTokenEffectRule.js +2 -2
- package/dist/rules/SimultaneousEffectRule.d.ts +1 -0
- package/dist/rules/SimultaneousEffectRule.js +5 -0
- package/dist/rules/StunEffectRule.d.ts +2 -2
- package/dist/rules/StunEffectRule.js +2 -2
- package/package.json +2 -2
|
@@ -14,4 +14,5 @@ export var LocationType;
|
|
|
14
14
|
LocationType[LocationType["PlayerStash"] = 12] = "PlayerStash";
|
|
15
15
|
LocationType[LocationType["CardSpecialTokens"] = 13] = "CardSpecialTokens";
|
|
16
16
|
LocationType[LocationType["UnderCard"] = 14] = "UnderCard";
|
|
17
|
+
LocationType[LocationType["CardPowerOverlay"] = 15] = "CardPowerOverlay";
|
|
17
18
|
})(LocationType || (LocationType = {}));
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CustomMove } from '@gamepark/rules-api';
|
|
1
|
+
import { CustomMove, RuleMove } from '@gamepark/rules-api';
|
|
2
2
|
import { DestroyEffectRule } from '../../../rules/DestroyEffectRule';
|
|
3
3
|
export declare class BoardingPartyEffectRule extends DestroyEffectRule {
|
|
4
4
|
onRuleStart(): import("@gamepark/rules-api").MaterialMove[];
|
|
@@ -7,4 +7,5 @@ export declare class BoardingPartyEffectRule extends DestroyEffectRule {
|
|
|
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(move: RuleMove): never[];
|
|
10
11
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isStartPlayerTurn } from '@gamepark/rules-api';
|
|
1
2
|
import { CustomMoveType } from '../../../CustomMoveType';
|
|
2
3
|
import { Memory } from '../../../Memory';
|
|
3
4
|
import { DestroyEffectRule } from '../../../rules/DestroyEffectRule';
|
|
@@ -45,4 +46,11 @@ export class BoardingPartyEffectRule extends DestroyEffectRule {
|
|
|
45
46
|
}
|
|
46
47
|
return super.onCustomMove(move);
|
|
47
48
|
}
|
|
49
|
+
onRuleEnd(move) {
|
|
50
|
+
if (isStartPlayerTurn(move) && move.id === RuleId.BoardingPartyEffect) {
|
|
51
|
+
return [];
|
|
52
|
+
}
|
|
53
|
+
this.forget(Memory.EffectCount);
|
|
54
|
+
return super.onRuleEnd(move);
|
|
55
|
+
}
|
|
48
56
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { CustomMove } from '@gamepark/rules-api';
|
|
1
|
+
import { CustomMove, RuleMove } from '@gamepark/rules-api';
|
|
2
2
|
import { CustomMoveType } from '../CustomMoveType';
|
|
3
3
|
import { EffectRule } from './EffectRule';
|
|
4
4
|
export declare class ChallengeEffectRule extends EffectRule {
|
|
5
5
|
getPlayerMoves(): (CustomMove<CustomMoveType.Pass, any> | CustomMove<CustomMoveType.Challenge, any>)[];
|
|
6
6
|
onCustomMove(move: CustomMove): import("@gamepark/rules-api").MaterialMove[];
|
|
7
|
+
onRuleEnd(move: RuleMove): never[];
|
|
7
8
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isStartPlayerTurn } from '@gamepark/rules-api';
|
|
1
2
|
import { CustomMoveType } from '../CustomMoveType';
|
|
2
3
|
import { EffectRule } from './EffectRule';
|
|
3
4
|
import { RuleId } from './RuleId';
|
|
@@ -14,4 +15,10 @@ export class ChallengeEffectRule extends EffectRule {
|
|
|
14
15
|
}
|
|
15
16
|
return super.onCustomMove(move);
|
|
16
17
|
}
|
|
18
|
+
onRuleEnd(move) {
|
|
19
|
+
if (isStartPlayerTurn(move) && move.id === RuleId.ChallengeResponse) {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
return super.onRuleEnd(move);
|
|
23
|
+
}
|
|
17
24
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ItemMove, MaterialMove, MoveItem } from '@gamepark/rules-api';
|
|
1
|
+
import { ItemMove, MaterialMove, MoveItem, RuleMove } from '@gamepark/rules-api';
|
|
2
2
|
import { DiscardEffect } from '../material/EffectTraits';
|
|
3
3
|
import { EffectRule } from './EffectRule';
|
|
4
4
|
export declare class DiscardEffectRule extends EffectRule<DiscardEffect> {
|
|
@@ -8,5 +8,5 @@ export declare class DiscardEffectRule extends EffectRule<DiscardEffect> {
|
|
|
8
8
|
getPlayerMoves(): MaterialMove[];
|
|
9
9
|
afterItemMove(move: ItemMove): MaterialMove[];
|
|
10
10
|
onDiscard(_move: MoveItem): MaterialMove[];
|
|
11
|
-
onRuleEnd(): never[];
|
|
11
|
+
onRuleEnd(move: RuleMove): never[];
|
|
12
12
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CustomMove, MaterialMove, PlayerTurnRule } from '@gamepark/rules-api';
|
|
1
|
+
import { CustomMove, MaterialMove, PlayerTurnRule, RuleMove } from '@gamepark/rules-api';
|
|
2
2
|
import { CardRule } from '../material/CardRule';
|
|
3
3
|
export declare class EffectRule<T = unknown> extends PlayerTurnRule {
|
|
4
4
|
get effectCardIndex(): number;
|
|
@@ -6,4 +6,5 @@ export declare class EffectRule<T = unknown> extends PlayerTurnRule {
|
|
|
6
6
|
endEffect(): MaterialMove[];
|
|
7
7
|
onCustomMove(move: CustomMove): MaterialMove[];
|
|
8
8
|
onEndEffect(): MaterialMove[];
|
|
9
|
+
onRuleEnd(_move: RuleMove): never[];
|
|
9
10
|
}
|
package/dist/rules/EffectRule.js
CHANGED
|
@@ -29,10 +29,9 @@ export class EffectRule extends PlayerTurnRule {
|
|
|
29
29
|
return [];
|
|
30
30
|
}
|
|
31
31
|
onEndEffect() {
|
|
32
|
-
this.memorize(Memory.PendingEffects, (effects) => effects.slice(1));
|
|
33
32
|
const pendingEffects = this.remind(Memory.PendingEffects);
|
|
34
|
-
if (pendingEffects.length >
|
|
35
|
-
return new PlayerHelper(this.game, this.player).startEffect(pendingEffects[
|
|
33
|
+
if (pendingEffects.length > 1) {
|
|
34
|
+
return new PlayerHelper(this.game, this.player).startEffect(pendingEffects[1]);
|
|
36
35
|
}
|
|
37
36
|
const concededBy = this.remind(Memory.ChallengeConceded);
|
|
38
37
|
if (concededBy !== undefined) {
|
|
@@ -52,4 +51,8 @@ export class EffectRule extends PlayerTurnRule {
|
|
|
52
51
|
return [this.startPlayerTurn(RuleId.PlayCard, currentPlayer)];
|
|
53
52
|
}
|
|
54
53
|
}
|
|
54
|
+
onRuleEnd(_move) {
|
|
55
|
+
this.memorize(Memory.PendingEffects, (effects) => effects.slice(1));
|
|
56
|
+
return [];
|
|
57
|
+
}
|
|
55
58
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ItemMove, Material, MaterialMove } from '@gamepark/rules-api';
|
|
1
|
+
import { ItemMove, Material, MaterialMove, RuleMove } from '@gamepark/rules-api';
|
|
2
2
|
import { PutPowerTokenEffect } from '../material/EffectTraits';
|
|
3
3
|
import { EffectRule } from './EffectRule';
|
|
4
4
|
export declare class PutPowerTokenEffectRule extends EffectRule<PutPowerTokenEffect> {
|
|
@@ -6,5 +6,5 @@ export declare class PutPowerTokenEffectRule extends EffectRule<PutPowerTokenEff
|
|
|
6
6
|
getPlayerMoves(): MaterialMove[];
|
|
7
7
|
getTargets(): Material;
|
|
8
8
|
afterItemMove(move: ItemMove): MaterialMove[];
|
|
9
|
-
onRuleEnd(): never[];
|
|
9
|
+
onRuleEnd(move: RuleMove): never[];
|
|
10
10
|
}
|
|
@@ -2,4 +2,5 @@ import { CustomMove, MaterialMove, SimultaneousRule } from '@gamepark/rules-api'
|
|
|
2
2
|
export declare abstract class SimultaneousEffectRule extends SimultaneousRule {
|
|
3
3
|
getMovesAfterPlayersDone(): MaterialMove[];
|
|
4
4
|
onCustomMove(move: CustomMove): MaterialMove[];
|
|
5
|
+
onRuleEnd(): never[];
|
|
5
6
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { SimultaneousRule } from '@gamepark/rules-api';
|
|
2
2
|
import { CustomMoveType } from '../CustomMoveType';
|
|
3
|
+
import { Memory } from '../Memory';
|
|
3
4
|
import { EffectRule } from './EffectRule';
|
|
4
5
|
export class SimultaneousEffectRule extends SimultaneousRule {
|
|
5
6
|
getMovesAfterPlayersDone() {
|
|
@@ -11,4 +12,8 @@ export class SimultaneousEffectRule extends SimultaneousRule {
|
|
|
11
12
|
}
|
|
12
13
|
return [];
|
|
13
14
|
}
|
|
15
|
+
onRuleEnd() {
|
|
16
|
+
this.memorize(Memory.PendingEffects, (effects) => effects.slice(1));
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
14
19
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ItemMove, Material, MaterialMove } from '@gamepark/rules-api';
|
|
1
|
+
import { ItemMove, Material, MaterialMove, RuleMove } from '@gamepark/rules-api';
|
|
2
2
|
import { StunEffect } from '../material/EffectTraits';
|
|
3
3
|
import { EffectRule } from './EffectRule';
|
|
4
4
|
export declare class StunEffectRule extends EffectRule<StunEffect> {
|
|
@@ -7,5 +7,5 @@ export declare class StunEffectRule extends EffectRule<StunEffect> {
|
|
|
7
7
|
stunTargets(): MaterialMove[];
|
|
8
8
|
getTargets(): Material;
|
|
9
9
|
afterItemMove(move: ItemMove): MaterialMove[];
|
|
10
|
-
onRuleEnd(): never[];
|
|
10
|
+
onRuleEnd(move: RuleMove): never[];
|
|
11
11
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gamepark/skyrift",
|
|
3
|
-
"version": "0.6.
|
|
3
|
+
"version": "0.6.4",
|
|
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": "
|
|
33
|
+
"gitHead": "8cec8d81a45fdfb15f8f4d09aa8a802a48681f41"
|
|
34
34
|
}
|