diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/AkoumStonewaker.java b/Mage.Sets/src/mage/sets/battleforzendikar/AkoumStonewaker.java
new file mode 100644
index 0000000000..aa2253b1e4
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/AkoumStonewaker.java
@@ -0,0 +1,126 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.DelayedTriggeredAbility;
+import mage.abilities.common.LandfallAbility;
+import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.OneShotEffect;
+import mage.abilities.effects.common.DoIfCostPaid;
+import mage.abilities.effects.common.ExileTargetEffect;
+import mage.abilities.keyword.HasteAbility;
+import mage.abilities.keyword.TrampleAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Outcome;
+import mage.constants.Rarity;
+import mage.game.Game;
+import mage.game.permanent.token.Token;
+import mage.target.targetpointer.FixedTarget;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class AkoumStonewaker extends CardImpl {
+
+ public AkoumStonewaker(UUID ownerId) {
+ super(ownerId, 140, "Akoum Stonewaker", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Human");
+ this.subtype.add("Shaman");
+ this.power = new MageInt(2);
+ this.toughness = new MageInt(1);
+
+ // Landfall — Whenever a land enters the battlefield under your control, you may pay {2}{R}. If you do, put a 3/1 red Elemental creature token with trample and haste onto the battlefield.
+ // Exile that token at the beginning of the next end step.
+ this.addAbility(new LandfallAbility(new DoIfCostPaid(new AkoumStonewakerEffect(), new ManaCostsImpl("{2}{R}")), false));
+
+ }
+
+ public AkoumStonewaker(final AkoumStonewaker card) {
+ super(card);
+ }
+
+ @Override
+ public AkoumStonewaker copy() {
+ return new AkoumStonewaker(this);
+ }
+}
+
+class AkoumStonewakerEffect extends OneShotEffect {
+
+ public AkoumStonewakerEffect() {
+ super(Outcome.PutCreatureInPlay);
+ this.staticText = "put a 3/1 red Elemental creature token with trample and haste onto the battlefield. Exile that token at the beginning of the next end step";
+ }
+
+ public AkoumStonewakerEffect(final AkoumStonewakerEffect effect) {
+ super(effect);
+ }
+
+ @Override
+ public AkoumStonewakerEffect copy() {
+ return new AkoumStonewakerEffect(this);
+ }
+
+ @Override
+ public boolean apply(Game game, Ability source) {
+ Token token = new AkoumStonewakerElementalToken();
+ if (token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId())) {
+ ExileTargetEffect exileEffect = new ExileTargetEffect();
+ exileEffect.setTargetPointer(new FixedTarget(token.getLastAddedToken()));
+ DelayedTriggeredAbility delayedAbility = new AtTheBeginOfNextEndStepDelayedTriggeredAbility(exileEffect);
+ delayedAbility.setSourceId(source.getSourceId());
+ delayedAbility.setControllerId(source.getControllerId());
+ delayedAbility.setSourceObject(source.getSourceObject(game), game);
+ game.addDelayedTriggeredAbility(delayedAbility);
+ return true;
+ }
+ return false;
+ }
+}
+
+class AkoumStonewakerElementalToken extends Token {
+
+ public AkoumStonewakerElementalToken() {
+ super("Elemental", "3/1 red Elemental creature token with trample and haste");
+ cardType.add(CardType.CREATURE);
+ color.setRed(true);
+ subtype.add("Elemental");
+ power = new MageInt(3);
+ toughness = new MageInt(1);
+ this.addAbility(TrampleAbility.getInstance());
+ this.addAbility(HasteAbility.getInstance());
+ this.setOriginalExpansionSetCode("BFZ");
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/BelligerentWhiptail.java b/Mage.Sets/src/mage/sets/battleforzendikar/BelligerentWhiptail.java
new file mode 100644
index 0000000000..587fa780ee
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/BelligerentWhiptail.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.LandfallAbility;
+import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
+import mage.abilities.keyword.FirstStrikeAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class BelligerentWhiptail extends CardImpl {
+
+ public BelligerentWhiptail(UUID ownerId) {
+ super(ownerId, 141, "Belligerent Whiptail", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Wurm");
+ this.power = new MageInt(4);
+ this.toughness = new MageInt(2);
+
+ // Landfall — Whenever a land enters the battlefield under your control, Belligerent Whiptail gains first strike until end of turn.
+ this.addAbility(new LandfallAbility(new GainAbilitySourceEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn), false));
+
+ }
+
+ public BelligerentWhiptail(final BelligerentWhiptail card) {
+ super(card);
+ }
+
+ @Override
+ public BelligerentWhiptail copy() {
+ return new BelligerentWhiptail(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/BoilingEarth.java b/Mage.Sets/src/mage/sets/battleforzendikar/BoilingEarth.java
new file mode 100644
index 0000000000..45dbf95132
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/BoilingEarth.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.abilities.effects.common.DamageAllEffect;
+import mage.abilities.keyword.AwakenAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.TargetController;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.filter.predicate.permanent.ControllerPredicate;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class BoilingEarth extends CardImpl {
+
+ private final static FilterCreaturePermanent filter = new FilterCreaturePermanent("creature your opponents control");
+
+ static {
+ filter.add(new ControllerPredicate(TargetController.OPPONENT));
+ }
+
+ public BoilingEarth(UUID ownerId) {
+ super(ownerId, 142, "Boiling Earth", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{1}{R}");
+ this.expansionSetCode = "BFZ";
+
+ // Boiling Earth deals 1 damage to each creature your opponents control.
+ this.getSpellAbility().addEffect(new DamageAllEffect(1, filter));
+
+ // Awaken 4—{6}{R}
+ this.addAbility(new AwakenAbility(this, 4, "{6}{R}"));
+ }
+
+ public BoilingEarth(final BoilingEarth card) {
+ super(card);
+ }
+
+ @Override
+ public BoilingEarth copy() {
+ return new BoilingEarth(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/ChasmGuide.java b/Mage.Sets/src/mage/sets/battleforzendikar/ChasmGuide.java
new file mode 100644
index 0000000000..c0e52a735e
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/ChasmGuide.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.AllyEntersBattlefieldTriggeredAbility;
+import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
+import mage.abilities.keyword.HasteAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class ChasmGuide extends CardImpl {
+
+ public ChasmGuide(UUID ownerId) {
+ super(ownerId, 143, "Chasm Guide", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Goblin");
+ this.subtype.add("Scout");
+ this.subtype.add("Ally");
+ this.power = new MageInt(3);
+ this.toughness = new MageInt(2);
+
+ // Rally — Whenever Chasm Guide or another Ally enters the battlefield under your control, creatures you control gain haste until end of turn.
+ this.addAbility(new AllyEntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.EndOfTurn), false));
+ }
+
+ public ChasmGuide(final ChasmGuide card) {
+ super(card);
+ }
+
+ @Override
+ public ChasmGuide copy() {
+ return new ChasmGuide(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/FiremantleMage.java b/Mage.Sets/src/mage/sets/battleforzendikar/FiremantleMage.java
new file mode 100644
index 0000000000..610370d634
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/FiremantleMage.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.AllyEntersBattlefieldTriggeredAbility;
+import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
+import mage.abilities.keyword.MenaceAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class FiremantleMage extends CardImpl {
+
+ public FiremantleMage(UUID ownerId) {
+ super(ownerId, 145, "Firemantle Mage", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Human");
+ this.subtype.add("Shaman");
+ this.subtype.add("Ally");
+ this.power = new MageInt(2);
+ this.toughness = new MageInt(2);
+
+ // Rally — Whenver Firemantle Mage or another Ally enters the battlefield under your control, creatures you control gain menace until end of turn.
+ this.addAbility(new AllyEntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(new MenaceAbility(), Duration.EndOfTurn), false));
+ }
+
+ public FiremantleMage(final FiremantleMage card) {
+ super(card);
+ }
+
+ @Override
+ public FiremantleMage copy() {
+ return new FiremantleMage(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/KozileksSentinel.java b/Mage.Sets/src/mage/sets/battleforzendikar/KozileksSentinel.java
new file mode 100644
index 0000000000..2832635146
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/KozileksSentinel.java
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.SpellCastControllerTriggeredAbility;
+import mage.abilities.effects.common.continuous.BoostSourceEffect;
+import mage.abilities.keyword.DevoidAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.filter.FilterSpell;
+import mage.filter.predicate.mageobject.ColorlessPredicate;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class KozileksSentinel extends CardImpl {
+
+ private static final FilterSpell filterSpell = new FilterSpell("a colorless spell");
+
+ static {
+ filterSpell.add(new ColorlessPredicate());
+ }
+
+ public KozileksSentinel(UUID ownerId) {
+ super(ownerId, 129, "Kozilek's Sentinel", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Eldrazi");
+ this.subtype.add("Drone");
+ this.power = new MageInt(1);
+ this.toughness = new MageInt(4);
+
+ // Devoid
+ this.addAbility(new DevoidAbility(this.color));
+
+ // Whenever you cast a colorless spell, Kozilek's Sentinel gets +1/+0 until end of turn.
+ this.addAbility(new SpellCastControllerTriggeredAbility(new BoostSourceEffect(1, 0, Duration.EndOfTurn), filterSpell, false));
+
+ }
+
+ public KozileksSentinel(final KozileksSentinel card) {
+ super(card);
+ }
+
+ @Override
+ public KozileksSentinel copy() {
+ return new KozileksSentinel(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/LavastepRaider.java b/Mage.Sets/src/mage/sets/battleforzendikar/LavastepRaider.java
new file mode 100644
index 0000000000..598beceec6
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/LavastepRaider.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.common.continuous.BoostSourceEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class LavastepRaider extends CardImpl {
+
+ public LavastepRaider(UUID ownerId) {
+ super(ownerId, 147, "Lavastep Raider", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Goblin");
+ this.subtype.add("Warrior");
+ this.power = new MageInt(1);
+ this.toughness = new MageInt(1);
+
+ // {2}{R}: Lavastep Raider gets +2/+0 until end of turn.
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, 0, Duration.EndOfTurn), new ManaCostsImpl<>("{2}{R}")));
+ }
+
+ public LavastepRaider(final LavastepRaider card) {
+ super(card);
+ }
+
+ @Override
+ public LavastepRaider copy() {
+ return new LavastepRaider(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/NettleDrone.java b/Mage.Sets/src/mage/sets/battleforzendikar/NettleDrone.java
new file mode 100644
index 0000000000..8c3a075642
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/NettleDrone.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.common.SpellCastControllerTriggeredAbility;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.effects.common.DamagePlayersEffect;
+import mage.abilities.effects.common.UntapSourceEffect;
+import mage.abilities.keyword.DevoidAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.TargetController;
+import mage.constants.Zone;
+import mage.filter.FilterSpell;
+import mage.filter.predicate.mageobject.ColorlessPredicate;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class NettleDrone extends CardImpl {
+
+ private static final FilterSpell filterSpell = new FilterSpell("a colorless spell");
+
+ static {
+ filterSpell.add(new ColorlessPredicate());
+ }
+
+ public NettleDrone(UUID ownerId) {
+ super(ownerId, 131, "Nettle Drone", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Eldrazi");
+ this.subtype.add("Drone");
+ this.power = new MageInt(3);
+ this.toughness = new MageInt(1);
+
+ // Devoid
+ this.addAbility(new DevoidAbility(this.color));
+
+ // {T}: Nettle Drone deals 1 damage to each opponent.
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamagePlayersEffect(1, TargetController.OPPONENT), new TapSourceCost()));
+
+ // Whenever you cast a colorless spell, untap Nettle Drone.
+ this.addAbility(new SpellCastControllerTriggeredAbility(new UntapSourceEffect(), filterSpell, false));
+ }
+
+ public NettleDrone(final NettleDrone card) {
+ super(card);
+ }
+
+ @Override
+ public NettleDrone copy() {
+ return new NettleDrone(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/OnduChampion.java b/Mage.Sets/src/mage/sets/battleforzendikar/OnduChampion.java
new file mode 100644
index 0000000000..bd0a4c5263
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/OnduChampion.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.AllyEntersBattlefieldTriggeredAbility;
+import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
+import mage.abilities.keyword.TrampleAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class OnduChampion extends CardImpl {
+
+ public OnduChampion(UUID ownerId) {
+ super(ownerId, 149, "Ondu Champion", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Minotaur");
+ this.subtype.add("Warrior");
+ this.subtype.add("Ally");
+ this.power = new MageInt(4);
+ this.toughness = new MageInt(3);
+
+ // Rally — Whenever Ondu Champion or another Ally enters the battlefield under your control, creatures you control gain trample until end of turn.
+ this.addAbility(new AllyEntersBattlefieldTriggeredAbility(new GainAbilityControlledEffect(TrampleAbility.getInstance(), Duration.EndOfTurn), false));
+ }
+
+ public OnduChampion(final OnduChampion card) {
+ super(card);
+ }
+
+ @Override
+ public OnduChampion copy() {
+ return new OnduChampion(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/Outnumber.java b/Mage.Sets/src/mage/sets/battleforzendikar/Outnumber.java
new file mode 100644
index 0000000000..1c11d5b665
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/Outnumber.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class Outnumber extends CardImpl {
+
+ public Outnumber(UUID ownerId) {
+ super(ownerId, 150, "Outnumber", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{R}");
+ this.expansionSetCode = "BFZ";
+
+ // Outnumber deals damage to target creature equal to the number of creatures you control.
+ Effect effect = new DamageTargetEffect(new PermanentsOnBattlefieldCount(new FilterControlledCreaturePermanent("the number of creatures you control")));
+ effect.setText("{this} deals damage to target creature equal to the number of creatures you control");
+ this.getSpellAbility().addEffect(effect);
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+
+ }
+
+ public Outnumber(final Outnumber card) {
+ super(card);
+ }
+
+ @Override
+ public Outnumber copy() {
+ return new Outnumber(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/ProcessorAssault.java b/Mage.Sets/src/mage/sets/battleforzendikar/ProcessorAssault.java
new file mode 100644
index 0000000000..a198f06232
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/ProcessorAssault.java
@@ -0,0 +1,127 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.abilities.Ability;
+import mage.abilities.costs.CostImpl;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.keyword.DevoidAbility;
+import mage.cards.Card;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Outcome;
+import mage.constants.Rarity;
+import mage.constants.TargetController;
+import mage.constants.Zone;
+import mage.filter.FilterCard;
+import mage.filter.predicate.other.OwnerPredicate;
+import mage.game.Game;
+import mage.players.Player;
+import mage.target.Target;
+import mage.target.common.TargetCardInExile;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class ProcessorAssault extends CardImpl {
+
+ public ProcessorAssault(UUID ownerId) {
+ super(ownerId, 132, "Processor Assault", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{1}{R}");
+ this.expansionSetCode = "BFZ";
+
+ // Devoid
+ this.addAbility(new DevoidAbility(this.color));
+
+ // As an additional cost to cast Processor Assault, put a card an opponent owns from exile into its owner's graveyard.
+ this.getSpellAbility().addCost(new PutOpponentExileCardToGraveyardCost());
+
+ // Processor Assault deals 5 damage to target creature.
+ this.getSpellAbility().addEffect(new DamageTargetEffect(5));
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+ }
+
+ public ProcessorAssault(final ProcessorAssault card) {
+ super(card);
+ }
+
+ @Override
+ public ProcessorAssault copy() {
+ return new ProcessorAssault(this);
+ }
+}
+
+class PutOpponentExileCardToGraveyardCost extends CostImpl {
+
+ public PutOpponentExileCardToGraveyardCost() {
+ this.text = "put a card an opponent owns from exile into its owner's graveyard";
+ }
+
+ public PutOpponentExileCardToGraveyardCost(PutOpponentExileCardToGraveyardCost cost) {
+ super(cost);
+ }
+
+ @Override
+ public boolean pay(Ability ability, Game game, UUID sourceId, UUID controllerId, boolean noMana) {
+ Player controller = game.getPlayer(controllerId);
+ if (controller != null) {
+ FilterCard filter = new FilterCard();
+ filter.add(new OwnerPredicate(TargetController.OPPONENT));
+ Target target = new TargetCardInExile(filter);
+ if (controller.chooseTarget(Outcome.Damage, target, ability, game)) {
+ Card card = game.getCard(target.getFirstTarget());
+ if (card != null) {
+ paid = true;
+ controller.moveCards(card, null, Zone.GRAVEYARD, ability, game);
+ }
+ }
+ }
+ return paid;
+ }
+
+ @Override
+ public boolean canPay(Ability ability, UUID sourceId, UUID controllerId, Game game) {
+ Player controller = game.getPlayer(controllerId);
+ if (controller != null) {
+ for (Card card : game.getExile().getAllCards(game)) {
+ if (controller.hasOpponent(card.getOwnerId(), game)) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ @Override
+ public PutOpponentExileCardToGraveyardCost copy() {
+ return new PutOpponentExileCardToGraveyardCost(this);
+ }
+
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/RecklessCohort.java b/Mage.Sets/src/mage/sets/battleforzendikar/RecklessCohort.java
new file mode 100644
index 0000000000..3bebab684a
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/RecklessCohort.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
+import mage.abilities.decorator.ConditionalRequirementEffect;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.combat.AttacksIfAbleSourceEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.predicate.mageobject.SubtypePredicate;
+import mage.filter.predicate.permanent.AnotherPredicate;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class RecklessCohort extends CardImpl {
+
+ private final static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another Ally");
+
+ static {
+ filter.add(new AnotherPredicate());
+ filter.add(new SubtypePredicate("Ally"));
+ }
+
+ public RecklessCohort(UUID ownerId) {
+ super(ownerId, 152, "Reckless Cohort", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Human");
+ this.subtype.add("Warrior");
+ this.subtype.add("Ally");
+ this.power = new MageInt(2);
+ this.toughness = new MageInt(2);
+
+ // Reckless Cohort attacks each combat if able unless you control another Ally.
+ Effect effect = new ConditionalRequirementEffect(
+ new AttacksIfAbleSourceEffect(Duration.WhileOnBattlefield, true),
+ new PermanentsOnTheBattlefieldCondition(filter, PermanentsOnTheBattlefieldCondition.CountType.FEWER_THAN, 1));
+ effect.setText("{this} attacks each combat if able unless you control another Ally");
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
+ }
+
+ public RecklessCohort(final RecklessCohort card) {
+ super(card);
+ }
+
+ @Override
+ public RecklessCohort copy() {
+ return new RecklessCohort(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/SerpentineSpike.java b/Mage.Sets/src/mage/sets/battleforzendikar/SerpentineSpike.java
new file mode 100644
index 0000000000..ee803053c4
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/SerpentineSpike.java
@@ -0,0 +1,112 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.abilities.Ability;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.OneShotEffect;
+import mage.abilities.effects.common.replacement.DealtDamageToCreatureBySourceDies;
+import mage.abilities.keyword.DevoidAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Outcome;
+import mage.constants.Rarity;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.game.Game;
+import mage.game.permanent.Permanent;
+import mage.target.common.TargetCreaturePermanent;
+import mage.watchers.common.DamagedByWatcher;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class SerpentineSpike extends CardImpl {
+
+ public SerpentineSpike(UUID ownerId) {
+ super(ownerId, 133, "Serpentine Spike", Rarity.RARE, new CardType[]{CardType.SORCERY}, "{5}{R}{R}");
+ this.expansionSetCode = "BFZ";
+
+ // Devoid
+ this.addAbility(new DevoidAbility(this.color));
+ // Serpentine Spike deals 2 damage to target creature, 3 damage to another target creature, and 4 damage to a third target creature. If a creature dealt damage this way would die this turn, exile it instead.
+ this.getSpellAbility().addEffect(new SerpentineSpikeEffect());
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (2 damage)")));
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (3 damage)")));
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent(new FilterCreaturePermanent("creature (4 damage)")));
+ Effect effect = new DealtDamageToCreatureBySourceDies(this, Duration.EndOfTurn);
+ effect.setText("If a creature dealt damage this way would die this turn, exile it instead");
+ this.getSpellAbility().addEffect(effect);
+ this.getSpellAbility().addWatcher(new DamagedByWatcher());
+ }
+
+ public SerpentineSpike(final SerpentineSpike card) {
+ super(card);
+ }
+
+ @Override
+ public SerpentineSpike copy() {
+ return new SerpentineSpike(this);
+ }
+}
+
+class SerpentineSpikeEffect extends OneShotEffect {
+
+ public SerpentineSpikeEffect() {
+ super(Outcome.Damage);
+ this.staticText = "{this} deals 2 damage to target creature, 3 damage to another target creature, and 4 damage to a third target creature";
+ }
+
+ public SerpentineSpikeEffect(final SerpentineSpikeEffect effect) {
+ super(effect);
+ }
+
+ @Override
+ public SerpentineSpikeEffect copy() {
+ return new SerpentineSpikeEffect(this);
+ }
+
+ @Override
+ public boolean apply(Game game, Ability source) {
+ Permanent permanent = game.getPermanent(source.getTargets().get(0).getFirstTarget());
+ if (permanent != null) {
+ permanent.damage(2, source.getSourceId(), game, false, true);
+ }
+ permanent = game.getPermanent(source.getTargets().get(1).getFirstTarget());
+ if (permanent != null) {
+ permanent.damage(3, source.getSourceId(), game, false, true);
+ }
+ permanent = game.getPermanent(source.getTargets().get(2).getFirstTarget());
+ if (permanent != null) {
+ permanent.damage(4, source.getSourceId(), game, false, true);
+ }
+ return true;
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/Stonefury.java b/Mage.Sets/src/mage/sets/battleforzendikar/Stonefury.java
new file mode 100644
index 0000000000..8c58f9e952
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/Stonefury.java
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.filter.common.FilterControlledLandPermanent;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class Stonefury extends CardImpl {
+
+ public Stonefury(UUID ownerId) {
+ super(ownerId, 156, "Stonefury", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{3}{R}{R}");
+ this.expansionSetCode = "BFZ";
+
+ // Stonefury deals damage to target creature equal to the number of lands you control.
+ Effect effect = new DamageTargetEffect(new PermanentsOnBattlefieldCount(new FilterControlledLandPermanent("the number of lands you control")));
+ effect.setText("{this} deals damage to target creature equal to the number of lands you control");
+ this.getSpellAbility().addEffect(effect);
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+ }
+
+ public Stonefury(final Stonefury card) {
+ super(card);
+ }
+
+ @Override
+ public Stonefury copy() {
+ return new Stonefury(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/SureStrike.java b/Mage.Sets/src/mage/sets/battleforzendikar/SureStrike.java
new file mode 100644
index 0000000000..be9007a33d
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/SureStrike.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.continuous.BoostTargetEffect;
+import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
+import mage.abilities.keyword.FirstStrikeAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class SureStrike extends CardImpl {
+
+ public SureStrike(UUID ownerId) {
+ super(ownerId, 157, "Sure Strike", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{R}");
+ this.expansionSetCode = "BFZ";
+
+ // Target creature gets +3/+0 and gains first strike until end of turn.
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+ Effect effect = new BoostTargetEffect(3, 0, Duration.EndOfTurn);
+ effect.setText("Target creature gets +3/+0");
+ this.getSpellAbility().addEffect(effect);
+ effect = new GainAbilityTargetEffect(FirstStrikeAbility.getInstance(), Duration.EndOfTurn);
+ effect.setText("and gains first strike until end of turn");
+ this.getSpellAbility().addEffect(effect);
+ }
+
+ public SureStrike(final SureStrike card) {
+ super(card);
+ }
+
+ @Override
+ public SureStrike copy() {
+ return new SureStrike(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/TouchOfTheVoid.java b/Mage.Sets/src/mage/sets/battleforzendikar/TouchOfTheVoid.java
new file mode 100644
index 0000000000..e762dd6c31
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/TouchOfTheVoid.java
@@ -0,0 +1,71 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.effects.common.replacement.DealtDamageToCreatureBySourceDies;
+import mage.abilities.keyword.DevoidAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.target.common.TargetCreatureOrPlayer;
+import mage.watchers.common.DamagedByWatcher;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class TouchOfTheVoid extends CardImpl {
+
+ public TouchOfTheVoid(UUID ownerId) {
+ super(ownerId, 134, "Touch of the Void", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{2}{R}");
+ this.expansionSetCode = "BFZ";
+
+ // Devoid
+ this.addAbility(new DevoidAbility(this.color));
+ // Touch of the Void deals 3 damage to target creature or player. If a creature dealt damage this way would die this turn, exile it instead.
+ this.getSpellAbility().addEffect(new DamageTargetEffect(3));
+ this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
+ Effect effect = new DealtDamageToCreatureBySourceDies(this, Duration.EndOfTurn);
+ effect.setText("If a creature dealt damage this way would die this turn, exile it instead");
+ this.getSpellAbility().addEffect(effect);
+ this.getSpellAbility().addWatcher(new DamagedByWatcher());
+ }
+
+ public TouchOfTheVoid(final TouchOfTheVoid card) {
+ super(card);
+ }
+
+ @Override
+ public TouchOfTheVoid copy() {
+ return new TouchOfTheVoid(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/TunnelingGeopede.java b/Mage.Sets/src/mage/sets/battleforzendikar/TunnelingGeopede.java
new file mode 100644
index 0000000000..c93253bcf3
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/TunnelingGeopede.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.LandfallAbility;
+import mage.abilities.effects.common.DamagePlayersEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.TargetController;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class TunnelingGeopede extends CardImpl {
+
+ public TunnelingGeopede(UUID ownerId) {
+ super(ownerId, 158, "Tunneling Geopede", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Insect");
+ this.power = new MageInt(3);
+ this.toughness = new MageInt(2);
+
+ // Landfall - Whenever a land enters the battlefield under your control, Tunneling Geopede deals 1 damage to each opponent.
+ this.addAbility(new LandfallAbility(new DamagePlayersEffect(1, TargetController.OPPONENT), false));
+ }
+
+ public TunnelingGeopede(final TunnelingGeopede card) {
+ super(card);
+ }
+
+ @Override
+ public TunnelingGeopede copy() {
+ return new TunnelingGeopede(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/TurnAgainst.java b/Mage.Sets/src/mage/sets/battleforzendikar/TurnAgainst.java
new file mode 100644
index 0000000000..890f78f181
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/TurnAgainst.java
@@ -0,0 +1,69 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.abilities.effects.common.UntapTargetEffect;
+import mage.abilities.effects.common.continuous.GainAbilityTargetEffect;
+import mage.abilities.effects.common.continuous.GainControlTargetEffect;
+import mage.abilities.keyword.DevoidAbility;
+import mage.abilities.keyword.HasteAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class TurnAgainst extends CardImpl {
+
+ public TurnAgainst(UUID ownerId) {
+ super(ownerId, 135, "Turn Against", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{4}{R}");
+ this.expansionSetCode = "BFZ";
+
+ // Devoid
+ this.addAbility(new DevoidAbility(this.color));
+ // Gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn.
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+ this.getSpellAbility().addEffect(new GainControlTargetEffect(Duration.EndOfTurn));
+ this.getSpellAbility().addEffect(new UntapTargetEffect());
+ this.getSpellAbility().addEffect(new GainAbilityTargetEffect(HasteAbility.getInstance(), Duration.EndOfTurn));
+ }
+
+ public TurnAgainst(final TurnAgainst card) {
+ super(card);
+ }
+
+ @Override
+ public TurnAgainst copy() {
+ return new TurnAgainst(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/ValakutInvoker.java b/Mage.Sets/src/mage/sets/battleforzendikar/ValakutInvoker.java
new file mode 100644
index 0000000000..e974588fa5
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/ValakutInvoker.java
@@ -0,0 +1,70 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.mana.GenericManaCost;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.target.common.TargetCreatureOrPlayer;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class ValakutInvoker extends CardImpl {
+
+ public ValakutInvoker(UUID ownerId) {
+ super(ownerId, 159, "Valakut Invoker", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Human");
+ this.subtype.add("Shaman");
+ this.power = new MageInt(2);
+ this.toughness = new MageInt(3);
+
+ // {8}: Valakut Invoker deals 3 damage to target creature or player.
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(3), new GenericManaCost(8));
+ ability.addTarget(new TargetCreatureOrPlayer());
+ this.addAbility(ability);
+ }
+
+ public ValakutInvoker(final ValakutInvoker card) {
+ super(card);
+ }
+
+ @Override
+ public ValakutInvoker copy() {
+ return new ValakutInvoker(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/ValakutPredator.java b/Mage.Sets/src/mage/sets/battleforzendikar/ValakutPredator.java
new file mode 100644
index 0000000000..21e53fa69e
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/ValakutPredator.java
@@ -0,0 +1,64 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.LandfallAbility;
+import mage.abilities.effects.common.continuous.BoostSourceEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class ValakutPredator extends CardImpl {
+
+ public ValakutPredator(UUID ownerId) {
+ super(ownerId, 160, "Valakut Predator", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Elemental");
+ this.power = new MageInt(2);
+ this.toughness = new MageInt(2);
+
+ // Landfall - Whenever a land enters the battlefield under your control, Valakut Predator gets +2/+2 until end of turn.
+ this.addAbility(new LandfallAbility(new BoostSourceEffect(2, 2, Duration.EndOfTurn), false));
+ }
+
+ public ValakutPredator(final ValakutPredator card) {
+ super(card);
+ }
+
+ @Override
+ public ValakutPredator copy() {
+ return new ValakutPredator(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/VileAggregate.java b/Mage.Sets/src/mage/sets/battleforzendikar/VileAggregate.java
new file mode 100644
index 0000000000..60d925eb73
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/VileAggregate.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.continuous.SetPowerSourceEffect;
+import mage.abilities.keyword.DevoidAbility;
+import mage.abilities.keyword.IngestAbility;
+import mage.abilities.keyword.TrampleAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.predicate.mageobject.ColorlessPredicate;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class VileAggregate extends CardImpl {
+
+ private final static FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("colorless creatures you control");
+
+ static {
+ filter.add(new ColorlessPredicate());
+ }
+
+ public VileAggregate(UUID ownerId) {
+ super(ownerId, 137, "Vile Aggregate", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+ this.expansionSetCode = "BFZ";
+ this.subtype.add("Eldrazi");
+ this.subtype.add("Drone");
+ this.power = new MageInt(0);
+ this.toughness = new MageInt(5);
+
+ // Devoid
+ this.addAbility(new DevoidAbility(this.color));
+ // Vile Aggregate's power is equal to the number of colorless creatures you control.
+ Effect effect = new SetPowerSourceEffect(new PermanentsOnBattlefieldCount(filter), Duration.EndOfGame);
+ this.addAbility(new SimpleStaticAbility(Zone.ALL, effect));
+
+ // Trample
+ this.addAbility(TrampleAbility.getInstance());
+ // Ingest
+ this.addAbility(new IngestAbility());
+ }
+
+ public VileAggregate(final VileAggregate card) {
+ super(card);
+ }
+
+ @Override
+ public VileAggregate copy() {
+ return new VileAggregate(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/VolcanicUpheaval.java b/Mage.Sets/src/mage/sets/battleforzendikar/VolcanicUpheaval.java
new file mode 100644
index 0000000000..dfb56c8fb8
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/VolcanicUpheaval.java
@@ -0,0 +1,61 @@
+/*
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
+package mage.sets.battleforzendikar;
+
+import java.util.UUID;
+import mage.abilities.effects.common.DestroyTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.target.common.TargetLandPermanent;
+
+/**
+ *
+ * @author LevelX2
+ */
+public class VolcanicUpheaval extends CardImpl {
+
+ public VolcanicUpheaval(UUID ownerId) {
+ super(ownerId, 161, "Volcanic Upheaval", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{3}{R}");
+ this.expansionSetCode = "BFZ";
+
+ // Destroy target land.
+ this.getSpellAbility().addEffect(new DestroyTargetEffect());
+ this.getSpellAbility().addTarget(new TargetLandPermanent());
+
+ }
+
+ public VolcanicUpheaval(final VolcanicUpheaval card) {
+ super(card);
+ }
+
+ @Override
+ public VolcanicUpheaval copy() {
+ return new VolcanicUpheaval(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/bornofthegods/SatyrNyxSmith.java b/Mage.Sets/src/mage/sets/bornofthegods/SatyrNyxSmith.java
index 0c39cbb9c9..79f54d94c8 100644
--- a/Mage.Sets/src/mage/sets/bornofthegods/SatyrNyxSmith.java
+++ b/Mage.Sets/src/mage/sets/bornofthegods/SatyrNyxSmith.java
@@ -29,7 +29,6 @@ package mage.sets.bornofthegods;
import java.util.UUID;
import mage.MageInt;
-import mage.ObjectColor;
import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.common.CreateTokenEffect;
import mage.abilities.effects.common.DoIfCostPaid;
diff --git a/Mage.Sets/src/mage/sets/magic2014/MaraudingMaulhorn.java b/Mage.Sets/src/mage/sets/magic2014/MaraudingMaulhorn.java
index 3a4ab14bfe..7a36230e0c 100644
--- a/Mage.Sets/src/mage/sets/magic2014/MaraudingMaulhorn.java
+++ b/Mage.Sets/src/mage/sets/magic2014/MaraudingMaulhorn.java
@@ -29,7 +29,6 @@ package mage.sets.magic2014;
import java.util.UUID;
import mage.MageInt;
-import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
import mage.abilities.decorator.ConditionalRequirementEffect;
import mage.abilities.effects.Effect;
@@ -38,10 +37,8 @@ import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Rarity;
-import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.NamePredicate;
-import mage.watchers.common.AttackedThisTurnWatcher;
/**
*
@@ -68,9 +65,6 @@ public class MaraudingMaulhorn extends CardImpl {
new AttacksIfAbleSourceEffect(Duration.WhileOnBattlefield, true),
new PermanentsOnTheBattlefieldCondition(filter, PermanentsOnTheBattlefieldCondition.CountType.FEWER_THAN, 1));
effect.setText("{this} attacks each combat if able unless you control a creature named Advocate of the Beast");
-
- this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect), new AttackedThisTurnWatcher());
-
}
public MaraudingMaulhorn(final MaraudingMaulhorn card) {
diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SoulsurgeElemental.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SoulsurgeElemental.java
index 227628209b..0e049447a5 100644
--- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SoulsurgeElemental.java
+++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SoulsurgeElemental.java
@@ -28,19 +28,16 @@
package mage.sets.riseoftheeldrazi;
import java.util.UUID;
-
-import mage.constants.CardType;
-import mage.constants.Duration;
-import mage.constants.Rarity;
import mage.MageInt;
import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.dynamicvalue.common.PermanentsOnBattlefieldCount;
-import mage.abilities.dynamicvalue.common.StaticValue;
import mage.abilities.effects.Effect;
-import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.continuous.SetPowerSourceEffect;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
@@ -50,7 +47,6 @@ import mage.filter.common.FilterControlledCreaturePermanent;
*/
public class SoulsurgeElemental extends CardImpl {
-
public SoulsurgeElemental(UUID ownerId) {
super(ownerId, 163, "Soulsurge Elemental", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{R}");
this.expansionSetCode = "ROE";
diff --git a/Mage/src/mage/abilities/costs/common/PutTopCardOfYourLibraryToGraveyardCost.java b/Mage/src/mage/abilities/costs/common/PutTopCardOfYourLibraryToGraveyardCost.java
index bd097d47ab..2b1b4f2859 100644
--- a/Mage/src/mage/abilities/costs/common/PutTopCardOfYourLibraryToGraveyardCost.java
+++ b/Mage/src/mage/abilities/costs/common/PutTopCardOfYourLibraryToGraveyardCost.java
@@ -25,26 +25,16 @@
* authors and should not be interpreted as representing official policies, either expressed
* or implied, of BetaSteward_at_googlemail.com.
*/
-
package mage.abilities.costs.common;
import java.util.UUID;
-import mage.constants.Zone;
import mage.abilities.Ability;
import mage.abilities.costs.CostImpl;
-import mage.cards.Card;
-import mage.cards.Cards;
-import mage.cards.CardsImpl;
+import mage.constants.Zone;
import mage.game.Game;
import mage.players.Player;
import mage.util.CardUtil;
-/**
- *
- * @author LevelX2
- */
-
-
public class PutTopCardOfYourLibraryToGraveyardCost extends CostImpl {
int numberOfCards;
diff --git a/Mage/src/mage/abilities/keyword/DoubleStrikeAbility.java b/Mage/src/mage/abilities/keyword/DoubleStrikeAbility.java
index f1988843f6..ab99217ac2 100644
--- a/Mage/src/mage/abilities/keyword/DoubleStrikeAbility.java
+++ b/Mage/src/mage/abilities/keyword/DoubleStrikeAbility.java
@@ -1,38 +1,36 @@
/*
-* Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
-*
-* Redistribution and use in source and binary forms, with or without modification, are
-* permitted provided that the following conditions are met:
-*
-* 1. Redistributions of source code must retain the above copyright notice, this list of
-* conditions and the following disclaimer.
-*
-* 2. Redistributions in binary form must reproduce the above copyright notice, this list
-* of conditions and the following disclaimer in the documentation and/or other materials
-* provided with the distribution.
-*
-* THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
-* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
-* FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
-* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-* ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-*
-* The views and conclusions contained in the software and documentation are those of the
-* authors and should not be interpreted as representing official policies, either expressed
-* or implied, of BetaSteward_at_googlemail.com.
-*/
-
+ * Copyright 2010 BetaSteward_at_googlemail.com. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without modification, are
+ * permitted provided that the following conditions are met:
+ *
+ * 1. Redistributions of source code must retain the above copyright notice, this list of
+ * conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright notice, this list
+ * of conditions and the following disclaimer in the documentation and/or other materials
+ * provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY BetaSteward_at_googlemail.com ``AS IS'' AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
+ * FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL BetaSteward_at_googlemail.com OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * The views and conclusions contained in the software and documentation are those of the
+ * authors and should not be interpreted as representing official policies, either expressed
+ * or implied, of BetaSteward_at_googlemail.com.
+ */
package mage.abilities.keyword;
-import mage.constants.Zone;
+import java.io.ObjectStreamException;
import mage.abilities.MageSingleton;
import mage.abilities.StaticAbility;
-
-import java.io.ObjectStreamException;
+import mage.constants.Zone;
/**
*
@@ -40,7 +38,7 @@ import java.io.ObjectStreamException;
*/
public class DoubleStrikeAbility extends StaticAbility implements MageSingleton {
- private static final DoubleStrikeAbility fINSTANCE = new DoubleStrikeAbility();
+ private static final DoubleStrikeAbility fINSTANCE = new DoubleStrikeAbility();
private Object readResolve() throws ObjectStreamException {
return fINSTANCE;
@@ -56,7 +54,7 @@ public class DoubleStrikeAbility extends StaticAbility implements MageSingleton
@Override
public String getRule() {
- return "Double Strike";
+ return "double strike";
}
@Override
@@ -64,4 +62,4 @@ public class DoubleStrikeAbility extends StaticAbility implements MageSingleton
return fINSTANCE;
}
-}
\ No newline at end of file
+}
diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt
index 54ff762b86..fb9c4a5cac 100644
--- a/Utils/mtg-cards-data.txt
+++ b/Utils/mtg-cards-data.txt
@@ -27500,7 +27500,7 @@ Molten Nursery|Battle for Zendikar|130|U|{2}{R}|Enchantment|||Devoid (This ca
Nettle Drone|Battle for Zendikar|131|C|{2}{R}|Creature - Eldrazi Drone|3|1|Devoid (This card has no color.)${t}: Nettle Drone deals 1 damage to each opponent.$Whenever you cast a colorless spell, untap Nettle Drone.|
Ondu Champion|Battle for Zendikar|149|C|{2}{R}{R}|Creature - Minotaur Warrior Ally|4|3|Rally — Whenever Ondu Champion or another Ally enters the battlefield under your control, creatures you control gain trample until end of turn.|
Outnumber|Battle for Zendikar|150|C|{R}|Instant|||Outnumber deals damage to target creature equal to the number of creatures you control.|
-Processor Assault|Battle for Zendikar|132|U|{1}{R}|Sorcery|||Devoid (This card has no color.)$As an additional cost to cast Processor Assault, put a card an opponent controls from exile into its owner's graveyard.$Processor Assault deals 5 damage to target creature.|
+Processor Assault|Battle for Zendikar|132|U|{1}{R}|Sorcery|||Devoid (This card has no color.)$As an additional cost to cast Processor Assault, put a card an opponent owns from exile into its owner's graveyard.$Processor Assault deals 5 damage to target creature.|
Radiant Flames|Battle for Zendikar|151|R|{2}{R}|Sorcery|||Converge — Radiant Flames deals X damage to each creature, where X is the number of colors of mana spent to cast Radiant Flames.|
Reckless Cohort|Battle for Zendikar|152|C|{1}{R}|Creature - Human Warrior Ally|2|2|Reckless Cohort attacks each combat if able unless you control another Ally.|
Retreat to Valakut|Battle for Zendikar|153|U|{2}{R}|Enchantment|||Landfall — Whenever a land enters the battlefield under your control, choose one —$• Target creature gets +2/+0 until end of turn.$• Target creature can't block this turn.|