From 018729fbcd1b7a547d4e1ca9f82d4024d54a34b7 Mon Sep 17 00:00:00 2001 From: Sol Date: Fri, 5 Apr 2013 03:45:20 +0000 Subject: [PATCH] - When copying a spellAbility, make sure to copy all subabilities as well, and appropriately set the Source Card --- src/main/java/forge/card/cardfactory/CardFactory.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/main/java/forge/card/cardfactory/CardFactory.java b/src/main/java/forge/card/cardfactory/CardFactory.java index 2eef426fda5..5b562cb8c0d 100644 --- a/src/main/java/forge/card/cardfactory/CardFactory.java +++ b/src/main/java/forge/card/cardfactory/CardFactory.java @@ -167,13 +167,16 @@ public class CardFactory { { copySA = sa.copy(); copySA.setSourceCard(c); + SpellAbility parentSA = copySA; SpellAbility subSA = copySA.getSubAbility(); - if (subSA != null) { + while (subSA != null) { AbilitySub copySubSA = ((AbilitySub) subSA).getCopy(); - copySA.setSubAbility(copySubSA); - copySubSA.setParent(copySA); + parentSA.setSubAbility(copySubSA); + copySubSA.setParent(parentSA); copySubSA.setSourceCard(c); copySubSA.setCopied(true); + parentSA = copySubSA; + subSA = copySubSA.getSubAbility(); } } copySA.setCopied(true);