diff --git a/Mage.Sets/src/mage/sets/kaladesh/AmbitiousAetherborn.java b/Mage.Sets/src/mage/sets/kaladesh/AmbitiousAetherborn.java
new file mode 100644
index 00000000000..db758ae7dca
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/kaladesh/AmbitiousAetherborn.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.kaladesh;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.keyword.FabricateAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class AmbitiousAetherborn extends CardImpl {
+
+ public AmbitiousAetherborn(UUID ownerId) {
+ super(ownerId, 72, "Ambitious Aetherborn", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{4}{B}");
+ this.expansionSetCode = "KLD";
+ this.subtype.add("Aetherborn");
+ this.subtype.add("Artificer");
+ this.power = new MageInt(4);
+ this.toughness = new MageInt(3);
+
+ // Fabricate 1
+ this.addAbility(new FabricateAbility(1));
+ }
+
+ public AmbitiousAetherborn(final AmbitiousAetherborn card) {
+ super(card);
+ }
+
+ @Override
+ public AmbitiousAetherborn copy() {
+ return new AmbitiousAetherborn(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/kaladesh/AttuneWithAether.java b/Mage.Sets/src/mage/sets/kaladesh/AttuneWithAether.java
index c8ca7bae232..55da043ed37 100644
--- a/Mage.Sets/src/mage/sets/kaladesh/AttuneWithAether.java
+++ b/Mage.Sets/src/mage/sets/kaladesh/AttuneWithAether.java
@@ -49,7 +49,7 @@ public class AttuneWithAether extends CardImpl {
// Search you library for a basic land card, reveal it, put it into your hand, then shuffle your library. You get {E}{E}.
Effect effect = new SearchLibraryPutInHandEffect(new TargetCardInLibrary(1, 1, new FilterBasicLandCard()), true);
- effect.setText("Search you library for a basic land card, reveal it, put it into your hand, then shuffle your library");
+ effect.setText("Search your library for a basic land card, reveal it, put it into your hand, then shuffle your library");
this.getSpellAbility().addEffect(effect);
this.getSpellAbility().addEffect(new GetEnergyCountersControllerEffect(2));
}
diff --git a/Mage.Sets/src/mage/sets/kaladesh/BrazenScourge.java b/Mage.Sets/src/mage/sets/kaladesh/BrazenScourge.java
new file mode 100644
index 00000000000..b325a31ae6e
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/kaladesh/BrazenScourge.java
@@ -0,0 +1,62 @@
+/*
+ * 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.kaladesh;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.keyword.HasteAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class BrazenScourge extends CardImpl {
+
+ public BrazenScourge(UUID ownerId) {
+ super(ownerId, 107, "Brazen Scourge", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{1}{R}{R}");
+ this.expansionSetCode = "KLD";
+ this.subtype.add("Gremlin");
+ this.power = new MageInt(3);
+ this.toughness = new MageInt(3);
+
+ // Haste
+ this.addAbility(HasteAbility.getInstance());
+ }
+
+ public BrazenScourge(final BrazenScourge card) {
+ super(card);
+ }
+
+ @Override
+ public BrazenScourge copy() {
+ return new BrazenScourge(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/kaladesh/CatharticReunion.java b/Mage.Sets/src/mage/sets/kaladesh/CatharticReunion.java
new file mode 100644
index 00000000000..2d2c50fafc1
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/kaladesh/CatharticReunion.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.kaladesh;
+
+import java.util.UUID;
+import mage.abilities.costs.common.DiscardTargetCost;
+import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.filter.FilterCard;
+import mage.target.common.TargetCardInHand;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class CatharticReunion extends CardImpl {
+
+ public CatharticReunion(UUID ownerId) {
+ super(ownerId, 109, "Cathartic Reunion", Rarity.COMMON, new CardType[]{CardType.SORCERY}, "{1}{R}");
+ this.expansionSetCode = "KLD";
+
+ // As an additional cost to cast Cathartic Reunion, discard two cards.
+ this.getSpellAbility().addCost(new DiscardTargetCost(new TargetCardInHand(2, new FilterCard("two cards"))));
+
+ // Draw three cards.
+ getSpellAbility().addEffect(new DrawCardSourceControllerEffect(3));
+ }
+
+ public CatharticReunion(final CatharticReunion card) {
+ super(card);
+ }
+
+ @Override
+ public CatharticReunion copy() {
+ return new CatharticReunion(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/kaladesh/DisappearingAct.java b/Mage.Sets/src/mage/sets/kaladesh/DisappearingAct.java
new file mode 100644
index 00000000000..821b1d3794f
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/kaladesh/DisappearingAct.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.kaladesh;
+
+import java.util.UUID;
+import mage.abilities.costs.common.ReturnToHandChosenControlledPermanentCost;
+import mage.abilities.effects.common.CounterTargetEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.filter.common.FilterControlledPermanent;
+import mage.target.TargetSpell;
+import mage.target.common.TargetControlledPermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class DisappearingAct extends CardImpl {
+
+ public DisappearingAct(UUID ownerId) {
+ super(ownerId, 43, "Disappearing Act", Rarity.UNCOMMON, new CardType[]{CardType.INSTANT}, "{1}{U}{U}");
+ this.expansionSetCode = "KLD";
+
+ // As an additional cost to cast Disappearing Act, return a permanent you control to its owner's hand.
+ this.getSpellAbility().addCost(new ReturnToHandChosenControlledPermanentCost(new TargetControlledPermanent(new FilterControlledPermanent("a permanent you control"))));
+
+ // Counter target spell.
+ getSpellAbility().addEffect(new CounterTargetEffect());
+ getSpellAbility().addTarget(new TargetSpell());
+ }
+
+ public DisappearingAct(final DisappearingAct card) {
+ super(card);
+ }
+
+ @Override
+ public DisappearingAct copy() {
+ return new DisappearingAct(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/kaladesh/ExperimentalAviator.java b/Mage.Sets/src/mage/sets/kaladesh/ExperimentalAviator.java
new file mode 100644
index 00000000000..a7ed319d632
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/kaladesh/ExperimentalAviator.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.kaladesh;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.EntersBattlefieldTriggeredAbility;
+import mage.abilities.effects.common.CreateTokenEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.game.permanent.token.ThopterColorlessToken;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class ExperimentalAviator extends CardImpl {
+
+ public ExperimentalAviator(UUID ownerId) {
+ super(ownerId, 46, "Experimental Aviator", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{U}{U}");
+ this.expansionSetCode = "KLD";
+ this.subtype.add("Human");
+ this.subtype.add("Artificer");
+ this.power = new MageInt(0);
+ this.toughness = new MageInt(3);
+
+ // Flying
+ this.addAbility(FlyingAbility.getInstance());
+
+ // When Experimental Aviator enters the battlefield, create two 1/1 colorless Thopter artifact creature tokens with flying.
+ this.addAbility(new EntersBattlefieldTriggeredAbility(new CreateTokenEffect(new ThopterColorlessToken(), 2)));
+ }
+
+ public ExperimentalAviator(final ExperimentalAviator card) {
+ super(card);
+ }
+
+ @Override
+ public ExperimentalAviator copy() {
+ return new ExperimentalAviator(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/kaladesh/NimbleInnovator.java b/Mage.Sets/src/mage/sets/kaladesh/NimbleInnovator.java
new file mode 100644
index 00000000000..4d902a8c93d
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/kaladesh/NimbleInnovator.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.kaladesh;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.EntersBattlefieldTriggeredAbility;
+import mage.abilities.effects.common.DrawCardSourceControllerEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class NimbleInnovator extends CardImpl {
+
+ public NimbleInnovator(UUID ownerId) {
+ super(ownerId, 58, "Nimble Innovator", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{U}");
+ this.expansionSetCode = "KLD";
+ this.subtype.add("Vedalken");
+ this.subtype.add("Artificer");
+ this.power = new MageInt(2);
+ this.toughness = new MageInt(2);
+
+ // When Nimble Innovator enters the battlefield, draw a card.
+ this.addAbility(new EntersBattlefieldTriggeredAbility(new DrawCardSourceControllerEffect(1)));
+ }
+
+ public NimbleInnovator(final NimbleInnovator card) {
+ super(card);
+ }
+
+ @Override
+ public NimbleInnovator copy() {
+ return new NimbleInnovator(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/kaladesh/OviyaPashiriSageLifecrafter.java b/Mage.Sets/src/mage/sets/kaladesh/OviyaPashiriSageLifecrafter.java
index 8f478e85e12..56f704480d9 100644
--- a/Mage.Sets/src/mage/sets/kaladesh/OviyaPashiriSageLifecrafter.java
+++ b/Mage.Sets/src/mage/sets/kaladesh/OviyaPashiriSageLifecrafter.java
@@ -66,7 +66,7 @@ public class OviyaPashiriSageLifecrafter extends CardImpl {
Ability ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new ServoToken(), 1), new ManaCostsImpl("{2}{G}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
- // {4}{G}, {T}: Create an X/X colorless Construct artifact creature token, where X is the number of creature you control.
+ // {4}{G}, {T}: Create an X/X colorless Construct artifact creature token, where X is the number of creatures you control.
ability = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new OviyaPashiriSageLifecrafterToken()), new ManaCostsImpl("{4}{G}"));
ability.addCost(new TapSourceCost());
this.addAbility(ability);
@@ -84,10 +84,10 @@ public class OviyaPashiriSageLifecrafter extends CardImpl {
class OviyaPashiriSageLifecrafterToken extends Token {
- final static FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("creature you control");
+ final static FilterControlledCreaturePermanent filterCreature = new FilterControlledCreaturePermanent("creatures you control");
OviyaPashiriSageLifecrafterToken() {
- super("Construct", "an X/X colorless Construct artifact creature token, where X is the number of creature you control");
+ super("Construct", "an X/X colorless Construct artifact creature token, where X is the number of creatures you control");
cardType.add(CardType.ARTIFACT);
cardType.add(CardType.CREATURE);
subtype.add("Construct");
diff --git a/Mage.Sets/src/mage/sets/kaladesh/RecklessFireweaver.java b/Mage.Sets/src/mage/sets/kaladesh/RecklessFireweaver.java
new file mode 100644
index 00000000000..17a94d8c4a0
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/kaladesh/RecklessFireweaver.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.kaladesh;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
+import mage.abilities.effects.common.DamagePlayersEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.constants.TargetController;
+import mage.constants.Zone;
+import mage.filter.common.FilterControlledArtifactPermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class RecklessFireweaver extends CardImpl {
+
+ public RecklessFireweaver(UUID ownerId) {
+ super(ownerId, 126, "Reckless Fireweaver", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{1}{R}");
+ this.expansionSetCode = "KLD";
+ this.subtype.add("Human");
+ this.subtype.add("Artificer");
+ this.power = new MageInt(1);
+ this.toughness = new MageInt(3);
+
+ // Whenever an artifact enters the battlefield under your control, Reckless Fireweaver deals 1 damage to each opponent.
+ this.addAbility(new EntersBattlefieldAllTriggeredAbility(Zone.BATTLEFIELD, new DamagePlayersEffect(1, TargetController.OPPONENT),
+ new FilterControlledArtifactPermanent(), false,
+ "Whenever an artifact enters the battlefield under your control, Reckless Fireweaver deals 1 damage to each opponent."));
+ }
+
+ public RecklessFireweaver(final RecklessFireweaver card) {
+ super(card);
+ }
+
+ @Override
+ public RecklessFireweaver copy() {
+ return new RecklessFireweaver(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/kaladesh/VisionaryAugmenter.java b/Mage.Sets/src/mage/sets/kaladesh/VisionaryAugmenter.java
new file mode 100644
index 00000000000..36cc5c03e29
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/kaladesh/VisionaryAugmenter.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.kaladesh;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.keyword.FabricateAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class VisionaryAugmenter extends CardImpl {
+
+ public VisionaryAugmenter(UUID ownerId) {
+ super(ownerId, 34, "Visionary Augmenter", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{W}{W}");
+ this.expansionSetCode = "KLD";
+ this.subtype.add("Dward");
+ this.subtype.add("Artificer");
+ this.power = new MageInt(2);
+ this.toughness = new MageInt(1);
+
+ // Fabricate 2
+ this.addAbility(new FabricateAbility(2));
+ }
+
+ public VisionaryAugmenter(final VisionaryAugmenter card) {
+ super(card);
+ }
+
+ @Override
+ public VisionaryAugmenter copy() {
+ return new VisionaryAugmenter(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/kaladesh/WeaponcraftEnthusiast.java b/Mage.Sets/src/mage/sets/kaladesh/WeaponcraftEnthusiast.java
new file mode 100644
index 00000000000..af35a4257be
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/kaladesh/WeaponcraftEnthusiast.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.kaladesh;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.keyword.FabricateAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class WeaponcraftEnthusiast extends CardImpl {
+
+ public WeaponcraftEnthusiast(UUID ownerId) {
+ super(ownerId, 105, "Weaponcraft Enthusiast", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{2}{B}");
+ this.expansionSetCode = "KLD";
+ this.subtype.add("Aetherborn");
+ this.subtype.add("Artificer");
+ this.power = new MageInt(0);
+ this.toughness = new MageInt(1);
+
+ // Fabricate 2
+ this.addAbility(new FabricateAbility(2));
+ }
+
+ public WeaponcraftEnthusiast(final WeaponcraftEnthusiast card) {
+ super(card);
+ }
+
+ @Override
+ public WeaponcraftEnthusiast copy() {
+ return new WeaponcraftEnthusiast(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/kaladesh/WeldfastWingsmith.java b/Mage.Sets/src/mage/sets/kaladesh/WeldfastWingsmith.java
new file mode 100644
index 00000000000..aef2f4134c3
--- /dev/null
+++ b/Mage.Sets/src/mage/sets/kaladesh/WeldfastWingsmith.java
@@ -0,0 +1,68 @@
+/*
+ * 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.kaladesh;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.abilities.common.EntersBattlefieldAllTriggeredAbility;
+import mage.abilities.effects.common.continuous.GainAbilitySourceEffect;
+import mage.abilities.keyword.FlyingAbility;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Duration;
+import mage.constants.Rarity;
+import mage.filter.common.FilterControlledArtifactPermanent;
+
+/**
+ *
+ * @author fireshoes
+ */
+public class WeldfastWingsmith extends CardImpl {
+
+ public WeldfastWingsmith(UUID ownerId) {
+ super(ownerId, 69, "Weldfast Wingsmith", Rarity.COMMON, new CardType[]{CardType.CREATURE}, "{3}{U}");
+ this.expansionSetCode = "KLD";
+ this.subtype.add("Human");
+ this.subtype.add("Artificer");
+ this.power = new MageInt(3);
+ this.toughness = new MageInt(3);
+
+ // Whenever an artifact enters the battlefield under your control, Weldfast Wingsmith gains flying until end of turn.
+ this.addAbility(new EntersBattlefieldAllTriggeredAbility(new GainAbilitySourceEffect(FlyingAbility.getInstance(), Duration.EndOfTurn),
+ new FilterControlledArtifactPermanent(), "Whenever an artifact enters the battlefield under your control, Weldfast Wingsmith gains flying until end of turn."));
+ }
+
+ public WeldfastWingsmith(final WeldfastWingsmith card) {
+ super(card);
+ }
+
+ @Override
+ public WeldfastWingsmith copy() {
+ return new WeldfastWingsmith(this);
+ }
+}
diff --git a/Mage.Sets/src/mage/sets/kaladesh/WispweaverAngel.java b/Mage.Sets/src/mage/sets/kaladesh/WispweaverAngel.java
index ab9cdbbe719..1ef171165bd 100644
--- a/Mage.Sets/src/mage/sets/kaladesh/WispweaverAngel.java
+++ b/Mage.Sets/src/mage/sets/kaladesh/WispweaverAngel.java
@@ -58,7 +58,7 @@ import mage.util.CardUtil;
*/
public class WispweaverAngel extends CardImpl {
- private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another taget creature you control");
+ private static final FilterControlledCreaturePermanent filter = new FilterControlledCreaturePermanent("another target creature you control");
static {
filter.add(new AnotherPredicate());
diff --git a/Utils/mtg-cards-data.txt b/Utils/mtg-cards-data.txt
index 1fe69408321..d68985c377a 100644
--- a/Utils/mtg-cards-data.txt
+++ b/Utils/mtg-cards-data.txt
@@ -29677,6 +29677,7 @@ Skywhaler's Shot|Kaladesh|29|U|{2}{W}|Instant|||Destroy target creature with pow
Tasseled Dromedary|Kaladesh|30|C|{W}|Creature - Camel|0|4||
Thriving Ibex|Kaladesh|31|C|{3}{W}|Creature - Goat|2|4|When Thriving Ibex enters the battlefield, you get {E}{E} (two energy counters).$Whenever Thriving Ibex attacks, you may pay {E}{E}. If you do, put a +1/+1 counter on it.|
Toolcraft Exemplar|Kaladesh|32|R|{W}|Creature - Dwarf Artificer|1|1|At the beginning of combat on your turn, if you control an artifact, Toolcraft Exemplar gets +2/+1 until end of turn. If you control three or more artifacts, it also gains first strike until end of turn.|
+Visionary Augmenter|Kaladesh|34|U|{2}{W}{W}|Creature - Dward Artificer|2|1|Fabricate 2 (When this creature enters the battlefield, put two +1/+1 counters on it or create two 1/1 colorless Servo artifact creature tokens.)|
Wispweaver Angel|Kaladesh|35|U|{4}{W}{W}|Creature - Angel|4|4|Flying$When Wispweaver Angel enters the battlefield, you may exile another target creature you control, then return that card to the battlefield under its owner's control.|
Aether Tradewinds|Kaladesh|38|C|{2}{U}|Instant|||Return target permanent you control and target permanent you don't control to their owners' hands.|
Aethersquall Ancient|Kaladesh|39|R|{5}{U}{U}|Creature - Leviathan|6|6|Flying$At the beginning of your upkeep, you get {E}{E}{E} (three energy counters).$Pay {E}{E}{E}{E}{E}{E}{E}{E}: Return all other creatures to their owners' hands. Activate this ability only any time you could cast a sorcery.|
@@ -29747,7 +29748,7 @@ Welding Sparks|Kaladesh|140|C|{2}{R}|Instant|||Welding Sparks deals X damage to
Arborback Stomper|Kaladesh|142|U|{3}{G}{G}|Creature - Beast|5|4|Trample$When Arborback Stomper enters the battlefield, you gain 5 life.|
Architect of the Untamed|Kaladesh|143|R|{2}{G}|Creature - Elf Artificer Druid|2|3|Whenever a land enters the battlefiend under your control, you get {E} (an energy counter).$Pay {E}{E}{E}{E}{E}{E}{E}{E}: Create a 6/6 colorless Beast artifact creature token.|
Armorcraft Judge|Kaladesh|144|U|{3}{G}|Creature - Elf Artificer|3|3|When Armorcraft Judge enters the battlefield, draw a card for each creature you control with a +1/+1 counter on it.|
-Attune with Aether|Kaladesh|145|C|{G}|Sorcery|||Search you library for a basic land card, reveal it, put it into your hand, then shuffle your library. You get {E}{E} (two energy counters).|
+Attune with Aether|Kaladesh|145|C|{G}|Sorcery|||Search your library for a basic land card, reveal it, put it into your hand, then shuffle your library. You get {E}{E} (two energy counters).|
Blossoming Defense|Kaladesh|146|U|{G}|Instant|||Target creature you control gets +2/+2 and gains hexproof until end of turn.|
Bristling Hydra|Kaladesh|147|R|{2}{G}{G}|Creature - Hydra|4|3|When Bristling Hydra enters the battlefield, you get {E}{E}{E} (three energy counters).$Pay {E}{E}{E}: Put a +1/+1 count on Bristling Hydra. It gains hexproof until end of turn.|
Cultivator of Blades|Kaladesh|151|R|{3}{G}{G}|Creature - Elf Artificer|1|1|Fabricate 2$Whenever Cultivator of Blades attacks, you may have other attacking creatures get +X/+X until end of turn, where X is Cultivator of Blades's power.|
@@ -29757,7 +29758,7 @@ Highspire Artisan|Kaladesh|157|C|{2}{G}|Creature - Elf Artificer|0|3|Reach (T
Larger Than Life|Kaladesh|160|C|{1}{G}|Sorcery|||Target creature gets +4/+4 and gains trample until end of turn.|
Longtusk Cub|Kaladesh|161|U|{1}{G}|Creature - Cat|2|2|Whenever Longtusk Cub deals combat damage to a player, you get {E}{E} (two energy counters).$Pay {E}{E}: Put a +1/+1 counter on Longtusk Cub.|
Nissa, Vital Force|Kaladesh|163|M|{3}{G}{G}|Planeswalker - Nissa|||+1: Untap target land you control. Until your next turn, it becomes a 5/5 Elemental creature with haste. It's still a land.$-3: Return target permanent card from your graveyard to your hand.$-6: You get an emblem with "Whenever a land enters the battlefield under your control, you may draw a card."|
-Oviya Pashiri, Sage Lifecrafter|Kaladesh|165|R|{G}|Legendary Creature - Human Artificer|1|2|{2}{G}, {T}: Create a 1/1 colorless Servo artifact creature token.${4}{G}, {T}: Create an X/X colorless Construct artifact creature token, where X is the number of creature you control.|
+Oviya Pashiri, Sage Lifecrafter|Kaladesh|165|R|{G}|Legendary Creature - Human Artificer|1|2|{2}{G}, {T}: Create a 1/1 colorless Servo artifact creature token.${4}{G}, {T}: Create an X/X colorless Construct artifact creature token, where X is the number of creatures you control.|
Thriving Rhino|Kaladesh|171|C|{2}{G}|Creature - Rhino|2|3|When Thriving Rhino enters the battlefield, you get {E}{E} (two energy counters).$Whenever Thriving Rhino attacks, you may pay {E}{E}. If you do, put a +1/+1 counter on it.|
Verdurous Gearhulk|Kaladesh|172|M|{3}{G}{G}|Artifact Creature - Construct|4|4|Trample$When Verdurous Gearhulk enters the battlefield, distribute four +1/+1 counters among any number of target creatures you control.|
Wildest Dreams|Kaladesh|174|R|{X}{X}{G}|Sorcery|||Return X target cards from your graveyard to your hand.$Exile Wildest Dreams.|