@gamepark/zenith 0.0.2 → 0.1.2

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 (265) hide show
  1. package/dist/PlayerId.d.ts +1 -0
  2. package/dist/PlayerId.d.ts.map +1 -0
  3. package/dist/PlayerId.js +2 -2
  4. package/dist/PlayerId.js.map +1 -0
  5. package/dist/TeamColor.d.ts +10 -0
  6. package/dist/TeamColor.d.ts.map +1 -0
  7. package/dist/TeamColor.js +18 -13
  8. package/dist/TeamColor.js.map +1 -0
  9. package/dist/ZenithOptions.d.ts +1 -0
  10. package/dist/ZenithOptions.d.ts.map +1 -0
  11. package/dist/ZenithOptions.js +2 -4
  12. package/dist/ZenithOptions.js.map +1 -0
  13. package/dist/ZenithRules.d.ts +5 -1
  14. package/dist/ZenithRules.d.ts.map +1 -0
  15. package/dist/ZenithRules.js +80 -123
  16. package/dist/ZenithRules.js.map +1 -0
  17. package/dist/ZenithSetup.d.ts +4 -1
  18. package/dist/ZenithSetup.d.ts.map +1 -0
  19. package/dist/ZenithSetup.js +143 -265
  20. package/dist/ZenithSetup.js.map +1 -0
  21. package/dist/index.d.ts +1 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +4 -9
  24. package/dist/index.js.map +1 -0
  25. package/dist/material/Agent.d.ts +1 -0
  26. package/dist/material/Agent.d.ts.map +1 -0
  27. package/dist/material/Agent.js +5 -7
  28. package/dist/material/Agent.js.map +1 -0
  29. package/dist/material/Agents.d.ts +1 -0
  30. package/dist/material/Agents.d.ts.map +1 -0
  31. package/dist/material/Agents.js +922 -924
  32. package/dist/material/Agents.js.map +1 -0
  33. package/dist/material/Bonus.d.ts +1 -0
  34. package/dist/material/Bonus.d.ts.map +1 -0
  35. package/dist/material/Bonus.js +6 -8
  36. package/dist/material/Bonus.js.map +1 -0
  37. package/dist/material/Bonuses.d.ts +1 -0
  38. package/dist/material/Bonuses.d.ts.map +1 -0
  39. package/dist/material/Bonuses.js +30 -33
  40. package/dist/material/Bonuses.js.map +1 -0
  41. package/dist/material/Credit.d.ts +1 -0
  42. package/dist/material/Credit.d.ts.map +1 -0
  43. package/dist/material/Credit.js +5 -7
  44. package/dist/material/Credit.js.map +1 -0
  45. package/dist/material/Faction.d.ts +1 -0
  46. package/dist/material/Faction.d.ts.map +1 -0
  47. package/dist/material/Faction.js +5 -7
  48. package/dist/material/Faction.js.map +1 -0
  49. package/dist/material/Influence.d.ts +1 -0
  50. package/dist/material/Influence.d.ts.map +1 -0
  51. package/dist/material/Influence.js +5 -7
  52. package/dist/material/Influence.js.map +1 -0
  53. package/dist/material/LocationType.d.ts +4 -1
  54. package/dist/material/LocationType.d.ts.map +1 -0
  55. package/dist/material/LocationType.js +5 -5
  56. package/dist/material/LocationType.js.map +1 -0
  57. package/dist/material/MaterialType.d.ts +1 -0
  58. package/dist/material/MaterialType.d.ts.map +1 -0
  59. package/dist/material/MaterialType.js +3 -5
  60. package/dist/material/MaterialType.js.map +1 -0
  61. package/dist/material/effect/Effect.d.ts +6 -1
  62. package/dist/material/effect/Effect.d.ts.map +1 -0
  63. package/dist/material/effect/Effect.js +6 -10
  64. package/dist/material/effect/Effect.js.map +1 -0
  65. package/dist/material/effect/EffectType.d.ts +3 -1
  66. package/dist/material/effect/EffectType.d.ts.map +1 -0
  67. package/dist/material/effect/EffectType.js +4 -5
  68. package/dist/material/effect/EffectType.js.map +1 -0
  69. package/dist/rules/CustomMoveType.d.ts +6 -1
  70. package/dist/rules/CustomMoveType.d.ts.map +1 -0
  71. package/dist/rules/CustomMoveType.js +7 -5
  72. package/dist/rules/CustomMoveType.js.map +1 -0
  73. package/dist/rules/DiscardActionRule.d.ts +1 -0
  74. package/dist/rules/DiscardActionRule.d.ts.map +1 -0
  75. package/dist/rules/DiscardActionRule.js +27 -75
  76. package/dist/rules/DiscardActionRule.js.map +1 -0
  77. package/dist/rules/Memory.d.ts +5 -1
  78. package/dist/rules/Memory.d.ts.map +1 -0
  79. package/dist/rules/Memory.js +6 -5
  80. package/dist/rules/Memory.js.map +1 -0
  81. package/dist/rules/MulliganRule.d.ts +1 -0
  82. package/dist/rules/MulliganRule.d.ts.map +1 -0
  83. package/dist/rules/MulliganRule.js +53 -125
  84. package/dist/rules/MulliganRule.js.map +1 -0
  85. package/dist/rules/PickOrderRule.d.ts +10 -0
  86. package/dist/rules/PickOrderRule.d.ts.map +1 -0
  87. package/dist/rules/PickOrderRule.js +36 -0
  88. package/dist/rules/PickOrderRule.js.map +1 -0
  89. package/dist/rules/PlayCardRule.d.ts +1 -0
  90. package/dist/rules/PlayCardRule.d.ts.map +1 -0
  91. package/dist/rules/PlayCardRule.js +81 -134
  92. package/dist/rules/PlayCardRule.js.map +1 -0
  93. package/dist/rules/RefillRule.d.ts +4 -1
  94. package/dist/rules/RefillRule.d.ts.map +1 -0
  95. package/dist/rules/RefillRule.js +99 -189
  96. package/dist/rules/RefillRule.js.map +1 -0
  97. package/dist/rules/RuleId.d.ts +4 -1
  98. package/dist/rules/RuleId.d.ts.map +1 -0
  99. package/dist/rules/RuleId.js +5 -5
  100. package/dist/rules/RuleId.js.map +1 -0
  101. package/dist/rules/discard-action/DiplomacyActions.d.ts +2 -1
  102. package/dist/rules/discard-action/DiplomacyActions.d.ts.map +1 -0
  103. package/dist/rules/discard-action/DiplomacyActions.js +57 -20
  104. package/dist/rules/discard-action/DiplomacyActions.js.map +1 -0
  105. package/dist/rules/discard-action/DiplomacyBoardRule.d.ts +1 -0
  106. package/dist/rules/discard-action/DiplomacyBoardRule.d.ts.map +1 -0
  107. package/dist/rules/discard-action/DiplomacyBoardRule.js +28 -64
  108. package/dist/rules/discard-action/DiplomacyBoardRule.js.map +1 -0
  109. package/dist/rules/discard-action/TechnologyActions.d.ts +1 -0
  110. package/dist/rules/discard-action/TechnologyActions.d.ts.map +1 -0
  111. package/dist/rules/discard-action/TechnologyActions.js +45 -48
  112. package/dist/rules/discard-action/TechnologyActions.js.map +1 -0
  113. package/dist/rules/discard-action/TechnologyBoardRule.d.ts +1 -0
  114. package/dist/rules/discard-action/TechnologyBoardRule.d.ts.map +1 -0
  115. package/dist/rules/discard-action/TechnologyBoardRule.js +35 -102
  116. package/dist/rules/discard-action/TechnologyBoardRule.js.map +1 -0
  117. package/dist/rules/effect/ChoiceRule.d.ts +1 -0
  118. package/dist/rules/effect/ChoiceRule.d.ts.map +1 -0
  119. package/dist/rules/effect/ChoiceRule.js +21 -81
  120. package/dist/rules/effect/ChoiceRule.js.map +1 -0
  121. package/dist/rules/effect/ConditionalRule.d.ts +1 -0
  122. package/dist/rules/effect/ConditionalRule.d.ts.map +1 -0
  123. package/dist/rules/effect/ConditionalRule.js +78 -141
  124. package/dist/rules/effect/ConditionalRule.js.map +1 -0
  125. package/dist/rules/effect/DevelopTechnologyRule.d.ts +1 -0
  126. package/dist/rules/effect/DevelopTechnologyRule.d.ts.map +1 -0
  127. package/dist/rules/effect/DevelopTechnologyRule.js +54 -119
  128. package/dist/rules/effect/DevelopTechnologyRule.js.map +1 -0
  129. package/dist/rules/effect/DiscardRule.d.ts +1 -0
  130. package/dist/rules/effect/DiscardRule.d.ts.map +1 -0
  131. package/dist/rules/effect/DiscardRule.js +38 -90
  132. package/dist/rules/effect/DiscardRule.js.map +1 -0
  133. package/dist/rules/effect/EffectRule.d.ts +1 -0
  134. package/dist/rules/effect/EffectRule.d.ts.map +1 -0
  135. package/dist/rules/effect/EffectRule.js +61 -138
  136. package/dist/rules/effect/EffectRule.js.map +1 -0
  137. package/dist/rules/effect/ExileRule.d.ts +1 -0
  138. package/dist/rules/effect/ExileRule.d.ts.map +1 -0
  139. package/dist/rules/effect/ExileRule.js +65 -148
  140. package/dist/rules/effect/ExileRule.js.map +1 -0
  141. package/dist/rules/effect/GiveCreditRule.d.ts +1 -0
  142. package/dist/rules/effect/GiveCreditRule.d.ts.map +1 -0
  143. package/dist/rules/effect/GiveCreditRule.js +26 -73
  144. package/dist/rules/effect/GiveCreditRule.js.map +1 -0
  145. package/dist/rules/effect/GiveInfluenceRule.d.ts +1 -0
  146. package/dist/rules/effect/GiveInfluenceRule.d.ts.map +1 -0
  147. package/dist/rules/effect/GiveInfluenceRule.js +43 -103
  148. package/dist/rules/effect/GiveInfluenceRule.js.map +1 -0
  149. package/dist/rules/effect/GiveLeaderBadgeRule.d.ts +1 -0
  150. package/dist/rules/effect/GiveLeaderBadgeRule.d.ts.map +1 -0
  151. package/dist/rules/effect/GiveLeaderBadgeRule.js +19 -46
  152. package/dist/rules/effect/GiveLeaderBadgeRule.js.map +1 -0
  153. package/dist/rules/effect/GiveZenithiumRule.d.ts +1 -0
  154. package/dist/rules/effect/GiveZenithiumRule.d.ts.map +1 -0
  155. package/dist/rules/effect/GiveZenithiumRule.js +28 -79
  156. package/dist/rules/effect/GiveZenithiumRule.js.map +1 -0
  157. package/dist/rules/effect/MobilizeRule.d.ts +1 -0
  158. package/dist/rules/effect/MobilizeRule.d.ts.map +1 -0
  159. package/dist/rules/effect/MobilizeRule.js +39 -93
  160. package/dist/rules/effect/MobilizeRule.js.map +1 -0
  161. package/dist/rules/effect/ResetInfluenceRule.d.ts +1 -0
  162. package/dist/rules/effect/ResetInfluenceRule.d.ts.map +1 -0
  163. package/dist/rules/effect/ResetInfluenceRule.js +22 -58
  164. package/dist/rules/effect/ResetInfluenceRule.js.map +1 -0
  165. package/dist/rules/effect/ShareCardRule.d.ts +21 -0
  166. package/dist/rules/effect/ShareCardRule.d.ts.map +1 -0
  167. package/dist/rules/effect/ShareCardRule.js +68 -0
  168. package/dist/rules/effect/ShareCardRule.js.map +1 -0
  169. package/dist/rules/effect/SpendCreditRule.d.ts +1 -0
  170. package/dist/rules/effect/SpendCreditRule.d.ts.map +1 -0
  171. package/dist/rules/effect/SpendCreditRule.js +30 -102
  172. package/dist/rules/effect/SpendCreditRule.js.map +1 -0
  173. package/dist/rules/effect/SpendZenithiumRule.d.ts +1 -0
  174. package/dist/rules/effect/SpendZenithiumRule.d.ts.map +1 -0
  175. package/dist/rules/effect/SpendZenithiumRule.js +33 -109
  176. package/dist/rules/effect/SpendZenithiumRule.js.map +1 -0
  177. package/dist/rules/effect/StealCreditRule.d.ts +1 -0
  178. package/dist/rules/effect/StealCreditRule.d.ts.map +1 -0
  179. package/dist/rules/effect/StealCreditRule.js +18 -64
  180. package/dist/rules/effect/StealCreditRule.js.map +1 -0
  181. package/dist/rules/effect/TakeBonusRule.d.ts +1 -0
  182. package/dist/rules/effect/TakeBonusRule.d.ts.map +1 -0
  183. package/dist/rules/effect/TakeBonusRule.js +31 -91
  184. package/dist/rules/effect/TakeBonusRule.js.map +1 -0
  185. package/dist/rules/effect/TakeLeaderBadgeRule.d.ts +1 -0
  186. package/dist/rules/effect/TakeLeaderBadgeRule.d.ts.map +1 -0
  187. package/dist/rules/effect/TakeLeaderBadgeRule.js +32 -88
  188. package/dist/rules/effect/TakeLeaderBadgeRule.js.map +1 -0
  189. package/dist/rules/effect/TakeTechnologyBonusTokenRule.d.ts +1 -0
  190. package/dist/rules/effect/TakeTechnologyBonusTokenRule.d.ts.map +1 -0
  191. package/dist/rules/effect/TakeTechnologyBonusTokenRule.js +46 -112
  192. package/dist/rules/effect/TakeTechnologyBonusTokenRule.js.map +1 -0
  193. package/dist/rules/effect/TransferRule.d.ts +1 -0
  194. package/dist/rules/effect/TransferRule.d.ts.map +1 -0
  195. package/dist/rules/effect/TransferRule.js +48 -81
  196. package/dist/rules/effect/TransferRule.js.map +1 -0
  197. package/dist/rules/effect/WinCreditRule.d.ts +1 -0
  198. package/dist/rules/effect/WinCreditRule.d.ts.map +1 -0
  199. package/dist/rules/effect/WinCreditRule.js +61 -130
  200. package/dist/rules/effect/WinCreditRule.js.map +1 -0
  201. package/dist/rules/effect/WinInfluenceRule.d.ts +1 -0
  202. package/dist/rules/effect/WinInfluenceRule.d.ts.map +1 -0
  203. package/dist/rules/effect/WinInfluenceRule.js +129 -248
  204. package/dist/rules/effect/WinInfluenceRule.js.map +1 -0
  205. package/dist/rules/effect/WinZenithiumRule.d.ts +4 -0
  206. package/dist/rules/effect/WinZenithiumRule.d.ts.map +1 -0
  207. package/dist/rules/effect/WinZenithiumRule.js +43 -80
  208. package/dist/rules/effect/WinZenithiumRule.js.map +1 -0
  209. package/dist/rules/effect/index.d.ts +5 -0
  210. package/dist/rules/effect/index.d.ts.map +1 -0
  211. package/dist/rules/effect/index.js +24 -35
  212. package/dist/rules/effect/index.js.map +1 -0
  213. package/dist/rules/helper/BonusHelper.d.ts +1 -0
  214. package/dist/rules/helper/BonusHelper.d.ts.map +1 -0
  215. package/dist/rules/helper/BonusHelper.js +33 -64
  216. package/dist/rules/helper/BonusHelper.js.map +1 -0
  217. package/dist/rules/helper/CreditHelper.d.ts +1 -0
  218. package/dist/rules/helper/CreditHelper.d.ts.map +1 -0
  219. package/dist/rules/helper/CreditHelper.js +20 -44
  220. package/dist/rules/helper/CreditHelper.js.map +1 -0
  221. package/dist/rules/helper/EffectHelper.d.ts +1 -0
  222. package/dist/rules/helper/EffectHelper.d.ts.map +1 -0
  223. package/dist/rules/helper/EffectHelper.js +85 -123
  224. package/dist/rules/helper/EffectHelper.js.map +1 -0
  225. package/dist/rules/helper/EffectRuleIds.d.ts +1 -0
  226. package/dist/rules/helper/EffectRuleIds.d.ts.map +1 -0
  227. package/dist/rules/helper/EffectRuleIds.js +27 -29
  228. package/dist/rules/helper/EffectRuleIds.js.map +1 -0
  229. package/dist/rules/helper/EndGameHelper.d.ts +1 -0
  230. package/dist/rules/helper/EndGameHelper.d.ts.map +1 -0
  231. package/dist/rules/helper/EndGameHelper.js +24 -57
  232. package/dist/rules/helper/EndGameHelper.js.map +1 -0
  233. package/dist/rules/helper/InfluenceHelper.d.ts +1 -0
  234. package/dist/rules/helper/InfluenceHelper.d.ts.map +1 -0
  235. package/dist/rules/helper/InfluenceHelper.js +19 -44
  236. package/dist/rules/helper/InfluenceHelper.js.map +1 -0
  237. package/dist/rules/helper/MobilizeHelper.d.ts +1 -0
  238. package/dist/rules/helper/MobilizeHelper.d.ts.map +1 -0
  239. package/dist/rules/helper/MobilizeHelper.js +28 -53
  240. package/dist/rules/helper/MobilizeHelper.js.map +1 -0
  241. package/dist/rules/helper/PlanetHelper.d.ts +1 -0
  242. package/dist/rules/helper/PlanetHelper.d.ts.map +1 -0
  243. package/dist/rules/helper/PlanetHelper.js +46 -78
  244. package/dist/rules/helper/PlanetHelper.js.map +1 -0
  245. package/dist/rules/helper/PlayerHelper.d.ts +1 -0
  246. package/dist/rules/helper/PlayerHelper.d.ts.map +1 -0
  247. package/dist/rules/helper/PlayerHelper.js +25 -60
  248. package/dist/rules/helper/PlayerHelper.js.map +1 -0
  249. package/dist/rules/helper/TechnologyHelper.d.ts +1 -0
  250. package/dist/rules/helper/TechnologyHelper.d.ts.map +1 -0
  251. package/dist/rules/helper/TechnologyHelper.js +32 -87
  252. package/dist/rules/helper/TechnologyHelper.js.map +1 -0
  253. package/dist/rules/helper/ZenithiumHelper.d.ts +1 -0
  254. package/dist/rules/helper/ZenithiumHelper.d.ts.map +1 -0
  255. package/dist/rules/helper/ZenithiumHelper.js +26 -48
  256. package/dist/rules/helper/ZenithiumHelper.js.map +1 -0
  257. package/dist/tutorial/TutorialSetup.d.ts +18 -0
  258. package/dist/tutorial/TutorialSetup.d.ts.map +1 -0
  259. package/dist/tutorial/TutorialSetup.js +145 -0
  260. package/dist/tutorial/TutorialSetup.js.map +1 -0
  261. package/dist/tutorial/TutorialSetup.spec.d.ts +2 -0
  262. package/dist/tutorial/TutorialSetup.spec.d.ts.map +1 -0
  263. package/dist/tutorial/TutorialSetup.spec.js +183 -0
  264. package/dist/tutorial/TutorialSetup.spec.js.map +1 -0
  265. package/package.json +9 -8
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiplomacyActions.d.ts","sourceRoot":"","sources":["../../../src/rules/discard-action/DiplomacyActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAErD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,8BAElD,CAAA"}
@@ -1,39 +1,76 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.getDiplomacyActions = void 0;
5
- var EffectType_1 = require("../../material/effect/EffectType");
6
- var Faction_1 = require("../../material/Faction");
7
- var getDiplomacyActions = function (_players) {
8
- return TwoPlayerDiplomacyActions;
1
+ import { EffectType } from '../../material/effect/EffectType';
2
+ import { Faction } from '../../material/Faction';
3
+ export const getDiplomacyActions = (players) => {
4
+ return players === 4 ? FourPlayerDiplomacyActions : TwoPlayerDiplomacyActions;
9
5
  };
10
- exports.getDiplomacyActions = getDiplomacyActions;
11
- var TwoPlayerDiplomacyActions = (_a = {},
12
- _a[Faction_1.Faction.Robot] = [
6
+ const TwoPlayerDiplomacyActions = {
7
+ [Faction.Robot]: [
13
8
  {
14
- type: EffectType_1.EffectType.TakeLeaderBadge
9
+ type: EffectType.TakeLeaderBadge
15
10
  },
16
11
  {
17
- type: EffectType_1.EffectType.WinZenithium,
12
+ type: EffectType.WinZenithium,
18
13
  quantity: 1
19
14
  }
20
15
  ],
21
- _a[Faction_1.Faction.Human] = [
16
+ [Faction.Human]: [
22
17
  {
23
- type: EffectType_1.EffectType.TakeLeaderBadge
18
+ type: EffectType.TakeLeaderBadge
24
19
  },
25
20
  {
26
- type: EffectType_1.EffectType.WinCredit,
21
+ type: EffectType.WinCredit,
27
22
  quantity: 3
28
23
  }
29
24
  ],
30
- _a[Faction_1.Faction.Animod] = [
25
+ [Faction.Animod]: [
31
26
  {
32
- type: EffectType_1.EffectType.TakeLeaderBadge
27
+ type: EffectType.TakeLeaderBadge
33
28
  },
34
29
  {
35
- type: EffectType_1.EffectType.Mobilize,
30
+ type: EffectType.Mobilize,
36
31
  quantity: 2
37
32
  }
33
+ ]
34
+ };
35
+ const FourPlayerDiplomacyActions = {
36
+ [Faction.Robot]: [
37
+ {
38
+ type: EffectType.TakeLeaderBadge
39
+ },
40
+ {
41
+ type: EffectType.WinZenithium,
42
+ quantity: 1
43
+ },
44
+ {
45
+ type: EffectType.ShareCard,
46
+ maxQuantity: 2
47
+ }
48
+ ],
49
+ [Faction.Human]: [
50
+ {
51
+ type: EffectType.TakeLeaderBadge
52
+ },
53
+ {
54
+ type: EffectType.WinCredit,
55
+ quantity: 3
56
+ },
57
+ {
58
+ type: EffectType.ShareCard,
59
+ maxQuantity: 2
60
+ }
38
61
  ],
39
- _a);
62
+ [Faction.Animod]: [
63
+ {
64
+ type: EffectType.TakeLeaderBadge
65
+ },
66
+ {
67
+ type: EffectType.Mobilize,
68
+ quantity: 2
69
+ },
70
+ {
71
+ type: EffectType.ShareCard,
72
+ maxQuantity: 2
73
+ }
74
+ ]
75
+ };
76
+ //# sourceMappingURL=DiplomacyActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiplomacyActions.js","sourceRoot":"","sources":["../../../src/rules/discard-action/DiplomacyActions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAA;AAC7D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAEhD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,EAAE;IACrD,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,yBAAyB,CAAA;AAC/E,CAAC,CAAA;AAED,MAAM,yBAAyB,GAA8B;IAC3D,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACf;YACE,IAAI,EAAE,UAAU,CAAC,eAAe;SACjC;QACD;YACE,IAAI,EAAE,UAAU,CAAC,YAAY;YAC7B,QAAQ,EAAE,CAAC;SACZ;KACF;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACf;YACE,IAAI,EAAE,UAAU,CAAC,eAAe;SACjC;QACD;YACE,IAAI,EAAE,UAAU,CAAC,SAAS;YAC1B,QAAQ,EAAE,CAAC;SACZ;KACF;IACD,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAChB;YACE,IAAI,EAAE,UAAU,CAAC,eAAe;SACjC;QACD;YACE,IAAI,EAAE,UAAU,CAAC,QAAQ;YACzB,QAAQ,EAAE,CAAC;SACZ;KACF;CACF,CAAA;AAED,MAAM,0BAA0B,GAA8B;IAC5D,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACf;YACE,IAAI,EAAE,UAAU,CAAC,eAAe;SACjC;QACD;YACE,IAAI,EAAE,UAAU,CAAC,YAAY;YAC7B,QAAQ,EAAE,CAAC;SACZ;QACD;YACE,IAAI,EAAE,UAAU,CAAC,SAAS;YAC1B,WAAW,EAAE,CAAC;SACf;KACF;IACD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACf;YACE,IAAI,EAAE,UAAU,CAAC,eAAe;SACjC;QACD;YACE,IAAI,EAAE,UAAU,CAAC,SAAS;YAC1B,QAAQ,EAAE,CAAC;SACZ;QACD;YACE,IAAI,EAAE,UAAU,CAAC,SAAS;YAC1B,WAAW,EAAE,CAAC;SACf;KACF;IACD,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAChB;YACE,IAAI,EAAE,UAAU,CAAC,eAAe;SACjC;QACD;YACE,IAAI,EAAE,UAAU,CAAC,QAAQ;YACzB,QAAQ,EAAE,CAAC;SACZ;QACD;YACE,IAAI,EAAE,UAAU,CAAC,SAAS;YAC1B,WAAW,EAAE,CAAC;SACf;KACF;CACF,CAAA"}
@@ -7,3 +7,4 @@ export declare class DiplomacyBoardRule extends PlayerTurnRule {
7
7
  applyDiplomacy(): import("@gamepark/rules-api").StartRule<RuleId>[];
8
8
  onCustomMove(move: CustomMove): import("@gamepark/rules-api").StartRule<RuleId>[];
9
9
  }
10
+ //# sourceMappingURL=DiplomacyBoardRule.d.ts.map
@@ -0,0 +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,cAAc;IAId,IAAI,OAAO,YAEV;IAED,cAAc;IAed,YAAY,CAAC,IAAI,EAAE,UAAU;CAS9B"}
@@ -1,68 +1,32 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.DiplomacyBoardRule = void 0;
30
- var rules_api_1 = require("@gamepark/rules-api");
31
- var MaterialType_1 = require("../../material/MaterialType");
32
- var CustomMoveType_1 = require("../CustomMoveType");
33
- var EffectHelper_1 = require("../helper/EffectHelper");
34
- var Memory_1 = require("../Memory");
35
- var RuleId_1 = require("../RuleId");
36
- var DiplomacyActions_1 = require("./DiplomacyActions");
37
- var DiplomacyBoardRule = (function (_super) {
38
- __extends(DiplomacyBoardRule, _super);
39
- function DiplomacyBoardRule() {
40
- return _super !== null && _super.apply(this, arguments) || this;
1
+ import { isCustomMoveType, isStartPlayerTurn, isStartRule, PlayerTurnRule } from '@gamepark/rules-api';
2
+ import { MaterialType } from '../../material/MaterialType';
3
+ import { CustomMoveType } from '../CustomMoveType';
4
+ import { EffectHelper } from '../helper/EffectHelper';
5
+ import { Memory } from '../Memory';
6
+ import { RuleId } from '../RuleId';
7
+ import { getDiplomacyActions } from './DiplomacyActions';
8
+ export class DiplomacyBoardRule extends PlayerTurnRule {
9
+ getPlayerMoves() {
10
+ return [this.customMove(CustomMoveType.Diplomacy)];
11
+ }
12
+ get faction() {
13
+ return this.remind(Memory.DiscardFaction);
41
14
  }
42
- DiplomacyBoardRule.prototype.getPlayerMoves = function () {
43
- return [this.customMove(CustomMoveType_1.CustomMoveType.Diplomacy)];
44
- };
45
- Object.defineProperty(DiplomacyBoardRule.prototype, "faction", {
46
- get: function () {
47
- return this.remind(Memory_1.Memory.DiscardFaction);
48
- },
49
- enumerable: false,
50
- configurable: true
51
- });
52
- DiplomacyBoardRule.prototype.applyDiplomacy = function () {
53
- var _this = this;
54
- this.memorize(Memory_1.Memory.Effects, JSON.parse(JSON.stringify((0, DiplomacyActions_1.getDiplomacyActions)(this.game.players.length)[this.faction].map(function (effect) { return (__assign(__assign({}, effect), { effectSource: { type: MaterialType_1.MaterialType.DiplomacyBoard, key: _this.faction } })); }))));
55
- return new EffectHelper_1.EffectHelper(this.game, this.player).applyFirstEffect();
56
- };
57
- DiplomacyBoardRule.prototype.onCustomMove = function (move) {
58
- if (!(0, rules_api_1.isCustomMoveType)(CustomMoveType_1.CustomMoveType.Diplomacy)(move))
15
+ applyDiplomacy() {
16
+ this.memorize(Memory.Effects, JSON.parse(JSON.stringify(getDiplomacyActions(this.game.players.length)[this.faction].map((effect) => ({
17
+ ...effect,
18
+ effectSource: { type: MaterialType.DiplomacyBoard, key: this.faction }
19
+ })))));
20
+ return new EffectHelper(this.game, this.player).applyFirstEffect();
21
+ }
22
+ onCustomMove(move) {
23
+ if (!isCustomMoveType(CustomMoveType.Diplomacy)(move))
59
24
  return [];
60
- var effectMoves = this.applyDiplomacy();
61
- if (effectMoves.some(function (move) { return (0, rules_api_1.isStartRule)(move) || (0, rules_api_1.isStartPlayerTurn)(move); })) {
25
+ const effectMoves = this.applyDiplomacy();
26
+ if (effectMoves.some((move) => isStartRule(move) || isStartPlayerTurn(move))) {
62
27
  return effectMoves;
63
28
  }
64
- return [this.startRule(RuleId_1.RuleId.Refill)];
65
- };
66
- return DiplomacyBoardRule;
67
- }(rules_api_1.PlayerTurnRule));
68
- exports.DiplomacyBoardRule = DiplomacyBoardRule;
29
+ return [this.startRule(RuleId.Refill)];
30
+ }
31
+ }
32
+ //# sourceMappingURL=DiplomacyBoardRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DiplomacyBoardRule.js","sourceRoot":"","sources":["../../../src/rules/discard-action/DiplomacyBoardRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAElH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAExD,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IACpD,cAAc;QACZ,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAA;IACpD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,CAAU,MAAM,CAAC,cAAc,CAAC,CAAA;IACpD,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,QAAQ,CACX,MAAM,CAAC,OAAO,EACd,IAAI,CAAC,KAAK,CACR,IAAI,CAAC,SAAS,CACZ,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAC3E,GAAG,MAAM;YACT,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,CAAC,cAAc,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;SACvE,CAAC,CAAC,CACJ,CACF,CACF,CAAA;QACD,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAA;IACpE,CAAC;IAED,YAAY,CAAC,IAAgB;QAC3B,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAA;QAChE,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACzC,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC7E,OAAO,WAAW,CAAA;QACpB,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IACxC,CAAC;CACF"}
@@ -1,3 +1,4 @@
1
1
  import { Effect } from '../../material/effect/Effect';
2
2
  export declare const getTechnologyAction: (id: string) => Effect[][];
3
3
  export declare const TechnologyLineBonuses: Effect[];
4
+ //# sourceMappingURL=TechnologyActions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TechnologyActions.d.ts","sourceRoot":"","sources":["../../../src/rules/discard-action/TechnologyActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAKpE,eAAO,MAAM,mBAAmB,GAAI,IAAI,MAAM,KAAG,MAAM,EAAE,EAUxD,CAAA;AAgKD,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAazC,CAAA"}
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TechnologyLineBonuses = exports.getTechnologyAction = void 0;
4
- var Effect_1 = require("../../material/effect/Effect");
5
- var EffectType_1 = require("../../material/effect/EffectType");
6
- var Faction_1 = require("../../material/Faction");
7
- var getTechnologyAction = function (id) {
1
+ import { ConditionType } from '../../material/effect/Effect';
2
+ import { EffectType } from '../../material/effect/EffectType';
3
+ import { Faction } from '../../material/Faction';
4
+ export const getTechnologyAction = (id) => {
8
5
  switch (id) {
9
6
  case 'S':
10
7
  return TechnologySActions;
@@ -15,173 +12,173 @@ var getTechnologyAction = function (id) {
15
12
  return TechnologyNActions;
16
13
  }
17
14
  };
18
- exports.getTechnologyAction = getTechnologyAction;
19
- var TechnologySActions = [
15
+ const TechnologySActions = [
20
16
  [
21
17
  {
22
- type: EffectType_1.EffectType.WinCredit,
18
+ type: EffectType.WinCredit,
23
19
  quantity: 2
24
20
  }
25
21
  ],
26
22
  [
27
23
  {
28
- type: EffectType_1.EffectType.WinInfluence,
24
+ type: EffectType.WinInfluence,
29
25
  pattern: [1, 1]
30
26
  },
31
27
  {
32
- type: EffectType_1.EffectType.TakeTechnologyBonusToken,
33
- faction: Faction_1.Faction.Animod,
28
+ type: EffectType.TakeTechnologyBonusToken,
29
+ faction: Faction.Animod,
34
30
  x: 2
35
31
  }
36
32
  ],
37
33
  [
38
34
  {
39
- type: EffectType_1.EffectType.Transfer,
35
+ type: EffectType.Transfer,
40
36
  quantity: 3
41
37
  }
42
38
  ],
43
39
  [
44
40
  {
45
- type: EffectType_1.EffectType.Conditional,
41
+ type: EffectType.Conditional,
46
42
  mandatory: true,
47
43
  condition: {
48
- type: Effect_1.ConditionType.DoEffect,
44
+ type: ConditionType.DoEffect,
49
45
  effect: {
50
- type: EffectType_1.EffectType.Mobilize
46
+ type: EffectType.Mobilize
51
47
  }
52
48
  },
53
49
  effect: {
54
- type: EffectType_1.EffectType.WinInfluence,
50
+ type: EffectType.WinInfluence,
55
51
  quantity: 1
56
52
  }
57
53
  },
58
54
  {
59
- type: EffectType_1.EffectType.Conditional,
55
+ type: EffectType.Conditional,
60
56
  mandatory: true,
61
57
  condition: {
62
- type: Effect_1.ConditionType.DoEffect,
58
+ type: ConditionType.DoEffect,
63
59
  effect: {
64
- type: EffectType_1.EffectType.Mobilize
60
+ type: EffectType.Mobilize
65
61
  }
66
62
  },
67
63
  effect: {
68
- type: EffectType_1.EffectType.WinInfluence,
64
+ type: EffectType.WinInfluence,
69
65
  quantity: 1
70
66
  }
71
67
  },
72
68
  {
73
- type: EffectType_1.EffectType.Conditional,
69
+ type: EffectType.Conditional,
74
70
  mandatory: true,
75
71
  condition: {
76
- type: Effect_1.ConditionType.DoEffect,
72
+ type: ConditionType.DoEffect,
77
73
  effect: {
78
- type: EffectType_1.EffectType.Mobilize
74
+ type: EffectType.Mobilize
79
75
  }
80
76
  },
81
77
  effect: {
82
- type: EffectType_1.EffectType.WinInfluence,
78
+ type: EffectType.WinInfluence,
83
79
  quantity: 1
84
80
  }
85
81
  }
86
82
  ],
87
83
  [
88
84
  {
89
- type: EffectType_1.EffectType.WinInfluence,
85
+ type: EffectType.WinInfluence,
90
86
  quantity: 2
91
87
  }
92
88
  ]
93
89
  ];
94
- var TechnologyUActions = [
90
+ const TechnologyUActions = [
95
91
  [
96
92
  {
97
- type: EffectType_1.EffectType.WinInfluence,
93
+ type: EffectType.WinInfluence,
98
94
  quantity: 1
99
95
  }
100
96
  ],
101
97
  [
102
98
  {
103
- type: EffectType_1.EffectType.Mobilize,
99
+ type: EffectType.Mobilize,
104
100
  quantity: 2
105
101
  },
106
102
  {
107
- type: EffectType_1.EffectType.TakeTechnologyBonusToken,
108
- faction: Faction_1.Faction.Human,
103
+ type: EffectType.TakeTechnologyBonusToken,
104
+ faction: Faction.Human,
109
105
  x: 2
110
106
  }
111
107
  ],
112
108
  [
113
109
  {
114
- type: EffectType_1.EffectType.StealCredit,
110
+ type: EffectType.StealCredit,
115
111
  quantity: 3
116
112
  }
117
113
  ],
118
114
  [
119
115
  {
120
- type: EffectType_1.EffectType.WinInfluence,
116
+ type: EffectType.WinInfluence,
121
117
  pattern: [1, 1, 1]
122
118
  }
123
119
  ],
124
120
  [
125
121
  {
126
- type: EffectType_1.EffectType.WinInfluence,
122
+ type: EffectType.WinInfluence,
127
123
  quantity: 2
128
124
  }
129
125
  ]
130
126
  ];
131
- var TechnologyNActions = [
127
+ const TechnologyNActions = [
132
128
  [
133
129
  {
134
- type: EffectType_1.EffectType.Transfer,
130
+ type: EffectType.Transfer,
135
131
  quantity: 1
136
132
  }
137
133
  ],
138
134
  [
139
135
  {
140
- type: EffectType_1.EffectType.TakeLeaderBadge
136
+ type: EffectType.TakeLeaderBadge
141
137
  },
142
138
  {
143
- type: EffectType_1.EffectType.TakeTechnologyBonusToken,
144
- faction: Faction_1.Faction.Robot,
139
+ type: EffectType.TakeTechnologyBonusToken,
140
+ faction: Faction.Robot,
145
141
  x: 2
146
142
  }
147
143
  ],
148
144
  [
149
145
  {
150
- type: EffectType_1.EffectType.WinInfluence,
146
+ type: EffectType.WinInfluence,
151
147
  resetDifferentPlanet: true,
152
148
  quantity: 2
153
149
  },
154
150
  {
155
- type: EffectType_1.EffectType.WinInfluence,
151
+ type: EffectType.WinInfluence,
156
152
  differentPlanet: true,
157
153
  quantity: 1
158
154
  }
159
155
  ],
160
156
  [
161
157
  {
162
- type: EffectType_1.EffectType.WinCredit,
158
+ type: EffectType.WinCredit,
163
159
  quantity: 20
164
160
  }
165
161
  ],
166
162
  [
167
163
  {
168
- type: EffectType_1.EffectType.WinInfluence,
164
+ type: EffectType.WinInfluence,
169
165
  resetDifferentPlanet: true,
170
166
  quantity: 2
171
167
  }
172
168
  ]
173
169
  ];
174
- exports.TechnologyLineBonuses = [
170
+ export const TechnologyLineBonuses = [
175
171
  {
176
- type: EffectType_1.EffectType.WinInfluence,
172
+ type: EffectType.WinInfluence,
177
173
  quantity: 1
178
174
  },
179
175
  {
180
- type: EffectType_1.EffectType.WinInfluence,
176
+ type: EffectType.WinInfluence,
181
177
  quantity: 2
182
178
  },
183
179
  {
184
- type: EffectType_1.EffectType.WinInfluence,
180
+ type: EffectType.WinInfluence,
185
181
  quantity: 3
186
182
  }
187
183
  ];
184
+ //# sourceMappingURL=TechnologyActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TechnologyActions.js","sourceRoot":"","sources":["../../../src/rules/discard-action/TechnologyActions.ts"],"names":[],"mappings":"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"}
@@ -6,3 +6,4 @@ export declare class TechnologyBoardRule extends PlayerTurnRule {
6
6
  get marker(): import("@gamepark/rules-api").Material<number, number, number>;
7
7
  get faction(): Faction;
8
8
  }
9
+ //# sourceMappingURL=TechnologyBoardRule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TechnologyBoardRule.d.ts","sourceRoot":"","sources":["../../../src/rules/discard-action/TechnologyBoardRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkD,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAC5H,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAShD,qBAAa,mBAAoB,SAAQ,cAAc;IACrD,cAAc;IASd,aAAa,CAAC,IAAI,EAAE,QAAQ;IAc5B,IAAI,MAAM,mEAKT;IAED,IAAI,OAAO,YAEV;CACF"}
@@ -1,109 +1,42 @@
1
- "use strict";
2
- var __extends = (this && this.__extends) || (function () {
3
- var extendStatics = function (d, b) {
4
- extendStatics = Object.setPrototypeOf ||
5
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
- return extendStatics(d, b);
8
- };
9
- return function (d, b) {
10
- if (typeof b !== "function" && b !== null)
11
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
- extendStatics(d, b);
13
- function __() { this.constructor = d; }
14
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
- };
16
- })();
17
- var __assign = (this && this.__assign) || function () {
18
- __assign = Object.assign || function(t) {
19
- for (var s, i = 1, n = arguments.length; i < n; i++) {
20
- s = arguments[i];
21
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
- t[p] = s[p];
23
- }
24
- return t;
25
- };
26
- return __assign.apply(this, arguments);
27
- };
28
- var __read = (this && this.__read) || function (o, n) {
29
- var m = typeof Symbol === "function" && o[Symbol.iterator];
30
- if (!m) return o;
31
- var i = m.call(o), r, ar = [], e;
32
- try {
33
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
34
- }
35
- catch (error) { e = { error: error }; }
36
- finally {
37
- try {
38
- if (r && !r.done && (m = i["return"])) m.call(i);
39
- }
40
- finally { if (e) throw e.error; }
41
- }
42
- return ar;
43
- };
44
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
45
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
46
- if (ar || !(i in from)) {
47
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
48
- ar[i] = from[i];
49
- }
50
- }
51
- return to.concat(ar || Array.prototype.slice.call(from));
52
- };
53
- Object.defineProperty(exports, "__esModule", { value: true });
54
- exports.TechnologyBoardRule = void 0;
55
- var rules_api_1 = require("@gamepark/rules-api");
56
- var LocationType_1 = require("../../material/LocationType");
57
- var MaterialType_1 = require("../../material/MaterialType");
58
- var EffectHelper_1 = require("../helper/EffectHelper");
59
- var PlayerHelper_1 = require("../helper/PlayerHelper");
60
- var TechnologyHelper_1 = require("../helper/TechnologyHelper");
61
- var Memory_1 = require("../Memory");
62
- var RuleId_1 = require("../RuleId");
63
- var TechnologyBoardRule = (function (_super) {
64
- __extends(TechnologyBoardRule, _super);
65
- function TechnologyBoardRule() {
66
- return _super !== null && _super.apply(this, arguments) || this;
67
- }
68
- TechnologyBoardRule.prototype.getPlayerMoves = function () {
69
- var marker = this.marker;
70
- var item = marker.getItem();
1
+ import { isMoveItemType, isStartPlayerTurn, isStartRule, PlayerTurnRule } from '@gamepark/rules-api';
2
+ import { LocationType } from '../../material/LocationType';
3
+ import { MaterialType } from '../../material/MaterialType';
4
+ import { EffectHelper } from '../helper/EffectHelper';
5
+ import { PlayerHelper } from '../helper/PlayerHelper';
6
+ import { TechnologyHelper } from '../helper/TechnologyHelper';
7
+ import { Memory } from '../Memory';
8
+ import { RuleId } from '../RuleId';
9
+ export class TechnologyBoardRule extends PlayerTurnRule {
10
+ getPlayerMoves() {
11
+ const marker = this.marker;
12
+ const item = marker.getItem();
71
13
  if (item.location.x >= 5)
72
14
  return [];
73
- var zenithiumCost = item.location.x + 1;
74
- if (new PlayerHelper_1.PlayerHelper(this.game, this.player).zenithium < zenithiumCost)
15
+ const zenithiumCost = item.location.x + 1;
16
+ if (new PlayerHelper(this.game, this.player).zenithium < zenithiumCost)
75
17
  return [];
76
- return this.marker.moveItems(function (item) { return (__assign(__assign({}, item.location), { x: item.location.x + 1 })); });
77
- };
78
- TechnologyBoardRule.prototype.afterItemMove = function (move) {
79
- if (!(0, rules_api_1.isMoveItemType)(MaterialType_1.MaterialType.TechMarker)(move))
18
+ return this.marker.moveItems((item) => ({ ...item.location, x: item.location.x + 1 }));
19
+ }
20
+ afterItemMove(move) {
21
+ if (!isMoveItemType(MaterialType.TechMarker)(move))
80
22
  return [];
81
- var moves = new TechnologyHelper_1.TechnologyHelper(this.game).applyTechnology(move);
82
- moves.push(new PlayerHelper_1.PlayerHelper(this.game, this.player).zenithiumMaterial.deleteItem(move.location.x));
83
- var effectMoves = new EffectHelper_1.EffectHelper(this.game, this.player).applyFirstEffect();
84
- if (effectMoves.some(function (move) { return (0, rules_api_1.isStartRule)(move) || (0, rules_api_1.isStartPlayerTurn)(move); })) {
85
- moves.push.apply(moves, __spreadArray([], __read(effectMoves), false));
23
+ const moves = new TechnologyHelper(this.game).applyTechnology(move);
24
+ moves.push(new PlayerHelper(this.game, this.player).zenithiumMaterial.deleteItem(move.location.x));
25
+ const effectMoves = new EffectHelper(this.game, this.player).applyFirstEffect();
26
+ if (effectMoves.some((move) => isStartRule(move) || isStartPlayerTurn(move))) {
27
+ moves.push(...effectMoves);
86
28
  return moves;
87
29
  }
88
- moves.push(this.startRule(RuleId_1.RuleId.Refill));
30
+ moves.push(this.startRule(RuleId.Refill));
89
31
  return moves;
90
- };
91
- Object.defineProperty(TechnologyBoardRule.prototype, "marker", {
92
- get: function () {
93
- var playerHelper = new PlayerHelper_1.PlayerHelper(this.game, this.player);
94
- var board = this.material(MaterialType_1.MaterialType.TechnologyBoard).location(LocationType_1.LocationType.TechnologyBoardPlace).locationId(this.faction);
95
- return this.material(MaterialType_1.MaterialType.TechMarker).location(LocationType_1.LocationType.TechnologyBoardTokenSpace).player(playerHelper.team).parent(board.getIndex());
96
- },
97
- enumerable: false,
98
- configurable: true
99
- });
100
- Object.defineProperty(TechnologyBoardRule.prototype, "faction", {
101
- get: function () {
102
- return this.remind(Memory_1.Memory.DiscardFaction);
103
- },
104
- enumerable: false,
105
- configurable: true
106
- });
107
- return TechnologyBoardRule;
108
- }(rules_api_1.PlayerTurnRule));
109
- exports.TechnologyBoardRule = TechnologyBoardRule;
32
+ }
33
+ get marker() {
34
+ const playerHelper = new PlayerHelper(this.game, this.player);
35
+ const board = this.material(MaterialType.TechnologyBoard).location(LocationType.TechnologyBoardPlace).locationId(this.faction);
36
+ return this.material(MaterialType.TechMarker).location(LocationType.TechnologyBoardTokenSpace).player(playerHelper.team).parent(board.getIndex());
37
+ }
38
+ get faction() {
39
+ return this.remind(Memory.DiscardFaction);
40
+ }
41
+ }
42
+ //# sourceMappingURL=TechnologyBoardRule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TechnologyBoardRule.js","sourceRoot":"","sources":["../../../src/rules/discard-action/TechnologyBoardRule.ts"],"names":[],"mappings":"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"}
@@ -10,3 +10,4 @@ export declare class ChoiceRule extends EffectRule<ChoiceEffect> {
10
10
  onCustomMove(move: CustomMove): import("@gamepark/rules-api").StartRule<import("../RuleId").RuleId>[];
11
11
  choice(choice: Choice): void;
12
12
  }
13
+ //# sourceMappingURL=ChoiceRule.d.ts.map
@@ -0,0 +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"}