From 24680c4aef1b8741fb7271cc6a3c1fbabbe55aa3 Mon Sep 17 00:00:00 2001 From: elcnesh Date: Sun, 18 Jan 2015 21:11:33 +0000 Subject: [PATCH] Fix owner of token to be its initial controller. --- .../ability/effects/CopyPermanentEffect.java | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java index 76b69047af6..ee6f13ec031 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java @@ -80,6 +80,17 @@ public class CopyPermanentEffect extends SpellAbilityEffect { final int numCopies = sa.hasParam("NumCopies") ? AbilityUtils.calculateAmount(hostCard, sa.getParam("NumCopies"), sa) : 1; + Player controller = null; + if (sa.hasParam("Controller")) { + final FCollectionView defined = AbilityUtils.getDefinedPlayers(hostCard, sa.getParam("Controller"), sa); + if (!defined.isEmpty()) { + controller = defined.getFirst(); + } + } + if (controller == null) { + controller = sa.getActivatingPlayer(); + } + List tgtCards = getTargetCards(sa); final TargetRestrictions tgt = sa.getTargetRestrictions(); @@ -128,22 +139,10 @@ public class CopyPermanentEffect extends SpellAbilityEffect { tgtCards.clear(); if (!cards.isEmpty()) { - tgtCards.add(Card.fromPaperCard(cards.get(0), sa.getActivatingPlayer())); + tgtCards.add(Card.fromPaperCard(cards.get(0), controller)); } } } - - Player controller = null; - if (sa.hasParam("Controller")) { - FCollectionView defined = AbilityUtils.getDefinedPlayers(hostCard, sa.getParam("Controller"), sa); - if (!defined.isEmpty()) { - controller = defined.getFirst(); - } - } - if (controller == null) { - controller = sa.getActivatingPlayer(); - } - hostCard.clearClones(); for (final Card c : tgtCards) {