@Override public PlayAdditionalLandsControllerEffect copy() { return new PlayAdditionalLandsControllerEffect(this); }
public PlayAdditionalLandsControllerEffect(int additionalCards, Duration duration) { super(duration, Layer.PlayerEffects, SubLayer.NA, Outcome.Benefit); this.additionalCards = additionalCards; setText(); }
public Exploration(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); // You may play an additional land on each of your turns. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield))); }
public SummerBloom(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{1}{G}"); // You may play up to three additional lands this turn. this.getSpellAbility().addEffect(new PlayAdditionalLandsControllerEffect(3, Duration.EndOfTurn)); }
public Fastbond(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{G}"); // You may play any number of additional lands on each of your turns. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayAdditionalLandsControllerEffect(Integer.MAX_VALUE, Duration.WhileOnBattlefield))); // Whenever you play a land, if it wasn't the first land you played this turn, Fastbond deals 1 damage to you. this.addAbility(new PlayALandTriggeredAbility()); }
public AzusaLostButSeeking (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{G}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.MONK); this.power = new MageInt(1); this.toughness = new MageInt(2); this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayAdditionalLandsControllerEffect(2, Duration.WhileOnBattlefield))); }
public UrbanEvolution(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{3}{G}{U}"); //Draw three cards. this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3)); //You may play an additional land this turn. this.getSpellAbility().addEffect(new PlayAdditionalLandsControllerEffect(1, Duration.EndOfTurn)); }
public Explore(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{1}{G}"); // You may play an additional land this turn. this.getSpellAbility().addEffect(new PlayAdditionalLandsControllerEffect(1, Duration.EndOfTurn)); // Draw a card. this.getSpellAbility().addEffect(new DrawCardSourceControllerEffect(1)); }
public WaywardSwordtooth(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}"); this.subtype.add(SubType.DINOSAUR); this.power = new MageInt(5); this.toughness = new MageInt(5); // Ascend this.addAbility(new AscendAbility()); // You may play an additional land on each of your turns. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield))); // Wayward Sawtooth can't attack or block unless you have the city's blessing. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new CantAttackBlockUnlessConditionSourceEffect(CitysBlessingCondition.instance))); }
public OracleOfMulDaya(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{G}"); this.subtype.add(SubType.ELF); this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); // You may play an additional land on each of your turns. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield))); // Play with the top card of your library revealed. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayWithTheTopCardRevealedEffect())); // You may play the top card of your library if it's a land card. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayTheTopCardEffect(new FilterLandCard()))); }
public EnterTheUnknown(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{G}"); // Target creature you control explores. this.getSpellAbility().addEffect(new ExploreTargetEffect() .setText("Target creature you control explores. <i>(Reveal the top card of your library. Put that card into your hand if it's a land. Otherwise, put a +1/+1 counter on this creature, then put the card back or put it into your graveyard.)</i>")); this.getSpellAbility().addTarget(new TargetControlledCreaturePermanent()); // You may play an additional land this turn. this.getSpellAbility().addEffect(new PlayAdditionalLandsControllerEffect(1, Duration.EndOfTurn)); }
public MinaAndDennWildborn(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}{G}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.ELF); this.subtype.add(SubType.ALLY); this.power = new MageInt(4); this.toughness = new MageInt(4); // You may play an additional land on each of your turns. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield))); // {R}{G}, Return a land you control to its owner's hand: Target creature gains trample until end of turn. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), new ManaCostsImpl("{R}{G}")); ability.addCost(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(filter))); ability.addTarget(new TargetCreaturePermanent()); this.addAbility(ability); }
public JourneyOfDiscovery(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{G}"); // Choose one - Search your library for up to two basic land cards, reveal them, put them into your hand, then shuffle your library; this.getSpellAbility().addEffect(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(0, 2, StaticFilters.FILTER_CARD_BASIC_LAND))); // or you may play up to two additional lands this turn. Mode mode = new Mode(); mode.addEffect(new PlayAdditionalLandsControllerEffect(2, Duration.EndOfTurn)); this.getSpellAbility().getModes().addMode(mode); // Entwine {2}{G} this.addAbility(new EntwineAbility("{2}{G}")); }
public TheGitrogMonster(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{3}{B}{G}"); addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.FROG); this.subtype.add(SubType.HORROR); this.power = new MageInt(6); this.toughness = new MageInt(6); // Deathtouch this.addAbility(DeathtouchAbility.getInstance()); // At the beginning of your upkeep, sacrifice The Gitrog Monster unless you sacrifice a land. this.addAbility(new BeginningOfUpkeepTriggeredAbility(new SacrificeSourceUnlessPaysEffect( new SacrificeTargetCost(new TargetControlledPermanent(1, 1, new FilterControlledLandPermanent("a land"), true))), TargetController.YOU, false)); // You may play an additional land on each of your turns. this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new PlayAdditionalLandsControllerEffect(1, Duration.WhileOnBattlefield))); // Whenever one or more land cards are put into your graveyard from anywhere, draw a card. this.addAbility(new TheGitrogMonsterTriggeredAbility()); }
public KioraTheCrashingWave(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{G}{U}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.KIORA); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(2)); // +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, create a 9/9 blue Kraken creature token." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new KioraEmblem()), -5)); }