diff --git a/Mage.Sets/src/mage/sets/battleforzendikar/WastelandStrangler.java b/Mage.Sets/src/mage/sets/battleforzendikar/WastelandStrangler.java
index 739f0d27721..553c5cdd10c 100644
--- a/Mage.Sets/src/mage/sets/battleforzendikar/WastelandStrangler.java
+++ b/Mage.Sets/src/mage/sets/battleforzendikar/WastelandStrangler.java
@@ -60,7 +60,7 @@ public class WastelandStrangler extends CardImpl {
// When Wasteland Strangler enters the battlefield, you may put a card an opponent owns from exile into that player's graveyard. If you do, target creature gets -3/-3 until end of turn.
Ability ability = new EntersBattlefieldTriggeredAbility(
- new DoIfCostPaid(new BoostTargetEffect(-3, -3, Duration.EndOfTurn), new ExileOpponentsCardFromExileToGraveyardCost(true)), true);
+ new DoIfCostPaid(new BoostTargetEffect(-3, -3, Duration.EndOfTurn), new ExileOpponentsCardFromExileToGraveyardCost(true)), false);
ability.addTarget(new TargetCreaturePermanent());
this.addAbility(ability);
}
diff --git a/Mage.Sets/src/mage/sets/fatereforged/Vaultbreaker.java b/Mage.Sets/src/mage/sets/fatereforged/Vaultbreaker.java
index 4f6840806bc..86fa4b0b56e 100644
--- a/Mage.Sets/src/mage/sets/fatereforged/Vaultbreaker.java
+++ b/Mage.Sets/src/mage/sets/fatereforged/Vaultbreaker.java
@@ -1,104 +1,72 @@
-/*
- * 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.fatereforged;
-
-import java.util.UUID;
-import mage.MageInt;
-import mage.abilities.Ability;
-import mage.abilities.common.AttacksTriggeredAbility;
-import mage.abilities.effects.OneShotEffect;
-import mage.abilities.keyword.DashAbility;
-import mage.cards.CardImpl;
-import mage.cards.Cards;
-import mage.constants.CardType;
-import mage.constants.Outcome;
-import mage.constants.Rarity;
-import mage.game.Game;
-import mage.players.Player;
-
-/**
- *
- * @author jeffwadsworth
- */
-public class Vaultbreaker extends CardImpl {
-
- public Vaultbreaker(UUID ownerId) {
- super(ownerId, 117, "Vaultbreaker", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{R}");
- this.expansionSetCode = "FRF";
- this.subtype.add("Orc");
- this.subtype.add("Rogue");
- this.power = new MageInt(4);
- this.toughness = new MageInt(2);
-
- // Whenever Vaultbreaker attacks, you may discard a card. If you do, draw a card.
- this.addAbility(new AttacksTriggeredAbility(new VaultbreakerEffect(), true));
-
- // Dash {2}{R}
- this.addAbility(new DashAbility(this, "{2}{R}"));
-
- }
-
- public Vaultbreaker(final Vaultbreaker card) {
- super(card);
- }
-
- @Override
- public Vaultbreaker copy() {
- return new Vaultbreaker(this);
- }
-}
-
-class VaultbreakerEffect extends OneShotEffect {
-
- VaultbreakerEffect() {
- super(Outcome.Neutral);
- staticText = "you may discard a card. If you do, draw a card";
- }
-
- VaultbreakerEffect(final VaultbreakerEffect effect) {
- super(effect);
- }
-
- @Override
- public boolean apply(Game game, Ability source) {
- Player controller = game.getPlayer(source.getControllerId());
- if (controller != null) {
- Cards discardedCard = controller.discard(1, false, source, game);
- if (discardedCard != null) {
- controller.drawCards(1, game);
- return true;
- }
- }
- return false;
- }
-
- @Override
- public VaultbreakerEffect copy() {
- return new VaultbreakerEffect(this);
- }
-}
+/*
+ * 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.fatereforged;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.AttacksTriggeredAbility;
+import mage.abilities.costs.common.DiscardCardCost;
+import mage.abilities.effects.common.DoIfCostPaid;
+import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.abilities.keyword.DashAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author jeffwadsworth
+ */
+public class Vaultbreaker extends CardImpl {
+
+ public Vaultbreaker(UUID ownerId) {
+ super(ownerId, 117, "Vaultbreaker", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{R}");
+ this.expansionSetCode = "FRF";
+ this.subtype.add("Orc");
+ this.subtype.add("Rogue");
+ this.power = new MageInt(4);
+ this.toughness = new MageInt(2);
+
+ // Whenever Vaultbreaker attacks, you may discard a card. If you do, draw a card.
+ this.addAbility(new AttacksTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1),
+ new DiscardCardCost()), false, "Whenever {this} attacks, you may discard a card. If you do, draw a card"));
+
+ // Dash {2}{R}
+ this.addAbility(new DashAbility(this, "{2}{R}"));
+
+ }
+
+ public Vaultbreaker(final Vaultbreaker card) {
+ super(card);
+ }
+
+ @Override
+ public Vaultbreaker copy() {
+ return new Vaultbreaker(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/fifthdawn/MagneticTheft.java b/Mage.Sets/src/mage/sets/fifthdawn/MagneticTheft.java
index 613dbe9b47f..37d9aac1d88 100644
--- a/Mage.Sets/src/mage/sets/fifthdawn/MagneticTheft.java
+++ b/Mage.Sets/src/mage/sets/fifthdawn/MagneticTheft.java
@@ -29,22 +29,16 @@ package mage.sets.fifthdawn;
import java.util.UUID;
import mage.abilities.Ability;
-import mage.abilities.common.SimpleActivatedAbility;
-import mage.abilities.costs.common.TapSourceCost;
import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Rarity;
-import mage.constants.Zone;
import mage.filter.FilterPermanent;
-import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
import mage.game.permanent.Permanent;
import mage.target.TargetPermanent;
-import mage.target.common.TargetControlledCreaturePermanent;
-import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreaturePermanent;
/**
@@ -58,7 +52,7 @@ public class MagneticTheft extends CardImpl {
static {
filter.add(new SubtypePredicate("Equipment"));
}
-
+
public MagneticTheft(UUID ownerId) {
super(ownerId, 74, "Magnetic Theft", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{R}");
this.expansionSetCode = "5DN";
diff --git a/Mage.Sets/src/mage/sets/magic2014/AcademyRaider.java b/Mage.Sets/src/mage/sets/magic2014/AcademyRaider.java
index 19bfedc8976..e005feb0f2d 100644
--- a/Mage.Sets/src/mage/sets/magic2014/AcademyRaider.java
+++ b/Mage.Sets/src/mage/sets/magic2014/AcademyRaider.java
@@ -1,103 +1,72 @@
-/*
- * 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.magic2014;
-
-import java.util.UUID;
-import mage.MageInt;
-import mage.abilities.Ability;
-import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
-import mage.abilities.effects.OneShotEffect;
-import mage.abilities.keyword.IntimidateAbility;
-import mage.cards.CardImpl;
-import mage.constants.CardType;
-import mage.constants.Outcome;
-import mage.constants.Rarity;
-import mage.game.Game;
-import mage.players.Player;
-
-/**
- *
- * @author jeffwadsworth
- */
-public class AcademyRaider extends CardImpl {
-
- public AcademyRaider(UUID ownerId) {
- super(ownerId, 124, "Academy Raider", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
- this.expansionSetCode = "M14";
- this.subtype.add("Human");
- this.subtype.add("Warrior");
-
- this.power = new MageInt(1);
- this.toughness = new MageInt(1);
-
- // Intimidate
- this.addAbility(IntimidateAbility.getInstance());
-
- // Whenever Academy Raider deals combat damage to a player, you may discard a card. If you do, draw a card.
- this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DiscardAndDrawEffect(), true));
-
- }
-
- public AcademyRaider(final AcademyRaider card) {
- super(card);
- }
-
- @Override
- public AcademyRaider copy() {
- return new AcademyRaider(this);
- }
-}
-
-class DiscardAndDrawEffect extends OneShotEffect {
-
- public DiscardAndDrawEffect() {
- super(Outcome.DrawCard);
- staticText = "you may discard a card. If you do, draw a card";
- }
-
- public DiscardAndDrawEffect(final DiscardAndDrawEffect effect) {
- super(effect);
- }
-
- @Override
- public DiscardAndDrawEffect copy() {
- return new DiscardAndDrawEffect(this);
- }
-
- @Override
- public boolean apply(Game game, Ability source) {
- Player you = game.getPlayer(source.getControllerId());
- if (you != null) {
- you.discard(1, source, game);
- if (you.drawCards(1, game) > 0) {
- return true;
- }
- }
- return false;
- }
-}
+/*
+ * 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.magic2014;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
+import mage.abilities.costs.common.DiscardCardCost;
+import mage.abilities.effects.common.DoIfCostPaid;
+import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.abilities.keyword.IntimidateAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author jeffwadsworth
+ */
+public class AcademyRaider extends CardImpl {
+
+ public AcademyRaider(UUID ownerId) {
+ super(ownerId, 124, "Academy Raider", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+ this.expansionSetCode = "M14";
+ this.subtype.add("Human");
+ this.subtype.add("Warrior");
+
+ this.power = new MageInt(1);
+ this.toughness = new MageInt(1);
+
+ // Intimidate
+ this.addAbility(IntimidateAbility.getInstance());
+
+ // Whenever Academy Raider deals combat damage to a player, you may discard a card. If you do, draw a card.
+ this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new DiscardCardCost()), false));
+
+ }
+
+ public AcademyRaider(final AcademyRaider card) {
+ super(card);
+ }
+
+ @Override
+ public AcademyRaider copy() {
+ return new AcademyRaider(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/AkoumFlameseeker.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/AkoumFlameseeker.java
new file mode 100644
index 00000000000..2a125667800
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/AkoumFlameseeker.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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.DiscardCardCost;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.costs.common.TapTargetCost;
+import mage.abilities.effects.common.DoIfCostPaid;
+import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterControlledPermanent;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.mageobject.SubtypePredicate;
+import mage.filter.predicate.permanent.TappedPredicate;
+import mage.target.common.TargetControlledPermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class AkoumFlameseeker extends CardImpl {
+
+ private static final FilterControlledPermanent filter = new FilterControlledPermanent("an untapped Ally you control");
+
+ static {
+ filter.add(new SubtypePredicate("Ally"));
+ filter.add(Predicates.not(new TappedPredicate()));
+ }
+
+ public AkoumFlameseeker(UUID ownerId) {
+ super(ownerId, 101, "Akoum Flameseeker", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+ this.expansionSetCode = "OGW";
+ this.subtype.add("Human");
+ this.subtype.add("Shaman");
+ this.subtype.add("Ally");
+ this.power = new MageInt(3);
+ this.toughness = new MageInt(2);
+
+ // Cohort — {T}, Tap an untapped Ally you control: Discard a card. If you do, draw a card.
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, (new DoIfCostPaid(new DrawCardSourceControllerEffect(1), new DiscardCardCost())), new TapSourceCost());
+ ability.addCost(new TapTargetCost(new TargetControlledPermanent(filter)));
+ ability.setAbilityWord(AbilityWord.COHORT);
+ this.addAbility(ability);
+ }
+
+ public AkoumFlameseeker(final AkoumFlameseeker card) {
+ super(card);
+ }
+
+ @Override
+ public AkoumFlameseeker copy() {
+ return new AkoumFlameseeker(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/BruteStrength.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/BruteStrength.java
new file mode 100644
index 00000000000..bf6040559c9
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/BruteStrength.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.oathofthegatewatch;
+
+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.TrampleAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class BruteStrength extends CardImpl {
+
+ public BruteStrength(UUID ownerId) {
+ super(ownerId, 103, "Brute Strength", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{R}");
+ this.expansionSetCode = "OGW";
+
+ // Target creature gets +3/+1 and gain trample until end of turn.
+ Effect effect = new BoostTargetEffect(3, 1, Duration.EndOfTurn);
+ effect.setText("Target creature gets +3/+1");
+ this.getSpellAbility().addEffect(effect);
+ effect = new GainAbilityTargetEffect(TrampleAbility.getInstance(), Duration.EndOfTurn);
+ effect.setText("and gains trample until end of turn");
+ this.getSpellAbility().addEffect(effect);
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+ }
+
+ public BruteStrength(final BruteStrength card) {
+ super(card);
+ }
+
+ @Override
+ public BruteStrength copy() {
+ return new BruteStrength(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/CinderHellion.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/CinderHellion.java
new file mode 100644
index 00000000000..83070c65b6a
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/CinderHellion.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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.EntersBattlefieldTriggeredAbility;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.keyword.TrampleAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.target.common.TargetOpponent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class CinderHellion extends CardImpl {
+
+ public CinderHellion(UUID ownerId) {
+ super(ownerId, 105, "Cinder Hellion", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{4}{R}");
+ this.expansionSetCode = "OGW";
+ this.subtype.add("Hellion");
+ this.power = new MageInt(4);
+ this.toughness = new MageInt(4);
+
+ // Trample
+ this.addAbility(TrampleAbility.getInstance());
+
+ // When Cinder Hellion enters the battlefield, it deals 2 damage to target opponent.
+ Ability ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(2), false);
+ ability.addTarget(new TargetOpponent());
+ this.addAbility(ability);
+ }
+
+ public CinderHellion(final CinderHellion card) {
+ super(card);
+ }
+
+ @Override
+ public CinderHellion copy() {
+ return new CinderHellion(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/ConsumingSinkhole.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/ConsumingSinkhole.java
new file mode 100644
index 00000000000..5641f939394
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/ConsumingSinkhole.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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.abilities.Mode;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.effects.common.ExileTargetEffect;
+import mage.abilities.keyword.DevoidAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.filter.predicate.mageobject.CardTypePredicate;
+import mage.target.TargetPlayer;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class ConsumingSinkhole extends CardImpl {
+
+ private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("land creature");
+
+ static {
+ filter.add(new CardTypePredicate(CardType.LAND));
+ }
+
+ public ConsumingSinkhole(UUID ownerId) {
+ super(ownerId, 94, "Consuming Sinkhole", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{3}{R}");
+ this.expansionSetCode = "OGW";
+
+ // Devoid
+ this.addAbility(new DevoidAbility(this.color));
+
+ // Choose one — Exile target land creature.
+ Effect effect = new ExileTargetEffect();
+ effect.setText("Exile target land creature");
+ this.getSpellAbility().addEffect(effect);
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
+
+ // Consuming Sinkhole deals 4 damage to target player.
+ Mode mode = new Mode();
+ mode.getEffects().add(new DamageTargetEffect(4));
+ mode.getTargets().add(new TargetPlayer());
+ this.getSpellAbility().addMode(mode);
+ }
+
+ public ConsumingSinkhole(final ConsumingSinkhole card) {
+ super(card);
+ }
+
+ @Override
+ public ConsumingSinkhole copy() {
+ return new ConsumingSinkhole(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/DevourInFlames.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/DevourInFlames.java
new file mode 100644
index 00000000000..b067e1d79a0
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/DevourInFlames.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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.abilities.costs.common.ReturnToHandChosenControlledPermanentCost;
+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.TargetControlledPermanent;
+import mage.target.common.TargetCreatureOrPlaneswalker;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class DevourInFlames extends CardImpl {
+
+ public DevourInFlames(UUID ownerId) {
+ super(ownerId, 106, "Devour in Flames", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{2}{R}");
+ this.expansionSetCode = "OGW";
+
+ // As an additional cost to cast Devour in Flames, return a land you control to its owner's hand.
+ this.getSpellAbility().addCost(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(new FilterControlledLandPermanent("land"))));
+
+ // Devour in Flames deals 5 damage to target creature or planeswalker.
+ this.getSpellAbility().addTarget(new TargetCreatureOrPlaneswalker());
+ this.getSpellAbility().addEffect(new DamageTargetEffect(5));
+ }
+
+ public DevourInFlames(final DevourInFlames card) {
+ super(card);
+ }
+
+ @Override
+ public DevourInFlames copy() {
+ return new DevourInFlames(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/EldraziAggressor.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/EldraziAggressor.java
new file mode 100644
index 00000000000..d7ec8064847
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/EldraziAggressor.java
@@ -0,0 +1,85 @@
+/*
+ * 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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.condition.common.PermanentsOnTheBattlefieldCondition;
+import mage.abilities.decorator.ConditionalContinuousEffect;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
+import mage.abilities.keyword.DevoidAbility;
+import mage.abilities.keyword.HasteAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.predicate.mageobject.ColorlessPredicate;
+import mage.filter.predicate.permanent.AnotherPredicate;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class EldraziAggressor extends CardImpl {
+
+ private final String rule = "{this} has haste as long as you control another colorless creature";
+ private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another colorless creature");
+
+ static {
+ filter.add(new AnotherPredicate());
+ filter.add(new ColorlessPredicate());
+ }
+
+ public EldraziAggressor(UUID ownerId) {
+ super(ownerId, 95, "Eldrazi Aggressor", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+ this.expansionSetCode = "OGW";
+ this.subtype.add("Eldrazi");
+ this.subtype.add("Drone");
+ this.power = new MageInt(2);
+ this.toughness = new MageInt(3);
+
+ // Devoid
+ this.addAbility(new DevoidAbility(this.color));
+
+ // Eldrazi Aggressor has haste as long as you control another colorless creature.
+ Effect effect = new ConditionalContinuousEffect(new GainAbilitySourceEffect(HasteAbility.getInstance()), new PermanentsOnTheBattlefieldCondition(filter), rule);
+ this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
+ }
+
+ public EldraziAggressor(final EldraziAggressor card) {
+ super(card);
+ }
+
+ @Override
+ public EldraziAggressor copy() {
+ return new EldraziAggressor(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/KazuulsTollCollector.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/KazuulsTollCollector.java
new file mode 100644
index 00000000000..de86c6f4f79
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/KazuulsTollCollector.java
@@ -0,0 +1,108 @@
+/*
+ * 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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.ActivateAsSorceryActivatedAbility;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.OneShotEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Outcome;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterControlledPermanent;
+import mage.filter.predicate.mageobject.SubtypePredicate;
+import mage.game.Game;
+import mage.game.permanent.Permanent;
+import mage.target.common.TargetControlledPermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class KazuulsTollCollector extends CardImpl {
+
+ private static final FilterControlledPermanent filter = new FilterControlledPermanent("Equipment you control");
+
+ static {
+ filter.add(new SubtypePredicate("Equipment"));
+ }
+
+ public KazuulsTollCollector(UUID ownerId) {
+ super(ownerId, 112, "Kazuul's Toll Collector", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+ this.expansionSetCode = "OGW";
+ this.subtype.add("Ogre");
+ this.subtype.add("Warrior");
+ this.power = new MageInt(3);
+ this.toughness = new MageInt(2);
+
+ // {0}: Attach target Equipment you control to Kazuul's Toll Collector. Activate this ability only any time you could cast a sorcery.
+ Ability ability = new ActivateAsSorceryActivatedAbility(Zone.BATTLEFIELD, new KazuulsTollCollectorEffect(), new ManaCostsImpl("{0}"));
+ ability.addTarget(new TargetControlledPermanent(filter));
+ this.addAbility(ability);
+ }
+
+ public KazuulsTollCollector(final KazuulsTollCollector card) {
+ super(card);
+ }
+
+ @Override
+ public KazuulsTollCollector copy() {
+ return new KazuulsTollCollector(this);
+ }
+}
+
+class KazuulsTollCollectorEffect extends OneShotEffect {
+
+ public KazuulsTollCollectorEffect() {
+ super(Outcome.BoostCreature);
+ staticText = "Attach target Equipment you control to {this}";
+ }
+
+ public KazuulsTollCollectorEffect(final KazuulsTollCollectorEffect effect) {
+ super(effect);
+ }
+
+ @Override
+ public KazuulsTollCollectorEffect copy() {
+ return new KazuulsTollCollectorEffect(this);
+ }
+
+ @Override
+ public boolean apply(Game game, Ability source) {
+ Permanent equipment = game.getPermanent(source.getFirstTarget());
+ Permanent permanent = game.getPermanent(source.getSourceId());
+ if (permanent != null && equipment != null) {
+ return permanent.addAttachment(equipment.getId(), game);
+ }
+ return false;
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/MawOfKozilek.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/MawOfKozilek.java
new file mode 100644
index 00000000000..aec8357b84b
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/MawOfKozilek.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.oathofthegatewatch;
+
+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.abilities.keyword.DevoidAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class MawOfKozilek extends CardImpl {
+
+ public MawOfKozilek(UUID ownerId) {
+ super(ownerId, 99, "Maw of Kozilek", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{R}");
+ this.expansionSetCode = "OGW";
+ this.subtype.add("Eldrazi");
+ this.subtype.add("Drone");
+ this.power = new MageInt(2);
+ this.toughness = new MageInt(5);
+
+ // Devoid
+ this.addAbility(new DevoidAbility(this.color));
+
+ // {C}: Maw of Kozilek gets +2/-2 until end of turn.
+ this.addAbility(new SimpleActivatedAbility(Zone.BATTLEFIELD, new BoostSourceEffect(2, -2, Duration.EndOfTurn), new ManaCostsImpl("{C}")));
+ }
+
+ public MawOfKozilek(final MawOfKozilek card) {
+ super(card);
+ }
+
+ @Override
+ public MawOfKozilek copy() {
+ return new MawOfKozilek(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/OverwhelmingDenial.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/OverwhelmingDenial.java
index 36013c17b0f..1ff83b3a091 100644
--- a/Mage.Sets/src/mage/sets/oathofthegatewatch/OverwhelmingDenial.java
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/OverwhelmingDenial.java
@@ -28,7 +28,9 @@
package mage.sets.oathofthegatewatch;
import java.util.UUID;
+import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.effects.Effect;
import mage.abilities.effects.common.CantBeCounteredSourceEffect;
import mage.abilities.effects.common.CounterTargetEffect;
import mage.abilities.keyword.SurgeAbility;
@@ -49,7 +51,11 @@ public class OverwhelmingDenial extends CardImpl {
this.expansionSetCode = "OGW";
// Overwhelming Denial can't be countered by spell or abilities.
- this.addAbility(new SimpleStaticAbility(Zone.STACK, new CantBeCounteredSourceEffect()));
+ Effect effect = new CantBeCounteredSourceEffect();
+ effect.setText("{this} can't be countered by spells or abilities");
+ Ability ability = new SimpleStaticAbility(Zone.STACK, effect);
+ ability.setRuleAtTheTop(true);
+ this.addAbility(ability);
// Counter target spell.
this.getSpellAbility().addTarget(new TargetSpell());
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/PressIntoService.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/PressIntoService.java
new file mode 100644
index 00000000000..5d70158dcdb
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/PressIntoService.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.oathofthegatewatch;
+
+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.effects.keyword.SupportEffect;
+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 fireshoes
+ */
+public class PressIntoService extends CardImpl {
+
+ public PressIntoService(UUID ownerId) {
+ super(ownerId, 114, "Press into Service", Rarity.UNCOMMON, new CardType[]{CardType.SORCERY}, "{4}{R}");
+ this.expansionSetCode = "OGW";
+
+ // Support 2.
+ getSpellAbility().addEffect(new SupportEffect(this, 2));
+
+ // 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 PressIntoService(final PressIntoService card) {
+ super(card);
+ }
+
+ @Override
+ public PressIntoService copy() {
+ return new PressIntoService(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/RealityHemorrhage.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/RealityHemorrhage.java
new file mode 100644
index 00000000000..3de8d16fc04
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/RealityHemorrhage.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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.keyword.DevoidAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.target.common.TargetCreatureOrPlayer;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class RealityHemorrhage extends CardImpl {
+
+ public RealityHemorrhage(UUID ownerId) {
+ super(ownerId, 100, "Reality Hemorrhage", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{1}{R}");
+ this.expansionSetCode = "OGW";
+
+ // Devoid
+ this.addAbility(new DevoidAbility(this.color));
+
+ // Reality Hemorrhage deals 2 damage to target creature or player.
+ this.getSpellAbility().addEffect(new DamageTargetEffect(2));
+ this.getSpellAbility().addTarget(new TargetCreatureOrPlayer());
+ }
+
+ public RealityHemorrhage(final RealityHemorrhage card) {
+ super(card);
+ }
+
+ @Override
+ public RealityHemorrhage copy() {
+ return new RealityHemorrhage(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/SparkmagesGambit.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/SparkmagesGambit.java
new file mode 100644
index 00000000000..1e7ae867483
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/SparkmagesGambit.java
@@ -0,0 +1,63 @@
+/*
+ * 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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.effects.common.combat.CantBlockTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class SparkmagesGambit extends CardImpl {
+
+ public SparkmagesGambit(UUID ownerId) {
+ super(ownerId, 117, "Sparkmage's Gambit", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{1}{R}");
+ this.expansionSetCode = "OGW";
+
+ // Sparkmage's Gambit deals 1 damage to each of up to two target creatures. Those creatures can't block this turn.
+ this.getSpellAbility().addEffect(new DamageTargetEffect(1));
+ this.getSpellAbility().addEffect(new CantBlockTargetEffect(Duration.EndOfTurn));
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent(0, 2));
+ }
+
+ public SparkmagesGambit(final SparkmagesGambit card) {
+ super(card);
+ }
+
+ @Override
+ public SparkmagesGambit copy() {
+ return new SparkmagesGambit(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/TearsOfValakut.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/TearsOfValakut.java
new file mode 100644
index 00000000000..e22fd6a9c32
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/TearsOfValakut.java
@@ -0,0 +1,81 @@
+/*
+ * 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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleStaticAbility;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.CantBeCounteredSourceEffect;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterCreaturePermanent;
+import mage.filter.predicate.mageobject.AbilityPredicate;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class TearsOfValakut extends CardImpl {
+
+ private static final FilterCreaturePermanent filter = new FilterCreaturePermanent("creature with flying");
+
+ static {
+ filter.add(new AbilityPredicate(FlyingAbility.class));
+ }
+
+ public TearsOfValakut(UUID ownerId) {
+ super(ownerId, 118, "Tears of Valakut", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{1}{R}");
+ this.expansionSetCode = "OGW";
+
+ // Tears of Valakut can't be countered by spells or abilities.
+ Effect effect = new CantBeCounteredSourceEffect();
+ effect.setText("{this} can't be countered by spells or abilities");
+ Ability ability = new SimpleStaticAbility(Zone.STACK, effect);
+ ability.setRuleAtTheTop(true);
+ this.addAbility(ability);
+
+ // Tears of Valakut deals 5 damage to target creature with flying.
+ this.getSpellAbility().addEffect(new DamageTargetEffect(5));
+ this.getSpellAbility().addTarget(new TargetCreaturePermanent(filter));
+ }
+
+ public TearsOfValakut(final TearsOfValakut card) {
+ super(card);
+ }
+
+ @Override
+ public TearsOfValakut copy() {
+ return new TearsOfValakut(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/ZadasCommando.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/ZadasCommando.java
new file mode 100644
index 00000000000..00d4bf79c52
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/ZadasCommando.java
@@ -0,0 +1,91 @@
+/*
+ * 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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.Ability;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.common.TapSourceCost;
+import mage.abilities.costs.common.TapTargetCost;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.keyword.FirstStrikeAbility;
+import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.filter.common.FilterControlledPermanent;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.mageobject.SubtypePredicate;
+import mage.filter.predicate.permanent.TappedPredicate;
+import mage.target.common.TargetControlledPermanent;
+import mage.target.common.TargetOpponent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class ZadasCommando extends CardImpl {
+
+ private static final FilterControlledPermanent filter = new FilterControlledPermanent("an untapped Ally you control");
+
+ static {
+ filter.add(new SubtypePredicate("Ally"));
+ filter.add(Predicates.not(new TappedPredicate()));
+ }
+
+ public ZadasCommando(UUID ownerId) {
+ super(ownerId, 120, "Zada's Commando", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{R}");
+ this.expansionSetCode = "OGW";
+ this.subtype.add("Goblin");
+ this.subtype.add("Archer");
+ this.subtype.add("Ally");
+ this.power = new MageInt(2);
+ this.toughness = new MageInt(1);
+
+ // First Strike
+ this.addAbility(FirstStrikeAbility.getInstance());
+
+ // Cohort — {T}, Tap an untapped Ally you control: Zada's Commando deals 1 damage to target opponent.
+ Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DamageTargetEffect(1), new TapSourceCost());
+ ability.addCost(new TapTargetCost(new TargetControlledPermanent(filter)));
+ ability.addTarget(new TargetOpponent());
+ ability.setAbilityWord(AbilityWord.COHORT);
+ this.addAbility(ability);
+ }
+
+ public ZadasCommando(final ZadasCommando card) {
+ super(card);
+ }
+
+ @Override
+ public ZadasCommando copy() {
+ return new ZadasCommando(this);
+ }
+}
diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt
index 42d2eafe5c9..e6eac09fadb 100644
--- a/Utils/mtg-cards-data.txt
+++ b/Utils/mtg-cards-data.txt
@@ -28337,7 +28337,7 @@ Untamed Hunger|Oath of the Gatewatch|91|C|{2}{B}|Enchantment - Aura|||Enchant cr
Vampire Envoy|Oath of the Gatewatch|92|C|{2}{B}|Creature - Vampire Cleric Ally|1|4|Flying$Whenever Vampire Envoy becomes tapped, you gain 1 life.|
Zulaport Chainmage|Oath of the Gatewatch|93|C|{3}{B}|Creature - Human Shaman Ally|4|2|Cohort — {T}, Tap an untapped Ally you control: Target opponent loses 2 life.|
Consuming Sinkhole|Oath of the Gatewatch|94|C|{3}{R}|Instant|||Devoid (This card has no color.)$Choose one — Exile target land creature. Consuming Sinkhole deals 4 damage to target player.|
-Eldrazi Aggressor|Oath of the Gatewatch|95|C|{2}{R}|Creature - Eldrazi Drone|2|3|Devoid(This card has no color.)$Eldrazi Aggressor has haste as long as you control another colorless creature.|
+Eldrazi Aggressor|Oath of the Gatewatch|95|C|{2}{R}|Creature - Eldrazi Drone|2|3|Devoid (This card has no color.)$Eldrazi Aggressor has haste as long as you control another colorless creature.|
Eldrazi Obligator|Oath of the Gatewatch|96|R|{2}{R}|Creature - Eldrazi Drone|3|1|Devoid (This card has no color.)$Haste$When you cast Eldrazi Obligator, you may pay {1}{C}. If you do, gain control of target creature until end of turn. Untap that creature. It gains haste until end of turn.|
Immobilizer Eldrazi|Oath of the Gatewatch|97|U|{1}{R}|Creature - Eldrazi Drone|2|1|Devoid (This card has no color.)${2}{C}: Each creature with toughness greater than its power can't block this turn.|
Kozilek's Return|Oath of the Gatewatch|98|M|{2}{R}|Instant|||Devoid (This card has no color.)$Kozilek's Return deals 2 damage to each creature.$Whenever you cast an Eldrazi creature spell with converted mana cost 7 or greater, you may exile Kozilek's Return from your graveyard. If you do, Kozilek's Return deals 5 damage to each creature.|
@@ -28348,7 +28348,7 @@ Boulder Salvo|Oath of the Gatewatch|102|C|{4}{R}|Sorcery|||Surge {1}{R} (You
Brute Strength|Oath of the Gatewatch|103|C|{1}{R}|Instant|||Target creature gets +3/+1 and gain trample until end of turn.|
Chandra, Flamecaller|Oath of the Gatewatch|104|M|{4}{R}{R}|Planeswalker - Chandra|||+1: Put two 3/1 red Elemental creature tokens with haste onto the battlefield. Exile them at the beginning of the next end step.$0: Discard all the cards in your hand, then draw that many cards plus one.$-X: Chandra, Flamecaller deals X damage to each creature.|
Cinder Hellion|Oath of the Gatewatch|105|C|{4}{R}|Creature - Hellion|4|4|Trample$When Cinder Hellion enters the battlefield, it deals 2 damage to target opponent.|
-Devour in Flames|Oath of the Gatewatch|106|U|{2}{R}|SOrcery|||As an additional cost to cast Devour in Flames, return a land you control to its owner's hand.$Devour in Flames deals 5 damage to target creature or planeswalker.|
+Devour in Flames|Oath of the Gatewatch|106|U|{2}{R}|Sorcery|||As an additional cost to cast Devour in Flames, return a land you control to its owner's hand.$Devour in Flames deals 5 damage to target creature or planeswalker.|
Embodiment of Fury|Oath of the Gatewatch|107|U|{3}{R}|Creature - Elemental|4|3|Trample$Land creatures you control have trample.$Landfall - Whenever a land enters the battlefield under your control, you may have target land you control become a 3/3 Elemental creature with haste until end of turn. It's still a land.|
Expedite|Oath of the Gatewatch|108|C|{R}|Instant|||Target creature gains haste until end of turn.$Draw a card.|
Fall of the Titans|Oath of the Gatewatch|109|R|{X}{X}{R}|Instant|||Surge {X}{R} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)$Fall of the Titans deals X damage to each of up to two target creatures and/or players.|