public DrakeSkullCameo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // {tap}: Add {U} or {B}. this.addAbility(new BlueManaAbility()); this.addAbility(new BlackManaAbility()); }
public Badlands(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.subtype.add(SubType.SWAMP, SubType.MOUNTAIN); this.addAbility(new BlackManaAbility()); this.addAbility(new RedManaAbility()); }
public ObeliskOfEsper (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); this.addAbility(new WhiteManaAbility()); this.addAbility(new BlueManaAbility()); this.addAbility(new BlackManaAbility()); }
public FrostMarsh(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); addSuperType(SuperType.SNOW); // Frost Marsh enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // {tap}: Add {U} or {B}. this.addAbility(new BlueManaAbility()); this.addAbility(new BlackManaAbility()); }
public OpulentPalace(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Opulent Palace enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // {T}: Add {B}, {G}, or {U}. this.addAbility(new BlackManaAbility()); this.addAbility(new GreenManaAbility()); this.addAbility(new BlueManaAbility()); }
public TempleOfDeceit(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Temple of Deceit enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // When Temple of Deceit enters the battlefield, scry 1.</i> this.addAbility(new EntersBattlefieldTriggeredAbility(new ScryEffect(1))); // {T}: Add {U} or {B}. this.addAbility(new BlueManaAbility()); this.addAbility(new BlackManaAbility()); }
public AkoumRefuge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.addAbility(new EntersBattlefieldTappedAbility()); this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(1))); this.addAbility(new BlackManaAbility()); this.addAbility(new RedManaAbility()); }
public JwarIsleRefuge(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.addAbility(new EntersBattlefieldTappedAbility()); this.addAbility(new BlueManaAbility()); this.addAbility(new BlackManaAbility()); this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(1))); }
public RootwaterDepths(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); // {tap}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {tap}: Add {U} or {B}. Rootwater Depths doesn't untap during your next untap step. Ability ability = new BlueManaAbility(); ability.addEffect(new DontUntapInControllersNextUntapStepSourceEffect()); this.addAbility(ability); ability = new BlackManaAbility(); ability.addEffect(new DontUntapInControllersNextUntapStepSourceEffect()); this.addAbility(ability); }
public CryptOfAgadeem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Crypt of Agadeem enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // {T}: Add {B}. this.addAbility(new BlackManaAbility()); // {2}, {T}: Add {B} for each black creature card in your graveyard. DynamicManaAbility ability = new DynamicManaAbility(Mana.BlackMana(1), new CardsInControllerGraveyardCount(filter), new GenericManaCost(2)); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public GodlessShrine(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, null); this.subtype.add(SubType.PLAINS); this.subtype.add(SubType.SWAMP); this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new PayLifeCost(2)), "you may pay 2 life. If you don't, {this} enters the battlefield tapped")); this.addAbility(new WhiteManaAbility()); this.addAbility(new BlackManaAbility()); }
public DrownedCatacomb(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, null); Condition controls = new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter)); String abilityText = " tapped unless you control a Island or a Swamp"; this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(new TapSourceEffect(), controls, abilityText), abilityText)); this.addAbility(new BlackManaAbility()); this.addAbility(new BlueManaAbility()); }
public MistveinBorderpost (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}{U}{B}"); // You may pay {1} and return a basic land you control to its owner's hand rather than pay Mistvein Borderpost's mana cost. Ability ability = new AlternativeCostSourceAbility(new GenericManaCost(1)); ability.addCost(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(filter))); this.addAbility(ability); // Mistvein Borderpost enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // Tap: Add {U} or {B}. this.addAbility(new BlueManaAbility()); this.addAbility(new BlackManaAbility()); }
public HissingQuagmire(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Hissing Quagmire enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // {T}: Add {B} or {G}. this.addAbility(new BlackManaAbility()); this.addAbility(new GreenManaAbility()); // {1}{B}{G}: Hissing Quagmire becomes a 2/2 black and green Elemental creature with deathtouch until end of turn. It's still a land. Effect effect = new BecomesCreatureSourceEffect(new HissingQuagmireToken(), "land", Duration.EndOfTurn); effect.setText("{this} becomes a 2/2 black and green Elemental creature with deathtouch until end of turn. It's still a land"); this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, effect, new ManaCostsImpl("{1}{B}{G}"))); }
public VeinfireBorderpost (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{1}{B}{R}"); // You may pay {1} and return a basic land you control to its owner's hand rather than pay Veinfire Borderpost's mana cost. Ability ability = new AlternativeCostSourceAbility(new GenericManaCost(1)); ability.addCost(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(filter))); this.addAbility(ability); // Veinfire Borderpost enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // Tap: Add {B} or {R}. this.addAbility(new BlackManaAbility()); this.addAbility(new RedManaAbility()); }
public ForebodingRuins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // As Foreboding Ruins enters the battlefield, you may reveal a Swamp or Mountain card from your hand. If you don't Foreboding Ruins enters the battlefield tapped. this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new RevealTargetFromHandCost(new TargetCardInHand(filter))), "you may reveal a Swamp or Mountain card from your hand. If you don't, {this} enters the battlefield tapped")); // {T}: Add {B} or {R}. this.addAbility(new BlackManaAbility()); this.addAbility(new RedManaAbility()); }
public AuntiesHovel(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // As Auntie's Hovel enters the battlefield, you may reveal a Goblin card from your hand. If you don't, Auntie's Hovel enters the battlefield tapped. this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new RevealTargetFromHandCost(new TargetCardInHand(filter))), "you may reveal a Goblin card from your hand. If you don't, {this} enters the battlefield tapped")); // {tap}: Add {B} or {R}. this.addAbility(new BlackManaAbility()); this.addAbility(new RedManaAbility()); }
public SmolderingMarsh(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.subtype.add(SubType.SWAMP); this.subtype.add(SubType.MOUNTAIN); // Smoldering Marsh enters the battlefield tapped unless you control two or more basic lands. Condition controls = new InvertCondition(new PermanentsOnTheBattlefieldCondition(filter, ComparisonType.MORE_THAN, 1)); String abilityText = "tapped unless you control two or more basic lands"; this.addAbility(new EntersBattlefieldAbility(new ConditionalOneShotEffect(new TapSourceEffect(), controls, abilityText), abilityText)); this.addAbility(new BlackManaAbility()); this.addAbility(new RedManaAbility()); }
public DromarsCavern(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.subtype.add(SubType.LAIR); // When Dromar's Cavern enters the battlefield, sacrifice it unless you return a non-Lair land you control to its owner's hand. this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(filter))))); // {tap}: Add {W}, {U}, or {B}. this.addAbility(new WhiteManaAbility()); this.addAbility(new BlueManaAbility()); this.addAbility(new BlackManaAbility()); }
public DarigaazsCaldera(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.subtype.add(SubType.LAIR); // When Darigaaz's Caldera enters the battlefield, sacrifice it unless you return a non-Lair land you control to its owner's hand. this.addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(filter))))); // {tap}: Add {B}, {R}, or {G}. this.addAbility(new BlackManaAbility()); this.addAbility(new RedManaAbility()); this.addAbility(new GreenManaAbility()); }