public ImplementsOfSacrifice(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{2}"); // {1}, {tap}, Sacrifice Implements of Sacrifice: Add two mana of any one color. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(2), new ManaCostsImpl("{1}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); }
public GravenCairns(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // {T}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {B/R}, {tap}: Add {B}{B}, {B}{R}, or {R}{R}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(2), new ManaCostsImpl("{B/R}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 0, 1, 0, 0, 0), new ManaCostsImpl("{B/R}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(2), new ManaCostsImpl("{B/R}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public WoodedBastion(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // {tap}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {GW}, {tap}: Add {G}{G}, {G}{W}, or {W}{W}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(2), new ManaCostsImpl("{G/W}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 0, 1, 0, 0, 0, 0), new ManaCostsImpl("{G/W}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(2), new ManaCostsImpl("{G/W}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public TwilightMire (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); // {R/W}, {tap}: Add {R}{R}, {R}{W}, or {W}{W}. this.addAbility(new ColorlessManaAbility()); // {B/G}, {tap}: Add {B}{B}, {B}{G}, or {G}{G}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(2), new ManaCostsImpl("{B/G}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 0, 0, 1, 0, 0, 0), new ManaCostsImpl("{B/G}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(2), new ManaCostsImpl("{B/G}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public FireLitThicket(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // {tap}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {RG}, {tap}: Add {R}{R}, {R}{G}, or {G}{G}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(2), new ManaCostsImpl("{R/G}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 1, 0, 0, 0, 0, 0, 0), new ManaCostsImpl("{R/G}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(2), new ManaCostsImpl("{R/G}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public SunkenRuins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // {tap}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {UB}, {tap}: Add {U}{U}, {U}{B}, or {B}{B}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(2), new ManaCostsImpl("{U/B}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 0, 1, 0, 0, 0), new ManaCostsImpl("{U/B}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(2), new ManaCostsImpl("{U/B}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public RuggedPrairie (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // {T}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {R/W}, {tap}: Add {R}{R}, {R}{W}, or {W}{W}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(2), new ManaCostsImpl("{R/W}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 0, 1, 0, 0, 0, 0), new ManaCostsImpl("{R/W}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(2), new ManaCostsImpl("{R/W}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public FloodedGrove (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); // {T}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {(G/U)}, {T}: Add {G}{G}, {G}{U}, or {U}{U}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.GreenMana(2), new ManaCostsImpl("{G/U}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 1, 1, 0, 0, 0, 0, 0), new ManaCostsImpl("{G/U}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(2), new ManaCostsImpl("{G/U}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public FetidHeath (UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); // {tap}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {W/B}, {tap}: Add {W}{W}, {W}{B}, or {B}{B}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(2), new ManaCostsImpl("{W/B}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 0, 1, 1, 0, 0, 0), new ManaCostsImpl("{W/B}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(2), new ManaCostsImpl("{W/B}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public CascadeBluffs(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},null); // {tap}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {U/R}, {tap}: Add {U}{U}, {U}{R}, or {R}{R}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(2), new ManaCostsImpl("{U/R}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(1, 0, 1, 0, 0, 0, 0, 0), new ManaCostsImpl("{U/R}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(2), new ManaCostsImpl("{U/R}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public MysticGate(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // {tap}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {WU}, {tap}: Add {W}{W}, {W}{U}, or {U}{U}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.WhiteMana(2), new ManaCostsImpl("{W/U}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, new Mana(0, 0, 1, 1, 0, 0, 0, 0), new ManaCostsImpl("{W/U}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlueMana(2), new ManaCostsImpl("{W/U}")); ability.addCost(new TapSourceCost()); this.addAbility(ability); }
public Astrolabe(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // {1}, {tap}, Sacrifice Astrolabe: Add two mana of any one color. Draw a card at the beginning of the next turn's upkeep. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, new AddManaOfAnyColorEffect(2), new ManaCostsImpl("{1}")); ability.addCost(new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); ability.addEffect(new CreateDelayedTriggeredAbilityEffect( new AtTheBeginOfNextUpkeepDelayedTriggeredAbility(new DrawCardSourceControllerEffect(1), Duration.OneUse), false)); ability.setUndoPossible(false); this.addAbility(ability); }
public CrystalVein(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); // {T}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {T}, Sacrifice Crystal Vein: Add {C}{C}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.ColorlessMana(2), new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); }
public CryptOfTheEternals(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); // When Crypt of the Eternals enters the battlefield, you gain 1 life. this.addAbility(new EntersBattlefieldTriggeredAbility(new GainLifeEffect(1))); // {T}: Add {C}. this.addAbility(new ColorlessManaAbility()); // {1}, {T}: Add {U}, {B}, or {R}. List<Mana> list = new ArrayList<>(Arrays.asList(Mana.BlueMana(1), Mana.BlackMana(1), Mana.RedMana(1))); for (Mana m : list) { SimpleManaAbility uAbility = new SimpleManaAbility(Zone.BATTLEFIELD, m, new ManaCostsImpl("{1}")); uAbility.addCost(new TapSourceCost()); this.addAbility(uAbility); } }
public SatyrHedonist(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{G}"); this.subtype.add(SubType.SATYR); this.power = new MageInt(2); this.toughness = new MageInt(1); // {R}, Sacrifice Satyr Hedonist: Add {R}{R}{R}. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(3), new ManaCostsImpl("{R}")); ability .addCost(new SacrificeSourceCost()); this.addAbility(ability); }
public OasisRitualist(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.CREATURE}, "{3}{G}"); this.subtype.add(SubType.NAGA); this.subtype.add(SubType.DRUID); this.power = new MageInt(2); this.toughness = new MageInt(4); // {T}: Add one mana of any color. this.addAbility(new AnyColorManaAbility()); // {T}, Exert Oasis Ritualist: Add two mana of any one color to your manna pool. SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, (ManaEffect) new AddManaOfAnyColorEffect(2).setText("Add two mana of any one color to your manna pool. <i> (An exerted creature won't untap during your next untap step.)</i>"), new TapSourceCost()); ability.addCost(new ExertSourceCost()); this.addAbility(ability); }
public GeneratorServant(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{1}{R}"); this.subtype.add(SubType.ELEMENTAL); this.power = new MageInt(2); this.toughness = new MageInt(1); // {T}, Sacrifice Generator Servant: Add {C}{C}. If that mana is spent on a creature spell, it gains haste until end of turn. Mana mana = Mana.ColorlessMana(2); mana.setFlag(true); // used to indicate this mana ability SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, mana, new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); ability.getEffects().get(0).setText("Add {C}{C}. If that mana is spent on a creature spell, it gains haste until end of turn."); this.addAbility(ability); this.addAbility(new SimpleStaticAbility(Zone.ALL, new GeneratorServantHasteEffect()), new GeneratorServantWatcher()); }
public BoseijuWhoSheltersAll(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.LAND}, ""); this.addSuperType(SuperType.LEGENDARY); // Boseiju, Who Shelters All enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // {T}, Pay 2 life: Add {C}. If that mana is spent on an instant or sorcery spell, that spell can't be countered. Mana mana = Mana.ColorlessMana(1); mana.setFlag(true); // used to indicate this mana ability SimpleManaAbility ability = new SimpleManaAbility(Zone.BATTLEFIELD, mana, new TapSourceCost()); ability.addCost(new PayLifeCost(2)); ability.getEffects().get(0).setText("Add {C}. If that mana is spent on an instant or sorcery spell, that spell can't be countered"); this.addAbility(ability, new BoseijuWhoSheltersAllWatcher(ability.getOriginalId())); this.addAbility(new SimpleStaticAbility(Zone.ALL, new BoseijuWhoSheltersAllCantCounterEffect())); }