added new cards from visions

This commit is contained in:
igoudt 2017-05-25 10:49:09 +02:00
parent f759536e51
commit 542a0122fc
5 changed files with 155 additions and 0 deletions

View file

@ -0,0 +1,42 @@
package mage.cards.b;
import mage.MageInt;
import mage.abilities.common.EntersBattlefieldTriggeredAbility;
import mage.abilities.costs.common.ReturnToHandChosenControlledPermanentCost;
import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.SubType;
import mage.filter.common.FilterControlledLandPermanent;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
public class BullElephant extends CardImpl {
private static FilterControlledLandPermanent controlledForest = new FilterControlledLandPermanent("two forests you control");
static {
controlledForest.add(new SubtypePredicate(SubType.FOREST));
}
public BullElephant(UUID cardId, CardSetInfo cardSetInfo) {
super(cardId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{3}{G}");
this.subtype.add("Elephant");
power = new MageInt(4);
toughness = new MageInt(4);
//When Bull Elephant enters the battlefield, sacrifice it unless you return two Forests you control to their owner's hand.
addAbility(new EntersBattlefieldTriggeredAbility(new SacrificeSourceUnlessPaysEffect(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(2, 2, controlledForest, false)))));
}
public BullElephant(BullElephant other) {
super(other);
}
public BullElephant copy() {
return new BullElephant(this);
}
}

View file

@ -0,0 +1,35 @@
package mage.cards.k;
import mage.abilities.Ability;
import mage.abilities.costs.common.DiscardHandCost;
import mage.abilities.costs.common.SacrificeAllCost;
import mage.abilities.effects.Effect;
import mage.abilities.effects.common.LoseLifeTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.filter.common.FilterControlledPermanent;
import java.util.UUID;
public class KaerveksSpite extends CardImpl {
private FilterControlledPermanent permanentsYouControl = new FilterControlledPermanent("all permanents you control");
public KaerveksSpite(UUID ownerId, CardSetInfo cardSetInfo) {
super(ownerId, cardSetInfo, new CardType[]{CardType.INSTANT}, "{B}{B}{B}");
this.getSpellAbility().addCost(new SacrificeAllCost(permanentsYouControl));
this.getSpellAbility().addCost(new DiscardHandCost());
Effect effect = new LoseLifeTargetEffect(5);
this.getSpellAbility().addEffect(effect);
}
public KaerveksSpite(final KaerveksSpite other){
super(other);
}
public KaerveksSpite copy(){
return new KaerveksSpite(this);
}
}

View file

@ -0,0 +1,41 @@
package mage.cards.v;
import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ColoredManaCost;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.ColoredManaSymbol;
import mage.constants.Duration;
import mage.constants.Zone;
import java.util.UUID;
public class ViashivanDragon extends CardImpl {
public ViashivanDragon(UUID cardId, CardSetInfo cardSetInfo) {
super(cardId, cardSetInfo, new CardType[]{CardType.CREATURE}, "{2}{R}{R}{G}{G}");
subtype.add("DRAGON");
color.setGreen(true);
color.setRed(true);
power = new MageInt(4);
toughness = new MageInt(4);
addAbility(FlyingAbility.getInstance());
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(1, 0, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.R)));
this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(0, 1, Duration.EndOfTurn), new ColoredManaCost(ColoredManaSymbol.G)));
}
public ViashivanDragon(ViashivanDragon other){
super(other);
}
public ViashivanDragon copy(){
return new ViashivanDragon(this);
}
}

View file

@ -0,0 +1,33 @@
package mage.cards.w;
import mage.abilities.costs.common.SacrificeTargetCost;
import mage.abilities.effects.common.continuous.BoostTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
public class WickedReward extends CardImpl {
public WickedReward(UUID cardId, CardSetInfo cardSetInfo){
super(cardId, cardSetInfo, new CardType[]{CardType.INSTANT}, "{1}{B}");
//As an additional cost to cast Wicked Reward, sacrifice a creature.
this.getSpellAbility().addCost(new SacrificeTargetCost(new TargetControlledCreaturePermanent()));
//Target creature gets +4/+2 until end of turn.
this.getSpellAbility().addEffect(new BoostTargetEffect(4, 2, Duration.EndOfTurn));
}
public WickedReward(WickedReward other){
super(other);
}
public WickedReward copy(){
return new WickedReward(this);
}
}

View file

@ -60,6 +60,7 @@ public class Visions extends ExpansionSet {
cards.add(new SetCardInfo("Betrayal", 26, Rarity.COMMON, mage.cards.b.Betrayal.class));
cards.add(new SetCardInfo("Blanket of Night", 2, Rarity.UNCOMMON, mage.cards.b.BlanketOfNight.class));
cards.add(new SetCardInfo("Breezekeeper", 27, Rarity.COMMON, mage.cards.b.Breezekeeper.class));
cards.add(new SetCardInfo("Bull Elephant", 51, Rarity.COMMON, mage.cards.b.BullElephant.class));
cards.add(new SetCardInfo("Chronatog", 28, Rarity.RARE, mage.cards.c.Chronatog.class));
cards.add(new SetCardInfo("City of Solitude", 52, Rarity.RARE, mage.cards.c.CityOfSolitude.class));
cards.add(new SetCardInfo("Cloud Elemental", 29, Rarity.COMMON, mage.cards.c.CloudElemental.class));
@ -102,6 +103,7 @@ public class Visions extends ExpansionSet {
cards.add(new SetCardInfo("Inspiration", 35, Rarity.COMMON, mage.cards.i.Inspiration.class));
cards.add(new SetCardInfo("Jamuraan Lion", 110, Rarity.COMMON, mage.cards.j.JamuraanLion.class));
cards.add(new SetCardInfo("Jungle Basin", 164, Rarity.UNCOMMON, mage.cards.j.JungleBasin.class));
cards.add(new SetCardInfo("Kaervek's Spite", 13, Rarity.RARE, mage.cards.k.KaerveksSpite.class));
cards.add(new SetCardInfo("Karoo", 165, Rarity.UNCOMMON, mage.cards.k.Karoo.class));
cards.add(new SetCardInfo("Keeper of Kookus", 85, Rarity.COMMON, mage.cards.k.KeeperOfKookus.class));
cards.add(new SetCardInfo("King Cheetah", 60, Rarity.COMMON, mage.cards.k.KingCheetah.class));
@ -167,12 +169,14 @@ public class Visions extends ExpansionSet {
cards.add(new SetCardInfo("Vampiric Tutor", 22, Rarity.RARE, mage.cards.v.VampiricTutor.class));
cards.add(new SetCardInfo("Vanishing", 48, Rarity.COMMON, mage.cards.v.Vanishing.class));
cards.add(new SetCardInfo("Viashino Sandstalker", 100, Rarity.UNCOMMON, mage.cards.v.ViashinoSandstalker.class));
cards.add(new SetCardInfo("Viashivan Dragon", 140, Rarity.RARE, mage.cards.v.ViashivanDragon.class));
cards.add(new SetCardInfo("Vision Charm", 49, Rarity.COMMON, mage.cards.v.VisionCharm.class));
cards.add(new SetCardInfo("Wake of Vultures", 24, Rarity.COMMON, mage.cards.w.WakeOfVultures.class));
cards.add(new SetCardInfo("Wand of Denial", 159, Rarity.RARE, mage.cards.w.WandOfDenial.class));
cards.add(new SetCardInfo("Warrior's Honor", 124, Rarity.COMMON, mage.cards.w.WarriorsHonor.class));
cards.add(new SetCardInfo("Warthog", 74, Rarity.COMMON, mage.cards.w.Warthog.class));
cards.add(new SetCardInfo("Waterspout Djinn", 50, Rarity.UNCOMMON, mage.cards.w.WaterspoutDjinn.class));
cards.add(new SetCardInfo("Wicked Reward", 25, Rarity.COMMON, mage.cards.w.WickedReward.class));
cards.add(new SetCardInfo("Zhalfirin Crusader", 125, Rarity.RARE, mage.cards.z.ZhalfirinCrusader.class));
}
}