@gamepark/zenith 0.1.12 → 1.0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"ZenithOptions.d.ts","sourceRoot":"","sources":["../src/ZenithOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,SAAS,EAAc,MAAM,aAAa,CAAA;AAEnD,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,CAAA;AACnC,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAA;AAClC,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAA;AAElC,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,aAAa,CAwCxD,CAAA"}
1
+ {"version":3,"file":"ZenithOptions.d.ts","sourceRoot":"","sources":["../src/ZenithOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA0B,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,SAAS,EAAc,MAAM,aAAa,CAAA;AAEnD,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,SAAS,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,GAAG,GAAG,GAAG,CAAA;AACnC,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAA;AAClC,MAAM,MAAM,UAAU,GAAG,GAAG,GAAG,GAAG,CAAA;AAElC,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,aAAa,EAAE,CAAA;IACxB,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,aAAa,CA4CxD,CAAA"}
@@ -32,10 +32,14 @@ export const ZenithOptionsSpec = {
32
32
  }
33
33
  },
34
34
  validate: (options, t) => {
35
- if (options.players && options.players.length === 4) {
35
+ if (options.players) {
36
+ const count = options.players.length;
37
+ if (count !== 2 && count !== 4) {
38
+ throw new OptionsValidationError(t('invalid.player.count'), ['players']);
39
+ }
36
40
  const white = options.players.filter(p => p.team === TeamColor.White).length;
37
41
  const black = options.players.filter(p => p.team === TeamColor.Black).length;
38
- if (white > 2 || black > 2) {
42
+ if (white !== black) {
39
43
  throw new OptionsValidationError(t('invalid.teams'), ['players.team']);
40
44
  }
41
45
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ZenithOptions.js","sourceRoot":"","sources":["../src/ZenithOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,sBAAsB,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAiBnD,MAAM,CAAC,MAAM,iBAAiB,GAA+B;IAC3D,WAAW,EAAE;QACX,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;QAC7B,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACjC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAkB;QACnC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,EAAE,CAAC,EAAE,CAAC;QAC9D,mBAAmB,EAAE,IAAI;KAC1B;IACD,UAAU,EAAE;QACV,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QAC5B,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAChC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAiB;QAClC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,EAAE,CAAC,EAAE,CAAC;QAC9D,mBAAmB,EAAE,IAAI;KAC1B;IACD,UAAU,EAAE;QACV,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QAC5B,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;QAChC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAiB;QAClC,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,EAAE,CAAC,EAAE,CAAC;QAC9D,mBAAmB,EAAE,IAAI;KAC1B;IACD,OAAO,EAAE;QACP,IAAI,EAAE;YACJ,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YACrB,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;YACzB,MAAM,EAAE,UAAU;YAClB,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,EAAE,CAAC,EAAE,CAAC;YACxD,mBAAmB,EAAE,IAAI;SAC1B;KACF;IACD,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;QACvB,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;YAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAA;YAC5E,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBAC3B,MAAM,IAAI,sBAAsB,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,CAAA;YACxE,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA"}
1
+ {"version":3,"file":"ZenithOptions.js","sourceRoot":"","sources":["../src/ZenithOptions.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { CustomMove, ItemMove, MaterialMove, PlayerTurnRule } from '@gamepark/ru
2
2
  import { RuleId } from './RuleId';
3
3
  export declare class DiscardActionRule extends PlayerTurnRule {
4
4
  getPlayerMoves(): MaterialMove[];
5
- beforeItemMove(move: ItemMove): MaterialMove<number, number, number, number>[];
5
+ beforeItemMove(move: ItemMove): MaterialMove<number, number, number, number, number>[];
6
6
  afterItemMove(move: ItemMove): MaterialMove[];
7
7
  onCustomMove(move: CustomMove): import("@gamepark/rules-api").StartRule<RuleId>[];
8
8
  }
@@ -1,9 +1,10 @@
1
1
  import { CustomMove, PlayerTurnRule } from '@gamepark/rules-api';
2
2
  import { Faction } from '../../material/Faction';
3
+ import { CustomMoveType } from '../CustomMoveType';
3
4
  import { RuleId } from '../RuleId';
4
5
  export declare class DiplomacyBoardRule extends PlayerTurnRule {
5
6
  onRuleStart(): import("@gamepark/rules-api").StartRule<RuleId>[];
6
- getPlayerMoves(): CustomMove[];
7
+ getPlayerMoves(): CustomMove<CustomMoveType.Diplomacy, any>[];
7
8
  get faction(): Faction;
8
9
  applyDiplomacy(): import("@gamepark/rules-api").StartRule<RuleId>[];
9
10
  onCustomMove(move: CustomMove): import("@gamepark/rules-api").StartRule<RuleId>[];
@@ -1 +1 @@
1
- {"version":3,"file":"DiplomacyBoardRule.d.ts","sourceRoot":"","sources":["../../../src/rules/discard-action/DiplomacyBoardRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoD,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAClH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAKhD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlC,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,WAAW;IAQX,cAAc;IAId,IAAI,OAAO,YAEV;IAED,cAAc;IAed,YAAY,CAAC,IAAI,EAAE,UAAU;CAS9B"}
1
+ {"version":3,"file":"DiplomacyBoardRule.d.ts","sourceRoot":"","sources":["../../../src/rules/discard-action/DiplomacyBoardRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoD,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAClH,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAGlD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAGlC,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,WAAW;IAQX,cAAc;IAId,IAAI,OAAO,YAEV;IAED,cAAc;IAed,YAAY,CAAC,IAAI,EAAE,UAAU;CAS9B"}
@@ -1,12 +1,13 @@
1
1
  import { CustomMove } from '@gamepark/rules-api';
2
2
  import { ChoiceEffect } from '../../material/effect/Effect';
3
+ import { CustomMoveType } from '../CustomMoveType';
3
4
  import { EffectRule } from './index';
4
5
  export declare enum Choice {
5
6
  LEFT = 1,
6
7
  RIGHT = 2
7
8
  }
8
9
  export declare class ChoiceRule extends EffectRule<ChoiceEffect> {
9
- getPlayerMoves(): CustomMove[];
10
+ getPlayerMoves(): CustomMove<CustomMoveType.Choice, Choice>[];
10
11
  onCustomMove(move: CustomMove): import("@gamepark/rules-api").StartRule<import("../RuleId").RuleId>[];
11
12
  choice(choice: Choice): void;
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChoiceRule.d.ts","sourceRoot":"","sources":["../../../src/rules/effect/ChoiceRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAkB,MAAM,8BAA8B,CAAA;AAG3E,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,oBAAY,MAAM;IAChB,IAAI,IAAI;IACR,KAAK,IAAA;CACN;AACD,qBAAa,UAAW,SAAQ,UAAU,CAAC,YAAY,CAAC;IACtD,cAAc;IAId,YAAY,CAAC,IAAI,EAAE,UAAU;IAM7B,MAAM,CAAC,MAAM,EAAE,MAAM;CAYtB"}
1
+ {"version":3,"file":"ChoiceRule.d.ts","sourceRoot":"","sources":["../../../src/rules/effect/ChoiceRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,qBAAqB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAkB,MAAM,8BAA8B,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,oBAAY,MAAM;IAChB,IAAI,IAAI;IACR,KAAK,IAAA;CACN;AACD,qBAAa,UAAW,SAAQ,UAAU,CAAC,YAAY,CAAC;IACtD,cAAc;IAId,YAAY,CAAC,IAAI,EAAE,UAAU;IAM7B,MAAM,CAAC,MAAM,EAAE,MAAM;CAYtB"}
@@ -1,8 +1,9 @@
1
1
  import { CustomMove, ItemMove, MaterialMove } from '@gamepark/rules-api';
2
2
  import { DevelopTechnologyEffect } from '../../material/effect/Effect';
3
+ import { CustomMoveType } from '../CustomMoveType';
3
4
  import { EffectRule } from './index';
4
5
  export declare class DevelopTechnologyRule extends EffectRule<DevelopTechnologyEffect> {
5
- getPlayerMoves(): (CustomMove | import("@gamepark/rules-api").MoveItem<number, number, number>)[];
6
+ getPlayerMoves(): (import("@gamepark/rules-api").MoveItem<number, number, number> | CustomMove<CustomMoveType.Pass, any>)[];
6
7
  afterItemMove(move: ItemMove): MaterialMove[];
7
8
  onCustomMove(move: CustomMove): MaterialMove[];
8
9
  get technologies(): import("@gamepark/rules-api").Material<number, number, number>;
@@ -1 +1 @@
1
- {"version":3,"file":"DevelopTechnologyRule.d.ts","sourceRoot":"","sources":["../../../src/rules/effect/DevelopTechnologyRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoC,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC1G,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAKtE,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IAC5E,cAAc;IAUd,aAAa,CAAC,IAAI,EAAE,QAAQ;IAe5B,YAAY,CAAC,IAAI,EAAE,UAAU;IAM7B,IAAI,YAAY,mEAoBf;IAED,UAAU;IAIV,IAAI,gBAAgB,mEAKnB;CACF"}
1
+ {"version":3,"file":"DevelopTechnologyRule.d.ts","sourceRoot":"","sources":["../../../src/rules/effect/DevelopTechnologyRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoC,QAAQ,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC1G,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAGtE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC,qBAAa,qBAAsB,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IAC5E,cAAc;IAUd,aAAa,CAAC,IAAI,EAAE,QAAQ;IAe5B,YAAY,CAAC,IAAI,EAAE,UAAU;IAM7B,IAAI,YAAY,mEAoBf;IAED,UAAU;IAIV,IAAI,gBAAgB,mEAKnB;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gamepark/zenith",
3
- "version": "0.1.12",
3
+ "version": "1.0.0",
4
4
  "description": "The rules of Zenith adapted for Game Park",
5
5
  "sideEffects": false,
6
6
  "type": "module",
@@ -26,9 +26,9 @@
26
26
  "es-toolkit": "^1.43.0"
27
27
  },
28
28
  "devDependencies": {
29
- "@gamepark/rules-api": "^7.5.0",
29
+ "@gamepark/rules-api": "^7.5.1",
30
30
  "es-toolkit": "^1.43.0",
31
31
  "vitest": "^4.0.15"
32
32
  },
33
- "gitHead": "328e9eb5dc494c520454c86eaf06f5336766f4b5"
33
+ "gitHead": "42b0f9538e1744e3c78ec27caf9d8b663c3fc8ca"
34
34
  }