diff --git a/Mage/src/mage/abilities/effects/common/PopulateEffect.java b/Mage/src/mage/abilities/effects/common/PopulateEffect.java index ff83525800d..2f33580952f 100644 --- a/Mage/src/mage/abilities/effects/common/PopulateEffect.java +++ b/Mage/src/mage/abilities/effects/common/PopulateEffect.java @@ -31,7 +31,6 @@ import mage.Constants.Outcome; import mage.Constants.TargetController; import mage.abilities.Ability; import mage.abilities.effects.OneShotEffect; -import mage.cards.Card; import mage.filter.FilterPermanent; import mage.filter.predicate.permanent.ControllerPredicate; import mage.filter.predicate.permanent.TokenPredicate; @@ -44,6 +43,8 @@ import mage.target.Target; import mage.target.TargetPermanent; import mage.util.CardUtil; + + /** * * @author LevelX2 @@ -92,7 +93,8 @@ public class PopulateEffect extends OneShotEffect { player.choose(Outcome.Copy, target, source.getSourceId(), game); Permanent tokenToCopy = game.getPermanent(target.getFirstTarget()); if (tokenToCopy != null && tokenToCopy instanceof PermanentToken) { - Token newToken = ((PermanentToken) tokenToCopy).getToken().copy(); + Token newToken = new Token("",""); + CardUtil.copyTo(newToken).from(tokenToCopy); if (newToken != null ) { game.informPlayers("Token selected for populate: " + newToken.getName()); return newToken.putOntoBattlefield(1, game, source.getSourceId(), source.getControllerId()); diff --git a/Mage/src/mage/game/permanent/PermanentToken.java b/Mage/src/mage/game/permanent/PermanentToken.java index 900686cd704..b031dfb9257 100644 --- a/Mage/src/mage/game/permanent/PermanentToken.java +++ b/Mage/src/mage/game/permanent/PermanentToken.java @@ -35,6 +35,7 @@ import mage.game.events.ZoneChangeEvent; import mage.game.permanent.token.Token; import java.util.UUID; +import mage.abilities.costs.mana.ManaCost; /** * @@ -69,6 +70,10 @@ public class PermanentToken extends PermanentImpl { for (Ability ability: token.getAbilities()) { this.addAbility(ability, game); } + this.manaCost.clear(); + for (ManaCost cost: token.getManaCost()) { + this.getManaCost().add(cost.copy()); + } this.cardType = token.getCardType(); this.color = token.getColor(); this.power = token.getPower();