Пример #1
0
  public NimbusNaiad(UUID ownerId) {
    super(
        ownerId,
        56,
        "Nimbus Naiad",
        Rarity.COMMON,
        new CardType[] {CardType.ENCHANTMENT, CardType.CREATURE},
        "{2}{U}");
    this.expansionSetCode = "THS";
    this.subtype.add("Nymph");

    this.power = new MageInt(2);
    this.toughness = new MageInt(2);

    // Bestow {4}{U} (If you cast this card for its bestow cost, it's an Aura spell with enchant
    // creature. It becomes a creature again if it's not attached to a creature.)
    this.addAbility(new BestowAbility(this, "{4}{U}"));
    // Flying
    this.addAbility(FlyingAbility.getInstance());
    // Enchanted creature gets +2/+2 and has flying.
    Ability ability = new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostEnchantedEffect(2, 2));
    Effect effect = new GainAbilityAttachedEffect(FlyingAbility.getInstance(), AttachmentType.AURA);
    effect.setText("and has flying");
    ability.addEffect(effect);
    this.addAbility(ability);
  }
Пример #2
0
 @Override
 public void build() {
   // Flying
   this.addAbility(FlyingAbility.getInstance());
   // When Battleflight Eagle enters the battlefield, target creature gets +2/+2 and gains flying
   // until end of turn.
   Ability ability =
       new EntersBattlefieldTriggeredAbility(new BoostTargetEffect(2, 2, Duration.EndOfTurn));
   ability.addEffect(new GainAbilityTargetEffect(FlyingAbility.getInstance(), Duration.EndOfTurn));
   ability.addTarget(new TargetCreaturePermanent());
   this.addAbility(ability);
 }
Пример #3
0
  public IsperiasSkywatch(UUID ownerId) {
    super(
        ownerId,
        43,
        "Isperia's Skywatch",
        Rarity.COMMON,
        new CardType[] {CardType.CREATURE},
        "{5}{U}");
    this.expansionSetCode = "RTR";
    this.subtype.add("Vedalken");
    this.subtype.add("Knight");

    this.power = new MageInt(3);
    this.toughness = new MageInt(3);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // When Isperia's Skywatch enters the battlefield, detain target creature an opponent controls.
    // (Until your next turn, that creature can't attack or block and its activated abilities can't
    // be activated.)
    Ability ability = new EntersBattlefieldTriggeredAbility(new DetainTargetEffect());
    TargetCreaturePermanent target = new TargetCreaturePermanent(filter);
    ability.addTarget(target);
    this.addAbility(ability);
  }
Пример #4
0
  public WorldheartPhoenix(UUID ownerId) {
    super(
        ownerId,
        135,
        "Worldheart Phoenix",
        Rarity.UNCOMMON,
        new CardType[] {CardType.CREATURE},
        "{3}{R}");
    this.expansionSetCode = "MM2";
    this.subtype.add("Phoenix");
    this.power = new MageInt(2);
    this.toughness = new MageInt(2);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // You may cast Worldheart Phoenix from your graveyard by paying {W}{U}{B}{R}{G} rather than
    // paying its mana cost.
    // If you do, it enters the battlefield with two +1/+1 counters on it.
    Ability ability = new SimpleStaticAbility(Zone.ALL, new WorldheartPhoenixPlayEffect());
    ability.addEffect(
        new EntersBattlefieldEffect(
            new WorldheartPhoenixEntersBattlefieldEffect(),
            "If you do, it enters the battlefield with two +1/+1 counters on it"));
    this.addAbility(ability);
  }
Пример #5
0
  public DemonOfDarkSchemes(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{3}{B}{B}{B}");
    this.subtype.add("Demon");
    this.power = new MageInt(5);
    this.toughness = new MageInt(5);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // When Demon of Dark Schemes enters the battlefield, all other creatures get -2/-2 until end of
    // turn.
    Effect effect = new BoostAllEffect(-2, -2, Duration.EndOfTurn, true);
    effect.setText("all other creatures get -2/-2 until end of turn");
    this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false));

    // Whenever another creature dies, you get {E}.
    this.addAbility(
        new DiesCreatureTriggeredAbility(new GetEnergyCountersControllerEffect(1), false, true));

    // {2}{B}, Pay {E}{E}{E}{E}: Put target creature card from a graveyard onto the battlefield
    // under your control tapped.
    effect = new ReturnFromGraveyardToBattlefieldTargetEffect(true);
    effect.setText(
        "Put target creature card from a graveyard onto the battlefield under your control tapped");
    Ability ability =
        new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{2}{B}"));
    ability.addCost(new PayEnergyCost(4));
    ability.addTarget(
        new TargetCardInGraveyard(new FilterCreatureCard("creature card from a graveyard")));
    this.addAbility(ability);
  }
Пример #6
0
  public ScreechingSilcaw(UUID ownerId) {
    super(
        ownerId,
        42,
        "Screeching Silcaw",
        Rarity.COMMON,
        new CardType[] {CardType.CREATURE},
        "{1}{U}");
    this.expansionSetCode = "SOM";
    this.subtype.add("Bird");

    this.color.setBlue(true);
    this.power = new MageInt(1);
    this.toughness = new MageInt(2);

    this.addAbility(FlyingAbility.getInstance());

    TriggeredAbility conditional =
        new ConditionalTriggeredAbility(
            new DealsCombatDamageToAPlayerTriggeredAbility(
                new PutLibraryIntoGraveTargetEffect(4), false, true),
            MetalcraftCondition.getInstance(),
            text);
    this.addAbility(conditional);
  }
Пример #7
0
  public PulsatingIllusion(UUID ownerId) {
    super(
        ownerId,
        96,
        "Pulsating Illusion",
        Rarity.UNCOMMON,
        new CardType[] {CardType.CREATURE},
        "{4}{U}");
    this.expansionSetCode = "ODY";
    this.subtype.add("Illusion");

    this.color.setBlue(true);
    this.power = new MageInt(0);
    this.toughness = new MageInt(1);

    // Flying
    this.addAbility(FlyingAbility.getInstance());
    // Discard a card: Pulsating Illusion gets +4/+4 until end of turn. Activate this ability only
    // once each turn.
    this.addAbility(
        new ActivateOncePerTurnActivatedAbility(
            Zone.BATTLEFIELD,
            new BoostSourceEffect(4, 4, Duration.EndOfTurn),
            new DiscardTargetCost(new TargetCardInHand())));
  }
Пример #8
0
  public PreyseizerDragon(UUID ownerId) {
    super(
        ownerId,
        50,
        "Preyseizer Dragon",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{4}{R}{R}");
    this.expansionSetCode = "PC2";
    this.subtype.add("Dragon");

    this.power = new MageInt(4);
    this.toughness = new MageInt(4);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // Devour 2 (As this enters the battlefield, you may sacrifice any number of creatures. This
    // creature enters the battlefield with twice that many +1/+1 counters on it.)
    this.addAbility(new DevourAbility(DevourFactor.Devour2));

    // Whenever Preyseizer Dragon attacks, it deals damage to target creature or player equal to the
    // number of +1/+1 counters on Preyseizer Dragon.
    Ability ability =
        new AttacksTriggeredAbility(
            new DamageTargetEffect(new CountersCount(CounterType.P1P1)), false);
    ability.addTarget(new TargetCreatureOrPlayer());
    this.addAbility(ability);
  }
Пример #9
0
  public RepentantVampire(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{3}{B}{B}");
    this.subtype.add("Vampire");

    this.power = new MageInt(3);
    this.toughness = new MageInt(3);

    // Flying
    this.addAbility(FlyingAbility.getInstance());
    // Whenever a creature dealt damage by Repentant Vampire this turn dies, put a +1/+1 counter on
    // Repentant Vampire.
    this.addAbility(
        new DiesAndDealtDamageThisTurnTriggeredAbility(
            new AddCountersSourceEffect(CounterType.P1P1.createInstance()), false));
    // Threshold - As long as seven or more cards are in your graveyard, Repentant Vampire is white
    // and has "{tap}: Destroy target black creature."
    Ability ability =
        new SimpleStaticAbility(
            Zone.BATTLEFIELD,
            new ConditionalContinuousEffect(
                new BecomesColorSourceEffect(ObjectColor.WHITE, Duration.WhileOnBattlefield),
                new CardsInControllerGraveCondition(7),
                "As long as seven or more cards are in your graveyard, {this} is white"));
    Ability gainedAbility =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD, new DestroyTargetEffect(), new TapSourceCost());
    gainedAbility.addTarget(new TargetCreaturePermanent(filter));
    ability.addEffect(
        new ConditionalContinuousEffect(
            new GainAbilitySourceEffect(gainedAbility, Duration.WhileOnBattlefield),
            new CardsInControllerGraveCondition(7),
            "and has \"{T}: Destroy target black creature.\""));
    ability.setAbilityWord(AbilityWord.THRESHOLD);
    this.addAbility(ability);
  }
Пример #10
0
  public ChildhoodHorror(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{3}{B}");
    this.subtype.add("Horror");

    this.power = new MageInt(2);
    this.toughness = new MageInt(2);

    // Flying
    this.addAbility(FlyingAbility.getInstance());
    // Threshold - As long as seven or more cards are in your graveyard, Childhood Horror gets +2/+2
    // and can't block.
    Ability thresholdAbility =
        new SimpleStaticAbility(
            Zone.BATTLEFIELD,
            new ConditionalContinuousEffect(
                new BoostSourceEffect(2, 2, Duration.WhileOnBattlefield),
                new CardsInControllerGraveCondition(7),
                "If seven or more cards are in your graveyard, Childhood Horror gets +2/+2"));

    Effect effect =
        new ConditionalRestrictionEffect(
            new CantBlockSourceEffect(Duration.WhileOnBattlefield),
            new CardsInControllerGraveCondition(7));
    effect.setText("and can't block");
    thresholdAbility.addEffect(effect);
    thresholdAbility.setAbilityWord(AbilityWord.THRESHOLD);
    this.addAbility(thresholdAbility);
  }
Пример #11
0
  public InvertTheSkies(UUID ownerId) {
    super(
        ownerId,
        155,
        "Invert the Skies",
        Rarity.UNCOMMON,
        new CardType[] {CardType.INSTANT},
        "{3}{G/U}");
    this.expansionSetCode = "EVE";

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

    // Creatures your opponents control lose flying until end of turn if {G} was spent to cast
    // Invert the Skies, and creatures you control gain flying until end of turn if {U} was spent to
    // cast it.
    this.getSpellAbility()
        .addEffect(
            new ConditionalContinousEffect(
                new InvertTheSkiesEffect(),
                new ManaWasSpentCondition(ColoredManaSymbol.G),
                "Creatures your opponents control lose flying until end of turn if {G} was spent to cast {this},",
                true));
    this.getSpellAbility()
        .addEffect(
            new ConditionalContinousEffect(
                new GainAbilityControlledEffect(FlyingAbility.getInstance(), Duration.EndOfTurn),
                new ManaWasSpentCondition(ColoredManaSymbol.U),
                "and creatures you control gain flying until end of turn if {U} was spent to cast it",
                true));
    this.addInfo("Info1", "<i>(Do both if {G}{U} was spent.)<i>");
  }
Пример #12
0
  public BearerOfSilence(UUID ownerId) {
    super(
        ownerId,
        67,
        "Bearer of Silence",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{1}{B}");
    this.expansionSetCode = "OGW";
    this.subtype.add("Eldrazi");
    this.power = new MageInt(2);
    this.toughness = new MageInt(1);

    // Devoid
    this.addAbility(new DevoidAbility(this.color));

    // When you cast Bearer of Silence, you may pay {1}{C}. If you do, target opponent sacrifices a
    // creature.
    Ability ability =
        new CastSourceTriggeredAbility(
            new DoIfCostPaid(
                new SacrificeEffect(new FilterCreaturePermanent(), 1, "Target opponent"),
                new ManaCostsImpl("{1}{C}")));
    ability.addTarget(new TargetOpponent());
    this.addAbility(ability);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // Bearer of Silence can't block.
    this.addAbility(new CantBlockAbility());
  }
Пример #13
0
  public SkarrganFirebird(UUID ownerId) {
    super(
        ownerId,
        57,
        "Skarrgan Firebird",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{4}{R}{R}");
    this.expansionSetCode = "DDL";
    this.subtype.add("Phoenix");

    this.color.setRed(true);
    this.power = new MageInt(3);
    this.toughness = new MageInt(3);

    // Bloodthirst 3
    this.addAbility(new BloodthirstAbility(3));
    // Flying
    this.addAbility(FlyingAbility.getInstance());
    // {R}{R}{R}: Return Skarrgan Firebird from your graveyard to your hand. Activate this ability
    // only if an opponent was dealt damage this turn.
    this.addAbility(
        new ConditionalActivatedAbility(
            Zone.GRAVEYARD,
            new ReturnSourceFromGraveyardToHandEffect(),
            new ManaCostsImpl("{R}{R}{R}"),
            new OpponentWasDealtDamageCondition(),
            null));
  }
Пример #14
0
  public StormfrontRiders(UUID ownerId) {
    super(
        ownerId,
        20,
        "Stormfront Riders",
        Rarity.UNCOMMON,
        new CardType[] {CardType.CREATURE},
        "{4}{W}");
    this.expansionSetCode = "PLC";
    this.subtype.add("Human");
    this.subtype.add("Soldier");

    this.power = new MageInt(4);
    this.toughness = new MageInt(3);

    // Flying
    this.addAbility(FlyingAbility.getInstance());
    // When Stormfront Riders enters the battlefield, return two creatures you control to their
    // owner's hand.
    this.addAbility(
        new EntersBattlefieldTriggeredAbility(
            new ReturnToHandChosenControlledPermanentEffect(
                new FilterControlledCreaturePermanent("creatures you control"), 2)));
    // Whenever Stormfront Riders or another creature is returned to your hand from the battlefield,
    // put a 1/1 white Soldier creature token onto the battlefield.
    this.addAbility(
        new ZoneChangeAllTriggeredAbility(
            Zone.BATTLEFIELD,
            Zone.BATTLEFIELD,
            Zone.HAND,
            new CreateTokenEffect(new SoldierToken()),
            filter,
            "Whenever {this} or another creature is returned to your hand from the battlefield, ",
            false));
  }
Пример #15
0
  public DemigodOfRevenge(UUID ownerId) {
    super(
        ownerId,
        183,
        "Demigod of Revenge",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{B/R}{B/R}{B/R}{B/R}{B/R}");
    this.expansionSetCode = "SHM";
    this.subtype.add("Spirit");
    this.subtype.add("Avatar");

    this.power = new MageInt(5);
    this.toughness = new MageInt(4);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // Haste
    this.addAbility(HasteAbility.getInstance());

    // When you cast Demigod of Revenge, return all cards named Demigod of Revenge from your
    // graveyard to the battlefield.
    this.addAbility(new CastSourceTriggeredAbility(new DemigodOfRevengeReturnEffect()));
  }
Пример #16
0
  public CloudchaserKestrel(UUID ownerId) {
    super(
        ownerId,
        10,
        "Cloudchaser Kestrel",
        Rarity.COMMON,
        new CardType[] {CardType.CREATURE},
        "{1}{W}{W}");
    this.expansionSetCode = "TSP";
    this.subtype.add("Bird");
    this.power = new MageInt(2);
    this.toughness = new MageInt(2);

    // Flying
    this.addAbility(FlyingAbility.getInstance());
    // When Cloudchaser Kestrel enters the battlefield, destroy target enchantment.
    Ability ability = new EntersBattlefieldTriggeredAbility(new DestroyTargetEffect(), false);
    ability.addTarget(new TargetEnchantmentPermanent());
    this.addAbility(ability);
    // {W}: Target permanent becomes white until end of turn.
    ability =
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD,
            new BecomesColorTargetEffect(ObjectColor.WHITE, Duration.EndOfTurn),
            new ManaCostsImpl("{W}"));
    ability.addTarget(new TargetPermanent());
    this.addAbility(ability);
  }
Пример #17
0
  public GeralfsMasterpiece(UUID ownerId) {
    super(
        ownerId,
        65,
        "Geralf's Masterpiece",
        Rarity.MYTHIC,
        new CardType[] {CardType.CREATURE},
        "{3}{U}{U}");
    this.expansionSetCode = "SOI";
    this.subtype.add("Zombie");
    this.subtype.add("Horror");
    this.power = new MageInt(7);
    this.toughness = new MageInt(7);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // Geralf's Masterpiece gets -1/-1 for each card in your hand.
    DynamicValue count = new SignInversionDynamicValue(new CardsInControllerHandCount());
    Effect effect = new BoostSourceEffect(count, count, Duration.WhileOnBattlefield);
    effect.setText("{this} gets -1/-1 for each card in your hand");
    this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));

    // {3}{U}, Discard three cards: Return Geralf's Masterpiece from your graveyard to the
    // battlefield tapped.
    Ability ability =
        new SimpleActivatedAbility(
            Zone.GRAVEYARD,
            new ReturnSourceFromGraveyardToBattlefieldEffect(true),
            new ManaCostsImpl("{3}{U}"));
    ability.addCost(new DiscardTargetCost(new TargetCardInHand(3, new FilterCard("three cards"))));
    this.addAbility(ability);
  }
Пример #18
0
  public LyevSkyknight(UUID ownerId) {
    super(
        ownerId,
        179,
        "Lyev Skyknight",
        Rarity.UNCOMMON,
        new CardType[] {CardType.CREATURE},
        "{1}{W}{U}");
    this.expansionSetCode = "RTR";
    this.subtype.add("Human");
    this.subtype.add("Knight");

    this.power = new MageInt(3);
    this.toughness = new MageInt(1);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // When Lyev Skyknight enters the battlefield, detain target nonland permanent an opponent
    // controls.
    // (Until your next turn, that permanent can't attack or block and its activated abilities can't
    // be activated.)
    Ability ability = new EntersBattlefieldTriggeredAbility(new DetainTargetEffect(), false);
    TargetNonlandPermanent target = new TargetNonlandPermanent(filter);
    ability.addTarget(target);
    this.addAbility(ability);
  }
Пример #19
0
  public ArcadesSabboth(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{2}{G}{G}{W}{W}{U}{U}");
    this.supertype.add("Legendary");
    this.subtype.add("Elder");
    this.subtype.add("Dragon");
    this.power = new MageInt(7);
    this.toughness = new MageInt(7);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // At the beginning of your upkeep, sacrifice Arcades Sabboth unless you pay {G}{W}{U}.
    this.addAbility(
        new BeginningOfUpkeepTriggeredAbility(
            new SacrificeSourceUnlessPaysEffect(new ManaCostsImpl("{G}{W}{U}")),
            TargetController.YOU,
            false));

    // Each untapped creature you control gets +0/+2 as long as it's not attacking.
    this.addAbility(
        new SimpleStaticAbility(
            Zone.BATTLEFIELD,
            new BoostAllEffect(0, 2, Duration.WhileOnBattlefield, filter, false)));

    // {W}: Arcades Sabboth gets +0/+1 until end of turn.
    this.addAbility(
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD,
            new BoostSourceEffect(0, 1, Duration.EndOfTurn),
            new ManaCostsImpl("{W}")));
  }
Пример #20
0
 public NectarFaerie(UUID ownerId) {
   super(
       ownerId,
       130,
       "Nectar Faerie",
       Rarity.UNCOMMON,
       new CardType[] {CardType.CREATURE},
       "{1}{B}");
   this.expansionSetCode = "LRW";
   this.subtype.add("Faerie");
   this.subtype.add("Wizard");
   this.color.setBlack(true);
   this.power = new MageInt(1);
   this.toughness = new MageInt(1);
   this.addAbility(FlyingAbility.getInstance());
   // {B}, {tap}: Target Faerie or Elf gains lifelink until end of turn.
   Ability ability =
       new SimpleActivatedAbility(
           Zone.BATTLEFIELD,
           new GainAbilityTargetEffect(LifelinkAbility.getInstance(), Duration.EndOfTurn),
           new ColoredManaCost(ColoredManaSymbol.B));
   ability.addCost(new TapSourceCost());
   ability.addTarget(new TargetPermanent(filter));
   this.addAbility(ability);
 }
Пример #21
0
  public Ornitharch(UUID ownerId) {
    super(
        ownerId,
        23,
        "Ornitharch",
        Rarity.UNCOMMON,
        new CardType[] {CardType.CREATURE},
        "{3}{W}{W}");
    this.expansionSetCode = "BNG";
    this.subtype.add("Archon");

    this.power = new MageInt(3);
    this.toughness = new MageInt(3);

    // Flying
    this.addAbility(FlyingAbility.getInstance());
    // Tribute 2
    this.addAbility(new TributeAbility(2));
    // When Ornitharch enters the battlefield, if tribute wasn't paid, put two 1/1 white Bird
    // creature tokens with flying onto the battlefield.
    TriggeredAbility ability =
        new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new BirdToken(), 2), false);
    this.addAbility(
        new ConditionalTriggeredAbility(
            ability,
            TributeNotPaidCondition.getInstance(),
            "When {this} enters the battlefield, if its tribute wasn't paid, put two 1/1 white Bird creature tokens with flying onto the battlefield."));
  }
Пример #22
0
  public Rakavolver(UUID ownerId, CardSetInfo setInfo) {
    super(ownerId, setInfo, new CardType[] {CardType.CREATURE}, "{2}{R}");
    this.subtype.add("Volver");
    this.power = new MageInt(2);
    this.toughness = new MageInt(2);

    // Kicker {1}{W} and/or {U}
    KickerAbility kickerAbility = new KickerAbility("{1}{W}");
    kickerAbility.addKickerCost("{U}");
    this.addAbility(kickerAbility);
    // If Rakavolver was kicked with its {1}{W} kicker, it enters the battlefield with two +1/+1
    // counters on it and with "Whenever Rakavolver deals damage, you gain that much life."
    Ability ability =
        new EntersBattlefieldAbility(
            new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)),
            new KickedCostCondition("{1}{W}"),
            "If {this} was kicked with its {1}{W} kicker, it enters the battlefield with two +1/+1 counters on it and with \"Whenever {this} deals damage, you gain that much life.\"",
            "");
    ability.addEffect(
        new GainAbilitySourceEffect(
            new DealsDamageGainLifeSourceTriggeredAbility(), Duration.WhileOnBattlefield));
    this.addAbility(ability);
    // If Rakavolver was kicked with its {U} kicker, it enters the battlefield with a +1/+1 counter
    // on it and with flying.
    ability =
        new EntersBattlefieldAbility(
            new AddCountersSourceEffect(CounterType.P1P1.createInstance(1)),
            new KickedCostCondition("{U}"),
            "If {this} was kicked with its {U} kicker, it enters the battlefield with a +1/+1 counter on it and with flying.",
            "");
    ability.addEffect(
        new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.WhileOnBattlefield));
    this.addAbility(ability);
  }
Пример #23
0
  public MordantDragon(UUID ownerId) {
    super(
        ownerId,
        85,
        "Mordant Dragon",
        Rarity.RARE,
        new CardType[] {CardType.CREATURE},
        "{3}{R}{R}{R}");
    this.expansionSetCode = "WWK";
    this.subtype.add("Dragon");

    this.power = new MageInt(5);
    this.toughness = new MageInt(5);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // {1}{R}: Mordant Dragon gets +1/+0 until end of turn.
    this.addAbility(
        new SimpleActivatedAbility(
            Zone.BATTLEFIELD,
            new BoostSourceEffect(1, 0, Duration.EndOfTurn),
            new ManaCostsImpl("{1}{R}")));

    // Whenever Mordant Dragon deals combat damage to a player, you may have it deal that much
    // damage to target creature that player controls.
    this.addAbility(
        new DealsCombatDamageToAPlayerTriggeredAbility(new MordantDragonEffect(), true, true));
  }
Пример #24
0
 @Override
 public boolean checkTrigger(GameEvent event, Game game) {
   Permanent permanent = game.getPermanent(getSourceId());
   if (permanent != null && permanent.getAbilities().contains(FlyingAbility.getInstance())) {
     return true;
   }
   return false;
 }
Пример #25
0
 LurkingEvilToken() {
   super("Horror", "4/4 Horror creature with flying");
   power = new MageInt(4);
   toughness = new MageInt(4);
   subtype.add("Horror");
   cardType.add(CardType.CREATURE);
   this.addAbility(FlyingAbility.getInstance());
 }
Пример #26
0
 WaspToken() {
   super("Wasp", "1/1 colorless Insect artifact creature token with flying");
   cardType.add(CardType.ARTIFACT);
   cardType.add(CardType.CREATURE);
   this.subtype.add("Insect");
   power = new MageInt(1);
   toughness = new MageInt(1);
   this.addAbility(FlyingAbility.getInstance());
 }
Пример #27
0
 FaerieConclaveToken() {
   super("Faerie", "a 2/1 blue Faerie creature with flying");
   cardType.add(CardType.CREATURE);
   this.subtype.add("Faerie");
   color.setBlue(true);
   power = new MageInt(2);
   toughness = new MageInt(1);
   this.addAbility(FlyingAbility.getInstance());
 }
Пример #28
0
  public MazeGlider(UUID ownerId) {
    super(ownerId, 13, "Maze Glider", Rarity.COMMON, new CardType[] {CardType.CREATURE}, "{5}{U}");
    this.expansionSetCode = "DGM";
    this.subtype.add("Elemental");
    this.color.setBlue(true);
    this.power = new MageInt(3);
    this.toughness = new MageInt(5);

    // Flying
    this.addAbility(FlyingAbility.getInstance());

    // Multicolored creatures you control have flying.
    this.addAbility(
        new SimpleStaticAbility(
            Zone.BATTLEFIELD,
            new GainAbilityAllEffect(
                FlyingAbility.getInstance(), Duration.WhileOnBattlefield, filter)));
  }
Пример #29
0
 ReignOfThePitToken(int xValue) {
   super("Demon", "X/X black Demon creature token with flying");
   power = new MageInt(xValue);
   toughness = new MageInt(xValue);
   color.setBlack(true);
   subtype.add("Demon");
   cardType.add(CardType.CREATURE);
   this.addAbility(FlyingAbility.getInstance());
 }
Пример #30
0
 public HauntedAngelToken() {
   super("Angel", "3/3 black Angel creature token with flying");
   cardType.add(CardType.CREATURE);
   color.setBlack(true);
   subtype.add("Angel");
   power = new MageInt(3);
   toughness = new MageInt(3);
   this.addAbility(FlyingAbility.getInstance());
 }