@Override public AdaptAbility copy() { return new AdaptAbility(this); } }
public SkitterEel(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); this.subtype.add(SubType.FISH); this.subtype.add(SubType.CRAB); this.power = new MageInt(3); this.toughness = new MageInt(3); // {2}{U}: Adapt 2. this.addAbility(new AdaptAbility(2, "{2}{U}")); }
public SauroformHybrid(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.LIZARD); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); // {4}{G}{G}: Adapt 4. this.addAbility(new AdaptAbility(4, "{4}{G}{G}")); }
public Aeromunculus(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}{U}"); this.subtype.add(SubType.HOMUNCULUS); this.subtype.add(SubType.MUTANT); this.power = new MageInt(2); this.toughness = new MageInt(3); // Flying this.addAbility(FlyingAbility.getInstance()); // {2}{G}{U}: Adapt 1. this.addAbility(new AdaptAbility(1, "{2}{G}{U}")); }
public IncubationDruid(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); this.subtype.add(SubType.ELF); this.subtype.add(SubType.DRUID); this.power = new MageInt(0); this.toughness = new MageInt(2); // {T}: Add one mana of any type that a land you control could produce. If Incubation Druid has a +1/+1 counter on it, add three mana of that type instead. this.addAbility(new SimpleManaAbility( Zone.BATTLEFIELD, new AnyColorLandsProduceManaEffect(), new TapSourceCost() )); // {3}{G}{G}: Adapt 3. this.addAbility(new AdaptAbility(3, "{3}{G}{G}")); }
public GrowthChamberGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{1}{G}"); this.subtype.add(SubType.ELF); this.subtype.add(SubType.CRAB); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(2); this.toughness = new MageInt(2); // {2}{G}: Adapt 2. this.addAbility(new AdaptAbility(2, "{2}{G}")); // Whenever one or more +1/+1 counters are put on Growth-Chamber Guardian, you may search your library for a card named Growth-Chamber Guardian, reveal it, put it into your hand, then shuffle your library. this.addAbility(new OneOrMoreCountersAddedTriggeredAbility(new SearchLibraryPutInHandEffect(new TargetCardInLibrary(filter), true), true)); }
public SkatewingSpy(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{U}"); this.subtype.add(SubType.VEDALKEN); this.subtype.add(SubType.ROGUE); this.subtype.add(SubType.MUTANT); this.power = new MageInt(2); this.toughness = new MageInt(3); // {5}{U}: Adapt 2. this.addAbility(new AdaptAbility(2, "{5}{U}")); // Each creature you control with a +1/+1 counter on it has flying. this.addAbility(new SimpleStaticAbility( Zone.BATTLEFIELD, new GainAbilityAllEffect( FlyingAbility.getInstance(), Duration.WhileOnBattlefield, filter, "Each creature you control " + "with a +1/+1 counter on it has flying" ) )); }
public BenthicBiomancer(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{U}"); this.subtype.add(SubType.MERFOLK); this.subtype.add(SubType.WIZARD); this.subtype.add(SubType.MUTANT); this.power = new MageInt(1); this.toughness = new MageInt(1); // {1}{U}: Adapt 1. this.addAbility(new AdaptAbility(1, "{1}{U}")); // Whenever one or more +1/+1 counters are put on Benthic Biomancer, draw a card, then discard a card. Ability ability = new OneOrMoreCountersAddedTriggeredAbility(new DrawCardSourceControllerEffect(1)); ability.addEffect(new DiscardControllerEffect(1).setText(", then discard a card")); this.addAbility(ability); }
public TrollbredGuardian(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G}"); this.subtype.add(SubType.TROLL); this.subtype.add(SubType.FROG); this.subtype.add(SubType.WARRIOR); this.power = new MageInt(5); this.toughness = new MageInt(5); // {2}{G}: Adapt 2. this.addAbility(new AdaptAbility(2, "{2}{G}")); // Each creature you control with a +1/+1 counter on it has trample. this.addAbility(new SimpleStaticAbility( Zone.BATTLEFIELD, new GainAbilityAllEffect( TrampleAbility.getInstance(), Duration.WhileOnBattlefield, filter, "Each creature you control " + "with a +1/+1 counter on it has trample" ) )); }
public Sharktocrab(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{U}"); this.subtype.add(SubType.FISH); this.subtype.add(SubType.OCTOPUS); this.subtype.add(SubType.CRAB); this.power = new MageInt(4); this.toughness = new MageInt(4); // {2}{G}{U}: Adapt 1. this.addAbility(new AdaptAbility(1, "{2}{G}{U}")); // Whenever one or more +1/+1 counter are put on Sharktocrab, tap target creature an opponent controls. That creature doesn't untap during its controller's next untap step. Ability ability = new OneOrMoreCountersAddedTriggeredAbility(new TapTargetEffect()); ability.addEffect(new DontUntapInControllersNextUntapStepTargetEffect("That creature")); ability.addTarget(new TargetOpponentsCreaturePermanent()); this.addAbility(ability); }
public Scuttlegator(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{4}{G/U}{G/U}"); this.subtype.add(SubType.CRAB); this.subtype.add(SubType.TURTLE); this.subtype.add(SubType.CROCODILE); this.power = new MageInt(6); this.toughness = new MageInt(6); // Defender this.addAbility(DefenderAbility.getInstance()); // {6}{G/U}{G/U}: Adapt 3. this.addAbility(new AdaptAbility(3, "{6}{G/U}{G/U}")); // As long as Scuttlegator has a +1/+1 counter on it, it can attack as though it didn't have defender. this.addAbility(new SimpleStaticAbility( Zone.BATTLEFIELD, new ConditionalAsThoughEffect( new CanAttackAsThoughItDidntHaveDefenderSourceEffect(Duration.WhileOnBattlefield), new SourceHasCounterCondition(CounterType.P1P1) ).setText("As long as {this} has a +1/+1 counter on it, " + "it can attack as though it didn't have defender.") )); }
public ZeganaUtopianSpeaker(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{2}{G}{U}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.MERFOLK); this.subtype.add(SubType.WIZARD); this.power = new MageInt(4); this.toughness = new MageInt(4); // When Zegana, Utopian Speaker enters the battlefield, if you control another creature with a +1/+1 counter on it, draw a card. this.addAbility(new ConditionalInterveningIfTriggeredAbility( new EntersBattlefieldTriggeredAbility( new DrawCardSourceControllerEffect(1), false ), new PermanentsOnTheBattlefieldCondition(filter), "When {this} enters the battlefield, " + "if you control another creature " + "with a +1/+1 counter on it, draw a card." )); // {4}{G}{U}: Adapt 4. this.addAbility(new AdaptAbility(4, "{4}{G}{U}")); // Each creature you control with a +1/+1 counter on it has trample. this.addAbility(new SimpleStaticAbility( Zone.BATTLEFIELD, new GainAbilityAllEffect( TrampleAbility.getInstance(), Duration.WhileOnBattlefield, filter2, "Each creature you control with a +1/+1 counter on it has trample" ) )); }