diff --git a/Mage.Sets/src/mage/sets/commander2013/SpringjackPasture.java b/Mage.Sets/src/mage/sets/commander2013/SpringjackPasture.java
index 8fafdc13ef..d4873e2dd1 100644
--- a/Mage.Sets/src/mage/sets/commander2013/SpringjackPasture.java
+++ b/Mage.Sets/src/mage/sets/commander2013/SpringjackPasture.java
@@ -50,7 +50,7 @@ import mage.constants.Zone;
import mage.filter.common.FilterControlledCreaturePermanent;
import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.game.Game;
-import mage.game.permanent.token.Token;
+import mage.game.permanent.token.GoatToken;
import mage.players.Player;
/**
@@ -136,17 +136,3 @@ class SpringjackPastureEffect extends OneShotEffect {
return new SpringjackPastureEffect(this);
}
}
-
-class GoatToken extends Token {
-
- public GoatToken() {
- super("Goat", "0/1 white Goat creature token");
- setOriginalExpansionSetCode("EVE");
- cardType.add(CardType.CREATURE);
- color.setWhite(true);
-
- subtype.add("Goat");
- power = new MageInt(0);
- toughness = new MageInt(1);
- }
-}
diff --git a/Mage.Sets/src/mage/sets/eventide/SpringjackShepherd.java b/Mage.Sets/src/mage/sets/eventide/SpringjackShepherd.java
index 460d913355..481269f78f 100644
--- a/Mage.Sets/src/mage/sets/eventide/SpringjackShepherd.java
+++ b/Mage.Sets/src/mage/sets/eventide/SpringjackShepherd.java
@@ -1,116 +1,104 @@
-/*
- * 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.eventide;
-
-import java.util.UUID;
-import mage.MageInt;
-import mage.ObjectColor;
-import mage.abilities.Ability;
-import mage.abilities.common.EntersBattlefieldTriggeredAbility;
-import mage.abilities.dynamicvalue.DynamicValue;
-import mage.abilities.effects.Effect;
-import mage.abilities.effects.common.CreateTokenEffect;
-import mage.cards.CardImpl;
-import mage.constants.CardType;
-import mage.constants.Rarity;
-import mage.filter.FilterPermanent;
-import mage.game.Game;
-import mage.game.permanent.Permanent;
-import mage.game.permanent.token.Token;
-
-/**
- *
- * @author jeffwadsworth
- *
- */
-public class SpringjackShepherd extends CardImpl {
-
- public SpringjackShepherd(UUID ownerId) {
- super(ownerId, 15, "Springjack Shepherd", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{W}");
- this.expansionSetCode = "EVE";
- this.subtype.add("Kithkin");
- this.subtype.add("Wizard");
-
- this.power = new MageInt(1);
- this.toughness = new MageInt(2);
-
- // Chroma - When Springjack Shepherd enters the battlefield, put a 0/1 white Goat creature token onto the battlefield for each white mana symbol in the mana costs of permanents you control.
- Effect effect = new CreateTokenEffect(new GoatToken(), new ChromaSpringjackShepherdCount());
- effect.setText("Chroma - When Springjack Shepherd enters the battlefield, put a 0/1 white Goat creature token onto the battlefield for each white mana symbol in the mana costs of permanents you control.");
- this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false, true));
-
- }
-
- public SpringjackShepherd(final SpringjackShepherd card) {
- super(card);
- }
-
- @Override
- public SpringjackShepherd copy() {
- return new SpringjackShepherd(this);
- }
-}
-
-class ChromaSpringjackShepherdCount implements DynamicValue {
-
- @Override
- public int calculate(Game game, Ability sourceAbility, Effect effect) {
- int chroma = 0;
- for (Permanent permanent : game.getBattlefield().getAllActivePermanents(new FilterPermanent(), sourceAbility.getControllerId(), game)) {
- chroma += permanent.getManaCost().getMana().getWhite();
- }
- return chroma;
- }
-
- @Override
- public DynamicValue copy() {
- return new ChromaSpringjackShepherdCount();
- }
-
- @Override
- public String toString() {
- return "1";
- }
-
- @Override
- public String getMessage() {
- return "";
- }
-}
-
-class GoatToken extends Token {
-
- public GoatToken() {
- super("Goat", "a 0/1 white Goat creature token");
- cardType.add(CardType.CREATURE);
- color.setWhite(true);
- subtype.add("Goat");
- power = new MageInt(0);
- toughness = new MageInt(1);
- }
+/*
+ * 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.eventide;
+
+import java.util.UUID;
+import mage.MageInt;
+import mage.ObjectColor;
+import mage.abilities.Ability;
+import mage.abilities.common.EntersBattlefieldTriggeredAbility;
+import mage.abilities.dynamicvalue.DynamicValue;
+import mage.abilities.effects.Effect;
+import mage.abilities.effects.common.CreateTokenEffect;
+import mage.cards.CardImpl;
+import mage.constants.CardType;
+import mage.constants.Rarity;
+import mage.filter.FilterPermanent;
+import mage.game.Game;
+import mage.game.permanent.Permanent;
+import mage.game.permanent.token.GoatToken;
+
+/**
+ *
+ * @author jeffwadsworth
+ *
+ */
+public class SpringjackShepherd extends CardImpl {
+
+ public SpringjackShepherd(UUID ownerId) {
+ super(ownerId, 15, "Springjack Shepherd", Rarity.UNCOMMON, new CardType[]{CardType.CREATURE}, "{3}{W}");
+ this.expansionSetCode = "EVE";
+ this.subtype.add("Kithkin");
+ this.subtype.add("Wizard");
+
+ this.power = new MageInt(1);
+ this.toughness = new MageInt(2);
+
+ // Chroma - When Springjack Shepherd enters the battlefield, put a 0/1 white Goat creature token onto the battlefield for each white mana symbol in the mana costs of permanents you control.
+ Effect effect = new CreateTokenEffect(new GoatToken(), new ChromaSpringjackShepherdCount());
+ effect.setText("Chroma - When Springjack Shepherd enters the battlefield, put a 0/1 white Goat creature token onto the battlefield for each white mana symbol in the mana costs of permanents you control.");
+ this.addAbility(new EntersBattlefieldTriggeredAbility(effect, false, true));
+
+ }
+
+ public SpringjackShepherd(final SpringjackShepherd card) {
+ super(card);
+ }
+
+ @Override
+ public SpringjackShepherd copy() {
+ return new SpringjackShepherd(this);
+ }
+}
+
+class ChromaSpringjackShepherdCount implements DynamicValue {
+
+ @Override
+ public int calculate(Game game, Ability sourceAbility, Effect effect) {
+ int chroma = 0;
+ for (Permanent permanent : game.getBattlefield().getAllActivePermanents(new FilterPermanent(), sourceAbility.getControllerId(), game)) {
+ chroma += permanent.getManaCost().getMana().getWhite();
+ }
+ return chroma;
+ }
+
+ @Override
+ public DynamicValue copy() {
+ return new ChromaSpringjackShepherdCount();
+ }
+
+ @Override
+ public String toString() {
+ return "1";
+ }
+
+ @Override
+ public String getMessage() {
+ return "";
+ }
}
diff --git a/Mage.Sets/src/mage/sets/magic2013/TradingPost.java b/Mage.Sets/src/mage/sets/magic2013/TradingPost.java
index 2b933e21b2..f6370a6d28 100644
--- a/Mage.Sets/src/mage/sets/magic2013/TradingPost.java
+++ b/Mage.Sets/src/mage/sets/magic2013/TradingPost.java
@@ -49,7 +49,7 @@ import mage.constants.Zone;
import mage.filter.common.FilterArtifactCard;
import mage.filter.common.FilterControlledPermanent;
import mage.filter.predicate.mageobject.CardTypePredicate;
-import mage.game.permanent.token.Token;
+import mage.game.permanent.token.GoatToken;
import mage.target.common.TargetCardInGraveyard;
import mage.target.common.TargetCardInHand;
import mage.target.common.TargetControlledPermanent;
@@ -59,10 +59,10 @@ import mage.target.common.TargetControlledPermanent;
* @author jeffwadsworth
*/
public class TradingPost extends CardImpl {
-
+
final static FilterControlledPermanent filter = new FilterControlledPermanent("creature");
final static FilterControlledPermanent filter2 = new FilterControlledPermanent("artifact");
-
+
static {
filter.add(new CardTypePredicate(CardType.CREATURE));
filter2.add(new CardTypePredicate(CardType.ARTIFACT));
@@ -77,26 +77,26 @@ public class TradingPost extends CardImpl {
ability1.addCost(new TapSourceCost());
ability1.addCost(new DiscardTargetCost(new TargetCardInHand()));
this.addAbility(ability1);
-
+
// {1}, {tap}, Pay 1 life: Put a 0/1 white Goat creature token onto the battlefield.
Ability ability2 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new CreateTokenEffect(new GoatToken()), new GenericManaCost(1));
ability2.addCost(new TapSourceCost());
ability2.addCost(new PayLifeCost(1));
this.addAbility(ability2);
-
+
// {1}, {tap}, Sacrifice a creature: Return target artifact card from your graveyard to your hand.
Ability ability3 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new ReturnFromGraveyardToHandTargetEffect(), new GenericManaCost(1));
ability3.addTarget(new TargetCardInGraveyard(new FilterArtifactCard("artifact card in your graveyard")));
ability3.addCost(new TapSourceCost());
ability3.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter)));
this.addAbility(ability3);
-
+
// {1}, {tap}, Sacrifice an artifact: Draw a card.
Ability ability4 = new SimpleActivatedAbility(Zone.BATTLEFIELD, new DrawCardSourceControllerEffect(1), new GenericManaCost(1));
ability4.addCost(new TapSourceCost());
ability4.addCost(new SacrificeTargetCost(new TargetControlledPermanent(filter2)));
this.addAbility(ability4);
-
+
}
public TradingPost(final TradingPost card) {
@@ -108,15 +108,3 @@ public class TradingPost extends CardImpl {
return new TradingPost(this);
}
}
-
-class GoatToken extends Token {
- public GoatToken() {
- super("Goat", "a 0/1 white Goat creature token");
- cardType.add(CardType.CREATURE);
- color.setWhite(true);
-
- subtype.add("Goat");
- power = new MageInt(0);
- toughness = new MageInt(1);
- }
-}
diff --git a/Mage/src/mage/game/permanent/token/GoatToken.java b/Mage/src/mage/game/permanent/token/GoatToken.java
new file mode 100644
index 0000000000..d3d4078902
--- /dev/null
+++ b/Mage/src/mage/game/permanent/token/GoatToken.java
@@ -0,0 +1,50 @@
+/*
+* 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.game.permanent.token;
+
+import java.util.Arrays;
+import mage.constants.CardType;
+import mage.MageInt;
+
+/**
+ *
+ * @author LoneFox
+ */
+public class GoatToken extends Token {
+
+ public GoatToken() {
+ super("Goat", "0/1 white Goat creature token");
+ cardType.add(CardType.CREATURE);
+ color.setWhite(true);
+ subtype.add("Goat");
+ power = new MageInt(1);
+ toughness = new MageInt(1);
+ availableImageSetCodes.addAll(Arrays.asList("EVE", "M13", "M14", "C14"));
+ }
+}