From 5221d871a05f49dd6ad7f4fd6b65a16f96e3b4c2 Mon Sep 17 00:00:00 2001 From: Agetian Date: Fri, 26 Jan 2018 09:07:50 +0300 Subject: [PATCH] - Only copy the intrinsic abilities in CardState#copyFrom, fixes clone abilities copying too much (e.g. copied tokens from Splinter Twin gaining the copy ability). --- .../src/main/java/forge/game/card/CardState.java | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardState.java b/forge-game/src/main/java/forge/game/card/CardState.java index 963380f20dc..e661d81e06a 100644 --- a/forge-game/src/main/java/forge/game/card/CardState.java +++ b/forge-game/src/main/java/forge/game/card/CardState.java @@ -384,16 +384,20 @@ public class CardState extends GameObject { manaAbilities.clear(); for (SpellAbility sa : source.manaAbilities) { - SpellAbility saCopy = sa.copy(); - saCopy.setHostCard(card); // update HostCard - manaAbilities.add(saCopy); + if (sa.isIntrinsic()) { + SpellAbility saCopy = sa.copy(); + saCopy.setHostCard(card); // update HostCard + manaAbilities.add(saCopy); + } } nonManaAbilities.clear(); for (SpellAbility sa : source.nonManaAbilities) { - SpellAbility saCopy = sa.copy(); - saCopy.setHostCard(card); // update HostCard - nonManaAbilities.add(saCopy); + if (sa.isIntrinsic()) { + SpellAbility saCopy = sa.copy(); + saCopy.setHostCard(card); // update HostCard + nonManaAbilities.add(saCopy); + } } setIntrinsicKeywords(source.intrinsicKeywords.getValues());