From a8c1377e105e28a5fa9bd7661601a4e5a8311f6f Mon Sep 17 00:00:00 2001 From: swordshine Date: Tue, 20 Aug 2019 20:02:59 +0800 Subject: [PATCH] Update Wall of Stolen Identity --- .../src/main/java/forge/game/ability/AbilityUtils.java | 5 ----- .../main/java/forge/game/ability/effects/CloneEffect.java | 3 +++ forge-game/src/main/java/forge/game/card/Card.java | 8 -------- .../res/cardsfolder/upcoming/wall_of_stolen_identity.txt | 5 +++-- 4 files changed, 6 insertions(+), 15 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 47e6fbf2c34..747945ae97b 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -92,11 +92,6 @@ public class AbilityUtils { else if (defined.equals("OriginalHost")) { c = sa.getRootAbility().getOriginalHost(); } - else if (defined.equals("CloneStateOrigin")) { - if (hostCard.isCloned()) { - c = hostCard.getLastClonedStateOrigin(); - } - } else if (defined.equals("EffectSource")) { if (hostCard.isEmblem() || hostCard.getType().hasSubtype("Effect")) { c = AbilityUtils.findEffectRoot(hostCard); diff --git a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java index 91782681f93..19933d913e2 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/CloneEffect.java @@ -166,6 +166,9 @@ public class CloneEffect extends SpellAbilityEffect { sa.getHostCard().addFacedownCommand(unclone); } } + if (sa.hasParam("RememberCloneOrigin")) { + tgtCard.addRemembered(cardToCopy); + } game.fireEvent(new GameEventCardStatsChanged(tgtCard)); } // cloneResolve diff --git a/forge-game/src/main/java/forge/game/card/Card.java b/forge-game/src/main/java/forge/game/card/Card.java index 51e5891d038..8e08f99c1bb 100644 --- a/forge-game/src/main/java/forge/game/card/Card.java +++ b/forge-game/src/main/java/forge/game/card/Card.java @@ -3204,14 +3204,6 @@ public class Card extends GameEntity implements Comparable { return clStates.getHost(); } - public final Card getLastClonedStateOrigin() { - CardCloneStates clStates = getLastClonedState(); - if (clStates == null) { - return null; - } - return clStates.getOrigin(); - } - public final void removeCloneStates() { clonedStates.clear(); } diff --git a/forge-gui/res/cardsfolder/upcoming/wall_of_stolen_identity.txt b/forge-gui/res/cardsfolder/upcoming/wall_of_stolen_identity.txt index 6cf60b33d8d..64eb987ab32 100644 --- a/forge-gui/res/cardsfolder/upcoming/wall_of_stolen_identity.txt +++ b/forge-gui/res/cardsfolder/upcoming/wall_of_stolen_identity.txt @@ -3,8 +3,9 @@ ManaCost:3 U Types:Creature Shapeshifter Wall PT:0/0 K:ETBReplacement:Copy:DBCopy:Optional -SVar:DBCopy:DB$ Clone | Choices$ Creature.Other | AddTypes$ Wall | PumpKeywords$ Defender | AiChoiceLogic$ BestOppCtrl | SubAbility$ DBTrigger | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield, except it's a wall in addition to its other types and it has defender. When you do, tap the copied creature and it doesn't untap during its controller's untap step for as long as you control CARDNAME. -SVar:DBTrigger:DB$ ImmediateTrigger | Execute$ DBTap | RememberObjects$ CloneStateOrigin | TriggerDescription$ When you do, tap the copied creature and it doesn't untap during its controller's untap step for as long as you control CARDNAME. +SVar:DBCopy:DB$ Clone | Choices$ Creature.Other | AddTypes$ Wall | PumpKeywords$ Defender | AiChoiceLogic$ BestOppCtrl | SubAbility$ DBTrigger | RememberCloneOrigin$ True | SpellDescription$ You may have CARDNAME enter the battlefield as a copy of any creature on the battlefield, except it's a wall in addition to its other types and it has defender. When you do, tap the copied creature and it doesn't untap during its controller's untap step for as long as you control CARDNAME. +SVar:DBTrigger:DB$ ImmediateTrigger | Execute$ DBTap | RememberObjects$ RememberedCard | SubAbility$ DBCleanup | TriggerDescription$ When you do, tap the copied creature and it doesn't untap during its controller's untap step for as long as you control CARDNAME. SVar:DBTap:DB$ Tap | Defined$ DelayTriggerRemembered | SubAbility$ DBPump SVar:DBPump:DB$ Pump | Defined$ DelayTriggerRemembered | KW$ HIDDEN CARDNAME doesn't untap during your untap step. | UntilHostLeavesPlay$ True +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True Oracle:You may have Wall of Stolen Identity enter the battlefield as a copy of any creature on the battlefield, except it's a wall in addition to its other types and it has defender. When you do, tap the copied creature and it doesn't untap during its controller's untap step for as long as you control Wall of Stolen Identity.