@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.
Files changed (229) hide show
  1. package/dist/Constants.d.ts +23 -0
  2. package/dist/Constants.d.ts.map +1 -0
  3. package/dist/Constants.js +17 -0
  4. package/dist/Constants.js.map +1 -0
  5. package/dist/GreyluneOptions.d.ts +11 -0
  6. package/dist/GreyluneOptions.d.ts.map +1 -0
  7. package/dist/GreyluneOptions.js +8 -0
  8. package/dist/GreyluneOptions.js.map +1 -0
  9. package/dist/GreyluneRules.d.ts +123 -0
  10. package/dist/GreyluneRules.d.ts.map +1 -0
  11. package/dist/GreyluneRules.js +122 -0
  12. package/dist/GreyluneRules.js.map +1 -0
  13. package/dist/GreyluneSetup.d.ts +18 -0
  14. package/dist/GreyluneSetup.d.ts.map +1 -0
  15. package/dist/GreyluneSetup.js +88 -0
  16. package/dist/GreyluneSetup.js.map +1 -0
  17. package/dist/Memory.d.ts +22 -0
  18. package/dist/Memory.d.ts.map +1 -0
  19. package/dist/Memory.js +23 -0
  20. package/dist/Memory.js.map +1 -0
  21. package/dist/PlayerColor.d.ts +7 -0
  22. package/dist/PlayerColor.d.ts.map +1 -0
  23. package/dist/PlayerColor.js +8 -0
  24. package/dist/PlayerColor.js.map +1 -0
  25. package/dist/Season.d.ts +7 -0
  26. package/dist/Season.d.ts.map +1 -0
  27. package/dist/Season.js +8 -0
  28. package/dist/Season.js.map +1 -0
  29. package/dist/Year.d.ts +8 -0
  30. package/dist/Year.d.ts.map +1 -0
  31. package/dist/Year.js +10 -0
  32. package/dist/Year.js.map +1 -0
  33. package/dist/ai/Evaluation.d.ts +118 -0
  34. package/dist/ai/Evaluation.d.ts.map +1 -0
  35. package/dist/ai/Evaluation.js +1069 -0
  36. package/dist/ai/Evaluation.js.map +1 -0
  37. package/dist/ai/GreyluneAI.d.ts +20 -0
  38. package/dist/ai/GreyluneAI.d.ts.map +1 -0
  39. package/dist/ai/GreyluneAI.js +113 -0
  40. package/dist/ai/GreyluneAI.js.map +1 -0
  41. package/dist/ai/Model.d.ts +38 -0
  42. package/dist/ai/Model.d.ts.map +1 -0
  43. package/dist/ai/Model.js +105 -0
  44. package/dist/ai/Model.js.map +1 -0
  45. package/dist/ai/Simulation.d.ts +13 -0
  46. package/dist/ai/Simulation.d.ts.map +1 -0
  47. package/dist/ai/Simulation.js +20 -0
  48. package/dist/ai/Simulation.js.map +1 -0
  49. package/dist/index.d.ts +5 -0
  50. package/dist/index.d.ts.map +1 -0
  51. package/dist/index.js +5 -0
  52. package/dist/index.js.map +1 -0
  53. package/dist/material/Area.d.ts +9 -0
  54. package/dist/material/Area.d.ts.map +1 -0
  55. package/dist/material/Area.js +10 -0
  56. package/dist/material/Area.js.map +1 -0
  57. package/dist/material/Distance.d.ts +8 -0
  58. package/dist/material/Distance.d.ts.map +1 -0
  59. package/dist/material/Distance.js +9 -0
  60. package/dist/material/Distance.js.map +1 -0
  61. package/dist/material/Effect.d.ts +103 -0
  62. package/dist/material/Effect.d.ts.map +1 -0
  63. package/dist/material/Effect.js +83 -0
  64. package/dist/material/Effect.js.map +1 -0
  65. package/dist/material/EncounterCard.d.ts +61 -0
  66. package/dist/material/EncounterCard.d.ts.map +1 -0
  67. package/dist/material/EncounterCard.js +214 -0
  68. package/dist/material/EncounterCard.js.map +1 -0
  69. package/dist/material/EventTile.d.ts +17 -0
  70. package/dist/material/EventTile.d.ts.map +1 -0
  71. package/dist/material/EventTile.js +52 -0
  72. package/dist/material/EventTile.js.map +1 -0
  73. package/dist/material/LocationType.d.ts +42 -0
  74. package/dist/material/LocationType.d.ts.map +1 -0
  75. package/dist/material/LocationType.js +43 -0
  76. package/dist/material/LocationType.js.map +1 -0
  77. package/dist/material/MaterialSource.d.ts +8 -0
  78. package/dist/material/MaterialSource.d.ts.map +1 -0
  79. package/dist/material/MaterialSource.js +2 -0
  80. package/dist/material/MaterialSource.js.map +1 -0
  81. package/dist/material/MaterialType.d.ts +23 -0
  82. package/dist/material/MaterialType.d.ts.map +1 -0
  83. package/dist/material/MaterialType.js +24 -0
  84. package/dist/material/MaterialType.js.map +1 -0
  85. package/dist/material/Period.d.ts +6 -0
  86. package/dist/material/Period.d.ts.map +1 -0
  87. package/dist/material/Period.js +7 -0
  88. package/dist/material/Period.js.map +1 -0
  89. package/dist/material/PlayerState.d.ts +34 -0
  90. package/dist/material/PlayerState.d.ts.map +1 -0
  91. package/dist/material/PlayerState.js +106 -0
  92. package/dist/material/PlayerState.js.map +1 -0
  93. package/dist/material/QuestTile.d.ts +21 -0
  94. package/dist/material/QuestTile.d.ts.map +1 -0
  95. package/dist/material/QuestTile.js +32 -0
  96. package/dist/material/QuestTile.js.map +1 -0
  97. package/dist/material/Reaction.d.ts +49 -0
  98. package/dist/material/Reaction.d.ts.map +1 -0
  99. package/dist/material/Reaction.js +37 -0
  100. package/dist/material/Reaction.js.map +1 -0
  101. package/dist/material/Tokens.d.ts +29 -0
  102. package/dist/material/Tokens.d.ts.map +1 -0
  103. package/dist/material/Tokens.js +46 -0
  104. package/dist/material/Tokens.js.map +1 -0
  105. package/dist/material/Village.d.ts +23 -0
  106. package/dist/material/Village.d.ts.map +1 -0
  107. package/dist/material/Village.js +29 -0
  108. package/dist/material/Village.js.map +1 -0
  109. package/dist/material/VillageCard.d.ts +90 -0
  110. package/dist/material/VillageCard.d.ts.map +1 -0
  111. package/dist/material/VillageCard.js +359 -0
  112. package/dist/material/VillageCard.js.map +1 -0
  113. package/dist/material/Villager.d.ts +8 -0
  114. package/dist/material/Villager.d.ts.map +1 -0
  115. package/dist/material/Villager.js +7 -0
  116. package/dist/material/Villager.js.map +1 -0
  117. package/dist/material/VpToken.d.ts +10 -0
  118. package/dist/material/VpToken.d.ts.map +1 -0
  119. package/dist/material/VpToken.js +9 -0
  120. package/dist/material/VpToken.js.map +1 -0
  121. package/dist/rules/ActivateCardRule.d.ts +43 -0
  122. package/dist/rules/ActivateCardRule.d.ts.map +1 -0
  123. package/dist/rules/ActivateCardRule.js +183 -0
  124. package/dist/rules/ActivateCardRule.js.map +1 -0
  125. package/dist/rules/AutumnRule.d.ts +9 -0
  126. package/dist/rules/AutumnRule.d.ts.map +1 -0
  127. package/dist/rules/AutumnRule.js +42 -0
  128. package/dist/rules/AutumnRule.js.map +1 -0
  129. package/dist/rules/BonusTokenRule.d.ts +10 -0
  130. package/dist/rules/BonusTokenRule.d.ts.map +1 -0
  131. package/dist/rules/BonusTokenRule.js +20 -0
  132. package/dist/rules/BonusTokenRule.js.map +1 -0
  133. package/dist/rules/ChooseOutcomeRule.d.ts +9 -0
  134. package/dist/rules/ChooseOutcomeRule.d.ts.map +1 -0
  135. package/dist/rules/ChooseOutcomeRule.js +18 -0
  136. package/dist/rules/ChooseOutcomeRule.js.map +1 -0
  137. package/dist/rules/ChooseSkillRule.d.ts +10 -0
  138. package/dist/rules/ChooseSkillRule.d.ts.map +1 -0
  139. package/dist/rules/ChooseSkillRule.js +20 -0
  140. package/dist/rules/ChooseSkillRule.js.map +1 -0
  141. package/dist/rules/CustomMoveType.d.ts +17 -0
  142. package/dist/rules/CustomMoveType.d.ts.map +1 -0
  143. package/dist/rules/CustomMoveType.js +18 -0
  144. package/dist/rules/CustomMoveType.js.map +1 -0
  145. package/dist/rules/DiscardItemRule.d.ts +9 -0
  146. package/dist/rules/DiscardItemRule.d.ts.map +1 -0
  147. package/dist/rules/DiscardItemRule.js +19 -0
  148. package/dist/rules/DiscardItemRule.js.map +1 -0
  149. package/dist/rules/EncounterRule.d.ts +26 -0
  150. package/dist/rules/EncounterRule.d.ts.map +1 -0
  151. package/dist/rules/EncounterRule.js +75 -0
  152. package/dist/rules/EncounterRule.js.map +1 -0
  153. package/dist/rules/EventRule.d.ts +13 -0
  154. package/dist/rules/EventRule.d.ts.map +1 -0
  155. package/dist/rules/EventRule.js +39 -0
  156. package/dist/rules/EventRule.js.map +1 -0
  157. package/dist/rules/FinalScoringRule.d.ts +18 -0
  158. package/dist/rules/FinalScoringRule.d.ts.map +1 -0
  159. package/dist/rules/FinalScoringRule.js +30 -0
  160. package/dist/rules/FinalScoringRule.js.map +1 -0
  161. package/dist/rules/GreyluneRule.d.ts +87 -0
  162. package/dist/rules/GreyluneRule.d.ts.map +1 -0
  163. package/dist/rules/GreyluneRule.js +432 -0
  164. package/dist/rules/GreyluneRule.js.map +1 -0
  165. package/dist/rules/PlaceVillagerRule.d.ts +10 -0
  166. package/dist/rules/PlaceVillagerRule.d.ts.map +1 -0
  167. package/dist/rules/PlaceVillagerRule.js +17 -0
  168. package/dist/rules/PlaceVillagerRule.js.map +1 -0
  169. package/dist/rules/ReactionRule.d.ts +17 -0
  170. package/dist/rules/ReactionRule.d.ts.map +1 -0
  171. package/dist/rules/ReactionRule.js +48 -0
  172. package/dist/rules/ReactionRule.js.map +1 -0
  173. package/dist/rules/ResolveEffectsRule.d.ts +12 -0
  174. package/dist/rules/ResolveEffectsRule.d.ts.map +1 -0
  175. package/dist/rules/ResolveEffectsRule.js +85 -0
  176. package/dist/rules/ResolveEffectsRule.js.map +1 -0
  177. package/dist/rules/ResolveEncounterRule.d.ts +19 -0
  178. package/dist/rules/ResolveEncounterRule.d.ts.map +1 -0
  179. package/dist/rules/ResolveEncounterRule.js +86 -0
  180. package/dist/rules/ResolveEncounterRule.js.map +1 -0
  181. package/dist/rules/ResolveQuestRule.d.ts +17 -0
  182. package/dist/rules/ResolveQuestRule.d.ts.map +1 -0
  183. package/dist/rules/ResolveQuestRule.js +64 -0
  184. package/dist/rules/ResolveQuestRule.js.map +1 -0
  185. package/dist/rules/RuleId.d.ts +27 -0
  186. package/dist/rules/RuleId.d.ts.map +1 -0
  187. package/dist/rules/RuleId.js +28 -0
  188. package/dist/rules/RuleId.js.map +1 -0
  189. package/dist/rules/SeasonRule.d.ts +11 -0
  190. package/dist/rules/SeasonRule.d.ts.map +1 -0
  191. package/dist/rules/SeasonRule.js +32 -0
  192. package/dist/rules/SeasonRule.js.map +1 -0
  193. package/dist/rules/SpecialActionRule.d.ts +15 -0
  194. package/dist/rules/SpecialActionRule.d.ts.map +1 -0
  195. package/dist/rules/SpecialActionRule.js +32 -0
  196. package/dist/rules/SpecialActionRule.js.map +1 -0
  197. package/dist/rules/SpringRule.d.ts +7 -0
  198. package/dist/rules/SpringRule.d.ts.map +1 -0
  199. package/dist/rules/SpringRule.js +16 -0
  200. package/dist/rules/SpringRule.js.map +1 -0
  201. package/dist/rules/StraightenCardRule.d.ts +9 -0
  202. package/dist/rules/StraightenCardRule.d.ts.map +1 -0
  203. package/dist/rules/StraightenCardRule.js +11 -0
  204. package/dist/rules/StraightenCardRule.js.map +1 -0
  205. package/dist/rules/SummerRule.d.ts +30 -0
  206. package/dist/rules/SummerRule.d.ts.map +1 -0
  207. package/dist/rules/SummerRule.js +140 -0
  208. package/dist/rules/SummerRule.js.map +1 -0
  209. package/dist/rules/TellStoryRule.d.ts +22 -0
  210. package/dist/rules/TellStoryRule.d.ts.map +1 -0
  211. package/dist/rules/TellStoryRule.js +72 -0
  212. package/dist/rules/TellStoryRule.js.map +1 -0
  213. package/dist/rules/TheFirstStepRule.d.ts +5 -0
  214. package/dist/rules/TheFirstStepRule.d.ts.map +1 -0
  215. package/dist/rules/TheFirstStepRule.js +7 -0
  216. package/dist/rules/TheFirstStepRule.js.map +1 -0
  217. package/dist/rules/TravelRule.d.ts +13 -0
  218. package/dist/rules/TravelRule.d.ts.map +1 -0
  219. package/dist/rules/TravelRule.js +41 -0
  220. package/dist/rules/TravelRule.js.map +1 -0
  221. package/dist/rules/UseItemRule.d.ts +6 -0
  222. package/dist/rules/UseItemRule.d.ts.map +1 -0
  223. package/dist/rules/UseItemRule.js +35 -0
  224. package/dist/rules/UseItemRule.js.map +1 -0
  225. package/dist/rules/WinterRule.d.ts +24 -0
  226. package/dist/rules/WinterRule.d.ts.map +1 -0
  227. package/dist/rules/WinterRule.js +112 -0
  228. package/dist/rules/WinterRule.js.map +1 -0
  229. package/package.json +39 -0
@@ -0,0 +1,118 @@
1
+ import { GreyluneRules } from '../GreyluneRules';
2
+ import { Area } from '../material/Area';
3
+ import { Gain, Requirement } from '../material/Effect';
4
+ import { EncounterCard } from '../material/EncounterCard';
5
+ import { LocationType } from '../material/LocationType';
6
+ import { MaterialType } from '../material/MaterialType';
7
+ import { HeroicQuestArea, QuestTile } from '../material/QuestTile';
8
+ import { IncomeToken, Seal } from '../material/Tokens';
9
+ import { Slot } from '../material/Village';
10
+ import { VillageCard } from '../material/VillageCard';
11
+ import { PlayerColor } from '../PlayerColor';
12
+ import { Season } from '../Season';
13
+ import { PlayerModel } from './Model';
14
+ import { GreyluneGame } from './Simulation';
15
+ export declare const evaluationSettings: {
16
+ springFloor: number;
17
+ lastSpringFloor: number;
18
+ };
19
+ type QuestInfo = {
20
+ area: HeroicQuestArea;
21
+ tile: QuestTile;
22
+ firstTaken: boolean;
23
+ };
24
+ type EffectOptions = {
25
+ price?: number;
26
+ seal?: number;
27
+ villagersFree?: boolean;
28
+ nested?: boolean;
29
+ encounter?: EncounterCard;
30
+ incomeToken?: IncomeToken;
31
+ quest?: HeroicQuestArea;
32
+ discard?: VillageCard;
33
+ origin?: Area;
34
+ deep?: boolean;
35
+ };
36
+ export declare class Assessment {
37
+ readonly game: GreyluneGame;
38
+ readonly player: PlayerColor;
39
+ readonly rules: GreyluneRules;
40
+ readonly model: PlayerModel;
41
+ readonly players: number;
42
+ readonly year: number;
43
+ readonly yearsAfter: number;
44
+ readonly season: Season;
45
+ readonly final: boolean;
46
+ readonly active: number;
47
+ readonly area: Area;
48
+ readonly pendingPlacements: number;
49
+ readonly quests: QuestInfo[];
50
+ readonly lastYearCards: Set<VillageCard>;
51
+ readonly base: number;
52
+ private readonly travelCache;
53
+ private readonly areaCache;
54
+ private readonly activationCache;
55
+ private storyCache;
56
+ private tellingChancesCache?;
57
+ constructor(game: GreyluneGame, player: PlayerColor);
58
+ get grid(): import("@gamepark/rules-api").Material<PlayerColor, MaterialType, LocationType>;
59
+ get memory(): Record<number, unknown>;
60
+ evaluate(): number;
61
+ breakdown(): Record<string, number>;
62
+ staticValue(model: PlayerModel): number;
63
+ coinsValue(coins: number, floor?: number): number;
64
+ coinWorth(model: PlayerModel, coins: number): number;
65
+ get skillFactor(): number;
66
+ skillValue(level: number): number;
67
+ villagersValue(model: PlayerModel): number;
68
+ incomeValue(model: PlayerModel): number;
69
+ cardsValue(model: PlayerModel): number;
70
+ private usefulYears;
71
+ genericValue(model: PlayerModel, requirements?: Requirement[], gains?: Gain[]): number;
72
+ private nextLevels;
73
+ reactionYearValue(model: PlayerModel, front: VillageCard): number;
74
+ growthValue(model: PlayerModel, front: VillageCard): number;
75
+ storiesValue(model: PlayerModel): number;
76
+ get tellingChances(): number;
77
+ questsValue(model: PlayerModel): number;
78
+ private questReadiness;
79
+ lastYearValue(model: PlayerModel): number;
80
+ effectValue(requirements?: Requirement[], gains?: Gain[], options?: EffectOptions, base?: PlayerModel): number | undefined;
81
+ private bonusTokenValue;
82
+ private applyGain;
83
+ private removeLeastItem;
84
+ get villagerUseCost(): number;
85
+ get newVillagerValue(): number;
86
+ travelValue(distance: number, base?: PlayerModel, origin?: Area, deep?: boolean): number;
87
+ private reachValue;
88
+ areaValue(area: Area, base?: PlayerModel, deep?: boolean): number;
89
+ encounterValue(card: number, base?: PlayerModel, deep?: boolean): number | undefined;
90
+ storyValue(rewards: Gain[][]): number | undefined;
91
+ private straightenValue;
92
+ itemUses(front: VillageCard): {
93
+ value: number;
94
+ slots: number;
95
+ }[];
96
+ slotOf(card: number): Slot;
97
+ seals(card: number): Seal[];
98
+ activationValue(card: number, crowd: number): {
99
+ value: number;
100
+ coins: number;
101
+ } | undefined;
102
+ private computeActivation;
103
+ private risk;
104
+ private cardKey;
105
+ private coinsAroundValue;
106
+ private crowdAround;
107
+ thisYearPotential(explain?: string[]): number;
108
+ get springFloor(): number;
109
+ get summerVillagerNeeds(): number;
110
+ get eventUsed(): boolean;
111
+ get specialActionUsed(): boolean;
112
+ eventValue(base?: PlayerModel): number | undefined;
113
+ specialActionValue(): number | undefined;
114
+ pendingValue(): number;
115
+ }
116
+ export declare const evaluate: (game: GreyluneGame, player: PlayerColor) => number;
117
+ export {};
118
+ //# sourceMappingURL=Evaluation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Evaluation.d.ts","sourceRoot":"","sources":["../../src/ai/Evaluation.ts"],"names":[],"mappings":"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"}