From e7de6900817dae40ee882a128794548098f5d190 Mon Sep 17 00:00:00 2001 From: LevelX2 Date: Tue, 25 Mar 2014 08:37:50 +0100 Subject: [PATCH] Added Spawnwrithe. --- .../sets/bornofthegods/FatedInfatuation.java | 2 +- .../bornofthegods/FelhideSpiritbinder.java | 2 +- .../KikiJikiMirrorBreaker.java | 2 +- .../sets/commander/RikuOfTwoReflections.java | 2 +- .../src/mage/sets/commander/Spawnwrithe.java | 69 ++++++++++++++ .../commander2013/TemptWithReflections.java | 2 +- .../sets/conflux/MirrorSigilSergeant.java | 2 +- .../src/mage/sets/darkascension/Seance.java | 2 +- .../sets/dragonsmaze/ProgenitorMimic.java | 2 +- .../src/mage/sets/eventide/SpittingImage.java | 2 +- .../mage/sets/gatecrash/GiantAdephage.java | 2 +- .../mage/sets/gatecrash/StolenIdentity.java | 2 +- .../mage/sets/innistrad/BackFromTheBrink.java | 2 +- .../sets/innistrad/CacklingCounterpart.java | 2 +- .../mage/sets/jacevsvraska/Spawnwrithe.java | 52 +++++++++++ .../sets/mirage/PhyrexianDreadnought.java | 2 - .../sets/mirrodinbesieged/Mirrorworks.java | 2 +- .../mage/sets/returntoravnica/PackRat.java | 2 +- .../sets/riseoftheeldrazi/SplinterTwin.java | 2 +- .../mage/sets/scarsofmirrodin/MimicVat.java | 2 +- .../sets/scarsofmirrodin/MyrPropagator.java | 4 +- .../sets/scarsofmirrodin/PrototypePortal.java | 2 +- .../src/mage/sets/shadowmoor/Spawnwrithe.java | 52 +++++++++++ .../sets/shardsofalara/MinionReflector.java | 2 +- .../src/mage/sets/worldwake/NemesisTrap.java | 2 +- .../mage/sets/zendikar/RiteOfReplication.java | 2 +- .../PutCopySourceTokenOntoBattlefield.java | 92 +++++++++++++++++++ .../game/permanent/token}/EmptyToken.java | 6 +- 28 files changed, 290 insertions(+), 29 deletions(-) create mode 100644 Mage.Sets/src/mage/sets/commander/Spawnwrithe.java create mode 100644 Mage.Sets/src/mage/sets/jacevsvraska/Spawnwrithe.java create mode 100644 Mage.Sets/src/mage/sets/shadowmoor/Spawnwrithe.java create mode 100644 Mage/src/mage/abilities/effects/common/PutCopySourceTokenOntoBattlefield.java rename {Mage.Sets/src/mage/sets/tokens => Mage/src/mage/game/permanent/token}/EmptyToken.java (94%) diff --git a/Mage.Sets/src/mage/sets/bornofthegods/FatedInfatuation.java b/Mage.Sets/src/mage/sets/bornofthegods/FatedInfatuation.java index 2bfce113923..ce1c4399c9b 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/FatedInfatuation.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/FatedInfatuation.java @@ -40,7 +40,7 @@ import mage.constants.Rarity; import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.common.TargetControlledCreaturePermanent; import mage.util.CardUtil; diff --git a/Mage.Sets/src/mage/sets/bornofthegods/FelhideSpiritbinder.java b/Mage.Sets/src/mage/sets/bornofthegods/FelhideSpiritbinder.java index 07f55979c61..0cbb8f8f4bd 100644 --- a/Mage.Sets/src/mage/sets/bornofthegods/FelhideSpiritbinder.java +++ b/Mage.Sets/src/mage/sets/bornofthegods/FelhideSpiritbinder.java @@ -47,7 +47,7 @@ import mage.filter.common.FilterCreaturePermanent; import mage.filter.predicate.permanent.AnotherPredicate; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.common.TargetCreaturePermanent; import mage.target.targetpointer.FixedTarget; import mage.util.CardUtil; diff --git a/Mage.Sets/src/mage/sets/championsofkamigawa/KikiJikiMirrorBreaker.java b/Mage.Sets/src/mage/sets/championsofkamigawa/KikiJikiMirrorBreaker.java index 73e5559619a..c2e722c4c84 100644 --- a/Mage.Sets/src/mage/sets/championsofkamigawa/KikiJikiMirrorBreaker.java +++ b/Mage.Sets/src/mage/sets/championsofkamigawa/KikiJikiMirrorBreaker.java @@ -48,7 +48,7 @@ import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.common.TargetControlledCreaturePermanent; import mage.target.targetpointer.FixedTarget; import mage.util.CardUtil; diff --git a/Mage.Sets/src/mage/sets/commander/RikuOfTwoReflections.java b/Mage.Sets/src/mage/sets/commander/RikuOfTwoReflections.java index 5c3b1985907..702cd54d56d 100644 --- a/Mage.Sets/src/mage/sets/commander/RikuOfTwoReflections.java +++ b/Mage.Sets/src/mage/sets/commander/RikuOfTwoReflections.java @@ -50,7 +50,7 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.game.stack.Spell; import mage.players.Player; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.util.CardUtil; /** diff --git a/Mage.Sets/src/mage/sets/commander/Spawnwrithe.java b/Mage.Sets/src/mage/sets/commander/Spawnwrithe.java new file mode 100644 index 00000000000..bc4faa8b132 --- /dev/null +++ b/Mage.Sets/src/mage/sets/commander/Spawnwrithe.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.commander; + +import java.util.UUID; +import mage.MageInt; +import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; +import mage.abilities.effects.common.PutCopySourceTokenOntoBattlefield; +import mage.abilities.keyword.TrampleAbility; +import mage.cards.CardImpl; +import mage.constants.CardType; +import mage.constants.Rarity; + +/** + * + * @author LevelX2 + */ +public class Spawnwrithe extends CardImpl { + + public Spawnwrithe(UUID ownerId) { + super(ownerId, 171, "Spawnwrithe", Rarity.RARE, new CardType[]{CardType.CREATURE}, "{2}{G}"); + this.expansionSetCode = "CMD"; + this.subtype.add("Elemental"); + + this.color.setGreen(true); + this.power = new MageInt(2); + this.toughness = new MageInt(2); + + // Trample + this.addAbility(TrampleAbility.getInstance()); + // Whenever Spawnwrithe deals combat damage to a player, put a token that's a copy of Spawnwrithe onto the battlefield. + this.addAbility(new DealsCombatDamageToAPlayerTriggeredAbility(new PutCopySourceTokenOntoBattlefield(), false)); + + } + + public Spawnwrithe(final Spawnwrithe card) { + super(card); + } + + @Override + public Spawnwrithe copy() { + return new Spawnwrithe(this); + } +} diff --git a/Mage.Sets/src/mage/sets/commander2013/TemptWithReflections.java b/Mage.Sets/src/mage/sets/commander2013/TemptWithReflections.java index 8f7d7cf7e8f..199b96d1345 100644 --- a/Mage.Sets/src/mage/sets/commander2013/TemptWithReflections.java +++ b/Mage.Sets/src/mage/sets/commander2013/TemptWithReflections.java @@ -41,7 +41,7 @@ import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; import mage.players.PlayerList; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.common.TargetControlledCreaturePermanent; import mage.util.CardUtil; diff --git a/Mage.Sets/src/mage/sets/conflux/MirrorSigilSergeant.java b/Mage.Sets/src/mage/sets/conflux/MirrorSigilSergeant.java index 437b65de933..6400d212989 100644 --- a/Mage.Sets/src/mage/sets/conflux/MirrorSigilSergeant.java +++ b/Mage.Sets/src/mage/sets/conflux/MirrorSigilSergeant.java @@ -49,7 +49,7 @@ import mage.filter.predicate.mageobject.ColorPredicate; import mage.game.Game; import mage.game.permanent.Permanent; import mage.players.Player; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.util.CardUtil; /** diff --git a/Mage.Sets/src/mage/sets/darkascension/Seance.java b/Mage.Sets/src/mage/sets/darkascension/Seance.java index ee32b893f6e..e0844912a45 100644 --- a/Mage.Sets/src/mage/sets/darkascension/Seance.java +++ b/Mage.Sets/src/mage/sets/darkascension/Seance.java @@ -43,7 +43,7 @@ import mage.constants.Outcome; import mage.constants.TargetController; import mage.filter.common.FilterCreatureCard; import mage.game.Game; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.common.TargetCardInYourGraveyard; import mage.target.targetpointer.FixedTarget; import mage.util.CardUtil; diff --git a/Mage.Sets/src/mage/sets/dragonsmaze/ProgenitorMimic.java b/Mage.Sets/src/mage/sets/dragonsmaze/ProgenitorMimic.java index 704ede2acd2..90af61902c6 100644 --- a/Mage.Sets/src/mage/sets/dragonsmaze/ProgenitorMimic.java +++ b/Mage.Sets/src/mage/sets/dragonsmaze/ProgenitorMimic.java @@ -51,7 +51,7 @@ import mage.filter.predicate.Predicates; import mage.filter.predicate.permanent.TokenPredicate; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.util.functions.ApplyToPermanent; /** diff --git a/Mage.Sets/src/mage/sets/eventide/SpittingImage.java b/Mage.Sets/src/mage/sets/eventide/SpittingImage.java index 92ff16dbbd2..150b6f6528a 100644 --- a/Mage.Sets/src/mage/sets/eventide/SpittingImage.java +++ b/Mage.Sets/src/mage/sets/eventide/SpittingImage.java @@ -41,7 +41,7 @@ import mage.constants.Zone; import mage.filter.common.FilterLandCard; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.common.TargetCardInHand; import mage.target.common.TargetCreaturePermanent; import mage.util.CardUtil; diff --git a/Mage.Sets/src/mage/sets/gatecrash/GiantAdephage.java b/Mage.Sets/src/mage/sets/gatecrash/GiantAdephage.java index fb722f2451b..d61483285b5 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/GiantAdephage.java +++ b/Mage.Sets/src/mage/sets/gatecrash/GiantAdephage.java @@ -42,7 +42,7 @@ import mage.cards.CardImpl; import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.util.CardUtil; /** diff --git a/Mage.Sets/src/mage/sets/gatecrash/StolenIdentity.java b/Mage.Sets/src/mage/sets/gatecrash/StolenIdentity.java index 106fda79314..a2fb25b3444 100644 --- a/Mage.Sets/src/mage/sets/gatecrash/StolenIdentity.java +++ b/Mage.Sets/src/mage/sets/gatecrash/StolenIdentity.java @@ -42,7 +42,7 @@ import mage.filter.predicate.Predicates; import mage.filter.predicate.mageobject.CardTypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.TargetPermanent; import mage.util.CardUtil; diff --git a/Mage.Sets/src/mage/sets/innistrad/BackFromTheBrink.java b/Mage.Sets/src/mage/sets/innistrad/BackFromTheBrink.java index 6b26a2bb35e..964523089e2 100644 --- a/Mage.Sets/src/mage/sets/innistrad/BackFromTheBrink.java +++ b/Mage.Sets/src/mage/sets/innistrad/BackFromTheBrink.java @@ -42,7 +42,7 @@ import mage.cards.CardImpl; import mage.filter.common.FilterCreatureCard; import mage.game.Game; import mage.players.Player; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.common.TargetCardInYourGraveyard; import mage.target.targetpointer.FixedTarget; import mage.util.CardUtil; diff --git a/Mage.Sets/src/mage/sets/innistrad/CacklingCounterpart.java b/Mage.Sets/src/mage/sets/innistrad/CacklingCounterpart.java index 6f06a38a85f..6a46b139762 100644 --- a/Mage.Sets/src/mage/sets/innistrad/CacklingCounterpart.java +++ b/Mage.Sets/src/mage/sets/innistrad/CacklingCounterpart.java @@ -40,7 +40,7 @@ import mage.abilities.keyword.FlashbackAbility; import mage.cards.CardImpl; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.common.TargetControlledCreaturePermanent; import mage.util.CardUtil; diff --git a/Mage.Sets/src/mage/sets/jacevsvraska/Spawnwrithe.java b/Mage.Sets/src/mage/sets/jacevsvraska/Spawnwrithe.java new file mode 100644 index 00000000000..74a782d1d50 --- /dev/null +++ b/Mage.Sets/src/mage/sets/jacevsvraska/Spawnwrithe.java @@ -0,0 +1,52 @@ +/* + * 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.jacevsvraska; + +import java.util.UUID; + +/** + * + * @author LevelX2 + */ +public class Spawnwrithe extends mage.sets.commander.Spawnwrithe { + + public Spawnwrithe(UUID ownerId) { + super(ownerId); + this.cardNumber = 55; + this.expansionSetCode = "DDM"; + } + + public Spawnwrithe(final Spawnwrithe card) { + super(card); + } + + @Override + public Spawnwrithe copy() { + return new Spawnwrithe(this); + } +} diff --git a/Mage.Sets/src/mage/sets/mirage/PhyrexianDreadnought.java b/Mage.Sets/src/mage/sets/mirage/PhyrexianDreadnought.java index 59f4fa5ac93..34ca78bd75f 100644 --- a/Mage.Sets/src/mage/sets/mirage/PhyrexianDreadnought.java +++ b/Mage.Sets/src/mage/sets/mirage/PhyrexianDreadnought.java @@ -27,8 +27,6 @@ */ package mage.sets.mirage; -import java.util.ArrayList; -import java.util.List; import java.util.UUID; import mage.MageInt; import mage.abilities.Ability; diff --git a/Mage.Sets/src/mage/sets/mirrodinbesieged/Mirrorworks.java b/Mage.Sets/src/mage/sets/mirrodinbesieged/Mirrorworks.java index af208d611ed..2d5363ce94a 100644 --- a/Mage.Sets/src/mage/sets/mirrodinbesieged/Mirrorworks.java +++ b/Mage.Sets/src/mage/sets/mirrodinbesieged/Mirrorworks.java @@ -44,7 +44,7 @@ import mage.game.events.GameEvent; import mage.game.permanent.Permanent; import mage.game.permanent.PermanentToken; import mage.players.Player; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.targetpointer.FixedTarget; import mage.util.CardUtil; diff --git a/Mage.Sets/src/mage/sets/returntoravnica/PackRat.java b/Mage.Sets/src/mage/sets/returntoravnica/PackRat.java index 7018c17f131..9dd406e0356 100644 --- a/Mage.Sets/src/mage/sets/returntoravnica/PackRat.java +++ b/Mage.Sets/src/mage/sets/returntoravnica/PackRat.java @@ -49,7 +49,7 @@ import mage.filter.common.FilterControlledPermanent; import mage.filter.predicate.mageobject.SubtypePredicate; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.util.CardUtil; /** diff --git a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SplinterTwin.java b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SplinterTwin.java index 19ef9c366cc..5dcff7e47d1 100644 --- a/Mage.Sets/src/mage/sets/riseoftheeldrazi/SplinterTwin.java +++ b/Mage.Sets/src/mage/sets/riseoftheeldrazi/SplinterTwin.java @@ -49,7 +49,7 @@ import mage.cards.Card; import mage.cards.CardImpl; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.TargetPermanent; import mage.target.common.TargetCreaturePermanent; import mage.target.targetpointer.FixedTarget; diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/MimicVat.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/MimicVat.java index 2e89864feb3..57a5ef745a8 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/MimicVat.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/MimicVat.java @@ -48,7 +48,7 @@ import mage.game.events.GameEvent; import mage.game.events.ZoneChangeEvent; import mage.game.permanent.Permanent; import mage.game.permanent.PermanentToken; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.target.targetpointer.FixedTarget; import mage.util.CardUtil; diff --git a/Mage.Sets/src/mage/sets/scarsofmirrodin/MyrPropagator.java b/Mage.Sets/src/mage/sets/scarsofmirrodin/MyrPropagator.java index ccbf054cb49..bd0f04883b4 100644 --- a/Mage.Sets/src/mage/sets/scarsofmirrodin/MyrPropagator.java +++ b/Mage.Sets/src/mage/sets/scarsofmirrodin/MyrPropagator.java @@ -40,7 +40,7 @@ import mage.constants.Outcome; import mage.constants.Zone; import mage.game.Game; import mage.game.permanent.Permanent; -import mage.sets.tokens.EmptyToken; +import mage.game.permanent.token.EmptyToken; import mage.util.CardUtil; import java.util.UUID; @@ -80,7 +80,7 @@ class MyrPropagatorCreateTokenEffect extends OneShotEffect { + + public PutCopySourceTokenOntoBattlefield() { + super(Outcome.PutCreatureInPlay); + this.staticText = "put a token that's a copy of {this} onto the battlefield"; + } + + public PutCopySourceTokenOntoBattlefield(final PutCopySourceTokenOntoBattlefield effect) { + super(effect); + } + + @Override + public PutCopySourceTokenOntoBattlefield copy() { + return new PutCopySourceTokenOntoBattlefield(this); + } + + @Override + public boolean apply(Game game, Ability source) { + Player controller = game.getPlayer(source.getControllerId()); + if (controller != null) { + MageObject thisCard = game.getLastKnownInformation(source.getSourceId(), Zone.BATTLEFIELD); + if (thisCard != null && thisCard instanceof Permanent) { + EmptyToken token = new EmptyToken(); + CardUtil.copyTo(token).from((Permanent)thisCard); + if (token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId())) { + game.informPlayers(new StringBuilder(controller.getName()) + .append(" puts a ").append(token.getName()).append(" token ").append("onto the Battlefield").toString()); + return true; + } + } else { // maybe it's token + Permanent permanent = game.getPermanentOrLKIBattlefield(source.getSourceId()); + if (permanent != null) { + EmptyToken token = new EmptyToken(); + CardUtil.copyTo(token).from(permanent); + if (token.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId())) { + game.informPlayers(new StringBuilder(controller.getName()) + .append(" puts a ").append(token.getName()).append(" token ").append("onto the Battlefield").toString()); + return true; + } + } + } + } + return false; + } + +} \ No newline at end of file diff --git a/Mage.Sets/src/mage/sets/tokens/EmptyToken.java b/Mage/src/mage/game/permanent/token/EmptyToken.java similarity index 94% rename from Mage.Sets/src/mage/sets/tokens/EmptyToken.java rename to Mage/src/mage/game/permanent/token/EmptyToken.java index 773c0fb56e0..6aaf5a66418 100644 --- a/Mage.Sets/src/mage/sets/tokens/EmptyToken.java +++ b/Mage/src/mage/game/permanent/token/EmptyToken.java @@ -25,9 +25,7 @@ * authors and should not be interpreted as representing official policies, either expressed * or implied, of BetaSteward_at_googlemail.com. */ -package mage.sets.tokens; - -import mage.game.permanent.token.Token; +package mage.game.permanent.token; /** * @author nantuko @@ -37,4 +35,4 @@ public class EmptyToken extends Token { public EmptyToken() { super("", ""); } -} \ No newline at end of file +}