@gamepark/greylune 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/Constants.d.ts +23 -0
- package/dist/Constants.d.ts.map +1 -0
- package/dist/Constants.js +17 -0
- package/dist/Constants.js.map +1 -0
- package/dist/GreyluneOptions.d.ts +11 -0
- package/dist/GreyluneOptions.d.ts.map +1 -0
- package/dist/GreyluneOptions.js +8 -0
- package/dist/GreyluneOptions.js.map +1 -0
- package/dist/GreyluneRules.d.ts +123 -0
- package/dist/GreyluneRules.d.ts.map +1 -0
- package/dist/GreyluneRules.js +122 -0
- package/dist/GreyluneRules.js.map +1 -0
- package/dist/GreyluneSetup.d.ts +18 -0
- package/dist/GreyluneSetup.d.ts.map +1 -0
- package/dist/GreyluneSetup.js +88 -0
- package/dist/GreyluneSetup.js.map +1 -0
- package/dist/Memory.d.ts +22 -0
- package/dist/Memory.d.ts.map +1 -0
- package/dist/Memory.js +23 -0
- package/dist/Memory.js.map +1 -0
- package/dist/PlayerColor.d.ts +7 -0
- package/dist/PlayerColor.d.ts.map +1 -0
- package/dist/PlayerColor.js +8 -0
- package/dist/PlayerColor.js.map +1 -0
- package/dist/Season.d.ts +7 -0
- package/dist/Season.d.ts.map +1 -0
- package/dist/Season.js +8 -0
- package/dist/Season.js.map +1 -0
- package/dist/Year.d.ts +8 -0
- package/dist/Year.d.ts.map +1 -0
- package/dist/Year.js +10 -0
- package/dist/Year.js.map +1 -0
- package/dist/ai/Evaluation.d.ts +118 -0
- package/dist/ai/Evaluation.d.ts.map +1 -0
- package/dist/ai/Evaluation.js +1069 -0
- package/dist/ai/Evaluation.js.map +1 -0
- package/dist/ai/GreyluneAI.d.ts +20 -0
- package/dist/ai/GreyluneAI.d.ts.map +1 -0
- package/dist/ai/GreyluneAI.js +113 -0
- package/dist/ai/GreyluneAI.js.map +1 -0
- package/dist/ai/Model.d.ts +38 -0
- package/dist/ai/Model.d.ts.map +1 -0
- package/dist/ai/Model.js +105 -0
- package/dist/ai/Model.js.map +1 -0
- package/dist/ai/Simulation.d.ts +13 -0
- package/dist/ai/Simulation.d.ts.map +1 -0
- package/dist/ai/Simulation.js +20 -0
- package/dist/ai/Simulation.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/material/Area.d.ts +9 -0
- package/dist/material/Area.d.ts.map +1 -0
- package/dist/material/Area.js +10 -0
- package/dist/material/Area.js.map +1 -0
- package/dist/material/Distance.d.ts +8 -0
- package/dist/material/Distance.d.ts.map +1 -0
- package/dist/material/Distance.js +9 -0
- package/dist/material/Distance.js.map +1 -0
- package/dist/material/Effect.d.ts +103 -0
- package/dist/material/Effect.d.ts.map +1 -0
- package/dist/material/Effect.js +83 -0
- package/dist/material/Effect.js.map +1 -0
- package/dist/material/EncounterCard.d.ts +61 -0
- package/dist/material/EncounterCard.d.ts.map +1 -0
- package/dist/material/EncounterCard.js +214 -0
- package/dist/material/EncounterCard.js.map +1 -0
- package/dist/material/EventTile.d.ts +17 -0
- package/dist/material/EventTile.d.ts.map +1 -0
- package/dist/material/EventTile.js +52 -0
- package/dist/material/EventTile.js.map +1 -0
- package/dist/material/LocationType.d.ts +42 -0
- package/dist/material/LocationType.d.ts.map +1 -0
- package/dist/material/LocationType.js +43 -0
- package/dist/material/LocationType.js.map +1 -0
- package/dist/material/MaterialSource.d.ts +8 -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 +23 -0
- package/dist/material/MaterialType.d.ts.map +1 -0
- package/dist/material/MaterialType.js +24 -0
- package/dist/material/MaterialType.js.map +1 -0
- package/dist/material/Period.d.ts +6 -0
- package/dist/material/Period.d.ts.map +1 -0
- package/dist/material/Period.js +7 -0
- package/dist/material/Period.js.map +1 -0
- package/dist/material/PlayerState.d.ts +34 -0
- package/dist/material/PlayerState.d.ts.map +1 -0
- package/dist/material/PlayerState.js +106 -0
- package/dist/material/PlayerState.js.map +1 -0
- package/dist/material/QuestTile.d.ts +21 -0
- package/dist/material/QuestTile.d.ts.map +1 -0
- package/dist/material/QuestTile.js +32 -0
- package/dist/material/QuestTile.js.map +1 -0
- package/dist/material/Reaction.d.ts +49 -0
- package/dist/material/Reaction.d.ts.map +1 -0
- package/dist/material/Reaction.js +37 -0
- package/dist/material/Reaction.js.map +1 -0
- package/dist/material/Tokens.d.ts +29 -0
- package/dist/material/Tokens.d.ts.map +1 -0
- package/dist/material/Tokens.js +46 -0
- package/dist/material/Tokens.js.map +1 -0
- package/dist/material/Village.d.ts +23 -0
- package/dist/material/Village.d.ts.map +1 -0
- package/dist/material/Village.js +29 -0
- package/dist/material/Village.js.map +1 -0
- package/dist/material/VillageCard.d.ts +90 -0
- package/dist/material/VillageCard.d.ts.map +1 -0
- package/dist/material/VillageCard.js +359 -0
- package/dist/material/VillageCard.js.map +1 -0
- package/dist/material/Villager.d.ts +8 -0
- package/dist/material/Villager.d.ts.map +1 -0
- package/dist/material/Villager.js +7 -0
- package/dist/material/Villager.js.map +1 -0
- package/dist/material/VpToken.d.ts +10 -0
- package/dist/material/VpToken.d.ts.map +1 -0
- package/dist/material/VpToken.js +9 -0
- package/dist/material/VpToken.js.map +1 -0
- package/dist/rules/ActivateCardRule.d.ts +43 -0
- package/dist/rules/ActivateCardRule.d.ts.map +1 -0
- package/dist/rules/ActivateCardRule.js +183 -0
- package/dist/rules/ActivateCardRule.js.map +1 -0
- package/dist/rules/AutumnRule.d.ts +9 -0
- package/dist/rules/AutumnRule.d.ts.map +1 -0
- package/dist/rules/AutumnRule.js +42 -0
- package/dist/rules/AutumnRule.js.map +1 -0
- package/dist/rules/BonusTokenRule.d.ts +10 -0
- package/dist/rules/BonusTokenRule.d.ts.map +1 -0
- package/dist/rules/BonusTokenRule.js +20 -0
- package/dist/rules/BonusTokenRule.js.map +1 -0
- package/dist/rules/ChooseOutcomeRule.d.ts +9 -0
- package/dist/rules/ChooseOutcomeRule.d.ts.map +1 -0
- package/dist/rules/ChooseOutcomeRule.js +18 -0
- package/dist/rules/ChooseOutcomeRule.js.map +1 -0
- package/dist/rules/ChooseSkillRule.d.ts +10 -0
- package/dist/rules/ChooseSkillRule.d.ts.map +1 -0
- package/dist/rules/ChooseSkillRule.js +20 -0
- package/dist/rules/ChooseSkillRule.js.map +1 -0
- package/dist/rules/CustomMoveType.d.ts +17 -0
- package/dist/rules/CustomMoveType.d.ts.map +1 -0
- package/dist/rules/CustomMoveType.js +18 -0
- package/dist/rules/CustomMoveType.js.map +1 -0
- package/dist/rules/DiscardItemRule.d.ts +9 -0
- package/dist/rules/DiscardItemRule.d.ts.map +1 -0
- package/dist/rules/DiscardItemRule.js +19 -0
- package/dist/rules/DiscardItemRule.js.map +1 -0
- package/dist/rules/EncounterRule.d.ts +26 -0
- package/dist/rules/EncounterRule.d.ts.map +1 -0
- package/dist/rules/EncounterRule.js +75 -0
- package/dist/rules/EncounterRule.js.map +1 -0
- package/dist/rules/EventRule.d.ts +13 -0
- package/dist/rules/EventRule.d.ts.map +1 -0
- package/dist/rules/EventRule.js +39 -0
- package/dist/rules/EventRule.js.map +1 -0
- package/dist/rules/FinalScoringRule.d.ts +18 -0
- package/dist/rules/FinalScoringRule.d.ts.map +1 -0
- package/dist/rules/FinalScoringRule.js +30 -0
- package/dist/rules/FinalScoringRule.js.map +1 -0
- package/dist/rules/GreyluneRule.d.ts +87 -0
- package/dist/rules/GreyluneRule.d.ts.map +1 -0
- package/dist/rules/GreyluneRule.js +432 -0
- package/dist/rules/GreyluneRule.js.map +1 -0
- package/dist/rules/PlaceVillagerRule.d.ts +10 -0
- package/dist/rules/PlaceVillagerRule.d.ts.map +1 -0
- package/dist/rules/PlaceVillagerRule.js +17 -0
- package/dist/rules/PlaceVillagerRule.js.map +1 -0
- package/dist/rules/ReactionRule.d.ts +17 -0
- package/dist/rules/ReactionRule.d.ts.map +1 -0
- package/dist/rules/ReactionRule.js +48 -0
- package/dist/rules/ReactionRule.js.map +1 -0
- package/dist/rules/ResolveEffectsRule.d.ts +12 -0
- package/dist/rules/ResolveEffectsRule.d.ts.map +1 -0
- package/dist/rules/ResolveEffectsRule.js +85 -0
- package/dist/rules/ResolveEffectsRule.js.map +1 -0
- package/dist/rules/ResolveEncounterRule.d.ts +19 -0
- package/dist/rules/ResolveEncounterRule.d.ts.map +1 -0
- package/dist/rules/ResolveEncounterRule.js +86 -0
- package/dist/rules/ResolveEncounterRule.js.map +1 -0
- package/dist/rules/ResolveQuestRule.d.ts +17 -0
- package/dist/rules/ResolveQuestRule.d.ts.map +1 -0
- package/dist/rules/ResolveQuestRule.js +64 -0
- package/dist/rules/ResolveQuestRule.js.map +1 -0
- package/dist/rules/RuleId.d.ts +27 -0
- package/dist/rules/RuleId.d.ts.map +1 -0
- package/dist/rules/RuleId.js +28 -0
- package/dist/rules/RuleId.js.map +1 -0
- package/dist/rules/SeasonRule.d.ts +11 -0
- package/dist/rules/SeasonRule.d.ts.map +1 -0
- package/dist/rules/SeasonRule.js +32 -0
- package/dist/rules/SeasonRule.js.map +1 -0
- package/dist/rules/SpecialActionRule.d.ts +15 -0
- package/dist/rules/SpecialActionRule.d.ts.map +1 -0
- package/dist/rules/SpecialActionRule.js +32 -0
- package/dist/rules/SpecialActionRule.js.map +1 -0
- package/dist/rules/SpringRule.d.ts +7 -0
- package/dist/rules/SpringRule.d.ts.map +1 -0
- package/dist/rules/SpringRule.js +16 -0
- package/dist/rules/SpringRule.js.map +1 -0
- package/dist/rules/StraightenCardRule.d.ts +9 -0
- package/dist/rules/StraightenCardRule.d.ts.map +1 -0
- package/dist/rules/StraightenCardRule.js +11 -0
- package/dist/rules/StraightenCardRule.js.map +1 -0
- package/dist/rules/SummerRule.d.ts +30 -0
- package/dist/rules/SummerRule.d.ts.map +1 -0
- package/dist/rules/SummerRule.js +140 -0
- package/dist/rules/SummerRule.js.map +1 -0
- package/dist/rules/TellStoryRule.d.ts +22 -0
- package/dist/rules/TellStoryRule.d.ts.map +1 -0
- package/dist/rules/TellStoryRule.js +72 -0
- package/dist/rules/TellStoryRule.js.map +1 -0
- package/dist/rules/TheFirstStepRule.d.ts +5 -0
- package/dist/rules/TheFirstStepRule.d.ts.map +1 -0
- package/dist/rules/TheFirstStepRule.js +7 -0
- package/dist/rules/TheFirstStepRule.js.map +1 -0
- package/dist/rules/TravelRule.d.ts +13 -0
- package/dist/rules/TravelRule.d.ts.map +1 -0
- package/dist/rules/TravelRule.js +41 -0
- package/dist/rules/TravelRule.js.map +1 -0
- package/dist/rules/UseItemRule.d.ts +6 -0
- package/dist/rules/UseItemRule.d.ts.map +1 -0
- package/dist/rules/UseItemRule.js +35 -0
- package/dist/rules/UseItemRule.js.map +1 -0
- package/dist/rules/WinterRule.d.ts +24 -0
- package/dist/rules/WinterRule.d.ts.map +1 -0
- package/dist/rules/WinterRule.js +112 -0
- package/dist/rules/WinterRule.js.map +1 -0
- package/package.json +39 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { isDeleteItem, isMoveItem, isMoveItemsAtOnce, isShuffle, MaterialRulesPart } from '@gamepark/rules-api';
|
|
2
|
+
import { range } from 'es-toolkit';
|
|
3
|
+
import { VILLAGE_GRID_SIDE } from '../Constants';
|
|
4
|
+
import { encounterArea, encounterIncomeToken } from '../material/EncounterCard';
|
|
5
|
+
import { LocationType } from '../material/LocationType';
|
|
6
|
+
import { MaterialType } from '../material/MaterialType';
|
|
7
|
+
import { PLAYERS_MINUS_ONE, villageCardData } from '../material/VillageCard';
|
|
8
|
+
import { Season } from '../Season';
|
|
9
|
+
import { encounterRowSize } from '../Year';
|
|
10
|
+
import { RuleId } from './RuleId';
|
|
11
|
+
export class WinterRule extends MaterialRulesPart {
|
|
12
|
+
onRuleStart() {
|
|
13
|
+
return [...this.putAway(), ...this.newEvent(), ...this.revealVillage(), ...this.revealEncounters(), ...this.newRound()];
|
|
14
|
+
}
|
|
15
|
+
putAway() {
|
|
16
|
+
return [
|
|
17
|
+
...atOnce(this.material(MaterialType.Seal).location(LocationType.CardSeal), (seals) => seals.moveItemsAtOnce({ type: LocationType.SealDiscard })),
|
|
18
|
+
...atOnce(this.grid, (grid) => grid.deleteItemsAtOnce()),
|
|
19
|
+
...atOnce(this.material(MaterialType.IncomeToken).location(LocationType.CardIncome), (tokens) => tokens.deleteItemsAtOnce()),
|
|
20
|
+
...atOnce(this.material(MaterialType.EncounterCard).location(LocationType.EncounterRow), (row) => row.deleteItemsAtOnce())
|
|
21
|
+
];
|
|
22
|
+
}
|
|
23
|
+
newEvent() {
|
|
24
|
+
const pastYear = this.material(MaterialType.EventTile).location(LocationType.EventPile).rotation(true);
|
|
25
|
+
return pastYear.exists ? pastYear.deleteItems() : [this.event.rotateItem(true)];
|
|
26
|
+
}
|
|
27
|
+
get event() {
|
|
28
|
+
return this.material(MaterialType.EventTile)
|
|
29
|
+
.location(LocationType.EventPile)
|
|
30
|
+
.maxBy((item) => item.location.x ?? 0);
|
|
31
|
+
}
|
|
32
|
+
revealVillage() {
|
|
33
|
+
const deck = this.material(MaterialType.VillageCard).location(LocationType.VillageDeck).deck();
|
|
34
|
+
return range(VILLAGE_GRID_SIDE * VILLAGE_GRID_SIDE).map((slot) => deck.dealOne({ type: LocationType.VillageGrid, x: slot % VILLAGE_GRID_SIDE, y: Math.floor(slot / VILLAGE_GRID_SIDE) }));
|
|
35
|
+
}
|
|
36
|
+
revealEncounters() {
|
|
37
|
+
return this.material(MaterialType.EncounterCard)
|
|
38
|
+
.location(LocationType.EncounterDeck)
|
|
39
|
+
.deck()
|
|
40
|
+
.deal((item) => ({ type: LocationType.EncounterRow, id: encounterArea[item.id.front] }), encounterRowSize(this.game.players.length));
|
|
41
|
+
}
|
|
42
|
+
afterItemMove(move) {
|
|
43
|
+
if (isDeleteItem(move) && move.itemType === MaterialType.EventTile)
|
|
44
|
+
return [this.event.rotateItem(true)];
|
|
45
|
+
if (isMoveItemsAtOnce(move) && move.itemType === MaterialType.Seal && move.location.type === LocationType.SealStack) {
|
|
46
|
+
return [this.sealStack.shuffle()];
|
|
47
|
+
}
|
|
48
|
+
if (isShuffle(move) && move.itemType === MaterialType.Seal)
|
|
49
|
+
return this.dealSeals();
|
|
50
|
+
if (!isMoveItem(move))
|
|
51
|
+
return [];
|
|
52
|
+
if (move.itemType === MaterialType.VillageCard && move.location.type === LocationType.VillageGrid) {
|
|
53
|
+
return this.dealSeals(move.itemIndex);
|
|
54
|
+
}
|
|
55
|
+
if (move.itemType === MaterialType.EncounterCard && move.location.type === LocationType.EncounterRow) {
|
|
56
|
+
return this.placeIncomeToken(move.itemIndex);
|
|
57
|
+
}
|
|
58
|
+
if (move.itemType === MaterialType.FirstPlayerToken) {
|
|
59
|
+
return [this.startPlayerTurn(RuleId.Spring, move.location.player)];
|
|
60
|
+
}
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
dealSeals(card = this.lastCardDealt) {
|
|
64
|
+
const owed = this.missingSeals(card);
|
|
65
|
+
if (!owed)
|
|
66
|
+
return [];
|
|
67
|
+
const moves = this.sealStack.deck().deal({ type: LocationType.CardSeal, parent: card }, owed);
|
|
68
|
+
if (moves.length === owed)
|
|
69
|
+
return moves;
|
|
70
|
+
const discard = this.material(MaterialType.Seal).location(LocationType.SealDiscard);
|
|
71
|
+
if (!discard.exists)
|
|
72
|
+
throw new Error(`${owed - moves.length} Seals are owed to a Village card, and there is none left in the stack or the discard`);
|
|
73
|
+
return [...moves, discard.moveItemsAtOnce({ type: LocationType.SealStack })];
|
|
74
|
+
}
|
|
75
|
+
get lastCardDealt() {
|
|
76
|
+
return this.grid.maxBy((item) => (item.location.y ?? 0) * VILLAGE_GRID_SIDE + (item.location.x ?? 0)).getIndex();
|
|
77
|
+
}
|
|
78
|
+
missingSeals(card) {
|
|
79
|
+
const seals = villageCardData[this.material(MaterialType.VillageCard).getItem(card).id.front].seals;
|
|
80
|
+
const asked = seals === PLAYERS_MINUS_ONE ? this.game.players.length - 1 : (seals ?? 0);
|
|
81
|
+
return asked - this.material(MaterialType.Seal).location(LocationType.CardSeal).parent(card).length;
|
|
82
|
+
}
|
|
83
|
+
get sealStack() {
|
|
84
|
+
return this.material(MaterialType.Seal).location(LocationType.SealStack);
|
|
85
|
+
}
|
|
86
|
+
get grid() {
|
|
87
|
+
return this.material(MaterialType.VillageCard).location(LocationType.VillageGrid);
|
|
88
|
+
}
|
|
89
|
+
placeIncomeToken(card) {
|
|
90
|
+
const income = encounterIncomeToken(this.material(MaterialType.EncounterCard).getItem(card).id.front);
|
|
91
|
+
return income === undefined
|
|
92
|
+
? []
|
|
93
|
+
: this.material(MaterialType.IncomeToken).location(LocationType.IncomeTokenStock).id(income).moveItems({ type: LocationType.CardIncome, parent: card });
|
|
94
|
+
}
|
|
95
|
+
newRound() {
|
|
96
|
+
return [
|
|
97
|
+
this.material(MaterialType.SeasonMarker)
|
|
98
|
+
.sort((item) => item.location.x)
|
|
99
|
+
.moveItemsAtOnce({ type: LocationType.SeasonTrack, id: Season.Spring }),
|
|
100
|
+
this.material(MaterialType.FirstPlayerToken).moveItem({ type: LocationType.FirstPlayerTokenSpace, player: this.nextFirstPlayer })
|
|
101
|
+
];
|
|
102
|
+
}
|
|
103
|
+
get nextFirstPlayer() {
|
|
104
|
+
const holder = this.material(MaterialType.FirstPlayerToken).getItem()?.location.player;
|
|
105
|
+
const players = this.game.players;
|
|
106
|
+
return players[(players.indexOf(holder) + 1) % players.length];
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
function atOnce(material, move) {
|
|
110
|
+
return material.exists ? [move(material)] : [];
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=WinterRule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WinterRule.js","sourceRoot":"","sources":["../../src/rules/WinterRule.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@gamepark/greylune",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "The rules of Greylune 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
|
+
"lint": "eslint --fix"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"@gamepark/rules-api": ">=7.7",
|
|
26
|
+
"es-toolkit": "^1.45.1"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@eslint/js": "^10.0.1",
|
|
30
|
+
"@gamepark/rules-api": "~7.7.2",
|
|
31
|
+
"@typescript/native": "npm:typescript@^7.0.2",
|
|
32
|
+
"es-toolkit": "^1.52.0",
|
|
33
|
+
"eslint": "^10.9.1",
|
|
34
|
+
"globals": "^17.12.0",
|
|
35
|
+
"typescript": "npm:@typescript/typescript6@^6.0.2",
|
|
36
|
+
"typescript-eslint": "^8.69.0",
|
|
37
|
+
"vitest": "^4.1.11"
|
|
38
|
+
}
|
|
39
|
+
}
|