@gamepark/zenith 0.1.8 → 0.1.10

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 (91) hide show
  1. package/dist/TeamColor.d.ts +0 -9
  2. package/dist/TeamColor.d.ts.map +1 -1
  3. package/dist/TeamColor.js +0 -8
  4. package/dist/TeamColor.js.map +1 -1
  5. package/dist/ZenithBot.d.ts.map +1 -1
  6. package/dist/ZenithBot.js +2 -4
  7. package/dist/ZenithBot.js.map +1 -1
  8. package/dist/ZenithOptions.d.ts +7 -1
  9. package/dist/ZenithOptions.d.ts.map +1 -1
  10. package/dist/ZenithOptions.js +25 -1
  11. package/dist/ZenithOptions.js.map +1 -1
  12. package/dist/ZenithRules.d.ts +2 -1
  13. package/dist/ZenithRules.d.ts.map +1 -1
  14. package/dist/ZenithRules.js +6 -5
  15. package/dist/ZenithRules.js.map +1 -1
  16. package/dist/ZenithSetup.d.ts +3 -2
  17. package/dist/ZenithSetup.d.ts.map +1 -1
  18. package/dist/ZenithSetup.js +38 -6
  19. package/dist/ZenithSetup.js.map +1 -1
  20. package/dist/material/LocationType.d.ts +2 -1
  21. package/dist/material/LocationType.d.ts.map +1 -1
  22. package/dist/material/LocationType.js +1 -0
  23. package/dist/material/LocationType.js.map +1 -1
  24. package/dist/material/effect/Effect.d.ts +6 -1
  25. package/dist/material/effect/Effect.d.ts.map +1 -1
  26. package/dist/material/effect/Effect.js.map +1 -1
  27. package/dist/material/effect/EffectType.d.ts +2 -1
  28. package/dist/material/effect/EffectType.d.ts.map +1 -1
  29. package/dist/material/effect/EffectType.js +1 -0
  30. package/dist/material/effect/EffectType.js.map +1 -1
  31. package/dist/rules/CustomMoveType.d.ts +2 -1
  32. package/dist/rules/CustomMoveType.d.ts.map +1 -1
  33. package/dist/rules/CustomMoveType.js +1 -0
  34. package/dist/rules/CustomMoveType.js.map +1 -1
  35. package/dist/rules/Memory.d.ts +2 -1
  36. package/dist/rules/Memory.d.ts.map +1 -1
  37. package/dist/rules/Memory.js +1 -0
  38. package/dist/rules/Memory.js.map +1 -1
  39. package/dist/rules/MulliganRule.d.ts.map +1 -1
  40. package/dist/rules/MulliganRule.js +2 -2
  41. package/dist/rules/MulliganRule.js.map +1 -1
  42. package/dist/rules/PickOrderRule.d.ts.map +1 -1
  43. package/dist/rules/PickOrderRule.js +2 -3
  44. package/dist/rules/PickOrderRule.js.map +1 -1
  45. package/dist/rules/PlayCardRule.d.ts.map +1 -1
  46. package/dist/rules/PlayCardRule.js +3 -4
  47. package/dist/rules/PlayCardRule.js.map +1 -1
  48. package/dist/rules/RefillRule.d.ts +1 -1
  49. package/dist/rules/RefillRule.d.ts.map +1 -1
  50. package/dist/rules/RefillRule.js +3 -3
  51. package/dist/rules/RefillRule.js.map +1 -1
  52. package/dist/rules/RuleId.d.ts +2 -1
  53. package/dist/rules/RuleId.d.ts.map +1 -1
  54. package/dist/rules/RuleId.js +1 -0
  55. package/dist/rules/RuleId.js.map +1 -1
  56. package/dist/rules/discard-action/TechnologyActions.d.ts.map +1 -1
  57. package/dist/rules/discard-action/TechnologyActions.js +171 -0
  58. package/dist/rules/discard-action/TechnologyActions.js.map +1 -1
  59. package/dist/rules/effect/AgentEffects.spec.js +22 -17
  60. package/dist/rules/effect/AgentEffects.spec.js.map +1 -1
  61. package/dist/rules/effect/EffectEdgeCases.spec.js +121 -3
  62. package/dist/rules/effect/EffectEdgeCases.spec.js.map +1 -1
  63. package/dist/rules/effect/ExileRule.d.ts +2 -1
  64. package/dist/rules/effect/ExileRule.d.ts.map +1 -1
  65. package/dist/rules/effect/ExileRule.js +6 -0
  66. package/dist/rules/effect/ExileRule.js.map +1 -1
  67. package/dist/rules/effect/StealZenithiumRule.d.ts +8 -0
  68. package/dist/rules/effect/StealZenithiumRule.d.ts.map +1 -0
  69. package/dist/rules/effect/StealZenithiumRule.js +29 -0
  70. package/dist/rules/effect/StealZenithiumRule.js.map +1 -0
  71. package/dist/rules/effect/index.d.ts +1 -0
  72. package/dist/rules/effect/index.d.ts.map +1 -1
  73. package/dist/rules/effect/index.js +1 -0
  74. package/dist/rules/effect/index.js.map +1 -1
  75. package/dist/rules/helper/EffectHelper.d.ts.map +1 -1
  76. package/dist/rules/helper/EffectHelper.js +3 -0
  77. package/dist/rules/helper/EffectHelper.js.map +1 -1
  78. package/dist/rules/helper/EffectRuleIds.d.ts.map +1 -1
  79. package/dist/rules/helper/EffectRuleIds.js +2 -1
  80. package/dist/rules/helper/EffectRuleIds.js.map +1 -1
  81. package/dist/rules/helper/PlayerHelper.d.ts +7 -2
  82. package/dist/rules/helper/PlayerHelper.d.ts.map +1 -1
  83. package/dist/rules/helper/PlayerHelper.js +22 -3
  84. package/dist/rules/helper/PlayerHelper.js.map +1 -1
  85. package/dist/tutorial/TutorialSetup.d.ts +1 -0
  86. package/dist/tutorial/TutorialSetup.d.ts.map +1 -1
  87. package/dist/tutorial/TutorialSetup.js +6 -1
  88. package/dist/tutorial/TutorialSetup.js.map +1 -1
  89. package/dist/tutorial/TutorialSetup.spec.js +1 -1
  90. package/dist/tutorial/TutorialSetup.spec.js.map +1 -1
  91. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"MulliganRule.js","sourceRoot":"","sources":["../../src/rules/MulliganRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAE,cAAc,EAA0B,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAC5H,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEvD,OAAO,EAAE,YAAY,EAAa,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,OAAO,YAAa,SAAQ,gBAAgB;IAChD,yBAAyB,CAAC,MAAgB;QACxC,OAAO;YACL,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC;gBAChC,IAAI,EAAE,YAAY,CAAC,YAAY;aAChC,CAAC;YACF,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC;SAC7C,CAAA;IACH,CAAC;IAED,YAAY,CAAC,IAAgB;QAC3B,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAA;QAC3D,MAAM,MAAM,GAAa,IAAI,CAAC,IAAI,CAAA;QAClC,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACnD,MAAM,KAAK,GAAmB,EAAE,CAAA;QAEhC,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;YACtB,KAAK,CAAC,IAAI,CACR,IAAI,CAAC,UAAU,CACb;gBACE,IAAI,EAAE,YAAY,CAAC,UAAU;gBAC7B,MAAM,EAAE,MAAM;aACf,EACD,aAAa,CACd,CACF,CAAA;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;QAEtC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,gBAAgB,CAAC,MAAgB;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAqB,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;IACtE,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAA;IACtF,CAAC;IAED,cAAc,CAAC,IAAc;QAC3B,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC,YAAY;YAAE,OAAO,EAAE,CAAA;QAChH,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QAC1E,MAAM,MAAM,GAAa,IAAI,CAAC,QAAQ,CAAC,MAAO,CAAA;QAC9C,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAA;QACnD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,CAAC,EAAE,MAAM,CAAC,CAAA;QACzD,OAAO,EAAE,CAAA;IACX,CAAC;IAED,OAAO,CAAC,QAAkB;QACxB,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACjG,CAAC;IAED,wBAAwB;QACtB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACtC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAY,MAAM,CAAC,WAAW,CAAC,CAAA;YAC9D,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAA;YAClF,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAA;QACpE,CAAC;QAGD,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC;IAED,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,MAAM,CAAa,MAAM,CAAC,SAAS,CAAC,CAAA;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"MulliganRule.js","sourceRoot":"","sources":["../../src/rules/MulliganRule.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PickOrderRule.d.ts","sourceRoot":"","sources":["../../src/rules/PickOrderRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAMtC,qBAAa,aAAc,SAAQ,gBAAgB;IACjD,WAAW;IAKX,yBAAyB,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY,EAAE;IAS3D,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ;IAKvC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,EAAE;IAU9C,wBAAwB,IAAI,YAAY,EAAE;CAO3C"}
1
+ {"version":3,"file":"PickOrderRule.d.ts","sourceRoot":"","sources":["../../src/rules/PickOrderRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,YAAY,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAClG,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AAMtC,qBAAa,aAAc,SAAQ,gBAAgB;IACjD,WAAW;IAKX,yBAAyB,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY,EAAE;IAS3D,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ;IAIvC,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,EAAE;IAU9C,wBAAwB,IAAI,YAAY,EAAE;CAO3C"}
@@ -1,5 +1,5 @@
1
1
  import { isCustomMoveType, SimultaneousRule } from '@gamepark/rules-api';
2
- import { getTeamColor } from '../TeamColor';
2
+ import { PlayerHelper } from './helper/PlayerHelper';
3
3
  import { CustomMoveType } from './CustomMoveType';
4
4
  import { Memory } from './Memory';
5
5
  import { RuleId } from './RuleId';
@@ -16,8 +16,7 @@ export class PickOrderRule extends SimultaneousRule {
16
16
  return [this.customMove(CustomMoveType.PickFirst, player), this.customMove(CustomMoveType.PickFirst, teammate)];
17
17
  }
18
18
  getTeammate(player) {
19
- const team = getTeamColor(player);
20
- return this.game.players.find((p) => p !== player && getTeamColor(p) === team);
19
+ return new PlayerHelper(this.game, player).teammate;
21
20
  }
22
21
  onCustomMove(move) {
23
22
  if (!isCustomMoveType(CustomMoveType.PickFirst)(move))
@@ -1 +1 @@
1
- {"version":3,"file":"PickOrderRule.js","sourceRoot":"","sources":["../../src/rules/PickOrderRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAgB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,OAAO,aAAc,SAAQ,gBAAgB;IACjD,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,yBAAyB,CAAC,MAAgB;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACzC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;IACjH,CAAC;IAED,WAAW,CAAC,MAAgB;QAC1B,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAA;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,YAAY,CAAC,CAAC,CAAC,KAAK,IAAI,CAAE,CAAA;IACjF,CAAC;IAED,YAAY,CAAC,IAAgB;QAC3B,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAA;QAEhE,MAAM,YAAY,GAAa,IAAI,CAAC,IAAI,CAAA;QACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAA;QAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,wBAAwB;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAW,MAAM,CAAC,SAAS,CAAC,CAAA;QAE3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAA;QAE9C,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;IAC7D,CAAC;CACF"}
1
+ {"version":3,"file":"PickOrderRule.js","sourceRoot":"","sources":["../../src/rules/PickOrderRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,gBAAgB,EAAgB,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAElG,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,MAAM,OAAO,aAAc,SAAQ,gBAAgB;IACjD,WAAW;QACT,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAC7B,OAAO,EAAE,CAAA;IACX,CAAC;IAED,yBAAyB,CAAC,MAAgB;QACxC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE,CAAC;YAChD,OAAO,EAAE,CAAA;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAA;QACzC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;IACjH,CAAC;IAED,WAAW,CAAC,MAAgB;QAC1B,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,QAAS,CAAA;IACtD,CAAC;IAED,YAAY,CAAC,IAAgB;QAC3B,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAA;QAEhE,MAAM,YAAY,GAAa,IAAI,CAAC,IAAI,CAAA;QACxC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAA;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAA;QAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,wBAAwB;QACtB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAW,MAAM,CAAC,SAAS,CAAC,CAAA;QAE3D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAA;QAE9C,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAA;IAC7D,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"PlayCardRule.d.ts","sourceRoot":"","sources":["../../src/rules/PlayCardRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAMpK,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGpD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,qBAAa,YAAa,SAAQ,cAAc;IAC9C,WAAW;IAUX,cAAc,IAAI,YAAY,EAAE;IAkBhC,gBAAgB,CAAC,KAAK,EAAE,QAAQ;IAwBhC,aAAa,CAAC,KAAK,EAAE,QAAQ;IAM7B,IAAI,YAAY,iBAEf;IAED,YAAY,CAAC,IAAI,EAAE,UAAU;IAgB7B,aAAa,CAAC,IAAI,EAAE,QAAQ;IA6C5B,IAAI,eAAe,oBAElB;IAED,IAAI,YAAY,iBAEf;IAED,IAAI,IAAI,qCAEP;CACF"}
1
+ {"version":3,"file":"PlayCardRule.d.ts","sourceRoot":"","sources":["../../src/rules/PlayCardRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAKpK,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAGpD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,qBAAa,YAAa,SAAQ,cAAc;IAC9C,WAAW;IAUX,cAAc,IAAI,YAAY,EAAE;IAkBhC,gBAAgB,CAAC,KAAK,EAAE,QAAQ;IAwBhC,aAAa,CAAC,KAAK,EAAE,QAAQ;IAM7B,IAAI,YAAY,iBAEf;IAED,YAAY,CAAC,IAAI,EAAE,UAAU;IAgB7B,aAAa,CAAC,IAAI,EAAE,QAAQ;IA6C5B,IAAI,eAAe,oBAElB;IAED,IAAI,YAAY,iBAEf;IAED,IAAI,IAAI,qCAEP;CACF"}
@@ -2,7 +2,6 @@ import { isCustomMoveType, isMoveItemType, isStartPlayerTurn, isStartRule, Playe
2
2
  import { Agents } from '../material/Agents';
3
3
  import { LocationType } from '../material/LocationType';
4
4
  import { MaterialType } from '../material/MaterialType';
5
- import { getAllowedPlanets, getTeamColor } from '../TeamColor';
6
5
  import { CreditHelper } from './helper/CreditHelper';
7
6
  import { CustomMoveType } from './CustomMoveType';
8
7
  import { EffectHelper } from './helper/EffectHelper';
@@ -41,7 +40,7 @@ export class PlayCardRule extends PlayerTurnRule {
41
40
  const influenceHelper = this.influenceHelper;
42
41
  const playerHelper = this.playerHelper;
43
42
  const is4Players = this.game.players.length === 4;
44
- const allowedPlanets = getAllowedPlanets(this.player);
43
+ const allowedPlanets = playerHelper.allowedPlanets;
45
44
  return cards
46
45
  .filter((item) => {
47
46
  if (influenceHelper.getCost(item) > playerHelper.credits)
@@ -56,7 +55,7 @@ export class PlayCardRule extends PlayerTurnRule {
56
55
  .moveItems((item) => ({
57
56
  type: LocationType.Influence,
58
57
  id: Agents[item.id].influence,
59
- player: getTeamColor(this.player)
58
+ player: this.playerHelper.team
60
59
  }));
61
60
  }
62
61
  discardAgents(cards) {
@@ -120,7 +119,7 @@ export class PlayCardRule extends PlayerTurnRule {
120
119
  return moves;
121
120
  }
122
121
  get influenceHelper() {
123
- return new InfluenceHelper(this.game, getTeamColor(this.player));
122
+ return new InfluenceHelper(this.game, this.playerHelper.team);
124
123
  }
125
124
  get playerHelper() {
126
125
  return new PlayerHelper(this.game, this.player);
@@ -1 +1 @@
1
- {"version":3,"file":"PlayCardRule.js","sourceRoot":"","sources":["../../src/rules/PlayCardRule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PlayCardRule.js","sourceRoot":"","sources":["../../src/rules/PlayCardRule.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ export declare class RefillRule extends PlayerTurnRule {
8
8
  get currentTeam(): TeamColor;
9
9
  getTeamPlayers(team: TeamColor): PlayerId[];
10
10
  get nextPlayer(): PlayerId;
11
- get handSize(): 4 | 5 | 6;
11
+ get handSize(): 5 | 4 | 6;
12
12
  get deckHelper(): DeckHelper;
13
13
  refillHand(maxCount: number): MaterialMove[];
14
14
  afterItemMove(move: ItemMove): MaterialMove[];
@@ -1 +1 @@
1
- {"version":3,"file":"RefillRule.d.ts","sourceRoot":"","sources":["../../src/rules/RefillRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIrH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAgB,SAAS,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAKhD,qBAAa,UAAW,SAAQ,cAAc;IAC5C,WAAW;IA8BX,IAAI,YAAY,IAAI,YAAY,EAAE,CAwBjC;IAED,IAAI,WAAW,IAAI,SAAS,CAE3B;IAED,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,EAAE;IAI3C,IAAI,UAAU,IAAI,QAAQ,CAGzB;IAED,IAAI,QAAQ,cAYX;IAED,IAAI,UAAU,eAEb;IAED,UAAU,CAAC,QAAQ,EAAE,MAAM;IAmB3B,aAAa,CAAC,IAAI,EAAE,QAAQ;IAY5B,IAAI,IAAI,mEAEP;IAED,IAAI,WAAW,mEAEd;CACF"}
1
+ {"version":3,"file":"RefillRule.d.ts","sourceRoot":"","sources":["../../src/rules/RefillRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2C,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAIrH,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAKhD,qBAAa,UAAW,SAAQ,cAAc;IAC5C,WAAW;IA8BX,IAAI,YAAY,IAAI,YAAY,EAAE,CAwBjC;IAED,IAAI,WAAW,IAAI,SAAS,CAE3B;IAED,cAAc,CAAC,IAAI,EAAE,SAAS,GAAG,QAAQ,EAAE;IAI3C,IAAI,UAAU,IAAI,QAAQ,CAGzB;IAED,IAAI,QAAQ,cAYX;IAED,IAAI,UAAU,eAEb;IAED,UAAU,CAAC,QAAQ,EAAE,MAAM;IAmB3B,aAAa,CAAC,IAAI,EAAE,QAAQ;IAY5B,IAAI,IAAI,mEAEP;IAED,IAAI,WAAW,mEAEd;CACF"}
@@ -2,7 +2,7 @@ import { isMoveItemTypeAtOnce, isShuffleItemType, PlayerTurnRule } from '@gamepa
2
2
  import { influences } from '../material/Influence';
3
3
  import { LocationType } from '../material/LocationType';
4
4
  import { MaterialType } from '../material/MaterialType';
5
- import { getTeamColor, TeamColor } from '../TeamColor';
5
+ import { TeamColor } from '../TeamColor';
6
6
  import { DeckHelper } from './helper/DeckHelper';
7
7
  import { PlayerHelper } from './helper/PlayerHelper';
8
8
  import { Memory } from './Memory';
@@ -36,7 +36,7 @@ export class RefillRule extends PlayerTurnRule {
36
36
  const alreadyPlayed = this.remind(Memory.AlreadyPlayedPlayers) ?? [];
37
37
  const currentTeam = this.currentTeam;
38
38
  const teamPlayers = this.getTeamPlayers(currentTeam);
39
- const teamPlayersPlayed = alreadyPlayed.filter(p => getTeamColor(p) === currentTeam).length;
39
+ const teamPlayersPlayed = alreadyPlayed.filter(p => new PlayerHelper(this.game, p).team === currentTeam).length;
40
40
  if (this.game.players.length === 4) {
41
41
  if (teamPlayersPlayed < 2) {
42
42
  const nextPlayer = teamPlayers.find(p => !alreadyPlayed.includes(p));
@@ -58,7 +58,7 @@ export class RefillRule extends PlayerTurnRule {
58
58
  return this.remind(Memory.CurrentTeam) ?? TeamColor.White;
59
59
  }
60
60
  getTeamPlayers(team) {
61
- return this.game.players.filter(p => getTeamColor(p) === team);
61
+ return this.game.players.filter(p => new PlayerHelper(this.game, p).team === team);
62
62
  }
63
63
  get nextPlayer() {
64
64
  const players = this.game.players;
@@ -1 +1 @@
1
- {"version":3,"file":"RefillRule.js","sourceRoot":"","sources":["../../src/rules/RefillRule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RefillRule.js","sourceRoot":"","sources":["../../src/rules/RefillRule.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export declare enum RuleId {
27
27
  PickOrder = 26,
28
28
  ShareCard = 27,
29
29
  TechnologyAction = 28,
30
- DiplomacyAction = 29
30
+ DiplomacyAction = 29,
31
+ StealZenithium = 30
31
32
  }
32
33
  //# sourceMappingURL=RuleId.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RuleId.d.ts","sourceRoot":"","sources":["../../src/rules/RuleId.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM;IAChB,OAAO,IAAI;IACX,QAAQ,IAAA;IACR,aAAa,IAAA;IACb,QAAQ,IAAA;IACR,UAAU,IAAA;IACV,SAAS,IAAA;IACT,WAAW,IAAA;IACX,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,aAAa,KAAA;IACb,KAAK,KAAA;IACL,YAAY,KAAA;IACZ,aAAa,KAAA;IACb,cAAc,KAAA;IACd,iBAAiB,KAAA;IACjB,eAAe,KAAA;IACf,eAAe,KAAA;IACf,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,MAAM,KAAA;IACN,SAAS,KAAA;IACT,MAAM,KAAA;IACN,WAAW,KAAA;IACX,cAAc,KAAA;IACd,wBAAwB,KAAA;IACxB,SAAS,KAAA;IACT,SAAS,KAAA;IACT,gBAAgB,KAAA;IAChB,eAAe,KAAA;CAChB"}
1
+ {"version":3,"file":"RuleId.d.ts","sourceRoot":"","sources":["../../src/rules/RuleId.ts"],"names":[],"mappings":"AAAA,oBAAY,MAAM;IAChB,OAAO,IAAI;IACX,QAAQ,IAAA;IACR,aAAa,IAAA;IACb,QAAQ,IAAA;IACR,UAAU,IAAA;IACV,SAAS,IAAA;IACT,WAAW,IAAA;IACX,WAAW,IAAA;IACX,YAAY,IAAA;IACZ,aAAa,KAAA;IACb,KAAK,KAAA;IACL,YAAY,KAAA;IACZ,aAAa,KAAA;IACb,cAAc,KAAA;IACd,iBAAiB,KAAA;IACjB,eAAe,KAAA;IACf,eAAe,KAAA;IACf,OAAO,KAAA;IACP,QAAQ,KAAA;IACR,MAAM,KAAA;IACN,SAAS,KAAA;IACT,MAAM,KAAA;IACN,WAAW,KAAA;IACX,cAAc,KAAA;IACd,wBAAwB,KAAA;IACxB,SAAS,KAAA;IACT,SAAS,KAAA;IACT,gBAAgB,KAAA;IAChB,eAAe,KAAA;IACf,cAAc,KAAA;CACf"}
@@ -29,5 +29,6 @@ export var RuleId;
29
29
  RuleId[RuleId["ShareCard"] = 27] = "ShareCard";
30
30
  RuleId[RuleId["TechnologyAction"] = 28] = "TechnologyAction";
31
31
  RuleId[RuleId["DiplomacyAction"] = 29] = "DiplomacyAction";
32
+ RuleId[RuleId["StealZenithium"] = 30] = "StealZenithium";
32
33
  })(RuleId || (RuleId = {}));
33
34
  //# sourceMappingURL=RuleId.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RuleId.js","sourceRoot":"","sources":["../../src/rules/RuleId.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,MA8BX;AA9BD,WAAY,MAAM;IAChB,yCAAW,CAAA;IACX,2CAAQ,CAAA;IACR,qDAAa,CAAA;IACb,2CAAQ,CAAA;IACR,+CAAU,CAAA;IACV,6CAAS,CAAA;IACT,iDAAW,CAAA;IACX,iDAAW,CAAA;IACX,mDAAY,CAAA;IACZ,sDAAa,CAAA;IACb,sCAAK,CAAA;IACL,oDAAY,CAAA;IACZ,sDAAa,CAAA;IACb,wDAAc,CAAA;IACd,8DAAiB,CAAA;IACjB,0DAAe,CAAA;IACf,0DAAe,CAAA;IACf,0CAAO,CAAA;IACP,4CAAQ,CAAA;IACR,wCAAM,CAAA;IACN,8CAAS,CAAA;IACT,wCAAM,CAAA;IACN,kDAAW,CAAA;IACX,wDAAc,CAAA;IACd,4EAAwB,CAAA;IACxB,8CAAS,CAAA;IACT,8CAAS,CAAA;IACT,4DAAgB,CAAA;IAChB,0DAAe,CAAA;AACjB,CAAC,EA9BW,MAAM,KAAN,MAAM,QA8BjB"}
1
+ {"version":3,"file":"RuleId.js","sourceRoot":"","sources":["../../src/rules/RuleId.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,MA+BX;AA/BD,WAAY,MAAM;IAChB,yCAAW,CAAA;IACX,2CAAQ,CAAA;IACR,qDAAa,CAAA;IACb,2CAAQ,CAAA;IACR,+CAAU,CAAA;IACV,6CAAS,CAAA;IACT,iDAAW,CAAA;IACX,iDAAW,CAAA;IACX,mDAAY,CAAA;IACZ,sDAAa,CAAA;IACb,sCAAK,CAAA;IACL,oDAAY,CAAA;IACZ,sDAAa,CAAA;IACb,wDAAc,CAAA;IACd,8DAAiB,CAAA;IACjB,0DAAe,CAAA;IACf,0DAAe,CAAA;IACf,0CAAO,CAAA;IACP,4CAAQ,CAAA;IACR,wCAAM,CAAA;IACN,8CAAS,CAAA;IACT,wCAAM,CAAA;IACN,kDAAW,CAAA;IACX,wDAAc,CAAA;IACd,4EAAwB,CAAA;IACxB,8CAAS,CAAA;IACT,8CAAS,CAAA;IACT,4DAAgB,CAAA;IAChB,0DAAe,CAAA;IACf,wDAAc,CAAA;AAChB,CAAC,EA/BW,MAAM,KAAN,MAAM,QA+BjB"}
@@ -1 +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
+ {"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,EAgBxD,CAAA;AAuUD,eAAO,MAAM,qBAAqB,EAAE,MAAM,EAazC,CAAA"}
@@ -1,12 +1,19 @@
1
1
  import { ConditionType } from '../../material/effect/Effect';
2
2
  import { EffectType } from '../../material/effect/EffectType';
3
3
  import { Faction } from '../../material/Faction';
4
+ import { Influence } from '../../material/Influence';
4
5
  export const getTechnologyAction = (id) => {
5
6
  switch (id) {
6
7
  case 'S':
7
8
  return TechnologySActions;
8
9
  case 'U':
9
10
  return TechnologyUActions;
11
+ case 'D':
12
+ return TechnologyDActions;
13
+ case 'O':
14
+ return TechnologyOActions;
15
+ case 'P':
16
+ return TechnologyPActions;
10
17
  case 'N':
11
18
  default:
12
19
  return TechnologyNActions;
@@ -167,6 +174,170 @@ const TechnologyNActions = [
167
174
  }
168
175
  ]
169
176
  ];
177
+ const TechnologyDActions = [
178
+ [
179
+ {
180
+ type: EffectType.Exile,
181
+ opponent: true,
182
+ quantity: 1
183
+ }
184
+ ],
185
+ [
186
+ {
187
+ type: EffectType.WinCredit,
188
+ quantity: 5
189
+ },
190
+ {
191
+ type: EffectType.TakeTechnologyBonusToken,
192
+ faction: Faction.Animod,
193
+ x: 2
194
+ }
195
+ ],
196
+ [
197
+ {
198
+ type: EffectType.TakeBonus
199
+ },
200
+ {
201
+ type: EffectType.WinInfluence,
202
+ quantity: 1
203
+ }
204
+ ],
205
+ [
206
+ {
207
+ type: EffectType.WinInfluence,
208
+ influence: Influence.Mercury,
209
+ quantity: 1
210
+ },
211
+ {
212
+ type: EffectType.WinInfluence,
213
+ influence: Influence.Venus,
214
+ quantity: 1
215
+ },
216
+ {
217
+ type: EffectType.WinInfluence,
218
+ influence: Influence.Terra,
219
+ quantity: 1
220
+ },
221
+ {
222
+ type: EffectType.WinInfluence,
223
+ influence: Influence.Mars,
224
+ quantity: 1
225
+ },
226
+ {
227
+ type: EffectType.WinInfluence,
228
+ influence: Influence.Jupiter,
229
+ quantity: 1
230
+ }
231
+ ],
232
+ [
233
+ {
234
+ type: EffectType.WinInfluence,
235
+ quantity: 2
236
+ }
237
+ ]
238
+ ];
239
+ const TechnologyOActions = [
240
+ [
241
+ {
242
+ type: EffectType.TakeBonus
243
+ }
244
+ ],
245
+ [
246
+ {
247
+ type: EffectType.StealZenithium,
248
+ quantity: 1
249
+ },
250
+ {
251
+ type: EffectType.TakeTechnologyBonusToken,
252
+ faction: Faction.Human,
253
+ x: 2
254
+ }
255
+ ],
256
+ [
257
+ {
258
+ type: EffectType.Mobilize,
259
+ quantity: 3
260
+ }
261
+ ],
262
+ [
263
+ {
264
+ type: EffectType.WinInfluence,
265
+ pattern: [2, 2]
266
+ }
267
+ ],
268
+ [
269
+ {
270
+ type: EffectType.WinInfluence,
271
+ quantity: 2
272
+ }
273
+ ]
274
+ ];
275
+ const TechnologyPActions = [
276
+ [
277
+ {
278
+ type: EffectType.Mobilize,
279
+ quantity: 1
280
+ }
281
+ ],
282
+ [
283
+ {
284
+ type: EffectType.Mobilize,
285
+ quantity: 1
286
+ },
287
+ {
288
+ type: EffectType.Transfer,
289
+ quantity: 1
290
+ },
291
+ {
292
+ type: EffectType.Exile,
293
+ opponent: true,
294
+ quantity: 1
295
+ }
296
+ ],
297
+ [
298
+ {
299
+ type: EffectType.WinCredit,
300
+ quantity: 10
301
+ }
302
+ ],
303
+ [
304
+ {
305
+ type: EffectType.Conditional,
306
+ mandatory: true,
307
+ condition: {
308
+ type: ConditionType.DoEffect,
309
+ effect: {
310
+ type: EffectType.Exile
311
+ }
312
+ },
313
+ effect: {
314
+ type: EffectType.WinInfluence,
315
+ quantity: 2
316
+ }
317
+ },
318
+ {
319
+ type: EffectType.Conditional,
320
+ mandatory: true,
321
+ condition: {
322
+ type: ConditionType.DoEffect,
323
+ effect: {
324
+ type: EffectType.Exile,
325
+ differentPlanet: true
326
+ }
327
+ },
328
+ effect: {
329
+ type: EffectType.WinInfluence,
330
+ quantity: 2
331
+ }
332
+ }
333
+ ],
334
+ [
335
+ {
336
+ type: EffectType.WinInfluence,
337
+ quantity: 2
338
+ }
339
+ ]
340
+ ];
170
341
  export const TechnologyLineBonuses = [
171
342
  {
172
343
  type: EffectType.WinInfluence,
@@ -1 +1 @@
1
- {"version":3,"file":"TechnologyActions.js","sourceRoot":"","sources":["../../../src/rules/discard-action/TechnologyActions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TechnologyActions.js","sourceRoot":"","sources":["../../../src/rules/discard-action/TechnologyActions.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ const player1 = 1;
15
15
  const player2 = 2;
16
16
  function createGameForAgent(agent) {
17
17
  const setup = new TestSetup(agent);
18
- const game = setup.setup({ players: 2 });
18
+ const game = setup.setup({ players: [{}, {}], beginner: true });
19
19
  return new ZenithRules(game);
20
20
  }
21
21
  class TestSetup extends ZenithSetup {
@@ -25,6 +25,7 @@ class TestSetup extends ZenithSetup {
25
25
  this.testAgent = testAgent;
26
26
  }
27
27
  setupMaterial() {
28
+ this.setupTeamMemory();
28
29
  this.setupTurnOrder();
29
30
  this.setupTestHands();
30
31
  this.setupRemainingDeck();
@@ -34,6 +35,10 @@ class TestSetup extends ZenithSetup {
34
35
  this.setupTeams();
35
36
  this.setupTestBonuses();
36
37
  }
38
+ setupTeamMemory() {
39
+ this.memorize(Memory.Team, TeamColor.White, player1);
40
+ this.memorize(Memory.Team, TeamColor.Black, player2);
41
+ }
37
42
  setupTurnOrder() {
38
43
  this.memorize(Memory.TurnOrder, [player1, player2]);
39
44
  }
@@ -201,7 +206,7 @@ describe('Agent effects resolution', () => {
201
206
  describe('Gilgamesh opponentSide fallback', () => {
202
207
  it('should allow pulling a different planet when the only opponent-side planet was pulled across by effect 2', () => {
203
208
  const setup = new GilgameshTestSetup();
204
- const game = setup.setup({ players: 2 });
209
+ const game = setup.setup({ players: [{}, {}], beginner: true });
205
210
  const rules = new ZenithRules(game);
206
211
  const venusStart = rules.material(MaterialType.InfluenceDisc)
207
212
  .location(LocationType.PlanetBoardInfluenceDiscSpace)
@@ -236,7 +241,7 @@ describe('Gilgamesh opponentSide fallback', () => {
236
241
  describe('Planet capture', () => {
237
242
  it('White pulling a planet at x=3 should capture it at x=4 into White TeamPlanets', () => {
238
243
  const setup = new CaptureTestSetup(Agent.Mc4ffr3y, Influence.Mars, 3);
239
- const game = setup.setup({ players: 2 });
244
+ const game = setup.setup({ players: [{}, {}], beginner: true });
240
245
  const rules = new ZenithRules(game);
241
246
  const marsStart = rules.material(MaterialType.InfluenceDisc)
242
247
  .location(LocationType.PlanetBoardInfluenceDiscSpace)
@@ -285,7 +290,7 @@ describe('Planet capture', () => {
285
290
  });
286
291
  it('Black pulling a planet at x=-3 should capture it at x=-4 into Black TeamPlanets', () => {
287
292
  const setup = new CaptureTestSetupBlack(Agent.Mc4ffr3y, Influence.Mars, -3);
288
- const game = setup.setup({ players: 2 });
293
+ const game = setup.setup({ players: [{}, {}], beginner: true });
289
294
  const rules = new ZenithRules(game);
290
295
  const marsStart = rules.material(MaterialType.InfluenceDisc)
291
296
  .location(LocationType.PlanetBoardInfluenceDiscSpace)
@@ -334,7 +339,7 @@ describe('Planet capture', () => {
334
339
  });
335
340
  it('White pushing Terra at x=-3 should capture it at x=-4 into Black TeamPlanets (opponent)', () => {
336
341
  const setup = new CaptureTestSetup(Agent.Titus, Influence.Terra, -3);
337
- const game = setup.setup({ players: 2 });
342
+ const game = setup.setup({ players: [{}, {}], beginner: true });
338
343
  const rules = new ZenithRules(game);
339
344
  const terraStart = rules.material(MaterialType.InfluenceDisc)
340
345
  .location(LocationType.PlanetBoardInfluenceDiscSpace)
@@ -387,7 +392,7 @@ describe('Planet capture', () => {
387
392
  describe('Augustus pattern [1,2,1] at extreme — Mercury capture', () => {
388
393
  it('should allow capturing Mercury and still apply remaining pattern moves to Venus and Terra', () => {
389
394
  const setup = new AugustusPatternSetup({ [Influence.Mercury]: 3 });
390
- const game = setup.setup({ players: 2 });
395
+ const game = setup.setup({ players: [{}, {}], beginner: true });
391
396
  const rules = new ZenithRules(game);
392
397
  expect(rules.material(MaterialType.InfluenceDisc)
393
398
  .location(LocationType.PlanetBoardInfluenceDiscSpace).id(Influence.Mercury).getItem().location.x).toBe(3);
@@ -437,7 +442,7 @@ describe('Augustus pattern [1,2,1] at extreme — Mercury capture', () => {
437
442
  });
438
443
  it('should allow truncated pattern at left edge — Mercury+2 capture with Venus+1', () => {
439
444
  const setup = new AugustusPatternSetup({ [Influence.Mercury]: 2 });
440
- const game = setup.setup({ players: 2 });
445
+ const game = setup.setup({ players: [{}, {}], beginner: true });
441
446
  const rules = new ZenithRules(game);
442
447
  expect(rules.material(MaterialType.InfluenceDisc)
443
448
  .location(LocationType.PlanetBoardInfluenceDiscSpace).id(Influence.Mercury).getItem().location.x).toBe(2);
@@ -478,7 +483,7 @@ describe('Augustus pattern [1,2,1] at extreme — Mercury capture', () => {
478
483
  });
479
484
  it('should allow truncated pattern at right edge — Jupiter+2 capture with Mars+1', () => {
480
485
  const setup = new AugustusPatternSetup({ [Influence.Jupiter]: 2 });
481
- const game = setup.setup({ players: 2 });
486
+ const game = setup.setup({ players: [{}, {}], beginner: true });
482
487
  const rules = new ZenithRules(game);
483
488
  expect(rules.material(MaterialType.InfluenceDisc)
484
489
  .location(LocationType.PlanetBoardInfluenceDiscSpace).id(Influence.Jupiter).getItem().location.x).toBe(2);
@@ -519,7 +524,7 @@ describe('Augustus pattern [1,2,1] at extreme — Mercury capture', () => {
519
524
  });
520
525
  it('should not allow moving Mercury+2 when it is not at the edge (no truncated pattern needed)', () => {
521
526
  const setup = new AugustusPatternSetup({});
522
- const game = setup.setup({ players: 2 });
527
+ const game = setup.setup({ players: [{}, {}], beginner: true });
523
528
  const rules = new ZenithRules(game);
524
529
  const cardIndex = rules.material(MaterialType.AgentCard)
525
530
  .location(LocationType.PlayerHand).player(player1).id(Agent.Augustus).getIndex();
@@ -557,7 +562,7 @@ describe('Augustus pattern [1,2,1] at extreme — Mercury capture', () => {
557
562
  });
558
563
  it('should not allow moving a non-adjacent planet with pattern', () => {
559
564
  const setup = new AugustusPatternSetup({});
560
- const game = setup.setup({ players: 2 });
565
+ const game = setup.setup({ players: [{}, {}], beginner: true });
561
566
  const rules = new ZenithRules(game);
562
567
  const cardIndex = rules.material(MaterialType.AgentCard)
563
568
  .location(LocationType.PlayerHand).player(player1).id(Agent.Augustus).getIndex();
@@ -599,7 +604,7 @@ describe('Augustus pattern [1,2,1] at extreme — Mercury capture', () => {
599
604
  });
600
605
  it('should not allow moving only Jupiter+2 without Mars (pattern requires adjacency)', () => {
601
606
  const setup = new AugustusPatternSetup({ [Influence.Jupiter]: 2 });
602
- const game = setup.setup({ players: 2 });
607
+ const game = setup.setup({ players: [{}, {}], beginner: true });
603
608
  const rules = new ZenithRules(game);
604
609
  const cardIndex = rules.material(MaterialType.AgentCard)
605
610
  .location(LocationType.PlayerHand).player(player1).id(Agent.Augustus).getIndex();
@@ -655,7 +660,7 @@ describe('Augustus pattern [1,2,1] at extreme — Mercury capture', () => {
655
660
  });
656
661
  it('should continue pattern when Venus is clamped at limit — Mercury+1, Venus captured, Terra+1', () => {
657
662
  const setup = new AugustusPatternSetup({ [Influence.Venus]: 3 });
658
- const game = setup.setup({ players: 2 });
663
+ const game = setup.setup({ players: [{}, {}], beginner: true });
659
664
  const rules = new ZenithRules(game);
660
665
  const cardIndex = rules.material(MaterialType.AgentCard)
661
666
  .location(LocationType.PlayerHand).player(player1).id(Agent.Augustus).getIndex();
@@ -703,7 +708,7 @@ describe('Augustus pattern [1,2,1] at extreme — Mercury capture', () => {
703
708
  });
704
709
  it('should work with pattern on right side — Terra+1, Mars+2 clamped/captured, Jupiter+1', () => {
705
710
  const setup = new AugustusPatternSetup({ [Influence.Mars]: 3 });
706
- const game = setup.setup({ players: 2 });
711
+ const game = setup.setup({ players: [{}, {}], beginner: true });
707
712
  const rules = new ZenithRules(game);
708
713
  const cardIndex = rules.material(MaterialType.AgentCard)
709
714
  .location(LocationType.PlayerHand).player(player1).id(Agent.Augustus).getIndex();
@@ -840,7 +845,7 @@ class GilgameshTestSetup extends TestSetup {
840
845
  describe('Refill with low/empty deck', () => {
841
846
  function createRefillSetup(deckCount) {
842
847
  const setup = new RefillTestSetup(deckCount);
843
- const game = setup.setup({ players: 2 });
848
+ const game = setup.setup({ players: [{}, {}], beginner: true });
844
849
  return new ZenithRules(game);
845
850
  }
846
851
  function discardAndRefill(rules) {
@@ -945,7 +950,7 @@ describe('Refill with low/empty deck', () => {
945
950
  describe('Mobilize with low/empty deck', () => {
946
951
  function createMobilizeSetup(deckCount) {
947
952
  const setup = new MobilizeTestSetup(deckCount);
948
- const game = setup.setup({ players: 2 });
953
+ const game = setup.setup({ players: [{}, {}], beginner: true });
949
954
  return new ZenithRules(game);
950
955
  }
951
956
  it('mobilize 2 with deck=1: should reshuffle discard and mobilize second card', () => {
@@ -966,7 +971,7 @@ describe('Mobilize with low/empty deck', () => {
966
971
  });
967
972
  it('mobilize 2 with deck=0 and discard=0: should skip mobilization without blocking', () => {
968
973
  const setup = new MobilizeEmptySetup();
969
- const game = setup.setup({ players: 2 });
974
+ const game = setup.setup({ players: [{}, {}], beginner: true });
970
975
  const rules = new ZenithRules(game);
971
976
  expect(rules.material(MaterialType.AgentCard).location(LocationType.AgentDeck).length).toBe(0);
972
977
  expect(rules.material(MaterialType.AgentCard).location(LocationType.AgentDiscard).length).toBe(0);
@@ -978,7 +983,7 @@ describe('Mobilize with low/empty deck', () => {
978
983
  });
979
984
  it('mobilize 2 with deck=1 and discard=0: should mobilize 1 then skip remaining', () => {
980
985
  const setup = new MobilizePartialSetup(1);
981
- const game = setup.setup({ players: 2 });
986
+ const game = setup.setup({ players: [{}, {}], beginner: true });
982
987
  const rules = new ZenithRules(game);
983
988
  expect(rules.material(MaterialType.AgentCard).location(LocationType.AgentDeck).length).toBe(1);
984
989
  expect(rules.material(MaterialType.AgentCard).location(LocationType.AgentDiscard).length).toBe(0);