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 ea9b82a53d5..799740e332e 100644 --- a/forge-game/src/main/java/forge/game/card/CardState.java +++ b/forge-game/src/main/java/forge/game/card/CardState.java @@ -564,9 +564,6 @@ public class CardState extends GameObject implements IHasSVars { } public final void addAbilitiesFrom(final CardState source, final boolean lki) { - // TODO: what happens if SVar has the same name ? - sVars.putAll(source.getSVars()); - for (SpellAbility sa : source.manaAbilities) { if (sa.isIntrinsic()) { manaAbilities.add(sa.copy(card, lki)); diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java index 7149e7c606c..8a0c5991e3e 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerChangesZone.java @@ -195,16 +195,7 @@ public class TriggerChangesZone extends Trigger { // TODO use better way to always copy both Card and CardLKI if ("Battlefield".equals(getParam("Origin"))) { sa.setTriggeringObject(AbilityKey.Card, runParams.get(AbilityKey.CardLKI)); - final Object crd = runParams.get(AbilityKey.Card); - if (crd instanceof Card) { - sa.setTriggeringObject(AbilityKey.NewCard, CardUtil.getLKICopy((Card)runParams.get(AbilityKey.Card))); - } else if (crd instanceof CardCollection) { - CardCollection newCards = new CardCollection(); - for (final Card c : (CardCollection) crd) { - newCards.add(CardUtil.getLKICopy(c)); - } - sa.setTriggeringObject(AbilityKey.NewCard, newCards); - } + sa.setTriggeringObject(AbilityKey.NewCard, runParams.get(AbilityKey.Card)); } else { sa.setTriggeringObjectsFrom(runParams, AbilityKey.Card); } diff --git a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java index 65e74b60448..66a53b9ff34 100644 --- a/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java +++ b/forge-game/src/main/java/forge/game/trigger/TriggerHandler.java @@ -477,17 +477,13 @@ public class TriggerHandler { if (runParams.get(AbilityKey.MergedCards) != null) { // Check if the trigger cares the origin is from battlefield Card original = (Card) runParams.get(AbilityKey.Card); - Card lastKnownInfo = (Card) runParams.get(AbilityKey.CardLKI); CardCollection mergedCards = (CardCollection) runParams.get(AbilityKey.MergedCards); - CardCollection mergedCardsLKI = new CardCollection(mergedCards); mergedCards.set(mergedCards.indexOf(original), original); - mergedCardsLKI.set(mergedCardsLKI.indexOf(original), lastKnownInfo); Map newParams = AbilityKey.mapFromCard(original); newParams.putAll(runParams); if ("Battlefield".equals(regtrig.getParam("Origin"))) { // If yes, only trigger once newParams.put(AbilityKey.Card, mergedCards); - newParams.put(AbilityKey.CardLKI, mergedCardsLKI); runSingleTriggerInternal(regtrig, newParams); } else { // Else, trigger for each merged components