@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.
- package/dist/HaatiOptions.d.ts +4 -0
- package/dist/HaatiOptions.d.ts.map +1 -0
- package/dist/HaatiOptions.js +5 -0
- package/dist/HaatiOptions.js.map +1 -0
- package/dist/HaatiRules.d.ts +60 -0
- package/dist/HaatiRules.d.ts.map +1 -0
- package/dist/HaatiRules.js +69 -0
- package/dist/HaatiRules.js.map +1 -0
- package/dist/HaatiSetup.d.ts +11 -0
- package/dist/HaatiSetup.d.ts.map +1 -0
- package/dist/HaatiSetup.js +27 -0
- package/dist/HaatiSetup.js.map +1 -0
- package/dist/Memory.d.ts +5 -0
- package/dist/Memory.d.ts.map +1 -0
- package/dist/Memory.js +6 -0
- package/dist/Memory.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/material/Animal.d.ts +13 -0
- package/dist/material/Animal.d.ts.map +1 -0
- package/dist/material/Animal.js +22 -0
- package/dist/material/Animal.js.map +1 -0
- package/dist/material/Character.d.ts +25 -0
- package/dist/material/Character.d.ts.map +1 -0
- package/dist/material/Character.js +28 -0
- package/dist/material/Character.js.map +1 -0
- package/dist/material/Collection.d.ts +13 -0
- package/dist/material/Collection.d.ts.map +1 -0
- package/dist/material/Collection.js +22 -0
- package/dist/material/Collection.js.map +1 -0
- package/dist/material/LocationType.d.ts +18 -0
- package/dist/material/LocationType.d.ts.map +1 -0
- package/dist/material/LocationType.js +19 -0
- package/dist/material/LocationType.js.map +1 -0
- package/dist/material/MaterialSource.d.ts +7 -0
- package/dist/material/MaterialSource.d.ts.map +1 -0
- package/dist/material/MaterialSource.js +2 -0
- package/dist/material/MaterialSource.js.map +1 -0
- package/dist/material/MaterialType.d.ts +9 -0
- package/dist/material/MaterialType.d.ts.map +1 -0
- package/dist/material/MaterialType.js +10 -0
- package/dist/material/MaterialType.js.map +1 -0
- package/dist/material/Prestige.d.ts +23 -0
- package/dist/material/Prestige.d.ts.map +1 -0
- package/dist/material/Prestige.js +19 -0
- package/dist/material/Prestige.js.map +1 -0
- package/dist/rules/ChooseCardsRule.d.ts +13 -0
- package/dist/rules/ChooseCardsRule.d.ts.map +1 -0
- package/dist/rules/ChooseCardsRule.js +44 -0
- package/dist/rules/ChooseCardsRule.js.map +1 -0
- package/dist/rules/CustomMoveType.d.ts +5 -0
- package/dist/rules/CustomMoveType.d.ts.map +1 -0
- package/dist/rules/CustomMoveType.js +6 -0
- package/dist/rules/CustomMoveType.js.map +1 -0
- package/dist/rules/DiscardCharacterRule.d.ts +6 -0
- package/dist/rules/DiscardCharacterRule.d.ts.map +1 -0
- package/dist/rules/DiscardCharacterRule.js +15 -0
- package/dist/rules/DiscardCharacterRule.js.map +1 -0
- package/dist/rules/EndOfRoundRule.d.ts +11 -0
- package/dist/rules/EndOfRoundRule.d.ts.map +1 -0
- package/dist/rules/EndOfRoundRule.js +71 -0
- package/dist/rules/EndOfRoundRule.js.map +1 -0
- package/dist/rules/HaatiRule.d.ts +9 -0
- package/dist/rules/HaatiRule.d.ts.map +1 -0
- package/dist/rules/HaatiRule.js +43 -0
- package/dist/rules/HaatiRule.js.map +1 -0
- package/dist/rules/MoveAnimalRules.d.ts +28 -0
- package/dist/rules/MoveAnimalRules.d.ts.map +1 -0
- package/dist/rules/MoveAnimalRules.js +56 -0
- package/dist/rules/MoveAnimalRules.js.map +1 -0
- package/dist/rules/NewRoundRule.d.ts +11 -0
- package/dist/rules/NewRoundRule.d.ts.map +1 -0
- package/dist/rules/NewRoundRule.js +23 -0
- package/dist/rules/NewRoundRule.js.map +1 -0
- package/dist/rules/RefillHandRule.d.ts +8 -0
- package/dist/rules/RefillHandRule.d.ts.map +1 -0
- package/dist/rules/RefillHandRule.js +32 -0
- package/dist/rules/RefillHandRule.js.map +1 -0
- package/dist/rules/ResolveDuelRule.d.ts +23 -0
- package/dist/rules/ResolveDuelRule.d.ts.map +1 -0
- package/dist/rules/ResolveDuelRule.js +127 -0
- package/dist/rules/ResolveDuelRule.js.map +1 -0
- package/dist/rules/RevealDuelRule.d.ts +10 -0
- package/dist/rules/RevealDuelRule.d.ts.map +1 -0
- package/dist/rules/RevealDuelRule.js +36 -0
- package/dist/rules/RevealDuelRule.js.map +1 -0
- package/dist/rules/RuleId.d.ts +15 -0
- package/dist/rules/RuleId.d.ts.map +1 -0
- package/dist/rules/RuleId.js +16 -0
- package/dist/rules/RuleId.js.map +1 -0
- package/package.json +31 -3
- package/README.md +0 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HaatiOptions.d.ts","sourceRoot":"","sources":["../src/HaatiOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAKnD,MAAM,MAAM,YAAY,GAAG,MAAM,CAAA;AAKjC,eAAO,MAAM,kBAAkB,EAAE,aAGhC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HaatiOptions.js","sourceRoot":"","sources":["../src/HaatiOptions.ts"],"names":[],"mappings":"AAUA,MAAM,CAAC,MAAM,kBAAkB,GAAkB;IAC/C,WAAW,EAAE,CAAC;IACd,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE;CAC5B,CAAA"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { CompetitiveScore, HidingSecretsStrategy, MaterialGame, MaterialItem, MaterialMove, PositiveSequenceStrategy, RollItem, SecretMaterialRules, TimeLimit } from '@gamepark/rules-api';
|
|
2
|
+
import { LocationType } from './material/LocationType';
|
|
3
|
+
import { MaterialType } from './material/MaterialType';
|
|
4
|
+
import { ChooseCardsRule } from './rules/ChooseCardsRule';
|
|
5
|
+
import { DiscardCharacterRule } from './rules/DiscardCharacterRule';
|
|
6
|
+
import { EndOfRoundRule } from './rules/EndOfRoundRule';
|
|
7
|
+
import { HunterRule, JungleElephantRule, JungleTigerRule, MaharajaRule, ThiefRule } from './rules/MoveAnimalRules';
|
|
8
|
+
import { NewRoundRule } from './rules/NewRoundRule';
|
|
9
|
+
import { RefillHandRule } from './rules/RefillHandRule';
|
|
10
|
+
import { ResolveDuelRule } from './rules/ResolveDuelRule';
|
|
11
|
+
import { RevealDuelRule } from './rules/RevealDuelRule';
|
|
12
|
+
export declare class HaatiRules extends SecretMaterialRules<number, MaterialType, LocationType> implements CompetitiveScore<MaterialGame<number, MaterialType, LocationType>, MaterialMove<number, MaterialType, LocationType>, number>, TimeLimit<MaterialGame<number, MaterialType, LocationType>, MaterialMove<number, MaterialType, LocationType>, number> {
|
|
13
|
+
rules: {
|
|
14
|
+
1: typeof ChooseCardsRule;
|
|
15
|
+
2: typeof RevealDuelRule;
|
|
16
|
+
3: typeof ResolveDuelRule;
|
|
17
|
+
4: typeof JungleElephantRule;
|
|
18
|
+
5: typeof JungleTigerRule;
|
|
19
|
+
6: typeof MaharajaRule;
|
|
20
|
+
7: typeof ThiefRule;
|
|
21
|
+
8: typeof HunterRule;
|
|
22
|
+
9: typeof DiscardCharacterRule;
|
|
23
|
+
10: typeof RefillHandRule;
|
|
24
|
+
11: typeof EndOfRoundRule;
|
|
25
|
+
12: typeof NewRoundRule;
|
|
26
|
+
};
|
|
27
|
+
hidingStrategies: {
|
|
28
|
+
2: {
|
|
29
|
+
2: HidingSecretsStrategy<number, LocationType>;
|
|
30
|
+
3: import("@gamepark/rules-api").HidingStrategy<number, number>;
|
|
31
|
+
7: <P extends number = number, L extends number = number>(item: MaterialItem<P, L>, player?: P) => string[];
|
|
32
|
+
8: HidingSecretsStrategy<number, LocationType>;
|
|
33
|
+
};
|
|
34
|
+
3: {
|
|
35
|
+
5: import("@gamepark/rules-api").HidingStrategy<number, number>;
|
|
36
|
+
7: <P extends number = number, L extends number = number>(item: MaterialItem<P, L>, player?: P) => string[];
|
|
37
|
+
8: HidingSecretsStrategy<number, LocationType>;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
locationsStrategies: {
|
|
41
|
+
2: {
|
|
42
|
+
2: PositiveSequenceStrategy<number, number, number>;
|
|
43
|
+
3: PositiveSequenceStrategy<number, number, number>;
|
|
44
|
+
4: PositiveSequenceStrategy<number, number, number>;
|
|
45
|
+
7: PositiveSequenceStrategy<number, number, number>;
|
|
46
|
+
8: PositiveSequenceStrategy<number, number, number>;
|
|
47
|
+
9: PositiveSequenceStrategy<number, number, number>;
|
|
48
|
+
10: PositiveSequenceStrategy<number, number, number>;
|
|
49
|
+
};
|
|
50
|
+
3: {
|
|
51
|
+
5: PositiveSequenceStrategy<number, number, number>;
|
|
52
|
+
6: PositiveSequenceStrategy<number, number, number>;
|
|
53
|
+
7: PositiveSequenceStrategy<number, number, number>;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
roll(_move: RollItem<number, MaterialType, LocationType>): number;
|
|
57
|
+
getScore(player: number): number;
|
|
58
|
+
giveTime(): number;
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=HaatiRules.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HaatiRules.d.ts","sourceRoot":"","sources":["../src/HaatiRules.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAGhB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,YAAY,EACZ,wBAAwB,EACxB,QAAQ,EACR,mBAAmB,EACnB,SAAS,EACV,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAClH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAWvD,qBAAa,UACX,SAAQ,mBAAmB,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAC9D,YACE,gBAAgB,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,EAC5H,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,YAAY,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEvH,KAAK;;;;;;;;;;;;;MAaJ;IAED,gBAAgB;;;;;;;;;;;;MAaf;IAED,mBAAmB;;;;;;;;;;;;;;;MAelB;IAGD,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,GAAG,MAAM,CAEhE;IAGD,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE/B;IAED,QAAQ,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { hideItemId, hideItemIdToOthers, PositiveSequenceStrategy, SecretMaterialRules } from '@gamepark/rules-api';
|
|
2
|
+
import { LocationType } from './material/LocationType';
|
|
3
|
+
import { MaterialType } from './material/MaterialType';
|
|
4
|
+
import { ChooseCardsRule } from './rules/ChooseCardsRule';
|
|
5
|
+
import { DiscardCharacterRule } from './rules/DiscardCharacterRule';
|
|
6
|
+
import { EndOfRoundRule } from './rules/EndOfRoundRule';
|
|
7
|
+
import { HunterRule, JungleElephantRule, JungleTigerRule, MaharajaRule, ThiefRule } from './rules/MoveAnimalRules';
|
|
8
|
+
import { NewRoundRule } from './rules/NewRoundRule';
|
|
9
|
+
import { RefillHandRule } from './rules/RefillHandRule';
|
|
10
|
+
import { ResolveDuelRule } from './rules/ResolveDuelRule';
|
|
11
|
+
import { RevealDuelRule } from './rules/RevealDuelRule';
|
|
12
|
+
import { RuleId } from './rules/RuleId';
|
|
13
|
+
const hideUnlessRotated = (item, player) => item.location.rotation ? [] : hideItemIdToOthers(item, player);
|
|
14
|
+
const hideItemIdUnlessRotated = (item) => item.location.rotation ? [] : ['id'];
|
|
15
|
+
export class HaatiRules extends SecretMaterialRules {
|
|
16
|
+
rules = {
|
|
17
|
+
[RuleId.ChooseCards]: ChooseCardsRule,
|
|
18
|
+
[RuleId.RevealDuel]: RevealDuelRule,
|
|
19
|
+
[RuleId.ResolveDuel]: ResolveDuelRule,
|
|
20
|
+
[RuleId.JungleElephant]: JungleElephantRule,
|
|
21
|
+
[RuleId.JungleTiger]: JungleTigerRule,
|
|
22
|
+
[RuleId.Maharaja]: MaharajaRule,
|
|
23
|
+
[RuleId.Thief]: ThiefRule,
|
|
24
|
+
[RuleId.Hunter]: HunterRule,
|
|
25
|
+
[RuleId.DiscardCharacter]: DiscardCharacterRule,
|
|
26
|
+
[RuleId.RefillHand]: RefillHandRule,
|
|
27
|
+
[RuleId.EndOfRound]: EndOfRoundRule,
|
|
28
|
+
[RuleId.NewRound]: NewRoundRule
|
|
29
|
+
};
|
|
30
|
+
hidingStrategies = {
|
|
31
|
+
[MaterialType.AnimalCard]: {
|
|
32
|
+
[LocationType.AnimalDeck]: hideItemIdUnlessRotated,
|
|
33
|
+
[LocationType.AnimalSetAside]: hideItemId,
|
|
34
|
+
[LocationType.PlayerHand]: hideItemIdToOthers,
|
|
35
|
+
[LocationType.PlayerDuel]: hideUnlessRotated
|
|
36
|
+
},
|
|
37
|
+
[MaterialType.CharacterCard]: {
|
|
38
|
+
[LocationType.CharacterDeck]: hideItemId,
|
|
39
|
+
[LocationType.PlayerHand]: hideItemIdToOthers,
|
|
40
|
+
[LocationType.PlayerDuel]: hideUnlessRotated
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
locationsStrategies = {
|
|
44
|
+
[MaterialType.AnimalCard]: {
|
|
45
|
+
[LocationType.AnimalDeck]: new PositiveSequenceStrategy(),
|
|
46
|
+
[LocationType.AnimalSetAside]: new PositiveSequenceStrategy(),
|
|
47
|
+
[LocationType.AnimalDiscard]: new PositiveSequenceStrategy(),
|
|
48
|
+
[LocationType.PlayerHand]: new PositiveSequenceStrategy(),
|
|
49
|
+
[LocationType.PlayerDuel]: new PositiveSequenceStrategy(),
|
|
50
|
+
[LocationType.Palace]: new PositiveSequenceStrategy(),
|
|
51
|
+
[LocationType.Jungle]: new PositiveSequenceStrategy()
|
|
52
|
+
},
|
|
53
|
+
[MaterialType.CharacterCard]: {
|
|
54
|
+
[LocationType.CharacterDeck]: new PositiveSequenceStrategy(),
|
|
55
|
+
[LocationType.CharacterDiscard]: new PositiveSequenceStrategy(),
|
|
56
|
+
[LocationType.PlayerHand]: new PositiveSequenceStrategy()
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
roll(_move) {
|
|
60
|
+
return Math.floor(Math.random() * 2);
|
|
61
|
+
}
|
|
62
|
+
getScore(player) {
|
|
63
|
+
return this.material(MaterialType.RoundVictoryToken).location(LocationType.PlayerRoundVictory).player(player).getQuantity();
|
|
64
|
+
}
|
|
65
|
+
giveTime() {
|
|
66
|
+
return 60;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=HaatiRules.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HaatiRules.js","sourceRoot":"","sources":["../src/HaatiRules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MaterialGameSetup } from '@gamepark/rules-api';
|
|
2
|
+
import { HaatiOptions } from './HaatiOptions';
|
|
3
|
+
import { HaatiRules } from './HaatiRules';
|
|
4
|
+
import { LocationType } from './material/LocationType';
|
|
5
|
+
import { MaterialType } from './material/MaterialType';
|
|
6
|
+
export declare class HaatiSetup extends MaterialGameSetup<number, MaterialType, LocationType, HaatiOptions> {
|
|
7
|
+
Rules: typeof HaatiRules;
|
|
8
|
+
setupMaterial(_options: HaatiOptions): void;
|
|
9
|
+
start(): void;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=HaatiSetup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HaatiSetup.d.ts","sourceRoot":"","sources":["../src/HaatiSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAIzC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AAItD,qBAAa,UAAW,SAAQ,iBAAiB,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,CAAC;IACjG,KAAK,oBAAa;IAElB,aAAa,CAAC,QAAQ,EAAE,YAAY,QAenC;IAED,KAAK,SAEJ;CACF"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { MaterialGameSetup } from '@gamepark/rules-api';
|
|
2
|
+
import { shuffle } from 'es-toolkit';
|
|
3
|
+
import { HaatiRules } from './HaatiRules';
|
|
4
|
+
import { animalCards } from './material/Animal';
|
|
5
|
+
import { characterCards } from './material/Character';
|
|
6
|
+
import { Collection } from './material/Collection';
|
|
7
|
+
import { LocationType } from './material/LocationType';
|
|
8
|
+
import { MaterialType } from './material/MaterialType';
|
|
9
|
+
import { dealRound } from './rules/NewRoundRule';
|
|
10
|
+
import { RuleId } from './rules/RuleId';
|
|
11
|
+
export class HaatiSetup extends MaterialGameSetup {
|
|
12
|
+
Rules = HaatiRules;
|
|
13
|
+
setupMaterial(_options) {
|
|
14
|
+
this.material(MaterialType.CollectionToken).createItems([Collection.Palace, Collection.Jungle].map((id) => ({
|
|
15
|
+
id,
|
|
16
|
+
location: { type: LocationType.CollectionSpot, id, rotation: Math.floor(Math.random() * 2) }
|
|
17
|
+
})));
|
|
18
|
+
this.material(MaterialType.RoundVictoryToken).createItem({ location: { type: LocationType.Reserve }, quantity: 2 });
|
|
19
|
+
this.material(MaterialType.CharacterCard).createItems(shuffle(characterCards).map((id) => ({ id, location: { type: LocationType.CharacterDeck } })));
|
|
20
|
+
this.material(MaterialType.AnimalCard).createItems(shuffle(animalCards).map((id) => ({ id, location: { type: LocationType.AnimalSetAside } })));
|
|
21
|
+
dealRound(this, this.players);
|
|
22
|
+
}
|
|
23
|
+
start() {
|
|
24
|
+
this.startSimultaneousRule(RuleId.ChooseCards);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=HaatiSetup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HaatiSetup.js","sourceRoot":"","sources":["../src/HaatiSetup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,MAAM,OAAO,UAAW,SAAQ,iBAAmE;IACjG,KAAK,GAAG,UAAU,CAAA;IAElB,aAAa,CAAC,QAAsB;QAElC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,WAAW,CACrD,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE;YACF,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE;SAC7F,CAAC,CAAC,CACJ,CAAA;QAED,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;QAEnH,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAEpJ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAC/I,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAChD,CAAC;CACF"}
|
package/dist/Memory.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Memory.d.ts","sourceRoot":"","sources":["../src/Memory.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM;IAEhB,UAAU,IAAI;IAEd,WAAW,IAAA;CACZ"}
|
package/dist/Memory.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Memory.js","sourceRoot":"","sources":["../src/Memory.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,MAKX;AALD,WAAY,MAAM;IAEhB,+CAAc,CAAA;IAEd,iDAAW,CAAA;AACb,CAAC,EALW,MAAM,KAAN,MAAM,QAKjB"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare enum Animal {
|
|
2
|
+
Elephant = 1,
|
|
3
|
+
Tiger = 2,
|
|
4
|
+
Mouse = 3
|
|
5
|
+
}
|
|
6
|
+
export declare const animals: Animal[];
|
|
7
|
+
export type AnimalCard = number;
|
|
8
|
+
export declare const animalCards: AnimalCard[];
|
|
9
|
+
export declare const getAnimal: (card: AnimalCard) => Animal;
|
|
10
|
+
export declare const getValue: (card: AnimalCard) => number;
|
|
11
|
+
export declare const beats: (a: AnimalCard, b: AnimalCard) => boolean;
|
|
12
|
+
export declare const hasCollection: (cards: AnimalCard[]) => boolean;
|
|
13
|
+
//# sourceMappingURL=Animal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Animal.d.ts","sourceRoot":"","sources":["../../src/material/Animal.ts"],"names":[],"mappings":"AAEA,oBAAY,MAAM;IAChB,QAAQ,IAAI;IACZ,KAAK,IAAA;IACL,KAAK,IAAA;CACN;AAED,eAAO,MAAM,OAAO,UAAwB,CAAA;AAG5C,MAAM,MAAM,UAAU,GAAG,MAAM,CAAA;AAE/B,eAAO,MAAM,WAAW,EAAE,UAAU,EAA0F,CAAA;AAE9H,eAAO,MAAM,SAAS,SAAU,UAAU,KAAG,MAA+B,CAAA;AAC5E,eAAO,MAAM,QAAQ,SAAU,UAAU,KAAG,MAAmB,CAAA;AAU/D,eAAO,MAAM,KAAK,MAAO,UAAU,KAAK,UAAU,KAAG,OAC4C,CAAA;AAGjG,eAAO,MAAM,aAAa,UAAW,UAAU,EAAE,KAAG,OAGnD,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { getEnumValues } from '@gamepark/rules-api';
|
|
2
|
+
export var Animal;
|
|
3
|
+
(function (Animal) {
|
|
4
|
+
Animal[Animal["Elephant"] = 1] = "Elephant";
|
|
5
|
+
Animal[Animal["Tiger"] = 2] = "Tiger";
|
|
6
|
+
Animal[Animal["Mouse"] = 3] = "Mouse";
|
|
7
|
+
})(Animal || (Animal = {}));
|
|
8
|
+
export const animals = getEnumValues(Animal);
|
|
9
|
+
export const animalCards = animals.flatMap((animal) => Array.from({ length: 8 }, (_, i) => animal * 10 + i + 1));
|
|
10
|
+
export const getAnimal = (card) => Math.floor(card / 10);
|
|
11
|
+
export const getValue = (card) => card % 10;
|
|
12
|
+
const prey = {
|
|
13
|
+
[Animal.Elephant]: Animal.Tiger,
|
|
14
|
+
[Animal.Tiger]: Animal.Mouse,
|
|
15
|
+
[Animal.Mouse]: Animal.Elephant
|
|
16
|
+
};
|
|
17
|
+
export const beats = (a, b) => getAnimal(a) === getAnimal(b) ? getValue(a) > getValue(b) : prey[getAnimal(a)] === getAnimal(b);
|
|
18
|
+
export const hasCollection = (cards) => {
|
|
19
|
+
const values = new Set(cards.map(getValue));
|
|
20
|
+
return [...values].some((value) => [1, 2, 3].every((i) => values.has(value + i)));
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=Animal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Animal.js","sourceRoot":"","sources":["../../src/material/Animal.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,CAAN,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,2CAAY,CAAA;IACZ,qCAAK,CAAA;IACL,qCAAK,CAAA;AACP,CAAC,EAJW,MAAM,KAAN,MAAM,QAIjB;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;AAK5C,MAAM,CAAC,MAAM,WAAW,GAAiB,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;AAE9H,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAgB,EAAU,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;AAC5E,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAgB,EAAU,EAAE,CAAC,IAAI,GAAG,EAAE,CAAA;AAG/D,MAAM,IAAI,GAA2B;IACnC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK;IAC/B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK;IAC5B,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ;CAChC,CAAA;AAGD,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAa,EAAE,CAAa,EAAW,EAAE,CAC7D,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAA;AAGjG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAmB,EAAW,EAAE;IAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC3C,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;AACnF,CAAC,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare enum Character {
|
|
2
|
+
Merchant = 1,
|
|
3
|
+
Maharaja = 2,
|
|
4
|
+
Thief = 3,
|
|
5
|
+
Hunter = 4
|
|
6
|
+
}
|
|
7
|
+
export declare enum Bet {
|
|
8
|
+
Win = 1,
|
|
9
|
+
Lose = 2
|
|
10
|
+
}
|
|
11
|
+
export declare enum CharacterCard {
|
|
12
|
+
MerchantWin = 11,
|
|
13
|
+
MerchantLose = 12,
|
|
14
|
+
MaharajaWin = 21,
|
|
15
|
+
MaharajaLose = 22,
|
|
16
|
+
ThiefWin = 31,
|
|
17
|
+
ThiefLose = 32,
|
|
18
|
+
HunterWin = 41,
|
|
19
|
+
HunterLose = 42
|
|
20
|
+
}
|
|
21
|
+
export declare const characterCards: CharacterCard[];
|
|
22
|
+
export declare const getCharacter: (card: CharacterCard) => Character;
|
|
23
|
+
export declare const getBet: (card: CharacterCard) => Bet;
|
|
24
|
+
export declare const CHARACTER_HAND_LIMIT = 2;
|
|
25
|
+
//# sourceMappingURL=Character.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Character.d.ts","sourceRoot":"","sources":["../../src/material/Character.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,QAAQ,IAAI;IACZ,QAAQ,IAAA;IACR,KAAK,IAAA;IACL,MAAM,IAAA;CACP;AAGD,oBAAY,GAAG;IACb,GAAG,IAAI;IACP,IAAI,IAAA;CACL;AAED,oBAAY,aAAa;IACvB,WAAW,KAAK;IAChB,YAAY,KAAA;IACZ,WAAW,KAAK;IAChB,YAAY,KAAA;IACZ,QAAQ,KAAK;IACb,SAAS,KAAA;IACT,SAAS,KAAK;IACd,UAAU,KAAA;CACX;AAED,eAAO,MAAM,cAAc,iBAAwF,CAAA;AAEnH,eAAO,MAAM,YAAY,SAAU,aAAa,KAAG,SAAkC,CAAA;AACrF,eAAO,MAAM,MAAM,SAAU,aAAa,KAAG,GAAgB,CAAA;AAG7D,eAAO,MAAM,oBAAoB,IAAI,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export var Character;
|
|
2
|
+
(function (Character) {
|
|
3
|
+
Character[Character["Merchant"] = 1] = "Merchant";
|
|
4
|
+
Character[Character["Maharaja"] = 2] = "Maharaja";
|
|
5
|
+
Character[Character["Thief"] = 3] = "Thief";
|
|
6
|
+
Character[Character["Hunter"] = 4] = "Hunter";
|
|
7
|
+
})(Character || (Character = {}));
|
|
8
|
+
export var Bet;
|
|
9
|
+
(function (Bet) {
|
|
10
|
+
Bet[Bet["Win"] = 1] = "Win";
|
|
11
|
+
Bet[Bet["Lose"] = 2] = "Lose";
|
|
12
|
+
})(Bet || (Bet = {}));
|
|
13
|
+
export var CharacterCard;
|
|
14
|
+
(function (CharacterCard) {
|
|
15
|
+
CharacterCard[CharacterCard["MerchantWin"] = 11] = "MerchantWin";
|
|
16
|
+
CharacterCard[CharacterCard["MerchantLose"] = 12] = "MerchantLose";
|
|
17
|
+
CharacterCard[CharacterCard["MaharajaWin"] = 21] = "MaharajaWin";
|
|
18
|
+
CharacterCard[CharacterCard["MaharajaLose"] = 22] = "MaharajaLose";
|
|
19
|
+
CharacterCard[CharacterCard["ThiefWin"] = 31] = "ThiefWin";
|
|
20
|
+
CharacterCard[CharacterCard["ThiefLose"] = 32] = "ThiefLose";
|
|
21
|
+
CharacterCard[CharacterCard["HunterWin"] = 41] = "HunterWin";
|
|
22
|
+
CharacterCard[CharacterCard["HunterLose"] = 42] = "HunterLose";
|
|
23
|
+
})(CharacterCard || (CharacterCard = {}));
|
|
24
|
+
export const characterCards = Object.values(CharacterCard).filter((v) => typeof v === 'number');
|
|
25
|
+
export const getCharacter = (card) => Math.floor(card / 10);
|
|
26
|
+
export const getBet = (card) => card % 10;
|
|
27
|
+
export const CHARACTER_HAND_LIMIT = 2;
|
|
28
|
+
//# sourceMappingURL=Character.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Character.js","sourceRoot":"","sources":["../../src/material/Character.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,iDAAY,CAAA;IACZ,iDAAQ,CAAA;IACR,2CAAK,CAAA;IACL,6CAAM,CAAA;AACR,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAGD,MAAM,CAAN,IAAY,GAGX;AAHD,WAAY,GAAG;IACb,2BAAO,CAAA;IACP,6BAAI,CAAA;AACN,CAAC,EAHW,GAAG,KAAH,GAAG,QAGd;AAED,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,gEAAgB,CAAA;IAChB,kEAAY,CAAA;IACZ,gEAAgB,CAAA;IAChB,kEAAY,CAAA;IACZ,0DAAa,CAAA;IACb,4DAAS,CAAA;IACT,4DAAc,CAAA;IACd,8DAAU,CAAA;AACZ,CAAC,EATW,aAAa,KAAb,aAAa,QASxB;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAsB,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAA;AAEnH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAa,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAA;AACrF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAmB,EAAO,EAAE,CAAC,IAAI,GAAG,EAAE,CAAA;AAG7D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { LocationType } from './LocationType';
|
|
2
|
+
export declare enum Collection {
|
|
3
|
+
Palace = 1,
|
|
4
|
+
Jungle = 2
|
|
5
|
+
}
|
|
6
|
+
export type Reward = {
|
|
7
|
+
favor: number;
|
|
8
|
+
honor: number;
|
|
9
|
+
};
|
|
10
|
+
export declare const collectionRewards: Record<Collection, [Reward, Reward]>;
|
|
11
|
+
export declare const getCollectionReward: (collection: Collection, face?: number) => Reward;
|
|
12
|
+
export declare const collectionPlace: Record<Collection, LocationType>;
|
|
13
|
+
//# sourceMappingURL=Collection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../src/material/Collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,oBAAY,UAAU;IACpB,MAAM,IAAI;IACV,MAAM,IAAA;CACP;AAED,MAAM,MAAM,MAAM,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAMrD,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CASlE,CAAA;AAED,eAAO,MAAM,mBAAmB,eAAgB,UAAU,oBAAa,MAAqD,CAAA;AAE5H,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,CAG5D,CAAA"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { LocationType } from './LocationType';
|
|
2
|
+
export var Collection;
|
|
3
|
+
(function (Collection) {
|
|
4
|
+
Collection[Collection["Palace"] = 1] = "Palace";
|
|
5
|
+
Collection[Collection["Jungle"] = 2] = "Jungle";
|
|
6
|
+
})(Collection || (Collection = {}));
|
|
7
|
+
export const collectionRewards = {
|
|
8
|
+
[Collection.Palace]: [
|
|
9
|
+
{ favor: 3, honor: 0 },
|
|
10
|
+
{ favor: 1, honor: 1 }
|
|
11
|
+
],
|
|
12
|
+
[Collection.Jungle]: [
|
|
13
|
+
{ favor: 3, honor: 1 },
|
|
14
|
+
{ favor: 2, honor: 2 }
|
|
15
|
+
]
|
|
16
|
+
};
|
|
17
|
+
export const getCollectionReward = (collection, face = 0) => collectionRewards[collection][face ? 1 : 0];
|
|
18
|
+
export const collectionPlace = {
|
|
19
|
+
[Collection.Palace]: LocationType.Palace,
|
|
20
|
+
[Collection.Jungle]: LocationType.Jungle
|
|
21
|
+
};
|
|
22
|
+
//# sourceMappingURL=Collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/material/Collection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAE7C,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,+CAAU,CAAA;IACV,+CAAM,CAAA;AACR,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAQD,MAAM,CAAC,MAAM,iBAAiB,GAAyC;IACrE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACtB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KACvB;IACD,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;QACnB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;QACtB,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;KACvB;CACF,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,UAAsB,EAAE,IAAI,GAAG,CAAC,EAAU,EAAE,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAE5H,MAAM,CAAC,MAAM,eAAe,GAAqC;IAC/D,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM;IACxC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,MAAM;CACzC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare enum LocationType {
|
|
2
|
+
Board = 1,
|
|
3
|
+
AnimalDeck = 2,
|
|
4
|
+
AnimalSetAside = 3,
|
|
5
|
+
AnimalDiscard = 4,
|
|
6
|
+
CharacterDeck = 5,
|
|
7
|
+
CharacterDiscard = 6,
|
|
8
|
+
PlayerHand = 7,
|
|
9
|
+
PlayerDuel = 8,
|
|
10
|
+
Palace = 9,
|
|
11
|
+
Jungle = 10,
|
|
12
|
+
CollectionSpot = 11,
|
|
13
|
+
PlayerCollection = 12,
|
|
14
|
+
Reserve = 13,
|
|
15
|
+
PlayerRoundVictory = 14,
|
|
16
|
+
PlayerPrestige = 15
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=LocationType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocationType.d.ts","sourceRoot":"","sources":["../../src/material/LocationType.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,KAAK,IAAI;IAKT,UAAU,IAAA;IAEV,cAAc,IAAA;IAEd,aAAa,IAAA;IACb,aAAa,IAAA;IACb,gBAAgB,IAAA;IAChB,UAAU,IAAA;IAEV,UAAU,IAAA;IACV,MAAM,IAAA;IACN,MAAM,KAAA;IAEN,cAAc,KAAA;IAEd,gBAAgB,KAAA;IAEhB,OAAO,KAAA;IACP,kBAAkB,KAAA;IAElB,cAAc,KAAA;CACf"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export var LocationType;
|
|
2
|
+
(function (LocationType) {
|
|
3
|
+
LocationType[LocationType["Board"] = 1] = "Board";
|
|
4
|
+
LocationType[LocationType["AnimalDeck"] = 2] = "AnimalDeck";
|
|
5
|
+
LocationType[LocationType["AnimalSetAside"] = 3] = "AnimalSetAside";
|
|
6
|
+
LocationType[LocationType["AnimalDiscard"] = 4] = "AnimalDiscard";
|
|
7
|
+
LocationType[LocationType["CharacterDeck"] = 5] = "CharacterDeck";
|
|
8
|
+
LocationType[LocationType["CharacterDiscard"] = 6] = "CharacterDiscard";
|
|
9
|
+
LocationType[LocationType["PlayerHand"] = 7] = "PlayerHand";
|
|
10
|
+
LocationType[LocationType["PlayerDuel"] = 8] = "PlayerDuel";
|
|
11
|
+
LocationType[LocationType["Palace"] = 9] = "Palace";
|
|
12
|
+
LocationType[LocationType["Jungle"] = 10] = "Jungle";
|
|
13
|
+
LocationType[LocationType["CollectionSpot"] = 11] = "CollectionSpot";
|
|
14
|
+
LocationType[LocationType["PlayerCollection"] = 12] = "PlayerCollection";
|
|
15
|
+
LocationType[LocationType["Reserve"] = 13] = "Reserve";
|
|
16
|
+
LocationType[LocationType["PlayerRoundVictory"] = 14] = "PlayerRoundVictory";
|
|
17
|
+
LocationType[LocationType["PlayerPrestige"] = 15] = "PlayerPrestige";
|
|
18
|
+
})(LocationType || (LocationType = {}));
|
|
19
|
+
//# sourceMappingURL=LocationType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LocationType.js","sourceRoot":"","sources":["../../src/material/LocationType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YA2BX;AA3BD,WAAY,YAAY;IACtB,iDAAS,CAAA;IAKT,2DAAU,CAAA;IAEV,mEAAc,CAAA;IAEd,iEAAa,CAAA;IACb,iEAAa,CAAA;IACb,uEAAgB,CAAA;IAChB,2DAAU,CAAA;IAEV,2DAAU,CAAA;IACV,mDAAM,CAAA;IACN,oDAAM,CAAA;IAEN,oEAAc,CAAA;IAEd,wEAAgB,CAAA;IAEhB,sDAAO,CAAA;IACP,4EAAkB,CAAA;IAElB,oEAAc,CAAA;AAChB,CAAC,EA3BW,YAAY,KAAZ,YAAY,QA2BvB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Material } from '@gamepark/rules-api';
|
|
2
|
+
import { LocationType } from './LocationType';
|
|
3
|
+
import { MaterialType } from './MaterialType';
|
|
4
|
+
export type MaterialSource = {
|
|
5
|
+
material(type: MaterialType): Material<number, MaterialType, LocationType>;
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=MaterialSource.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialSource.d.ts","sourceRoot":"","sources":["../../src/material/MaterialSource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAG7C,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAAC,MAAM,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;CAC3E,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialSource.js","sourceRoot":"","sources":["../../src/material/MaterialSource.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialType.d.ts","sourceRoot":"","sources":["../../src/material/MaterialType.ts"],"names":[],"mappings":"AAAA,oBAAY,YAAY;IACtB,KAAK,IAAI;IACT,UAAU,IAAA;IACV,aAAa,IAAA;IACb,eAAe,IAAA;IACf,iBAAiB,IAAA;IAEjB,QAAQ,IAAA;CACT"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export var MaterialType;
|
|
2
|
+
(function (MaterialType) {
|
|
3
|
+
MaterialType[MaterialType["Board"] = 1] = "Board";
|
|
4
|
+
MaterialType[MaterialType["AnimalCard"] = 2] = "AnimalCard";
|
|
5
|
+
MaterialType[MaterialType["CharacterCard"] = 3] = "CharacterCard";
|
|
6
|
+
MaterialType[MaterialType["CollectionToken"] = 4] = "CollectionToken";
|
|
7
|
+
MaterialType[MaterialType["RoundVictoryToken"] = 5] = "RoundVictoryToken";
|
|
8
|
+
MaterialType[MaterialType["Prestige"] = 6] = "Prestige";
|
|
9
|
+
})(MaterialType || (MaterialType = {}));
|
|
10
|
+
//# sourceMappingURL=MaterialType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MaterialType.js","sourceRoot":"","sources":["../../src/material/MaterialType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,YAQX;AARD,WAAY,YAAY;IACtB,iDAAS,CAAA;IACT,2DAAU,CAAA;IACV,iEAAa,CAAA;IACb,qEAAe,CAAA;IACf,yEAAiB,CAAA;IAEjB,uDAAQ,CAAA;AACV,CAAC,EARW,YAAY,KAAZ,YAAY,QAQvB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { LocationType } from './LocationType';
|
|
2
|
+
import { MaterialType } from './MaterialType';
|
|
3
|
+
import { MaterialSource } from './MaterialSource';
|
|
4
|
+
export declare const prestigeUnits: number[];
|
|
5
|
+
export declare enum PrestigeSide {
|
|
6
|
+
Favor = 1,
|
|
7
|
+
Honor = 2
|
|
8
|
+
}
|
|
9
|
+
export declare const prestigeLocation: (player: number, side?: PrestigeSide) => {
|
|
10
|
+
type: LocationType;
|
|
11
|
+
player: number;
|
|
12
|
+
rotation: boolean;
|
|
13
|
+
} | {
|
|
14
|
+
rotation?: undefined;
|
|
15
|
+
type: LocationType;
|
|
16
|
+
player: number;
|
|
17
|
+
};
|
|
18
|
+
export declare const getPrestigeSide: (rotation?: boolean) => PrestigeSide;
|
|
19
|
+
export declare const prestigeTokens: (rules: MaterialSource, side: PrestigeSide, player: number) => import("@gamepark/rules-api").Material<number, MaterialType, LocationType>;
|
|
20
|
+
export declare const countPrestige: (rules: MaterialSource, side: PrestigeSide, player: number) => number;
|
|
21
|
+
export declare const gainPrestige: (rules: MaterialSource, side: PrestigeSide, player: number, amount: number) => import("@gamepark/rules-api").ItemMove<number, MaterialType, LocationType>[];
|
|
22
|
+
export declare const totalPrestige: (rules: MaterialSource, player: number) => number;
|
|
23
|
+
//# sourceMappingURL=Prestige.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Prestige.d.ts","sourceRoot":"","sources":["../../src/material/Prestige.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAMjD,eAAO,MAAM,aAAa,UAAY,CAAA;AAOtC,oBAAY,YAAY;IACtB,KAAK,IAAI;IACT,KAAK,IAAA;CACN;AAMD,eAAO,MAAM,gBAAgB,WAAY,MAAM;;;;;;;;CAC8F,CAAA;AAE7I,eAAO,MAAM,eAAe,cAAe,OAAO,iBAAyD,CAAA;AAG3G,eAAO,MAAM,cAAc,UAAW,cAAc,QAAQ,YAAY,UAAU,MAAM,+EAKf,CAAA;AAEzE,eAAO,MAAM,aAAa,UAAW,cAAc,QAAQ,YAAY,UAAU,MAAM,KAAG,MAC1B,CAAA;AAUhE,eAAO,MAAM,YAAY,UAAW,cAAc,QAAQ,YAAY,UAAU,MAAM,UAAU,MAAM,iFAC4B,CAAA;AAElI,eAAO,MAAM,aAAa,UAAW,cAAc,UAAU,MAAM,KAAG,MAC+B,CAAA"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { LocationType } from './LocationType';
|
|
2
|
+
import { MaterialType } from './MaterialType';
|
|
3
|
+
export const prestigeUnits = [6, 3, 1];
|
|
4
|
+
export var PrestigeSide;
|
|
5
|
+
(function (PrestigeSide) {
|
|
6
|
+
PrestigeSide[PrestigeSide["Favor"] = 1] = "Favor";
|
|
7
|
+
PrestigeSide[PrestigeSide["Honor"] = 2] = "Honor";
|
|
8
|
+
})(PrestigeSide || (PrestigeSide = {}));
|
|
9
|
+
export const prestigeLocation = (player, side = PrestigeSide.Favor) => side === PrestigeSide.Honor ? { type: LocationType.PlayerPrestige, player, rotation: true } : { type: LocationType.PlayerPrestige, player };
|
|
10
|
+
export const getPrestigeSide = (rotation) => (rotation ? PrestigeSide.Honor : PrestigeSide.Favor);
|
|
11
|
+
export const prestigeTokens = (rules, side, player) => rules
|
|
12
|
+
.material(MaterialType.Prestige)
|
|
13
|
+
.location(LocationType.PlayerPrestige)
|
|
14
|
+
.player(player)
|
|
15
|
+
.rotation((rotation) => getPrestigeSide(rotation) === side);
|
|
16
|
+
export const countPrestige = (rules, side, player) => prestigeTokens(rules, side, player).money(prestigeUnits).count;
|
|
17
|
+
export const gainPrestige = (rules, side, player, amount) => prestigeTokens(rules, side, player).money(prestigeUnits).addMoney(amount, prestigeLocation(player, side), { consolidate: true });
|
|
18
|
+
export const totalPrestige = (rules, player) => countPrestige(rules, PrestigeSide.Favor, player) + countPrestige(rules, PrestigeSide.Honor, player);
|
|
19
|
+
//# sourceMappingURL=Prestige.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Prestige.js","sourceRoot":"","sources":["../../src/material/Prestige.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAO7C,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAOtC,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,iDAAS,CAAA;IACT,iDAAK,CAAA;AACP,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAMD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAE,IAAI,GAAG,YAAY,CAAC,KAAK,EAAE,EAAE,CAC5E,IAAI,KAAK,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,CAAA;AAE7I,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;AAG3G,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAqB,EAAE,IAAkB,EAAE,MAAc,EAAE,EAAE,CAC1F,KAAK;KACF,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC;KAC/B,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAC;KACrC,MAAM,CAAC,MAAM,CAAC;KACd,QAAQ,CAAC,CAAC,QAAkB,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAA;AAEzE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAqB,EAAE,IAAkB,EAAE,MAAc,EAAU,EAAE,CACjG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,KAAK,CAAA;AAUhE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAqB,EAAE,IAAkB,EAAE,MAAc,EAAE,MAAc,EAAE,EAAE,CACxG,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;AAElI,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAqB,EAAE,MAAc,EAAU,EAAE,CAC7E,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CustomMove, ItemMove, SimultaneousRule } from '@gamepark/rules-api';
|
|
2
|
+
import { MaterialType } from '../material/MaterialType';
|
|
3
|
+
import { CustomMoveType } from './CustomMoveType';
|
|
4
|
+
import { RuleId } from './RuleId';
|
|
5
|
+
export declare class ChooseCardsRule extends SimultaneousRule {
|
|
6
|
+
getActivePlayerLegalMoves(player: number): (CustomMove<CustomMoveType.Validate, number> | import("@gamepark/rules-api").MoveItem<number, number, number>)[];
|
|
7
|
+
afterItemMove(move: ItemMove): import("@gamepark/rules-api").EndPlayerTurn<number>[];
|
|
8
|
+
onCustomMove(move: CustomMove): import("@gamepark/rules-api").EndPlayerTurn<number>[];
|
|
9
|
+
getMovesAfterPlayersDone(): import("@gamepark/rules-api").StartRule<RuleId.RevealDuel>[];
|
|
10
|
+
handCards(type: MaterialType, player: number): import("@gamepark/rules-api").Material<number, number, number>;
|
|
11
|
+
duelCards(type: MaterialType, player: number): import("@gamepark/rules-api").Material<number, number, number>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=ChooseCardsRule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChooseCardsRule.d.ts","sourceRoot":"","sources":["../../src/rules/ChooseCardsRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAc,QAAQ,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAExF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMjC,qBAAa,eAAgB,SAAQ,gBAAgB;IACnD,yBAAyB,CAAC,MAAM,EAAE,MAAM,oHAYvC;IAED,aAAa,CAAC,IAAI,EAAE,QAAQ,yDAM3B;IAED,YAAY,CAAC,IAAI,EAAE,UAAU,yDAG5B;IAED,wBAAwB,iEAEvB;IAED,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,kEAE3C;IAED,SAAS,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,kEAE3C;CACF"}
|