Example #1
0
  public FracturingGust(GameState state) {
    super(state);

    // Destroy all artifacts and enchantments.
    EventFactory destroy =
        destroy(
            Union.instance(ArtifactPermanents.instance(), EnchantmentPermanents.instance()),
            "Destroy artifacts and enchantments.");
    this.addEffect(destroy);

    // You gain 2 life for each permanent destroyed this way.
    SetGenerator X = Count.instance(NewObjectOf.instance(EffectResult.instance(destroy)));
    this.addEffect(
        gainLife(
            You.instance(),
            Multiply.instance(numberGenerator(2), X),
            "You gain 2 life for each permanent destroyed this way."));
  }
    public TezzeretAgentofBolasAbility2(GameState state) {
      super(
          state,
          -4,
          "Target player loses X life and you gain X life, where X is twice the number of artifacts you control.");

      SetGenerator target = targetedBy(this.addTarget(Players.instance(), "target player"));

      SetGenerator X =
          Multiply.instance(
              numberGenerator(2),
              Count.instance(
                  Intersect.instance(
                      ArtifactPermanents.instance(), ControlledBy.instance(You.instance()))));

      EventFactory loseLife = loseLife(target, X, "Target player loses X life");
      EventFactory gainLife =
          gainLife(
              You.instance(),
              X,
              "and you gain X life, where X is twice the number of artifacts you control.");
      this.addEffect(simultaneous(loseLife, gainLife));
    }