예제 #1
0
  public AjaniGoldmane(UUID ownerId) {
    super(
        ownerId,
        1,
        "Ajani Goldmane",
        Rarity.MYTHIC,
        new CardType[] {CardType.PLANESWALKER},
        "{2}{W}{W}");
    this.expansionSetCode = "M10";
    this.subtype.add("Ajani");
    this.color.setWhite(true);
    this.addAbility(
        new EntersBattlefieldAbility(
            new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(4)), false));

    this.addAbility(new LoyaltyAbility(new GainLifeEffect(2), 1));

    Effects effects1 = new Effects();
    effects1.add(
        new AddCountersAllEffect(
            CounterType.P1P1.createInstance(), new FilterControlledCreaturePermanent()));
    effects1.add(
        new GainAbilityControlledEffect(
            VigilanceAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent()));
    this.addAbility(new LoyaltyAbility(effects1, -1));

    this.addAbility(new LoyaltyAbility(new CreateTokenEffect(new AvatarToken()), -6));
  }
예제 #2
0
  public NissaRevane(UUID ownerId) {
    super(
        ownerId,
        170,
        "Nissa Revane",
        Rarity.MYTHIC,
        new CardType[] {CardType.PLANESWALKER},
        "{2}{G}{G}");
    this.expansionSetCode = "ZEN";
    this.subtype.add("Nissa");
    this.addAbility(
        new EntersBattlefieldAbility(
            new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(2)), false));

    this.color.setGreen(true);

    LoyaltyAbility ability1 =
        new LoyaltyAbility(
            new SearchLibraryPutInPlayEffect(new TargetCardInLibrary(1, nissasChosenFilter)), 1);
    this.addAbility(ability1);

    LoyaltyAbility ability2 = new LoyaltyAbility(new NissaRevaneGainLifeEffect(), 1);
    this.addAbility(ability2);

    LoyaltyAbility ability3 =
        new LoyaltyAbility(
            new SearchLibraryPutInPlayEffect(
                new TargetCardInLibrary(0, Integer.MAX_VALUE, elfFilter)),
            -7);
    this.addAbility(ability3);
  }
예제 #3
0
  public ChandraAblaze(UUID ownerId) {
    super(
        ownerId,
        120,
        "Chandra Ablaze",
        Rarity.MYTHIC,
        new CardType[] {CardType.PLANESWALKER},
        "{4}{R}{R}");
    this.expansionSetCode = "ZEN";
    this.subtype.add("Chandra");

    this.addAbility(
        new EntersBattlefieldAbility(
            new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(5)), false));

    // +1: Discard a card. If a red card is discarded this way, Chandra Ablaze deals 4 damage to
    // target creature or player.
    LoyaltyAbility ability = new LoyaltyAbility(new ChandraAblazeEffect1(), 1);
    ability.addEffect(new ChandraAblazeEffect2());
    ability.addTarget(new TargetCreatureOrPlayer());
    this.addAbility(ability);
    // -2: Each player discards his or her hand, then draws three cards.
    ability = new LoyaltyAbility(new DiscardHandAllEffect(), -2);
    ability.addEffect(new ChandraAblazeEffect4());
    this.addAbility(ability);
    // -7: Cast any number of red instant and/or sorcery cards from your graveyard without paying
    // their mana costs.
    ability = new LoyaltyAbility(new ChandraAblazeEffect5(), -7);
    this.addAbility(ability);
  }
예제 #4
0
  public KioraTheCrashingWave(UUID ownerId) {
    super(
        ownerId,
        149,
        "Kiora, the Crashing Wave",
        Rarity.MYTHIC,
        new CardType[] {CardType.PLANESWALKER},
        "{2}{G}{U}");
    this.expansionSetCode = "BNG";
    this.subtype.add("Kiora");

    this.addAbility(
        new EntersBattlefieldAbility(
            new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(2)), false));

    // +1: Until your next turn, prevent all damage that would be dealt to and dealt by target
    // permanent an opponent controls.
    LoyaltyAbility ability = new LoyaltyAbility(new KioraPreventionEffect(), 1);
    ability.addTarget(new TargetPermanent(filter));
    this.addAbility(ability);

    // -1: Draw a card. You may play an additional land this turn.
    ability = new LoyaltyAbility(new DrawCardSourceControllerEffect(1), -1);
    ability.addEffect(new PlayAdditionalLandsControllerEffect(1, Duration.EndOfTurn));
    this.addAbility(ability);

    // -5: You get an emblem with "At the beginning of your end step, put a 9/9 blue Kraken creature
    // token onto the battlefield."
    this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new KioraEmblem()), -5));
  }
예제 #5
0
  public AshiokNightmareWeaver(UUID ownerId) {
    super(
        ownerId,
        188,
        "Ashiok, Nightmare Weaver",
        Rarity.MYTHIC,
        new CardType[] {CardType.PLANESWALKER},
        "{1}{U}{B}");
    this.expansionSetCode = "THS";
    this.subtype.add("Ashiok");

    this.color.setBlue(true);
    this.color.setBlack(true);

    this.addAbility(
        new EntersBattlefieldAbility(
            new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));

    // +2: Exile the top three cards of target opponent's library.
    LoyaltyAbility ability = new LoyaltyAbility(new AshiokNightmareWeaverExileEffect(), 2);
    ability.addTarget(new TargetOpponent());
    this.addAbility(ability);

    // -X: Put a creature card with converted mana cost X exiled with Ashiok, Nightmare Weaver onto
    // the battlefield under your control. That creature is a Nightmare in addition to its other
    // types.
    this.addAbility(new LoyaltyAbility(new AshiokNightmareWeaverPutIntoPlayEffect()));

    // -10: Exile all cards from all opponents' hands and graveyards.);
    this.addAbility(new LoyaltyAbility(new AshiokNightmareWeaverExileAllEffect(), -10));
  }
예제 #6
0
  public GarrukWildspeaker(UUID ownerId) {
    super(
        ownerId,
        183,
        "Garruk Wildspeaker",
        Rarity.MYTHIC,
        new CardType[] {CardType.PLANESWALKER},
        "{2}{G}{G}");
    this.expansionSetCode = "M10";
    this.subtype.add("Garruk");
    this.color.setGreen(true);

    this.addAbility(
        new EntersBattlefieldAbility(
            new AddCountersSourceEffect(CounterType.LOYALTY.createInstance(3)), false));

    // +1: Untap two target lands.
    LoyaltyAbility ability1 = new LoyaltyAbility(new UntapTargetEffect(), 1);
    ability1.addTarget(new TargetLandPermanent(2));
    this.addAbility(ability1);

    // −1: Put a 3/3 green Beast creature token onto the battlefield.
    this.addAbility(new LoyaltyAbility(new CreateTokenEffect(beastToken), -1));

    // −4: Creatures you control get +3/+3 and gain trample until end of turn.
    Effects effects1 = new Effects();
    Effect effect = new BoostControlledEffect(3, 3, Duration.EndOfTurn);
    effect.setText("Creatures you control get +3/+3");
    effects1.add(effect);
    effect =
        new GainAbilityControlledEffect(
            TrampleAbility.getInstance(), Duration.EndOfTurn, new FilterCreaturePermanent());
    effect.setText("and gain trample until end of turn");
    effects1.add(effect);
    this.addAbility(new LoyaltyAbility(effects1, -4));
  }