public FireDiamond(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); // Fire Diamond enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // {tap}: Add {R}. this.addAbility(new RedManaAbility()); }
public BloodstoneCameo(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // {tap}: Add {B} or {R}. this.addAbility(new BlackManaAbility()); this.addAbility(new RedManaAbility()); }
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 SnowCoveredMountain(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.addSuperType(SuperType.BASIC); this.addSuperType(SuperType.SNOW); this.subtype.add(SubType.MOUNTAIN); // R this.addAbility(new RedManaAbility()); }
public DruidOfTheAnima (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(1); this.toughness = new MageInt(1); this.addAbility(new RedManaAbility()); this.addAbility(new GreenManaAbility()); this.addAbility(new WhiteManaAbility()); }
public WindScarredCrag(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Wind-Scarred Crag enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // When Wind-Scarred Crag enters the battlefield, you gain 1 life. this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(1))); // {T}: Add {R} or {W}. this.addAbility(new RedManaAbility()); this.addAbility(new WhiteManaAbility()); }
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 EwokVillage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Ewok Village enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // When Ewok Village enters the battlefield , add {G}. this.addAbility(new EntersBattlefieldTriggeredAbility(new AddManaToManaPoolSourceControllerEffect(Mana.GreenMana(1)))); // {T}: Add {R} or {W} to you mana pool. this.addAbility(new RedManaAbility()); this.addAbility(new WhiteManaAbility()); }
public KeldonMegaliths(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Keldon Megaliths enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // {tap}: Add {R}. this.addAbility(new RedManaAbility()); // Hellbent - {1}{R}, {tap}: Keldon Megaliths deals 1 damage to any target. Activate this ability only if you have no cards in hand. Ability ability = new ConditionalActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new ManaCostsImpl<>("{1}{R}"), HellbentCondition.instance, "<i>Hellbent</i> — {1}{R}, {T}: {this} deals 1 damage to any target. Activate this ability only if you have no cards in hand."); ability.addTarget(new TargetAnyTarget()); this.addAbility(ability); }
public ShinkaTheBloodsoakedKeep(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); addSuperType(SuperType.LEGENDARY); this.addAbility(new RedManaAbility()); Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.R)); ability.addCost(new TapSourceCost()); ability.addTarget(new TargetPermanent(filter)); this.addAbility(ability); }
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 GruulLocket(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.ARTIFACT}, "{3}"); // {T}: Add {R} or {G}. this.addAbility(new RedManaAbility()); this.addAbility(new GreenManaAbility()); // {R/G}{R/G}{R/G}{R/G}, {T}, Sacrifice Gruul Locket: Draw two cards. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(2), new ManaCostsImpl<>("{R/G}{R/G}{R/G}{R/G}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); }
public GruulCluestone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // {T}: Add {R} or {G}. this.addAbility(new RedManaAbility()); this.addAbility(new GreenManaAbility()); // {R}{G}, {T}, Sacrifice Gruul Cluestone: Draw a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{R}{G}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); }
public BorosCluestone(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // {T}: Add {R} or {W}. this.addAbility(new RedManaAbility()); this.addAbility(new WhiteManaAbility()); // {R}{W}, {T}, Sacrifice Boros Cluestone: Draw a card. Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new ManaCostsImpl("{R}{W}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); }
public AncientAmphitheater(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // As Ancient Amphitheater enters the battlefield, you may reveal a Giant card from your hand. If you don't, Ancient Amphitheater enters the battlefield tapped. this.addAbility(new AsEntersBattlefieldAbility(new TapSourceUnlessPaysEffect(new RevealTargetFromHandCost(new TargetCardInHand(filter))), "you may reveal a Giant card from your hand. If you don't, {this} enters the battlefield tapped")); // {tap}: Add {R} or {W}. this.addAbility(new RedManaAbility()); this.addAbility(new WhiteManaAbility()); }
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 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()); }
public CrosissCatacombs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.subtype.add(SubType.LAIR); // When Crosis's Catacombs 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 {U}, {B}, or {R}. this.addAbility(new BlueManaAbility()); this.addAbility(new BlackManaAbility()); this.addAbility(new RedManaAbility()); }