@Override public List<Mana> getNetMana(Game game, Ability source) { ArrayList<Mana> netMana = new ArrayList<>(); netMana.add(Mana.GreenMana(1)); netMana.add(Mana.WhiteMana(1)); netMana.add(Mana.BlueMana(1)); netMana.add(Mana.RedMana(1)); netMana.add(Mana.BlackMana(1)); return netMana; }
public GeosurgeConditionalMana() { super(Mana.RedMana(7)); staticText = "Spend this mana only to cast artifact or creature spells"; addCondition(new GeosurgeManaCondition()); } }
public PyreticRitual(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{1}{R}"); // Add {R}{R}{R}. this.getSpellAbility().addEffect(new BasicManaEffect(Mana.RedMana(3))); }
@Override public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana, Cost costToPay) { Player player = game.getPlayer(controllerId); if(player != null) { player.getManaPool().addMana(Mana.RedMana(1), game, ability); paid = true; return true; } return false; }
public BrightstoneRitual(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{R}"); // Add {R} for each Goblin on the battlefield. this.getSpellAbility().addEffect(new DynamicManaEffect(Mana.RedMana(1), new PermanentsOnBattlefieldCount(filter))); }
public BattleHymn(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.INSTANT}, "{1}{R}"); // Add {R} for each creature you control. this.getSpellAbility().addEffect(new DynamicManaEffect(Mana.RedMana(1), new PermanentsOnBattlefieldCount(StaticFilters.FILTER_CONTROLLED_CREATURE))); }
public ManaGeyser(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{3}{R}{R}"); // Add {R} for each tapped land your opponents control. this.getSpellAbility().addEffect(new DynamicManaEffect(Mana.RedMana(1), new PermanentsOnBattlefieldCount(filter))); }
public VesselOfVolatility(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ENCHANTMENT},"{1}{R}"); // {1}{R}, Sacrifice Vessel of Volatility: Add {R}{R}{R}{R}. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(4), new ManaCostsImpl("{1}{R}")); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); }
public HeartOfRamos(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT},"{3}"); // {tap}: Add {R}. this.addAbility(new RedManaAbility()); // Sacrifice Heart of Ramos: Add {R}. this.addAbility(new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(1), new SacrificeSourceCost())); }
public PriestOfUrabrask(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); this.subtype.add(SubType.HUMAN); this.subtype.add(SubType.CLERIC); this.power = new MageInt(2); this.toughness = new MageInt(1); this.addAbility(new EntersBattlefieldTriggeredAbility(new BasicManaEffect(Mana.RedMana(3)))); }
public InfernalPlunge(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{R}"); // As an additional cost to cast Infernal Plunge, sacrifice a creature. this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent(FILTER_CONTROLLED_CREATURE_SHORT_TEXT))); // Add {R}{R}{R}. this.getSpellAbility().addEffect(new BasicManaEffect(Mana.RedMana(3))); }
public CoalGolem(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.ARTIFACT,CardType.CREATURE},"{5}"); this.subtype.add(SubType.GOLEM); this.power = new MageInt(3); this.toughness = new MageInt(3); // {3}, Sacrifice Coal Golem: Add {R}{R}{R}. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(3),new GenericManaCost(3)); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); }
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 SeismicSpike(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.SORCERY},"{2}{R}{R}"); // Destroy target land. Add {R}{R}. this.getSpellAbility().addEffect(new DestroyTargetEffect()); this.getSpellAbility().addTarget(new TargetLandPermanent()); this.getSpellAbility().addEffect(new BasicManaEffect(Mana.RedMana(2))); }
public DwarvenRuins(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); // Dwarven Ruins enters the battlefield tapped. this.addAbility(new EntersBattlefieldTappedAbility()); // {tap}: Add {R}. this.addAbility(new RedManaAbility()); // {tap}, Sacrifice Dwarven Ruins: Add {R}{R}. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(2), new TapSourceCost()); ability.addCost(new SacrificeSourceCost()); this.addAbility(ability); }
public Dragonrage(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.INSTANT},"{2}{R}"); // Add {R} for each attacking creature you control. this.getSpellAbility().addEffect(new DynamicManaEffect(Mana.RedMana(1), new PermanentsOnBattlefieldCount(filter))); // Until end of turn, attacking creatures you control gain "{R}: This creature gets +1/+0 until end of turn." Ability abilityToGain = new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1,0,Duration.EndOfTurn), new ManaCostsImpl("{R}")); Effect effect = new GainAbilityAllEffect(abilityToGain, Duration.EndOfTurn, filter); effect.setText("Until end of turn, attacking creatures you control gain \"{R}: This creature gets +1/+0 until end of turn.\""); this.getSpellAbility().addEffect(effect); }
public KrarkClanStoker(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.CREATURE},"{2}{R}"); this.subtype.add(SubType.GOBLIN); this.subtype.add(SubType.SHAMAN); this.power = new MageInt(2); this.toughness = new MageInt(2); // {T}, Sacrifice an artifact: Add {R}{R}. Ability ability = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(2), new TapSourceCost()); ability.addCost(new SacrificeTargetCost(new TargetControlledPermanent(new FilterControlledArtifactPermanent("an artifact")))); this.addAbility(ability); }
public SulfurousSprings(UUID ownerId, CardSetInfo setInfo) { super(ownerId,setInfo,new CardType[]{CardType.LAND},""); this.addAbility(new ColorlessManaAbility()); Ability blackManaAbility = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.BlackMana(1), new TapSourceCost()); blackManaAbility.addEffect(new DamageControllerEffect(1)); this.addAbility(blackManaAbility); Ability redManaAbility = new SimpleManaAbility(Zone.BATTLEFIELD, Mana.RedMana(1), new TapSourceCost()); redManaAbility.addEffect(new DamageControllerEffect(1)); this.addAbility(redManaAbility); }
public Capture(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.SORCERY}, "{2}{R}"); // Gain control of target creature until end of turn. this.getSpellAbility().addTarget(new TargetCreaturePermanent()); this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn)); // Untap that creature. this.getSpellAbility().addEffect(new UntapTargetEffect()); // It gains haste until end of turn. this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn)); // If it has a bounty counter on it, add {R}{R}{R} this.getSpellAbility().addEffect(new ConditionalOneShotEffect(new BasicManaEffect(Mana.RedMana(3)), new TargetHasCounterCondition(CounterType.BOUNTY))); }
public JayaBallard(UUID ownerId, CardSetInfo setInfo) { super(ownerId, setInfo, new CardType[]{CardType.PLANESWALKER}, "{2}{R}{R}{R}"); this.addSuperType(SuperType.LEGENDARY); this.subtype.add(SubType.JAYA); this.addAbility(new PlaneswalkerEntersWithLoyaltyCountersAbility(5)); // +1: Add {R}{R}{R}. Spend this mana only to cast instant or sorcery spells. this.addAbility(new LoyaltyAbility(new AddConditionalManaEffect(Mana.RedMana(3), new InstantOrSorcerySpellManaBuilder()), 1)); // +1: Discard up to three cards, then draw that many cards. this.addAbility(new LoyaltyAbility(new JayaBallardDiscardDrawEffect(), 1)); // −8: You get an emblem with "You may cast instant and sorcery cards from your graveyard. If a card cast this way would be put into your graveyard, exile it instead." this.addAbility(new LoyaltyAbility(new GetEmblemEffect(new JayaBallardEmblem()), -8), new CastFromGraveyardWatcher()); }