@gamepark/haati 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/HaatiOptions.d.ts +4 -0
  2. package/dist/HaatiOptions.d.ts.map +1 -0
  3. package/dist/HaatiOptions.js +5 -0
  4. package/dist/HaatiOptions.js.map +1 -0
  5. package/dist/HaatiRules.d.ts +60 -0
  6. package/dist/HaatiRules.d.ts.map +1 -0
  7. package/dist/HaatiRules.js +69 -0
  8. package/dist/HaatiRules.js.map +1 -0
  9. package/dist/HaatiSetup.d.ts +11 -0
  10. package/dist/HaatiSetup.d.ts.map +1 -0
  11. package/dist/HaatiSetup.js +27 -0
  12. package/dist/HaatiSetup.js.map +1 -0
  13. package/dist/Memory.d.ts +5 -0
  14. package/dist/Memory.d.ts.map +1 -0
  15. package/dist/Memory.js +6 -0
  16. package/dist/Memory.js.map +1 -0
  17. package/dist/index.d.ts +4 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +4 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/material/Animal.d.ts +13 -0
  22. package/dist/material/Animal.d.ts.map +1 -0
  23. package/dist/material/Animal.js +22 -0
  24. package/dist/material/Animal.js.map +1 -0
  25. package/dist/material/Character.d.ts +25 -0
  26. package/dist/material/Character.d.ts.map +1 -0
  27. package/dist/material/Character.js +28 -0
  28. package/dist/material/Character.js.map +1 -0
  29. package/dist/material/Collection.d.ts +13 -0
  30. package/dist/material/Collection.d.ts.map +1 -0
  31. package/dist/material/Collection.js +22 -0
  32. package/dist/material/Collection.js.map +1 -0
  33. package/dist/material/LocationType.d.ts +18 -0
  34. package/dist/material/LocationType.d.ts.map +1 -0
  35. package/dist/material/LocationType.js +19 -0
  36. package/dist/material/LocationType.js.map +1 -0
  37. package/dist/material/MaterialSource.d.ts +7 -0
  38. package/dist/material/MaterialSource.d.ts.map +1 -0
  39. package/dist/material/MaterialSource.js +2 -0
  40. package/dist/material/MaterialSource.js.map +1 -0
  41. package/dist/material/MaterialType.d.ts +9 -0
  42. package/dist/material/MaterialType.d.ts.map +1 -0
  43. package/dist/material/MaterialType.js +10 -0
  44. package/dist/material/MaterialType.js.map +1 -0
  45. package/dist/material/Prestige.d.ts +23 -0
  46. package/dist/material/Prestige.d.ts.map +1 -0
  47. package/dist/material/Prestige.js +19 -0
  48. package/dist/material/Prestige.js.map +1 -0
  49. package/dist/rules/ChooseCardsRule.d.ts +13 -0
  50. package/dist/rules/ChooseCardsRule.d.ts.map +1 -0
  51. package/dist/rules/ChooseCardsRule.js +44 -0
  52. package/dist/rules/ChooseCardsRule.js.map +1 -0
  53. package/dist/rules/CustomMoveType.d.ts +5 -0
  54. package/dist/rules/CustomMoveType.d.ts.map +1 -0
  55. package/dist/rules/CustomMoveType.js +6 -0
  56. package/dist/rules/CustomMoveType.js.map +1 -0
  57. package/dist/rules/DiscardCharacterRule.d.ts +6 -0
  58. package/dist/rules/DiscardCharacterRule.d.ts.map +1 -0
  59. package/dist/rules/DiscardCharacterRule.js +15 -0
  60. package/dist/rules/DiscardCharacterRule.js.map +1 -0
  61. package/dist/rules/EndOfRoundRule.d.ts +11 -0
  62. package/dist/rules/EndOfRoundRule.d.ts.map +1 -0
  63. package/dist/rules/EndOfRoundRule.js +71 -0
  64. package/dist/rules/EndOfRoundRule.js.map +1 -0
  65. package/dist/rules/HaatiRule.d.ts +9 -0
  66. package/dist/rules/HaatiRule.d.ts.map +1 -0
  67. package/dist/rules/HaatiRule.js +43 -0
  68. package/dist/rules/HaatiRule.js.map +1 -0
  69. package/dist/rules/MoveAnimalRules.d.ts +28 -0
  70. package/dist/rules/MoveAnimalRules.d.ts.map +1 -0
  71. package/dist/rules/MoveAnimalRules.js +56 -0
  72. package/dist/rules/MoveAnimalRules.js.map +1 -0
  73. package/dist/rules/NewRoundRule.d.ts +11 -0
  74. package/dist/rules/NewRoundRule.d.ts.map +1 -0
  75. package/dist/rules/NewRoundRule.js +23 -0
  76. package/dist/rules/NewRoundRule.js.map +1 -0
  77. package/dist/rules/RefillHandRule.d.ts +8 -0
  78. package/dist/rules/RefillHandRule.d.ts.map +1 -0
  79. package/dist/rules/RefillHandRule.js +32 -0
  80. package/dist/rules/RefillHandRule.js.map +1 -0
  81. package/dist/rules/ResolveDuelRule.d.ts +23 -0
  82. package/dist/rules/ResolveDuelRule.d.ts.map +1 -0
  83. package/dist/rules/ResolveDuelRule.js +127 -0
  84. package/dist/rules/ResolveDuelRule.js.map +1 -0
  85. package/dist/rules/RevealDuelRule.d.ts +10 -0
  86. package/dist/rules/RevealDuelRule.d.ts.map +1 -0
  87. package/dist/rules/RevealDuelRule.js +36 -0
  88. package/dist/rules/RevealDuelRule.js.map +1 -0
  89. package/dist/rules/RuleId.d.ts +15 -0
  90. package/dist/rules/RuleId.d.ts.map +1 -0
  91. package/dist/rules/RuleId.js +16 -0
  92. package/dist/rules/RuleId.js.map +1 -0
  93. package/package.json +31 -3
  94. package/README.md +0 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ResolveDuelRule.js","sourceRoot":"","sources":["../../src/rules/ResolveDuelRule.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { ItemMove, MaterialRulesPart } from '@gamepark/rules-api';
2
+ import { MaterialType } from '../material/MaterialType';
3
+ import { RuleId } from './RuleId';
4
+ export declare class RevealDuelRule extends MaterialRulesPart {
5
+ onRuleStart(): import("@gamepark/rules-api").MoveItem<number, number, number>[];
6
+ afterItemMove(move: ItemMove): (import("@gamepark/rules-api").MoveItem<number, number, number> | import("@gamepark/rules-api").StartPlayerTurn<number, RuleId.ResolveDuel>)[];
7
+ hiddenCards(type: MaterialType): import("@gamepark/rules-api").Material<number, number, number>;
8
+ duelAnimal(player: number): number;
9
+ }
10
+ //# sourceMappingURL=RevealDuelRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevealDuelRule.d.ts","sourceRoot":"","sources":["../../src/rules/RevealDuelRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAI7E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AASjC,qBAAa,cAAe,SAAQ,iBAAiB;IACnD,WAAW,qEAEV;IAED,aAAa,CAAC,IAAI,EAAE,QAAQ,kJAY3B;IAED,WAAW,CAAC,IAAI,EAAE,YAAY,kEAI7B;IAED,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjC;CACF"}
@@ -0,0 +1,36 @@
1
+ import { isMoveItem, MaterialRulesPart } from '@gamepark/rules-api';
2
+ import { beats } from '../material/Animal';
3
+ import { Bet, getBet } from '../material/Character';
4
+ import { LocationType } from '../material/LocationType';
5
+ import { MaterialType } from '../material/MaterialType';
6
+ import { Memory } from '../Memory';
7
+ import { RuleId } from './RuleId';
8
+ export class RevealDuelRule extends MaterialRulesPart {
9
+ onRuleStart() {
10
+ return [this.hiddenCards(MaterialType.AnimalCard), this.hiddenCards(MaterialType.CharacterCard)].flatMap((cards) => cards.rotateItems(true));
11
+ }
12
+ afterItemMove(move) {
13
+ if (!isMoveItem(move) || move.location.type !== LocationType.PlayerDuel)
14
+ return [];
15
+ if (this.hiddenCards(MaterialType.AnimalCard).length || this.hiddenCards(MaterialType.CharacterCard).length)
16
+ return [];
17
+ const [player1, player2] = this.game.players;
18
+ const card1 = this.duelAnimal(player1);
19
+ const card2 = this.duelAnimal(player2);
20
+ const winner = beats(card1, card2) ? player1 : player2;
21
+ this.memorize(Memory.DuelWinner, winner);
22
+ const lostBets = this.material(MaterialType.CharacterCard)
23
+ .location(LocationType.PlayerDuel)
24
+ .filter((item) => (getBet(item.id) === Bet.Win) !== (item.location.player === winner));
25
+ return [...lostBets.moveItems({ type: LocationType.CharacterDiscard }), this.startPlayerTurn(RuleId.ResolveDuel, winner)];
26
+ }
27
+ hiddenCards(type) {
28
+ return this.material(type)
29
+ .location(LocationType.PlayerDuel)
30
+ .rotation((rotation) => !rotation);
31
+ }
32
+ duelAnimal(player) {
33
+ return this.material(MaterialType.AnimalCard).location(LocationType.PlayerDuel).player(player).getItem().id;
34
+ }
35
+ }
36
+ //# sourceMappingURL=RevealDuelRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RevealDuelRule.js","sourceRoot":"","sources":["../../src/rules/RevealDuelRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAY,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAC7E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC1C,OAAO,EAAE,GAAG,EAAiB,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AASjC,MAAM,OAAO,cAAe,SAAQ,iBAAiB;IACnD,WAAW;QACT,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;IAC9I,CAAC;IAED,aAAa,CAAC,IAAc;QAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,UAAU;YAAE,OAAO,EAAE,CAAA;QAClF,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,MAAM;YAAE,OAAO,EAAE,CAAA;QACtH,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAA;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACtC,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;QACtD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC;aACvD,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC;aACjC,MAAM,CAAgB,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAA;QACvG,OAAO,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,gBAAgB,EAAE,CAAC,EAAE,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAA;IAC3H,CAAC;IAED,WAAW,CAAC,IAAkB;QAC5B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;aACvB,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC;aACjC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAG,CAAC,EAAE,CAAA;IAC9G,CAAC;CACF"}
@@ -0,0 +1,15 @@
1
+ export declare enum RuleId {
2
+ ChooseCards = 1,
3
+ RevealDuel = 2,
4
+ ResolveDuel = 3,
5
+ JungleElephant = 4,
6
+ JungleTiger = 5,
7
+ Maharaja = 6,
8
+ Thief = 7,
9
+ Hunter = 8,
10
+ DiscardCharacter = 9,
11
+ RefillHand = 10,
12
+ EndOfRound = 11,
13
+ NewRound = 12
14
+ }
15
+ //# sourceMappingURL=RuleId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuleId.d.ts","sourceRoot":"","sources":["../../src/rules/RuleId.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM;IAChB,WAAW,IAAI;IACf,UAAU,IAAA;IACV,WAAW,IAAA;IACX,cAAc,IAAA;IACd,WAAW,IAAA;IACX,QAAQ,IAAA;IACR,KAAK,IAAA;IACL,MAAM,IAAA;IACN,gBAAgB,IAAA;IAChB,UAAU,KAAA;IACV,UAAU,KAAA;IACV,QAAQ,KAAA;CACT"}
@@ -0,0 +1,16 @@
1
+ export var RuleId;
2
+ (function (RuleId) {
3
+ RuleId[RuleId["ChooseCards"] = 1] = "ChooseCards";
4
+ RuleId[RuleId["RevealDuel"] = 2] = "RevealDuel";
5
+ RuleId[RuleId["ResolveDuel"] = 3] = "ResolveDuel";
6
+ RuleId[RuleId["JungleElephant"] = 4] = "JungleElephant";
7
+ RuleId[RuleId["JungleTiger"] = 5] = "JungleTiger";
8
+ RuleId[RuleId["Maharaja"] = 6] = "Maharaja";
9
+ RuleId[RuleId["Thief"] = 7] = "Thief";
10
+ RuleId[RuleId["Hunter"] = 8] = "Hunter";
11
+ RuleId[RuleId["DiscardCharacter"] = 9] = "DiscardCharacter";
12
+ RuleId[RuleId["RefillHand"] = 10] = "RefillHand";
13
+ RuleId[RuleId["EndOfRound"] = 11] = "EndOfRound";
14
+ RuleId[RuleId["NewRound"] = 12] = "NewRound";
15
+ })(RuleId || (RuleId = {}));
16
+ //# sourceMappingURL=RuleId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RuleId.js","sourceRoot":"","sources":["../../src/rules/RuleId.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,MAaX;AAbD,WAAY,MAAM;IAChB,iDAAe,CAAA;IACf,+CAAU,CAAA;IACV,iDAAW,CAAA;IACX,uDAAc,CAAA;IACd,iDAAW,CAAA;IACX,2CAAQ,CAAA;IACR,qCAAK,CAAA;IACL,uCAAM,CAAA;IACN,2DAAgB,CAAA;IAChB,gDAAU,CAAA;IACV,gDAAU,CAAA;IACV,4CAAQ,CAAA;AACV,CAAC,EAbW,MAAM,KAAN,MAAM,QAajB"}
package/package.json CHANGED
@@ -1,6 +1,34 @@
1
1
  {
2
2
  "name": "@gamepark/haati",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.1.0",
4
+ "description": "The rules of Haati adapted for Game Park",
5
+ "sideEffects": false,
6
+ "type": "module",
7
+ "main": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "files": [
10
+ "dist"
11
+ ],
12
+ "author": "Romain Fromi <romain@game-park.com> (https://game-park.com/)",
13
+ "license": "ISC",
14
+ "publishConfig": {
15
+ "access": "public"
16
+ },
17
+ "scripts": {
18
+ "test": "vitest",
19
+ "build": "tsc",
20
+ "prepack": "yarn build",
21
+ "publish": "yarn version ${0:-patch} && yarn npm publish ${OTP:+--otp $OTP} && git commit -am v$(node -p \"require('./package.json').version\") && git tag v$(node -p \"require('./package.json').version\") && git push --follow-tags"
22
+ },
23
+ "peerDependencies": {
24
+ "@gamepark/rules-api": ">=7.7",
25
+ "es-toolkit": "^1.45.1"
26
+ },
27
+ "devDependencies": {
28
+ "@gamepark/rules-api": "~7.9.0",
29
+ "es-toolkit": "^1.52.0",
30
+ "typescript": "^7.0.2",
31
+ "vite": "^8.3.4",
32
+ "vitest": "^5.0.5"
33
+ }
6
34
  }
package/README.md DELETED
@@ -1,3 +0,0 @@
1
- # Temporary Holding Version
2
-
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.