From ca45bf3da52cee50ad35e2e82672ece3f7d7984d Mon Sep 17 00:00:00 2001 From: Hanmac Date: Sat, 21 Jan 2017 14:52:05 +0000 Subject: [PATCH] AbilityUtils: make calculateAmount with Triggered use getDefinedCards which does handle Trigger before CardUtil: need to set CopiedPermanent for LKICopy Scrap Trawler: use TriggeredCardLKICopy which might be more correct --- forge-game/src/main/java/forge/game/ability/AbilityUtils.java | 3 +-- forge-game/src/main/java/forge/game/card/CardUtil.java | 1 + forge-gui/res/cardsfolder/s/scrap_trawler.txt | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java index 6d631bc86c0..1d4c80962ae 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -663,8 +663,7 @@ public class AbilityUtils { } } else if (calcX[0].startsWith("Triggered")) { - final SpellAbility root = sa.getRootAbility(); - list = new CardCollection((Card) root.getTriggeringObject(calcX[0].substring(9))); + list = getDefinedCards(card, calcX[0], sa); } else if (calcX[0].startsWith("TriggerCount")) { // TriggerCount is similar to a regular Count, but just diff --git a/forge-game/src/main/java/forge/game/card/CardUtil.java b/forge-game/src/main/java/forge/game/card/CardUtil.java index e3b61b4aeb5..7e890086dba 100644 --- a/forge-game/src/main/java/forge/game/card/CardUtil.java +++ b/forge-game/src/main/java/forge/game/card/CardUtil.java @@ -303,6 +303,7 @@ public final class CardUtil { newCopy.setFortifiedBy(in.getFortifiedBy(false)); newCopy.setClones(in.getClones()); newCopy.setHaunting(in.getHaunting()); + newCopy.setCopiedPermanent(in.getCopiedPermanent()); for (final Card haunter : in.getHauntedBy()) { newCopy.addHauntedBy(haunter, false); } diff --git a/forge-gui/res/cardsfolder/s/scrap_trawler.txt b/forge-gui/res/cardsfolder/s/scrap_trawler.txt index a1d337f808d..c28340f11c3 100644 --- a/forge-gui/res/cardsfolder/s/scrap_trawler.txt +++ b/forge-gui/res/cardsfolder/s/scrap_trawler.txt @@ -4,7 +4,7 @@ Types:Artifact Creature Construct PT:3/2 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigReturnArti | TriggerDescription$ Whenever CARDNAME or another artifact you control is put into a graveyard from the battlefield, return to your hand target artifact card in your graveyard with lesser converted mana cost. T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Artifact.Other+YouCtrl | TriggerZones$ Battlefield | Secondary$ True | Execute$ TrigReturnArti | TriggerDescription$ Whenever CARDNAME or another artifact you control is put into a graveyard from the battlefield, return to your hand target artifact card in your graveyard with lesser converted mana cost. -SVar:TrigReturnArti:DB$ ChangeZone | ValidTgts$ Artifact.cmcLTX+YouCtrl | Origin$ Graveyard | Destination$ Hand | References$ X -SVar:X:TriggeredCard$CardManaCost +SVar:TrigReturnArti:DB$ ChangeZone | ValidTgts$ Artifact.cmcLTX+YouCtrl | TgtPrompt$ Select target artifact with less converted mana cost | Origin$ Graveyard | Destination$ Hand | References$ X +SVar:X:TriggeredCardLKICopy$CardManaCost SVar:Picture:http://www.wizards.com/global/images/magic/general/scrap_trawler.jpg Oracle:Whenever Scrap Trawler or another artifact you control is put into a graveyard from the battlefield, return to your hand target artifact card in your graveyard with lesser converted mana cost.