@gamepark/mythologies 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 (269) hide show
  1. package/dist/CustomMoveType.d.ts +13 -0
  2. package/dist/CustomMoveType.js +13 -0
  3. package/dist/Memory.d.ts +13 -0
  4. package/dist/Memory.js +17 -0
  5. package/dist/MythologiesOptions.d.ts +12 -0
  6. package/dist/MythologiesOptions.js +14 -0
  7. package/dist/MythologiesRules.d.ts +111 -0
  8. package/dist/MythologiesRules.js +218 -0
  9. package/dist/MythologiesSetup.d.ts +17 -0
  10. package/dist/MythologiesSetup.js +161 -0
  11. package/dist/PlayerColor.d.ts +10 -0
  12. package/dist/PlayerColor.js +10 -0
  13. package/dist/index.d.ts +3 -0
  14. package/dist/index.js +9 -0
  15. package/dist/material/Destiny.d.ts +9 -0
  16. package/dist/material/Destiny.js +87 -0
  17. package/dist/material/Entity.d.ts +98 -0
  18. package/dist/material/Entity.js +99 -0
  19. package/dist/material/LocationType.d.ts +26 -0
  20. package/dist/material/LocationType.js +31 -0
  21. package/dist/material/MaterialType.d.ts +12 -0
  22. package/dist/material/MaterialType.js +16 -0
  23. package/dist/material/Mythology.d.ts +19 -0
  24. package/dist/material/Mythology.js +21 -0
  25. package/dist/material/Pantheon.d.ts +36 -0
  26. package/dist/material/Pantheon.js +357 -0
  27. package/dist/material/Trial.d.ts +22 -0
  28. package/dist/material/Trial.js +184 -0
  29. package/dist/material/entity/Effect.d.ts +91 -0
  30. package/dist/material/entity/Effect.js +115 -0
  31. package/dist/material/entity/EntityDescription.d.ts +13 -0
  32. package/dist/material/entity/EntityDescription.js +173 -0
  33. package/dist/material/entity/MoveEffectRule.d.ts +15 -0
  34. package/dist/material/entity/MoveEffectRule.js +86 -0
  35. package/dist/material/entity/PlaceCardEffectRule.d.ts +15 -0
  36. package/dist/material/entity/PlaceCardEffectRule.js +75 -0
  37. package/dist/material/entity/SacrificeEffectRule.d.ts +9 -0
  38. package/dist/material/entity/SacrificeEffectRule.js +58 -0
  39. package/dist/material/entity/SimultaneousMoveEffectRule.d.ts +13 -0
  40. package/dist/material/entity/SimultaneousMoveEffectRule.js +124 -0
  41. package/dist/material/entity/SimultaneousSacrificeEffectRule.d.ts +10 -0
  42. package/dist/material/entity/SimultaneousSacrificeEffectRule.js +57 -0
  43. package/dist/material/entity/celtic/Banshee.d.ts +2 -0
  44. package/dist/material/entity/celtic/Banshee.js +6 -0
  45. package/dist/material/entity/celtic/Brigid.d.ts +2 -0
  46. package/dist/material/entity/celtic/Brigid.js +6 -0
  47. package/dist/material/entity/celtic/Cernunnos.d.ts +2 -0
  48. package/dist/material/entity/celtic/Cernunnos.js +6 -0
  49. package/dist/material/entity/celtic/Dagda.d.ts +2 -0
  50. package/dist/material/entity/celtic/Dagda.js +6 -0
  51. package/dist/material/entity/celtic/Dryad.d.ts +2 -0
  52. package/dist/material/entity/celtic/Dryad.js +6 -0
  53. package/dist/material/entity/celtic/Dullahan.d.ts +2 -0
  54. package/dist/material/entity/celtic/Dullahan.js +6 -0
  55. package/dist/material/entity/celtic/Kelpie.d.ts +2 -0
  56. package/dist/material/entity/celtic/Kelpie.js +6 -0
  57. package/dist/material/entity/celtic/Leprechaun.d.ts +2 -0
  58. package/dist/material/entity/celtic/Leprechaun.js +6 -0
  59. package/dist/material/entity/celtic/Morrigan.d.ts +2 -0
  60. package/dist/material/entity/celtic/Morrigan.js +6 -0
  61. package/dist/material/entity/celtic/Selkie.d.ts +2 -0
  62. package/dist/material/entity/celtic/Selkie.js +6 -0
  63. package/dist/material/entity/chinese/ChangE.d.ts +2 -0
  64. package/dist/material/entity/chinese/ChangE.js +6 -0
  65. package/dist/material/entity/chinese/Fenghuang.d.ts +2 -0
  66. package/dist/material/entity/chinese/Fenghuang.js +6 -0
  67. package/dist/material/entity/chinese/Jiangshi.d.ts +2 -0
  68. package/dist/material/entity/chinese/Jiangshi.js +6 -0
  69. package/dist/material/entity/chinese/Mogwai.d.ts +2 -0
  70. package/dist/material/entity/chinese/Mogwai.js +6 -0
  71. package/dist/material/entity/chinese/Nian.d.ts +2 -0
  72. package/dist/material/entity/chinese/Nian.js +6 -0
  73. package/dist/material/entity/chinese/Nuwa.d.ts +2 -0
  74. package/dist/material/entity/chinese/Nuwa.js +6 -0
  75. package/dist/material/entity/chinese/Qilin.d.ts +2 -0
  76. package/dist/material/entity/chinese/Qilin.js +6 -0
  77. package/dist/material/entity/chinese/SunWukong.d.ts +2 -0
  78. package/dist/material/entity/chinese/SunWukong.js +6 -0
  79. package/dist/material/entity/chinese/Tianlong.d.ts +2 -0
  80. package/dist/material/entity/chinese/Tianlong.js +6 -0
  81. package/dist/material/entity/chinese/YanluoWang.d.ts +2 -0
  82. package/dist/material/entity/chinese/YanluoWang.js +6 -0
  83. package/dist/material/entity/egyptian/Anubis.d.ts +2 -0
  84. package/dist/material/entity/egyptian/Anubis.js +12 -0
  85. package/dist/material/entity/egyptian/Babai.d.ts +2 -0
  86. package/dist/material/entity/egyptian/Babai.js +12 -0
  87. package/dist/material/entity/egyptian/Beetle.d.ts +2 -0
  88. package/dist/material/entity/egyptian/Beetle.js +36 -0
  89. package/dist/material/entity/egyptian/Bennu.d.ts +2 -0
  90. package/dist/material/entity/egyptian/Bennu.js +12 -0
  91. package/dist/material/entity/egyptian/Cobra.d.ts +2 -0
  92. package/dist/material/entity/egyptian/Cobra.js +12 -0
  93. package/dist/material/entity/egyptian/Isis.d.ts +2 -0
  94. package/dist/material/entity/egyptian/Isis.js +39 -0
  95. package/dist/material/entity/egyptian/Mummy.d.ts +2 -0
  96. package/dist/material/entity/egyptian/Mummy.js +39 -0
  97. package/dist/material/entity/egyptian/Osiris.d.ts +2 -0
  98. package/dist/material/entity/egyptian/Osiris.js +71 -0
  99. package/dist/material/entity/egyptian/Ra.d.ts +2 -0
  100. package/dist/material/entity/egyptian/Ra.js +12 -0
  101. package/dist/material/entity/egyptian/Sphinx.d.ts +2 -0
  102. package/dist/material/entity/egyptian/Sphinx.js +12 -0
  103. package/dist/material/entity/greek/Athena.d.ts +2 -0
  104. package/dist/material/entity/greek/Athena.js +12 -0
  105. package/dist/material/entity/greek/Centaur.d.ts +2 -0
  106. package/dist/material/entity/greek/Centaur.js +12 -0
  107. package/dist/material/entity/greek/Chimera.d.ts +2 -0
  108. package/dist/material/entity/greek/Chimera.js +12 -0
  109. package/dist/material/entity/greek/Cyclops.d.ts +2 -0
  110. package/dist/material/entity/greek/Cyclops.js +21 -0
  111. package/dist/material/entity/greek/Gorgon.d.ts +2 -0
  112. package/dist/material/entity/greek/Gorgon.js +12 -0
  113. package/dist/material/entity/greek/Griffin.d.ts +2 -0
  114. package/dist/material/entity/greek/Griffin.js +12 -0
  115. package/dist/material/entity/greek/Hades.d.ts +2 -0
  116. package/dist/material/entity/greek/Hades.js +12 -0
  117. package/dist/material/entity/greek/Minotaur.d.ts +2 -0
  118. package/dist/material/entity/greek/Minotaur.js +12 -0
  119. package/dist/material/entity/greek/Poseidon.d.ts +2 -0
  120. package/dist/material/entity/greek/Poseidon.js +44 -0
  121. package/dist/material/entity/greek/Zeus.d.ts +2 -0
  122. package/dist/material/entity/greek/Zeus.js +39 -0
  123. package/dist/material/entity/hindu/Asura.d.ts +2 -0
  124. package/dist/material/entity/hindu/Asura.js +66 -0
  125. package/dist/material/entity/hindu/Brahma.d.ts +2 -0
  126. package/dist/material/entity/hindu/Brahma.js +36 -0
  127. package/dist/material/entity/hindu/Ganesh.d.ts +2 -0
  128. package/dist/material/entity/hindu/Ganesh.js +44 -0
  129. package/dist/material/entity/hindu/Garuda.d.ts +2 -0
  130. package/dist/material/entity/hindu/Garuda.js +12 -0
  131. package/dist/material/entity/hindu/Kinnara.d.ts +2 -0
  132. package/dist/material/entity/hindu/Kinnara.js +12 -0
  133. package/dist/material/entity/hindu/Naga.d.ts +2 -0
  134. package/dist/material/entity/hindu/Naga.js +68 -0
  135. package/dist/material/entity/hindu/Rakshasa.d.ts +2 -0
  136. package/dist/material/entity/hindu/Rakshasa.js +12 -0
  137. package/dist/material/entity/hindu/Shiva.d.ts +2 -0
  138. package/dist/material/entity/hindu/Shiva.js +12 -0
  139. package/dist/material/entity/hindu/Vetala.d.ts +2 -0
  140. package/dist/material/entity/hindu/Vetala.js +12 -0
  141. package/dist/material/entity/hindu/Vishnu.d.ts +2 -0
  142. package/dist/material/entity/hindu/Vishnu.js +71 -0
  143. package/dist/material/entity/inca/Amaru.d.ts +2 -0
  144. package/dist/material/entity/inca/Amaru.js +6 -0
  145. package/dist/material/entity/inca/Caiman.d.ts +2 -0
  146. package/dist/material/entity/inca/Caiman.js +6 -0
  147. package/dist/material/entity/inca/Condor.d.ts +2 -0
  148. package/dist/material/entity/inca/Condor.js +6 -0
  149. package/dist/material/entity/inca/Illapa.d.ts +2 -0
  150. package/dist/material/entity/inca/Illapa.js +6 -0
  151. package/dist/material/entity/inca/Inti.d.ts +2 -0
  152. package/dist/material/entity/inca/Inti.js +6 -0
  153. package/dist/material/entity/inca/MamaQucha.d.ts +2 -0
  154. package/dist/material/entity/inca/MamaQucha.js +6 -0
  155. package/dist/material/entity/inca/Pumapunku.d.ts +2 -0
  156. package/dist/material/entity/inca/Pumapunku.js +6 -0
  157. package/dist/material/entity/inca/Supay.d.ts +2 -0
  158. package/dist/material/entity/inca/Supay.js +6 -0
  159. package/dist/material/entity/inca/Ukuku.d.ts +2 -0
  160. package/dist/material/entity/inca/Ukuku.js +6 -0
  161. package/dist/material/entity/inca/Viracocha.d.ts +2 -0
  162. package/dist/material/entity/inca/Viracocha.js +6 -0
  163. package/dist/material/entity/norse/Alf.d.ts +2 -0
  164. package/dist/material/entity/norse/Alf.js +12 -0
  165. package/dist/material/entity/norse/Draugr.d.ts +2 -0
  166. package/dist/material/entity/norse/Draugr.js +12 -0
  167. package/dist/material/entity/norse/Fenrir.d.ts +2 -0
  168. package/dist/material/entity/norse/Fenrir.js +12 -0
  169. package/dist/material/entity/norse/Freya.d.ts +2 -0
  170. package/dist/material/entity/norse/Freya.js +39 -0
  171. package/dist/material/entity/norse/Jotunn.d.ts +2 -0
  172. package/dist/material/entity/norse/Jotunn.js +36 -0
  173. package/dist/material/entity/norse/Loki.d.ts +2 -0
  174. package/dist/material/entity/norse/Loki.js +36 -0
  175. package/dist/material/entity/norse/Odin.d.ts +2 -0
  176. package/dist/material/entity/norse/Odin.js +6 -0
  177. package/dist/material/entity/norse/Thor.d.ts +2 -0
  178. package/dist/material/entity/norse/Thor.js +12 -0
  179. package/dist/material/entity/norse/Troll.d.ts +2 -0
  180. package/dist/material/entity/norse/Troll.js +6 -0
  181. package/dist/material/entity/norse/Valkyrie.d.ts +2 -0
  182. package/dist/material/entity/norse/Valkyrie.js +72 -0
  183. package/dist/material/entity/zulu/Idlozi.d.ts +2 -0
  184. package/dist/material/entity/zulu/Idlozi.js +6 -0
  185. package/dist/material/entity/zulu/Impundulu.d.ts +2 -0
  186. package/dist/material/entity/zulu/Impundulu.js +6 -0
  187. package/dist/material/entity/zulu/Inkanyamba.d.ts +2 -0
  188. package/dist/material/entity/zulu/Inkanyamba.js +6 -0
  189. package/dist/material/entity/zulu/Inkosazana.d.ts +2 -0
  190. package/dist/material/entity/zulu/Inkosazana.js +6 -0
  191. package/dist/material/entity/zulu/Shembe.d.ts +2 -0
  192. package/dist/material/entity/zulu/Shembe.js +6 -0
  193. package/dist/material/entity/zulu/Tokoloshe.d.ts +2 -0
  194. package/dist/material/entity/zulu/Tokoloshe.js +6 -0
  195. package/dist/material/entity/zulu/Umvelinqangi.d.ts +2 -0
  196. package/dist/material/entity/zulu/Umvelinqangi.js +6 -0
  197. package/dist/material/entity/zulu/Unkulunkulu.d.ts +2 -0
  198. package/dist/material/entity/zulu/Unkulunkulu.js +6 -0
  199. package/dist/material/entity/zulu/Unwabu.d.ts +2 -0
  200. package/dist/material/entity/zulu/Unwabu.js +6 -0
  201. package/dist/material/entity/zulu/Werehyena.d.ts +2 -0
  202. package/dist/material/entity/zulu/Werehyena.js +6 -0
  203. package/dist/rules/ChooseDraftTokenRule.d.ts +15 -0
  204. package/dist/rules/ChooseDraftTokenRule.js +103 -0
  205. package/dist/rules/DrawDestinyCardRule.d.ts +7 -0
  206. package/dist/rules/DrawDestinyCardRule.js +116 -0
  207. package/dist/rules/EndGameRule.d.ts +5 -0
  208. package/dist/rules/EndGameRule.js +44 -0
  209. package/dist/rules/PlaceCardsRule.d.ts +13 -0
  210. package/dist/rules/PlaceCardsRule.js +192 -0
  211. package/dist/rules/PlaceTokenRule.d.ts +13 -0
  212. package/dist/rules/PlaceTokenRule.js +139 -0
  213. package/dist/rules/RuleId.d.ts +36 -0
  214. package/dist/rules/RuleId.js +40 -0
  215. package/dist/rules/UpkeepRule.d.ts +9 -0
  216. package/dist/rules/UpkeepRule.js +140 -0
  217. package/dist/rules/effects/AlfEffectRule.d.ts +10 -0
  218. package/dist/rules/effects/AlfEffectRule.js +59 -0
  219. package/dist/rules/effects/AnubisEffectRule.d.ts +9 -0
  220. package/dist/rules/effects/AnubisEffectRule.js +49 -0
  221. package/dist/rules/effects/AthenaEffectRule.d.ts +9 -0
  222. package/dist/rules/effects/AthenaEffectRule.js +104 -0
  223. package/dist/rules/effects/BabaiEffectRule.d.ts +6 -0
  224. package/dist/rules/effects/BabaiEffectRule.js +40 -0
  225. package/dist/rules/effects/BennuEffectRule.d.ts +6 -0
  226. package/dist/rules/effects/BennuEffectRule.js +35 -0
  227. package/dist/rules/effects/CentaurEffectRule.d.ts +15 -0
  228. package/dist/rules/effects/CentaurEffectRule.js +77 -0
  229. package/dist/rules/effects/ChimeraEffectRule.d.ts +8 -0
  230. package/dist/rules/effects/ChimeraEffectRule.js +51 -0
  231. package/dist/rules/effects/CobraEffectRule.d.ts +12 -0
  232. package/dist/rules/effects/CobraEffectRule.js +55 -0
  233. package/dist/rules/effects/CyclopsEffectRule.d.ts +8 -0
  234. package/dist/rules/effects/CyclopsEffectRule.js +87 -0
  235. package/dist/rules/effects/DraugrEffectRule.d.ts +11 -0
  236. package/dist/rules/effects/DraugrEffectRule.js +56 -0
  237. package/dist/rules/effects/FenrirEffectRule.d.ts +15 -0
  238. package/dist/rules/effects/FenrirEffectRule.js +132 -0
  239. package/dist/rules/effects/GarudaEffectRule.d.ts +9 -0
  240. package/dist/rules/effects/GarudaEffectRule.js +84 -0
  241. package/dist/rules/effects/GorgonEffectRule.d.ts +11 -0
  242. package/dist/rules/effects/GorgonEffectRule.js +78 -0
  243. package/dist/rules/effects/GriffinEffectRule.d.ts +9 -0
  244. package/dist/rules/effects/GriffinEffectRule.js +41 -0
  245. package/dist/rules/effects/HadesEffectRule.d.ts +5 -0
  246. package/dist/rules/effects/HadesEffectRule.js +87 -0
  247. package/dist/rules/effects/KinnaraEffectRule.d.ts +12 -0
  248. package/dist/rules/effects/KinnaraEffectRule.js +84 -0
  249. package/dist/rules/effects/MinotaurEffectRule.d.ts +9 -0
  250. package/dist/rules/effects/MinotaurEffectRule.js +39 -0
  251. package/dist/rules/effects/OdinEffectRule.d.ts +11 -0
  252. package/dist/rules/effects/OdinEffectRule.js +52 -0
  253. package/dist/rules/effects/RaEffectRule.d.ts +5 -0
  254. package/dist/rules/effects/RaEffectRule.js +87 -0
  255. package/dist/rules/effects/RakshasaEffectRule.d.ts +13 -0
  256. package/dist/rules/effects/RakshasaEffectRule.js +48 -0
  257. package/dist/rules/effects/ResolveEffectsRule.d.ts +6 -0
  258. package/dist/rules/effects/ResolveEffectsRule.js +73 -0
  259. package/dist/rules/effects/ShivaEffectRule.d.ts +10 -0
  260. package/dist/rules/effects/ShivaEffectRule.js +82 -0
  261. package/dist/rules/effects/SphinxEffectRule.d.ts +9 -0
  262. package/dist/rules/effects/SphinxEffectRule.js +47 -0
  263. package/dist/rules/effects/ThorEffectRule.d.ts +11 -0
  264. package/dist/rules/effects/ThorEffectRule.js +56 -0
  265. package/dist/rules/effects/TriggerEffectsRule.d.ts +11 -0
  266. package/dist/rules/effects/TriggerEffectsRule.js +159 -0
  267. package/dist/rules/effects/VetalaEffectRule.d.ts +11 -0
  268. package/dist/rules/effects/VetalaEffectRule.js +59 -0
  269. package/package.json +33 -0
@@ -0,0 +1,68 @@
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 __values = (this && this.__values) || function(o) {
18
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
19
+ if (m) return m.call(o);
20
+ if (o && typeof o.length === "number") return {
21
+ next: function () {
22
+ if (o && i >= o.length) o = void 0;
23
+ return { value: o && o[i++], done: !o };
24
+ }
25
+ };
26
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Naga = void 0;
30
+ var LocationType_1 = require("../../LocationType");
31
+ var MaterialType_1 = require("../../MaterialType");
32
+ var Effect_1 = require("../Effect");
33
+ exports.Naga = {
34
+ invoke: [{}, { gem: 2 }, { gem: 1 }],
35
+ effect: {
36
+ trigger: Effect_1.isCrushed,
37
+ rule: (function (_super) {
38
+ __extends(NagaEffectRule, _super);
39
+ function NagaEffectRule() {
40
+ return _super !== null && _super.apply(this, arguments) || this;
41
+ }
42
+ NagaEffectRule.prototype.playEffect = function () {
43
+ var e_1, _a;
44
+ var _this = this;
45
+ var moves = [];
46
+ var opponents = this.game.players.filter(function (player) { return player !== _this.player; });
47
+ try {
48
+ for (var opponents_1 = __values(opponents), opponents_1_1 = opponents_1.next(); !opponents_1_1.done; opponents_1_1 = opponents_1.next()) {
49
+ var opponent = opponents_1_1.value;
50
+ var favor = this.material(MaterialType_1.MaterialType.FavorToken).location(LocationType_1.LocationType.PlayerFavor).player(opponent);
51
+ if (favor.getQuantity()) {
52
+ moves.push(favor.deleteItem(1));
53
+ }
54
+ }
55
+ }
56
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
57
+ finally {
58
+ try {
59
+ if (opponents_1_1 && !opponents_1_1.done && (_a = opponents_1.return)) _a.call(opponents_1);
60
+ }
61
+ finally { if (e_1) throw e_1.error; }
62
+ }
63
+ return moves;
64
+ };
65
+ return NagaEffectRule;
66
+ }(Effect_1.PlayerEffectRule))
67
+ }
68
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Rakshasa: EntityDescription;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Rakshasa = void 0;
4
+ var RakshasaEffectRule_1 = require("../../../rules/effects/RakshasaEffectRule");
5
+ var Effect_1 = require("../Effect");
6
+ exports.Rakshasa = {
7
+ invoke: [{ gem: 1 }, { favor: 1 }, { gem: 1 }],
8
+ effect: {
9
+ trigger: function (effect) { return effect.type === Effect_1.TriggerEventType.Infinite; },
10
+ rule: RakshasaEffectRule_1.RakshasaEffectRule
11
+ }
12
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Shiva: EntityDescription;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Shiva = void 0;
4
+ var ShivaEffectRule_1 = require("../../../rules/effects/ShivaEffectRule");
5
+ var Effect_1 = require("../Effect");
6
+ exports.Shiva = {
7
+ invoke: [{ gem: 2 }, {}, { gem: 1, favor: 1 }],
8
+ effect: {
9
+ trigger: Effect_1.oncePerTurn,
10
+ rule: ShivaEffectRule_1.ShivaEffectRule
11
+ }
12
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Vetala: EntityDescription;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Vetala = void 0;
4
+ var VetalaEffectRule_1 = require("../../../rules/effects/VetalaEffectRule");
5
+ var Effect_1 = require("../Effect");
6
+ exports.Vetala = {
7
+ invoke: [{}, { gem: 1 }, { favor: 1 }],
8
+ effect: {
9
+ trigger: Effect_1.isPlaced,
10
+ rule: VetalaEffectRule_1.VetalaEffectRule
11
+ }
12
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Vishnu: EntityDescription;
@@ -0,0 +1,71 @@
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 __read = (this && this.__read) || function (o, n) {
18
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
19
+ if (!m) return o;
20
+ var i = m.call(o), r, ar = [], e;
21
+ try {
22
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
23
+ }
24
+ catch (error) { e = { error: error }; }
25
+ finally {
26
+ try {
27
+ if (r && !r.done && (m = i["return"])) m.call(i);
28
+ }
29
+ finally { if (e) throw e.error; }
30
+ }
31
+ return ar;
32
+ };
33
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
34
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
35
+ if (ar || !(i in from)) {
36
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
37
+ ar[i] = from[i];
38
+ }
39
+ }
40
+ return to.concat(ar || Array.prototype.slice.call(from));
41
+ };
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.Vishnu = void 0;
44
+ var LocationType_1 = require("../../LocationType");
45
+ var MaterialType_1 = require("../../MaterialType");
46
+ var Pantheon_1 = require("../../Pantheon");
47
+ var Effect_1 = require("../Effect");
48
+ exports.Vishnu = {
49
+ invoke: [{}, { gem: 1, favor: 1 }, { gem: 1 }],
50
+ effect: {
51
+ trigger: Effect_1.isPlaced,
52
+ rule: (function (_super) {
53
+ __extends(VishnuEffectRule, _super);
54
+ function VishnuEffectRule() {
55
+ return _super !== null && _super.apply(this, arguments) || this;
56
+ }
57
+ VishnuEffectRule.prototype.playEffect = function () {
58
+ var tokensOnCards = this.material(MaterialType_1.MaterialType.DraftToken).location(LocationType_1.LocationType.OnEntityCard).getItems();
59
+ var cardsWithToken = tokensOnCards.map(function (item) { return item.location.parent; });
60
+ var godsToExile = this.material(MaterialType_1.MaterialType.EntityCard)
61
+ .location(LocationType_1.LocationType.SanctuaryGodSpot)
62
+ .index(function (index) { return !cardsWithToken.includes(index); });
63
+ if (!godsToExile.length)
64
+ return [];
65
+ var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
66
+ return __spreadArray(__spreadArray([], __read(godsToExile.deleteItems()), false), [pantheon.gainFavor(godsToExile.length * 2)], false);
67
+ };
68
+ return VishnuEffectRule;
69
+ }(Effect_1.PlayerEffectRule))
70
+ }
71
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Amaru: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Amaru = void 0;
4
+ exports.Amaru = {
5
+ invoke: [{ gem: 1 }, {}, { favor: 1 }]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Caiman: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Caiman = void 0;
4
+ exports.Caiman = {
5
+ invoke: [{}, { gem: 1, favor: 1 }, { gem: 1 }]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Condor: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Condor = void 0;
4
+ exports.Condor = {
5
+ invoke: [{ gem: 1 }, {}, {}]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Illapa: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Illapa = void 0;
4
+ exports.Illapa = {
5
+ invoke: [{ favor: 2 }, {}, { gem: 1 }]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Inti: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Inti = void 0;
4
+ exports.Inti = {
5
+ invoke: [{ favor: 1 }, {}, {}]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const MamaQucha: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MamaQucha = void 0;
4
+ exports.MamaQucha = {
5
+ invoke: [{}, { favor: 1 }, { gem: 2 }]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Pumapunku: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Pumapunku = void 0;
4
+ exports.Pumapunku = {
5
+ invoke: [{}, { favor: 1 }, {}]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Supay: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Supay = void 0;
4
+ exports.Supay = {
5
+ invoke: [{}, {}, { gem: 2, favor: 1 }]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Ukuku: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Ukuku = void 0;
4
+ exports.Ukuku = {
5
+ invoke: [{ gem: 1 }, { gem: 2 }, {}]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Viracocha: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Viracocha = void 0;
4
+ exports.Viracocha = {
5
+ invoke: [{}, { favor: 1 }, {}]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Alf: EntityDescription;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Alf = void 0;
4
+ var AlfEffectRule_1 = require("../../../rules/effects/AlfEffectRule");
5
+ var Effect_1 = require("../Effect");
6
+ exports.Alf = {
7
+ invoke: [{ favor: 1 }, {}, { gem: 2 }],
8
+ effect: {
9
+ trigger: Effect_1.oncePerTurn,
10
+ rule: AlfEffectRule_1.AlfEffectRule
11
+ }
12
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Draugr: EntityDescription;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Draugr = void 0;
4
+ var DraugrEffectRule_1 = require("../../../rules/effects/DraugrEffectRule");
5
+ var Effect_1 = require("../Effect");
6
+ exports.Draugr = {
7
+ invoke: [{}, { gem: 1 }, { favor: 1 }],
8
+ effect: {
9
+ trigger: Effect_1.isPlacedCrush,
10
+ rule: DraugrEffectRule_1.DraugrEffectRule
11
+ }
12
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Fenrir: EntityDescription;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Fenrir = void 0;
4
+ var FenrirEffectRule_1 = require("../../../rules/effects/FenrirEffectRule");
5
+ var Effect_1 = require("../Effect");
6
+ exports.Fenrir = {
7
+ invoke: [{}, { favor: 1 }, { gem: 1 }],
8
+ effect: {
9
+ trigger: Effect_1.isPlaced,
10
+ rule: FenrirEffectRule_1.FenrirChoiceRule
11
+ }
12
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Freya: EntityDescription;
@@ -0,0 +1,39 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Freya = void 0;
19
+ var Entity_1 = require("../../Entity");
20
+ var Pantheon_1 = require("../../Pantheon");
21
+ var Effect_1 = require("../Effect");
22
+ exports.Freya = {
23
+ invoke: [{ gem: 2 }, { favor: 1 }, {}],
24
+ effect: {
25
+ trigger: Effect_1.isEndOfGame,
26
+ rule: (function (_super) {
27
+ __extends(FreyaEffectRule, _super);
28
+ function FreyaEffectRule() {
29
+ return _super !== null && _super.apply(this, arguments) || this;
30
+ }
31
+ FreyaEffectRule.prototype.playEffect = function () {
32
+ var pantheon = new Pantheon_1.Pantheon(this.game, this.player);
33
+ var gain = pantheon.coveredEntities.id(function (id) { return (0, Entity_1.isCreature)(id.front); }).length;
34
+ return gain > 0 ? [pantheon.gainFavor(gain)] : [];
35
+ };
36
+ return FreyaEffectRule;
37
+ }(Effect_1.PlayerEffectRule))
38
+ }
39
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Jotunn: EntityDescription;
@@ -0,0 +1,36 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Jotunn = void 0;
19
+ var Pantheon_1 = require("../../Pantheon");
20
+ var Effect_1 = require("../Effect");
21
+ exports.Jotunn = {
22
+ invoke: [{ gem: 1 }, { gem: 1 }, {}],
23
+ effect: {
24
+ trigger: Effect_1.isPlacedCrush,
25
+ rule: (function (_super) {
26
+ __extends(JotunnEffectRule, _super);
27
+ function JotunnEffectRule() {
28
+ return _super !== null && _super.apply(this, arguments) || this;
29
+ }
30
+ JotunnEffectRule.prototype.playEffect = function () {
31
+ return [new Pantheon_1.Pantheon(this.game, this.player).gainGems(2)];
32
+ };
33
+ return JotunnEffectRule;
34
+ }(Effect_1.PlayerEffectRule))
35
+ }
36
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Loki: EntityDescription;
@@ -0,0 +1,36 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports.Loki = void 0;
19
+ var UpkeepRule_1 = require("../../../rules/UpkeepRule");
20
+ var Effect_1 = require("../Effect");
21
+ exports.Loki = {
22
+ invoke: [{}, { gem: 2 }, { gem: 1, favor: 2 }],
23
+ effect: {
24
+ trigger: Effect_1.isPlaced,
25
+ rule: (function (_super) {
26
+ __extends(LokiEffectRule, _super);
27
+ function LokiEffectRule() {
28
+ return _super !== null && _super.apply(this, arguments) || this;
29
+ }
30
+ LokiEffectRule.prototype.playEffect = function () {
31
+ return new UpkeepRule_1.UpkeepRule(this.game).completeSanctuary(this.player);
32
+ };
33
+ return LokiEffectRule;
34
+ }(Effect_1.PlayerEffectRule))
35
+ }
36
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Odin: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Odin = void 0;
4
+ exports.Odin = {
5
+ invoke: [{ favor: 1 }, { favor: 2 }, { favor: 1 }]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Thor: EntityDescription;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Thor = void 0;
4
+ var ThorEffectRule_1 = require("../../../rules/effects/ThorEffectRule");
5
+ var Effect_1 = require("../Effect");
6
+ exports.Thor = {
7
+ invoke: [{ favor: 2 }, {}, {}],
8
+ effect: {
9
+ trigger: Effect_1.isPlaced,
10
+ rule: ThorEffectRule_1.ThorEffectRule
11
+ }
12
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Troll: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Troll = void 0;
4
+ exports.Troll = {
5
+ invoke: [{}, { gem: 1 }, { favor: 1 }]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Valkyrie: EntityDescription;
@@ -0,0 +1,72 @@
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 __values = (this && this.__values) || function(o) {
18
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
19
+ if (m) return m.call(o);
20
+ if (o && typeof o.length === "number") return {
21
+ next: function () {
22
+ if (o && i >= o.length) o = void 0;
23
+ return { value: o && o[i++], done: !o };
24
+ }
25
+ };
26
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.Valkyrie = void 0;
30
+ var Entity_1 = require("../../Entity");
31
+ var LocationType_1 = require("../../LocationType");
32
+ var MaterialType_1 = require("../../MaterialType");
33
+ var Pantheon_1 = require("../../Pantheon");
34
+ var Effect_1 = require("../Effect");
35
+ exports.Valkyrie = {
36
+ invoke: [{ gem: 1 }, { gem: 2 }, {}],
37
+ effect: {
38
+ trigger: Effect_1.isPlaced,
39
+ rule: (function (_super) {
40
+ __extends(ValkyrieEffectRule, _super);
41
+ function ValkyrieEffectRule() {
42
+ return _super !== null && _super.apply(this, arguments) || this;
43
+ }
44
+ ValkyrieEffectRule.prototype.playEffect = function () {
45
+ var e_1, _a;
46
+ var _this = this;
47
+ var moves = [];
48
+ var opponents = this.game.players.filter(function (player) { return player !== _this.player; });
49
+ try {
50
+ for (var opponents_1 = __values(opponents), opponents_1_1 = opponents_1.next(); !opponents_1_1.done; opponents_1_1 = opponents_1.next()) {
51
+ var opponent = opponents_1_1.value;
52
+ var favor = this.material(MaterialType_1.MaterialType.FavorToken).location(LocationType_1.LocationType.PlayerFavor).player(opponent);
53
+ var pantheon = new Pantheon_1.Pantheon(this.game, opponent);
54
+ var gods = pantheon.visibleEntities.id(function (id) { return (0, Entity_1.isGod)(id.front); }).length;
55
+ if (gods && favor.getQuantity()) {
56
+ moves.push(favor.deleteItem(Math.min(favor.getQuantity(), gods)));
57
+ }
58
+ }
59
+ }
60
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
61
+ finally {
62
+ try {
63
+ if (opponents_1_1 && !opponents_1_1.done && (_a = opponents_1.return)) _a.call(opponents_1);
64
+ }
65
+ finally { if (e_1) throw e_1.error; }
66
+ }
67
+ return moves;
68
+ };
69
+ return ValkyrieEffectRule;
70
+ }(Effect_1.PlayerEffectRule))
71
+ }
72
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Idlozi: EntityDescription;
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Idlozi = void 0;
4
+ exports.Idlozi = {
5
+ invoke: [{ gem: 1 }, {}, { gem: 1 }]
6
+ };
@@ -0,0 +1,2 @@
1
+ import { EntityDescription } from '../EntityDescription';
2
+ export declare const Impundulu: EntityDescription;