diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/ComparativeAnalysis.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/ComparativeAnalysis.java
new file mode 100644
index 0000000000..4fdb1cccab
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/ComparativeAnalysis.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.DrawCardTargetEffect;
+import mage.abilities.keyword.SurgeAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.target.TargetPlayer;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class ComparativeAnalysis extends CardImpl {
+
+    public ComparativeAnalysis(UUID ownerId) {
+        super(ownerId, 51, "Comparative Analysis", Rarity.COMMON, new CardType[]{CardType.INSTANT}, "{3}{U}");
+        this.expansionSetCode = "OGW";
+        
+        // Target player draws two cards.
+        this.getSpellAbility().addEffect(new DrawCardTargetEffect(2));
+        this.getSpellAbility().addTarget(new TargetPlayer());
+
+        // Has to be placed last here, because added spellAbility objects (e.g. effects) have to be copied from this
+        // Surge {2}{U} <You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)</i>
+        addAbility(new SurgeAbility(this, "{2}{U}"));    }
+
+    public ComparativeAnalysis(final ComparativeAnalysis card) {
+        super(card);
+    }
+
+    @Override
+    public ComparativeAnalysis copy() {
+        return new ComparativeAnalysis(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/DeepfathomSkulker.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/DeepfathomSkulker.java
new file mode 100644
index 0000000000..910f719276
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/DeepfathomSkulker.java
@@ -0,0 +1,120 @@
+/*
+ *  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.TriggeredAbilityImpl;
+import mage.abilities.common.SimpleActivatedAbility;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.abilities.effects.common.combat.CantBeBlockedTargetEffect;
+import mage.abilities.keyword.DevoidAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.game.Game;
+import mage.game.events.DamagedPlayerEvent;
+import mage.game.events.GameEvent;
+import mage.game.events.GameEvent.EventType;
+import mage.game.permanent.Permanent;
+import mage.target.common.TargetCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class DeepfathomSkulker extends CardImpl {
+
+    public DeepfathomSkulker(UUID ownerId) {
+        super(ownerId, 43, "Deepfathom Skulker", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{5}{U}");
+        this.expansionSetCode = "OGW";
+        this.subtype.add("Eldrazi");
+        this.power = new MageInt(4);
+        this.toughness = new MageInt(4);
+
+        // Devoid </i>(This card has no color.)</i>
+        this.addAbility(new DevoidAbility(this.color));
+        
+        // Whenever a creature you control deals combat damage to a player, you may draw a card.
+        this.addAbility(new DeepfathomSkulkerTriggeredAbility());
+        
+        // {3}{C}: Target creature can't be blocked this turn.
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CantBeBlockedTargetEffect(), new ManaCostsImpl("{3}{C}"));
+        ability.addTarget(new TargetCreaturePermanent());
+        this.addAbility(ability);
+    }
+
+    public DeepfathomSkulker(final DeepfathomSkulker card) {
+        super(card);
+    }
+
+    @Override
+    public DeepfathomSkulker copy() {
+        return new DeepfathomSkulker(this);
+    }
+}
+
+class DeepfathomSkulkerTriggeredAbility extends TriggeredAbilityImpl {
+
+    public DeepfathomSkulkerTriggeredAbility() {
+        super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), true);
+    }
+
+    public DeepfathomSkulkerTriggeredAbility(final DeepfathomSkulkerTriggeredAbility ability) {
+        super(ability);
+    }
+
+    @Override
+    public DeepfathomSkulkerTriggeredAbility copy() {
+        return new DeepfathomSkulkerTriggeredAbility(this);
+    }
+
+    @Override
+    public boolean checkEventType(GameEvent event, Game game) {
+        return event.getType() == EventType.DAMAGED_PLAYER;
+    }
+
+    @Override
+    public boolean checkTrigger(GameEvent event, Game game) {
+        if (((DamagedPlayerEvent) event).isCombatDamage()) {
+            Permanent creature = game.getPermanent(event.getSourceId());
+            if (creature != null && creature.getControllerId().equals(controllerId)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public String getRule() {
+        return " Whenever a creature you control deals combat damage to a player, you may draw a card.";
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/DreadDefiler.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/DreadDefiler.java
new file mode 100644
index 0000000000..8a9a10510e
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/DreadDefiler.java
@@ -0,0 +1,121 @@
+/*
+ *  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.Cost;
+import mage.abilities.costs.common.ExileFromGraveCost;
+import mage.abilities.costs.mana.ManaCostsImpl;
+import mage.abilities.effects.OneShotEffect;
+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.Zone;
+import mage.filter.common.FilterCreatureCard;
+import mage.game.Game;
+import mage.players.Player;
+import mage.target.common.TargetCardInYourGraveyard;
+import mage.target.common.TargetOpponent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class DreadDefiler extends CardImpl {
+
+    public DreadDefiler(UUID ownerId) {
+        super(ownerId, 68, "Dread Defiler", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{6}{B}");
+        this.expansionSetCode = "OGW";
+        this.subtype.add("Eldrazi");
+        this.power = new MageInt(6);
+        this.toughness = new MageInt(8);
+
+        // Devoid
+        this.addAbility(new DevoidAbility(this.color));
+        
+        // {3}{C}, Exile a creature card from your graveyard: Target opponent loses life equal to the exiled card's power.
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DreadDefilerEffect(), new ManaCostsImpl("{3}{C}"));
+        ability.addCost(new ExileFromGraveCost(new TargetCardInYourGraveyard(new FilterCreatureCard("creature card from your graveyard"))));
+        ability.addTarget(new TargetOpponent());
+        this.addAbility(ability);
+    }
+
+    public DreadDefiler(final DreadDefiler card) {
+        super(card);
+    }
+
+    @Override
+    public DreadDefiler copy() {
+        return new DreadDefiler(this);
+    }
+}
+
+class DreadDefilerEffect extends OneShotEffect {
+
+    public DreadDefilerEffect() {
+        super(Outcome.DrawCard);
+        this.staticText = "Target opponent loses life equal to the exiled card's power";
+    }
+
+    public DreadDefilerEffect(final DreadDefilerEffect effect) {
+        super(effect);
+    }
+
+    @Override
+    public DreadDefilerEffect copy() {
+        return new DreadDefilerEffect(this);
+    }
+
+    @Override
+    public boolean apply(Game game, Ability source) {
+        int amount = 0;
+        for (Cost cost : source.getCosts()) {
+            if (cost instanceof ExileFromGraveCost) {
+                Card card = game.getCard(cost.getTargets().getFirstTarget());
+                if (card != null) {
+                    amount = card.getPower().getValue();
+                }
+                break;
+            }
+        }
+        if (amount > 0) {
+            Player targetOpponent = game.getPlayer(source.getFirstTarget());
+            if (targetOpponent != null) {
+                targetOpponent.loseLife(amount, game);
+                return true;
+            }
+        }
+        return false;
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/JoriEnRuinDiver.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/JoriEnRuinDiver.java
new file mode 100644
index 0000000000..5d36252e75
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/JoriEnRuinDiver.java
@@ -0,0 +1,148 @@
+/*
+ *  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.TriggeredAbilityImpl;
+import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.WatcherScope;
+import mage.constants.Zone;
+import mage.game.Game;
+import mage.game.events.GameEvent;
+import mage.game.events.GameEvent.EventType;
+import mage.game.stack.Spell;
+import mage.watchers.Watcher;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class JoriEnRuinDiver extends CardImpl {
+
+    public JoriEnRuinDiver(UUID ownerId) {
+        super(ownerId, 155, "Jori En, Ruin Diver", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{1}{U}{R}");
+        this.expansionSetCode = "OGW";
+        this.supertype.add("Legendary");
+        this.subtype.add("Merfolk");
+        this.subtype.add("Wizard");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(3);
+
+        // Whenever you cast your second spell each turn, draw a card.
+        this.addAbility(new JoriEnTriggeredAbility(), new JoriEnWatcher());
+    }
+
+    public JoriEnRuinDiver(final JoriEnRuinDiver card) {
+        super(card);
+    }
+
+    @Override
+    public JoriEnRuinDiver copy() {
+        return new JoriEnRuinDiver(this);
+    }
+}
+
+class JoriEnTriggeredAbility extends TriggeredAbilityImpl {
+
+    public JoriEnTriggeredAbility() {
+        super(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1));
+    }
+
+    public JoriEnTriggeredAbility(final JoriEnTriggeredAbility ability) {
+        super(ability);
+    }
+
+    @Override
+    public JoriEnTriggeredAbility copy() {
+        return new JoriEnTriggeredAbility(this);
+    }
+
+    @Override
+    public boolean checkEventType(GameEvent event, Game game) {
+        return event.getType() == EventType.SPELL_CAST;
+    }
+
+    @Override
+    public boolean checkTrigger(GameEvent event, Game game) {
+        if (event.getPlayerId().equals(controllerId)) {
+            Watcher watcher = game.getState().getWatchers().get("SecondSpellCast", controllerId);
+            if (watcher != null && watcher.conditionMet()) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
+    public String getRule() {
+        return "Whenever you cast your second spell each turn, draw a card.";
+    }
+}
+
+class JoriEnWatcher extends Watcher {
+
+    int spellCount = 0;
+
+    public JoriEnWatcher() {
+        super("SecondSpellCast", WatcherScope.PLAYER);
+    }
+
+    public JoriEnWatcher(final JoriEnWatcher watcher) {
+        super(watcher);
+        this.spellCount = watcher.spellCount;
+    }
+
+    @Override
+    public JoriEnWatcher copy() {
+        return new JoriEnWatcher(this);
+    }
+
+    @Override
+    public void watch(GameEvent event, Game game) {
+        condition = false;
+        if (event.getType() == GameEvent.EventType.SPELL_CAST && event.getPlayerId().equals(controllerId)) {
+            Spell spell = game.getStack().getSpell(event.getTargetId());
+            if (spell != null) {
+                spellCount++;
+                if (spellCount == 2) {
+                    condition = true;
+                }
+            }
+        }
+    }
+
+    @Override
+    public void reset() {
+        super.reset();
+        spellCount = 0;
+    }
+}
\ No newline at end of file
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/MundasVanguard.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/MundasVanguard.java
new file mode 100644
index 0000000000..a6d7e934a9
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/MundasVanguard.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.TapSourceCost;
+import mage.abilities.costs.common.TapTargetCost;
+import mage.abilities.effects.common.counter.AddCountersAllEffect;
+import mage.cards.CardImpl;
+import mage.constants.AbilityWord;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.Zone;
+import mage.counters.CounterType;
+import mage.filter.common.FilterControlledCreaturePermanent;
+import mage.filter.predicate.Predicates;
+import mage.filter.predicate.mageobject.SubtypePredicate;
+import mage.filter.predicate.permanent.TappedPredicate;
+import mage.target.common.TargetControlledCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class MundasVanguard extends CardImpl {
+    
+    private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("untapped Ally you control");
+    
+    static {
+        filter.add(new SubtypePredicate("Ally"));
+        filter.add(Predicates.not(new TappedPredicate()));
+    }
+
+    public MundasVanguard(UUID ownerId) {
+        super(ownerId, 29, "Munda's Vanguard", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{4}{W}");
+        this.expansionSetCode = "OGW";
+        this.subtype.add("Kor");
+        this.subtype.add("Knight");
+        this.subtype.add("Ally");
+        this.power = new MageInt(3);
+        this.toughness = new MageInt(3);
+
+        // <i>Cohort</i> &mdash; {T}, Tap an untapped Ally you control: Put a +1/+1 counter on each creature you control.
+        Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new AddCountersAllEffect(CounterType.P1P1.createInstance(), new FilterControlledCreaturePermanent()), 
+                new TapSourceCost());
+        ability.addCost(new TapTargetCost(new TargetControlledCreaturePermanent(filter)));
+        ability.setAbilityWord(AbilityWord.COHORT);
+        this.addAbility(ability);
+    }
+
+    public MundasVanguard(final MundasVanguard card) {
+        super(card);
+    }
+
+    @Override
+    public MundasVanguard copy() {
+        return new MundasVanguard(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/RecklessBushwhacker.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/RecklessBushwhacker.java
new file mode 100644
index 0000000000..9b3490448e
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/RecklessBushwhacker.java
@@ -0,0 +1,82 @@
+/*
+ *  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.EntersBattlefieldTriggeredAbility;
+import mage.abilities.condition.common.SurgedCondition;
+import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.effects.common.continuous.BoostControlledEffect;
+import mage.abilities.effects.common.continuous.GainAbilityControlledEffect;
+import mage.abilities.keyword.HasteAbility;
+import mage.abilities.keyword.SurgeAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.filter.common.FilterControlledCreaturePermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class RecklessBushwhacker extends CardImpl {
+
+    public RecklessBushwhacker(UUID ownerId) {
+        super(ownerId, 116, "Reckless Bushwhacker", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{R}");
+        this.expansionSetCode = "OGW";
+        this.subtype.add("Goblin");
+        this.subtype.add("Warrior");
+        this.subtype.add("Ally");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(1);
+
+        // Haste
+        this.addAbility(HasteAbility.getInstance());
+
+        // When Reckless Bushwhacker enters the battlefield, if its surge cost was paid, other creatures you control get +1/+0 and gain haste until end of turn.
+        EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new BoostControlledEffect(1, 0, Duration.EndOfTurn, true), false);
+        ability.addEffect(new GainAbilityControlledEffect(HasteAbility.getInstance(), Duration.EndOfTurn, new FilterControlledCreaturePermanent(), true));
+        this.addAbility(new ConditionalTriggeredAbility(ability, SurgedCondition.getInstance(),
+                "When {this} enters the battlefield, if its surge cost was paid, other creatures you control get +1/+0 and gain haste until end of turn."));
+
+        // Has to be placed last here, because added spellAbility objects (e.g. effects) have to be copied from this
+        // Surge {1}{R} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn)
+        addAbility(new SurgeAbility(this, "{1}{R}"));
+    }
+
+    public RecklessBushwhacker(final RecklessBushwhacker card) {
+        super(card);
+    }
+
+    @Override
+    public RecklessBushwhacker copy() {
+        return new RecklessBushwhacker(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/ScionSummoner.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/ScionSummoner.java
new file mode 100644
index 0000000000..348db98b25
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/ScionSummoner.java
@@ -0,0 +1,73 @@
+/*
+ *  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.EntersBattlefieldTriggeredAbility;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.CreateTokenEffect;
+import mage.abilities.keyword.DevoidAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.game.permanent.token.EldraziScionToken;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class ScionSummoner extends CardImpl {
+
+    public ScionSummoner(UUID ownerId) {
+        super(ownerId, 123, "Scion Summoner", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{2}{G}");
+        this.expansionSetCode = "OGW";
+        this.subtype.add("Eldrazi");
+        this.subtype.add("Drone");
+        this.power = new MageInt(2);
+        this.toughness = new MageInt(2);
+
+        // Devoid
+        this.addAbility(new DevoidAbility(this.color));
+        
+        // When Scion Summoner enters the battlefield, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. 
+        // It has "Sacrifice this creature: Add {C} to your mana pool."
+        Effect effect = new CreateTokenEffect(new EldraziScionToken());
+        effect.setText("put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has \"Sacrifice this creature: Add {C} to your mana pool.\"");
+        this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false));
+    }
+
+    public ScionSummoner(final ScionSummoner card) {
+        super(card);
+    }
+
+    @Override
+    public ScionSummoner copy() {
+        return new ScionSummoner(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/SpatialContortion.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/SpatialContortion.java
new file mode 100644
index 0000000000..457b39a5a8
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/SpatialContortion.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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.abilities.effects.common.continuous.BoostTargetEffect;
+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 SpatialContortion extends CardImpl {
+
+    public SpatialContortion(UUID ownerId) {
+        super(ownerId, 8, "Spatial Contortion", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{1}{C}");
+        this.expansionSetCode = "OGW";
+
+        // Target creature gets +3/-3 until end of turn.
+        this.getSpellAbility().addEffect(new BoostTargetEffect(3, -3, Duration.EndOfTurn));
+        this.getSpellAbility().addTarget(new TargetCreaturePermanent());
+    }
+
+    public SpatialContortion(final SpatialContortion card) {
+        super(card);
+    }
+
+    @Override
+    public SpatialContortion copy() {
+        return new SpatialContortion(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/TyrantOfValakut.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/TyrantOfValakut.java
new file mode 100644
index 0000000000..a52129b852
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/TyrantOfValakut.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.oathofthegatewatch;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.EntersBattlefieldTriggeredAbility;
+import mage.abilities.condition.common.SurgedCondition;
+import mage.abilities.decorator.ConditionalTriggeredAbility;
+import mage.abilities.effects.common.DamageTargetEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.abilities.keyword.SurgeAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.target.common.TargetCreatureOrPlayer;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class TyrantOfValakut extends CardImpl {
+
+    public TyrantOfValakut(UUID ownerId) {
+        super(ownerId, 119, "Tyrant of Valakut", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{5}{R}{R}");
+        this.expansionSetCode = "OGW";
+        this.subtype.add("Dragon");
+        this.power = new MageInt(5);
+        this.toughness = new MageInt(4);
+
+        // Flying
+        this.addAbility(FlyingAbility.getInstance());
+        
+        // When Tyrant of Valakut enters the battlefield, if its surge cost was paid, it deals 3 damage to target creature or player.
+        EntersBattlefieldTriggeredAbility ability = new EntersBattlefieldTriggeredAbility(new DamageTargetEffect(3), false);
+        ability.addTarget(new TargetCreatureOrPlayer());
+        this.addAbility(new ConditionalTriggeredAbility(ability, SurgedCondition.getInstance(),
+                "When {this} enters the battlefield, if its surge cost was paid, it deals 3 damage to target creature or player."));
+        
+        // Has to be placed last here, because added spellAbility objects (e.g. effects) have to be copied from this
+        // Surge {3}{R}{R} (You may cast this spell for its surge cost if you or a teammate has cast another spell this turn)
+        addAbility(new SurgeAbility(this, "{3}{R}{R}"));
+    }
+
+    public TyrantOfValakut(final TyrantOfValakut card) {
+        super(card);
+    }
+
+    @Override
+    public TyrantOfValakut copy() {
+        return new TyrantOfValakut(this);
+    }
+}
diff --git a/Mage.Sets/src/mage/sets/oathofthegatewatch/WalkerOfTheWastes.java b/Mage.Sets/src/mage/sets/oathofthegatewatch/WalkerOfTheWastes.java
new file mode 100644
index 0000000000..8e4a05bef2
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/oathofthegatewatch/WalkerOfTheWastes.java
@@ -0,0 +1,82 @@
+/*
+ *  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.dynamicvalue.common.PermanentsOnBattlefieldCount;
+import mage.abilities.effects.common.continuous.BoostSourceEffect;
+import mage.abilities.keyword.TrampleAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.constants.TargetController;
+import mage.constants.Zone;
+import mage.filter.common.FilterLandPermanent;
+import mage.filter.predicate.mageobject.NamePredicate;
+import mage.filter.predicate.permanent.ControllerPredicate;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class WalkerOfTheWastes extends CardImpl {
+    
+    private static final FilterLandPermanent filter = new FilterLandPermanent("each land you control named Wastes");
+
+    static {
+        filter.add(new NamePredicate("Wastes"));
+        filter.add(new ControllerPredicate(TargetController.YOU));
+    }
+
+    public WalkerOfTheWastes(UUID ownerId) {
+        super(ownerId, 10, "Walker of the Wastes", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{4}{C}");
+        this.expansionSetCode = "OGW";
+        this.subtype.add("Eldrazi");
+        this.power = new MageInt(4);
+        this.toughness = new MageInt(4);
+
+        // Trample
+        this.addAbility(TrampleAbility.getInstance());
+        
+        // Walker of the Wastes gets +1/+1 for each land you control named Wastes.
+        this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, new BoostSourceEffect(
+                new PermanentsOnBattlefieldCount(filter), new PermanentsOnBattlefieldCount(filter), Duration.WhileOnBattlefield)));
+    }
+
+    public WalkerOfTheWastes(final WalkerOfTheWastes card) {
+        super(card);
+    }
+
+    @Override
+    public WalkerOfTheWastes copy() {
+        return new WalkerOfTheWastes(this);
+    }
+}
diff --git a/Mage/src/main/java/mage/constants/AbilityWord.java b/Mage/src/main/java/mage/constants/AbilityWord.java
index f9c3352453..f2843a9f08 100644
--- a/Mage/src/main/java/mage/constants/AbilityWord.java
+++ b/Mage/src/main/java/mage/constants/AbilityWord.java
@@ -1,79 +1,80 @@
-/*
- *  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.constants;
-
-/**
- *
- * @author LevelX2
- */
-public enum AbilityWord {
-
-    BATTALION("Battalion"),
-    BLOODRUSH("Bloodrush"),
-    CHANNEL("Channel"),
-    CHROMA("Chroma"),
-    CONSTELLATION("Constellation"),
-    CONVERGE("Converge"),
-    DOMAIN("Domain"),
-    FATEFUL_HOUR("Fateful hour"),
-    FEROCIOUS("Ferocious"),
-    FORMIDABLE("Formidable"),
-    GRANDEUR("Grandeur"),
-    HELLBENT("Hellbent"),
-    HEROIC("Heroic"),
-    IMPRINT("Imprint"),
-    INSPIRED("Inspired"),
-    JOIN_FORCES("Join forces"),
-    KINSHIP("Kinship"),
-    LANDFALL("Landfall"),
-    LIEUTENANT("Lieutenant"),
-    METALCRAFT("Metalcraft"),
-    MORBID("Morbid"),
-    PARLEY("Parley"),
-    RADIANCE("Radiance"),
-    RAID("Raid"),
-    RALLY("Rally"),
-    SPELL_MASTERY("Spell mastery"),
-    STRIVE("Strive"),
-    SWEEP("Sweep"),
-    TEMPTING_OFFER("Tempting offer"),
-    THRESHOLD("Threshold"),
-    WILL_OF_THE_COUNCIL("Will of the council");
-
-    private final String text;
-
-    AbilityWord(String text) {
-        this.text = text;
-    }
-
-    @Override
-    public String toString() {
-        return text;
-    }
-
-}
+/*
+ *  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.constants;
+
+/**
+ *
+ * @author LevelX2
+ */
+public enum AbilityWord {
+
+    BATTALION("Battalion"),
+    BLOODRUSH("Bloodrush"),
+    CHANNEL("Channel"),
+    CHROMA("Chroma"),
+    COHORT("Cohort"),
+    CONSTELLATION("Constellation"),
+    CONVERGE("Converge"),
+    DOMAIN("Domain"),
+    FATEFUL_HOUR("Fateful hour"),
+    FEROCIOUS("Ferocious"),
+    FORMIDABLE("Formidable"),
+    GRANDEUR("Grandeur"),
+    HELLBENT("Hellbent"),
+    HEROIC("Heroic"),
+    IMPRINT("Imprint"),
+    INSPIRED("Inspired"),
+    JOIN_FORCES("Join forces"),
+    KINSHIP("Kinship"),
+    LANDFALL("Landfall"),
+    LIEUTENANT("Lieutenant"),
+    METALCRAFT("Metalcraft"),
+    MORBID("Morbid"),
+    PARLEY("Parley"),
+    RADIANCE("Radiance"),
+    RAID("Raid"),
+    RALLY("Rally"),
+    SPELL_MASTERY("Spell mastery"),
+    STRIVE("Strive"),
+    SWEEP("Sweep"),
+    TEMPTING_OFFER("Tempting offer"),
+    THRESHOLD("Threshold"),
+    WILL_OF_THE_COUNCIL("Will of the council");
+
+    private final String text;
+
+    AbilityWord(String text) {
+        this.text = text;
+    }
+
+    @Override
+    public String toString() {
+        return text;
+    }
+
+}
diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt
index c29299d849..3d9dbb9329 100644
--- a/Utils/mtg-cards-data.txt
+++ b/Utils/mtg-cards-data.txt
@@ -28243,15 +28243,27 @@ Tectonic Edge|Zendikar Expeditions|44|M||Land|||{tap}: Add {C} to your mana pool
 Wasteland|Zendikar Expeditions|45|M||Land|||{tap}: Add {C} to your mana pool.${tap}, Sacrifice Wasteland: Destroy target nonbasic land.|
 Endbringer|Oath of the Gatewatch|3|R|{5}{C}|Creature - Eldrazi|5|5|Untap Endbringer during each other player's untap step.${T}: Endbringer deals 1 damage to target creature or player.${C}, {T}: Target creature can't attack or block this turn.${C}{C}, {T}: Draw a card.|
 Kozilek, the Great Distortion|Oath of the Gatewatch|4|M|{8}{C}{C}|Legendary Creature - Eldrazi|12|12|When you cast Kozilek, the Great Distortion, if you have fewer than seven cards in hand, draw cards equal to the difference.$Menace$Discard a card with converted mana cost X: Counter target spell with converted mana cost X.|
+Spatial Contortion|Oath of the Gatewatch|8|U|{1}{C}|Instant|||Target creature gets +3/-3 until end of turn.|
+Walker of the Wastes|Oath of the Gatewatch|10|U|{4}{C}|Creature - Eldrazi|4|4|Trample$Walker of the Wastes gets +1/+1 for each land you control named Wastes.|
+Munda's Vanguard|Oath of the Gatewatch|29|R|{4}{W}|Creature - Kor Knight Ally|3|3|<i>Cohort</i> &mdash; {T}, Tap an untapped Ally you control: Put a +1/+1 counter on each creature you control.|
+Shoulder to Shoulder|Oath of the Gatewatch|34|C|{2}{W}|Sorcery|||Support 2. <i>(Put a +1/+1 counter on each of up to two target creatured.)</i>$Draw a card.|
+Deepfathom Skulker|Oath of the Gatewatch|43|R|{5}{U}|Creature - Eldrazi|4|4|Devoid <i>(This card has no color.)</i>$Whenever a creature you control deals combat damage to a player, you may draw a card.${3}{C}: Target creature can't be blocked this turn.|
+Stone Haven Outfitter|Oath of the Gatewatch|37|R|{1}{W}|Creature - Kor Artificer Ally|2|2|Equipped creatures you control get +1/+1.$Whenever an equipped creature you control dies, draw a card.|
+Comparative Analysis|Oath of the Gatewatch|51|C|{3}{U}|Instant|||Surge {2}{U} <You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)</i>$Target player draws two cards.|
 Crush of Tentacles|Oath of the Gatewatch|53|M|{4}{U}{U}|Sorcery|||Surge {3}{U}{U} <i>(You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)</i>$Return all nonland permanents to their owners' hands. If Crush of Tentacles surge cost was paid, put an 8/8 blue Octopus creature token onto the battlefield.|
 Sphinx of the Final Word|Oath of the Gatewatch|63|M|{5}{U}{U}|Creature - Sphinx|5|5|Sphinx of the Final Word can't be countered.$Flying, hexproof$Instant and sorcery spells you control can't be countered by spells or abilities.|
+Dread Defiler|Oath of the Gatewatch|68|R|{6}{B}|Creature - Eldrazi|6|8|Devoid <i>(This card has no color.)</i>${3}{C}, Exile a creature card from your graveyard: Target opponent loses life equal to the exiled card's power.|
 Kalitas, Traitor of Ghet|Oath of the Gatewatch|86|M|{2}{B}{B}|Legendary Creature - Vampire Warrior|3|4|Lifelink$If a nontoken creature an opponent controls would die, instead exile that card and put a 2/2 black Zombie creature token onto the battlefield.${2}{B}, Sacrifice another Vampire or Zombie: Put two +1/+1 counters on Kalitas, Traitor of Ghet.|
 Kozilek's Return|Oath of the Gatewatch|98|M|{2}{R}|Instant|||Devoid <i>(This card has no color.)</i>$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.|
 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.|
 Goblin Dark-Dwellers|Oath of the Gatewatch|110|R|{3}{R}{R}|Creature - Goblin|4|4|Menace$When Goblin Dark-Dwellers enters the battlefield, you may cast target instant or sorcery card with converted mana cost 3 or less from your graveyard without paying its mana cost. If that card would be put into your graveyard this turn, exile it instead.|
+Reckless Bushwhacker|Oath of the Gatewatch|116|U|{2}{R}|Creature - Goblin Warrior Ally|2|1|Surge {1}{R} <i>(You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)</i>$Haste$When Reckless Bushwhacker enters the battlefield, if its surge cost was paid, other creatures you control get +1/+0 and gain haste until end of turn.|
+Tyrant of Valakut|Oath of the Gatewatch|119|R|{5}{R}{R}|Creature - Dragon|5|4|Surge {3}{R}{R} <i>(You may cast this spell for its surge cost if you or a teammate has cast another spell this turn.)</i>$Flying$When Tyrant of Valakut enters the battlefield, if its surge cost was paid, it deals 3 damage to target creature or player.|
+Scion Summoner|Oath of the Gatewatch|123|C|{2}{G}|Creature - Eldrazi Drone|2|2|Devoid <i>(This card has no color.)</i>$When Scion Summoner enters the battlefield, put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool."|
 World Breaker|Oath of the Gatewatch|126|M|{6}{G}|Creature - Eldrazi|5|7|Devoid <i>(This card has no color.)</i>$When you cast World Breaker, exile target artifact, enchantment, or land.$Reach${2}{C}, Sacrifice a land: Return World Breaker from your graveyard to your hand. <i>({C} represents colorless mana.)</i>|
 Nissa, Voice of Zendikar|Oath of the Gatewatch|138|M|{1}{G}{G}|Planeswalker - Nissa|||+1: Put a 0/1 green Plant creature token onto the battlefield.$-2: Put a +1/+1 counter on each creature you control.$-7: You gain X life and draw X cards, where X is the number of lands you control.|
 Ayli, Eternal Pilgrim|Oath of the Gatewatch|151|R|{W}{B}|Legendary Creature - Kor Cleric|2|3|Deathtouch${1}, Sacrifice another creature: You gain life equal to the sacrificed creature's toughness.${1}{W}{B}, Sacrifice another creature: Exile target nonland permanent. Activate this ability only if you have at least 10 life more than your starting life total.|
+Jori En, Ruin Diver|Oath of the Gatewatch|155|R|{1}{U}{R}|Legendary Creature - Merfolk Wizard|2|3|Whenever you cast your second spell each turn, draw a card.|
 Mina and Denn, Wildborn|Oath of the Gatewatch|156|R|{2}{R}{G}|Legendary Creature - Elf Ally|4|4|You may play an additional land on each of your turns.${R}{G}, Return a land you control to its owner's hand: Target creature gains trample until end of turn.|
 Ashen Moor|Oath of the Gatewatch|168|U||Land|||Ashen Moor enters the battlefield tapped.${T}: Add {B} or {R} to your mana pool.|
 Blighted Crossroads|Oath of the Gatewatch|169|R||Land|||{T}: Add {C} to your mana pool. <i>({C} represents colorless mana.)</i>${T}, Pay 1 life: Add one mana of any color to your mana pool. Spend this mana only to cast spells with devoid.|