From 09dc93f6c33c5731852b011347b9d03f8a647c69 Mon Sep 17 00:00:00 2001 From: Hans Mackowiak Date: Sun, 7 Feb 2021 12:10:46 +0100 Subject: [PATCH] CardProperty: ThisTurnEntered and ThisTurnEnteredFrom for better check --- .../java/forge/game/card/CardProperty.java | 24 +++++++++++-------- .../src/main/java/forge/game/zone/Zone.java | 7 ++++++ forge-gui/res/cardsfolder/b/brought_back.txt | 2 +- .../cardsfolder/c/cry_of_the_carnarium.txt | 2 +- forge-gui/res/cardsfolder/f/faiths_reward.txt | 3 +-- forge-gui/res/cardsfolder/f/fell_shepherd.txt | 3 +-- .../cardsfolder/g/garna_the_bloodflame.txt | 3 +-- .../g/gerrard_weatherlight_hero.txt | 2 +- .../g/ghost_of_ramirez_depietro.txt | 2 +- forge-gui/res/cardsfolder/g/gleancrawler.txt | 5 ++-- forge-gui/res/cardsfolder/g/grim_return.txt | 3 +-- .../res/cardsfolder/k/krovikan_vampire.txt | 2 +- forge-gui/res/cardsfolder/l/lavaball_trap.txt | 2 +- .../cardsfolder/n/no_rest_for_the_wicked.txt | 3 +-- .../res/cardsfolder/s/salvager_of_ruin.txt | 2 +- .../res/cardsfolder/s/second_sunrise.txt | 3 +-- .../res/cardsfolder/t/thrilling_encore.txt | 2 +- .../res/cardsfolder/t/twilight_shepherd.txt | 3 +-- 18 files changed, 38 insertions(+), 35 deletions(-) diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index 2da6fca758d..e383e8135aa 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -1035,17 +1035,21 @@ public class CardProperty { } } return false; - } else if (property.startsWith("ThisTurnEntered")) { - final String restrictions = property.split("ThisTurnEntered_")[1]; - final String[] res = restrictions.split("_"); - final ZoneType destination = ZoneType.smartValueOf(res[0]); - ZoneType origin = null; - if (res.length > 1 && res[1].equals("from")) { - origin = ZoneType.smartValueOf(res[2]); + } else if (property.equals("ThisTurnEntered")) { + // only check if it entered the Zone this turn + if (card.getTurnInZone() != game.getPhaseHandler().getTurn()) { + return false; } - List cards = CardUtil.getThisTurnEntered(destination, - origin, "Card", source); - if (!cards.contains(card)) { + } else if (property.startsWith("ThisTurnEnteredFrom")) { + final String restrictions = property.split("ThisTurnEnteredFrom_")[1]; + final String[] res = restrictions.split("_"); + final ZoneType origin = ZoneType.smartValueOf(res[0]); + + if (card.getTurnInZone() != game.getPhaseHandler().getTurn()) { + return false; + } + + if (card.getZone().isCardAddedThisTurn(card, origin)) { return false; } } else if (property.equals("DiscardedThisTurn")) { diff --git a/forge-game/src/main/java/forge/game/zone/Zone.java b/forge-game/src/main/java/forge/game/zone/Zone.java index 3de745e0d1b..950894eb990 100644 --- a/forge-game/src/main/java/forge/game/zone/Zone.java +++ b/forge-game/src/main/java/forge/game/zone/Zone.java @@ -211,6 +211,13 @@ public class Zone implements java.io.Serializable, Iterable { return getCardsAdded(cardsAddedLastTurn, origin); } + public final boolean isCardAddedThisTurn(final Card card, final ZoneType origin) { + if (!cardsAddedThisTurn.containsKey(origin)) { + return false; + } + return cardsAddedThisTurn.get(origin).contains(card); + } + private static List getCardsAdded(final MapOfLists cardsAdded, final ZoneType origin) { if (origin != null) { final Collection cards = cardsAdded.get(origin); diff --git a/forge-gui/res/cardsfolder/b/brought_back.txt b/forge-gui/res/cardsfolder/b/brought_back.txt index 885991837ec..cd8acfe2573 100644 --- a/forge-gui/res/cardsfolder/b/brought_back.txt +++ b/forge-gui/res/cardsfolder/b/brought_back.txt @@ -1,5 +1,5 @@ Name:Brought Back ManaCost:W W Types:Instant -A:SP$ ChangeZone | Cost$ W W | ValidTgts$ Permanent.YouOwn+ThisTurnEntered_Graveyard_from_Battlefield | TgtPrompt$ Select up to two target permanent cards in your graveyard that were put there from the battlefield this turn | TargetMin$ 0 | TargetMax$ 2 | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | SpellDescription$ Choose up to two target permanent cards in your graveyard that were put there from the battlefield this turn. Return them to the battlefield tapped. +A:SP$ ChangeZone | Cost$ W W | ValidTgts$ Permanent.YouOwn+ThisTurnEnteredFrom_Battlefield | TgtPrompt$ Select up to two target permanent cards in your graveyard that were put there from the battlefield this turn | TargetMin$ 0 | TargetMax$ 2 | Origin$ Graveyard | Destination$ Battlefield | Tapped$ True | SpellDescription$ Choose up to two target permanent cards in your graveyard that were put there from the battlefield this turn. Return them to the battlefield tapped. Oracle:Choose up to two target permanent cards in your graveyard that were put there from the battlefield this turn. Return them to the battlefield tapped. diff --git a/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt b/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt index c3753c455ec..fe232a3a0d2 100644 --- a/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt +++ b/forge-gui/res/cardsfolder/c/cry_of_the_carnarium.txt @@ -2,5 +2,5 @@ Name:Cry of the Carnarium ManaCost:1 B B Types:Sorcery A:SP$ PumpAll | Cost$ 1 B B | ValidCards$ Creature | NumAtt$ -2 | NumDef$ -2 | IsCurse$ True | ReplaceDyingValid$ Creature | SubAbility$ ExileSomeCreatures | SpellDescription$ All creatures get -2/-2 until end of turn. Exile all creature cards in all graveyards that were put there from the battlefield this turn. If a creature would die this turn, exile it instead. -SVar:ExileSomeCreatures:DB$ ChangeZone | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Creature.nonToken | Origin$ Graveyard | Destination$ Exile | SpellDescription$ Exile all creature cards in all graveyards that were put there from the battlefield this turn. +SVar:ExileSomeCreatures:DB$ ChangeZone | Defined$ ValidGraveyard Creature.nonToken+ThisTurnEnteredFrom_Battlefield | Origin$ Graveyard | Destination$ Exile | SpellDescription$ Exile all creature cards in all graveyards that were put there from the battlefield this turn. Oracle:All creatures get -2/-2 until end of turn. Exile all creature cards in all graveyards that were put there from the battlefield this turn. If a creature would die this turn, exile it instead. diff --git a/forge-gui/res/cardsfolder/f/faiths_reward.txt b/forge-gui/res/cardsfolder/f/faiths_reward.txt index a5138be1544..0cb62397ef6 100644 --- a/forge-gui/res/cardsfolder/f/faiths_reward.txt +++ b/forge-gui/res/cardsfolder/f/faiths_reward.txt @@ -1,6 +1,5 @@ Name:Faith's Reward ManaCost:3 W Types:Instant -A:SP$ ChangeZone | Cost$ 3 W | Origin$ Graveyard | Destination$ Battlefield | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Permanent.YouOwn | SpellDescription$ Return to the battlefield all permanent cards in your graveyard that were put there from the battlefield this turn. -SVar:Picture:http://www.wizards.com/global/images/magic/general/faiths_reward.jpg +A:SP$ ChangeZone | Cost$ 3 W | Origin$ Graveyard | Destination$ Battlefield | Defined$ ValidGraveyard Permanent.YouOwn+ThisTurnEnteredFrom_Battlefield | SpellDescription$ Return to the battlefield all permanent cards in your graveyard that were put there from the battlefield this turn. Oracle:Return to the battlefield all permanent cards in your graveyard that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/f/fell_shepherd.txt b/forge-gui/res/cardsfolder/f/fell_shepherd.txt index 13d81b6ad4b..f708baba763 100644 --- a/forge-gui/res/cardsfolder/f/fell_shepherd.txt +++ b/forge-gui/res/cardsfolder/f/fell_shepherd.txt @@ -3,7 +3,6 @@ ManaCost:5 B B Types:Creature Avatar PT:8/6 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigReturn | TriggerZones$ Battlefield | OptionalDecider$ You | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, you may return all creature cards put into your graveyard from the battlefield this turn to your hand. -SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.YouOwn+Creature +SVar:TrigReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Creature.YouOwn+ThisTurnEnteredFrom_Battlefield A:AB$ Pump | Cost$ B Sac<1/Creature.Other/another creature> | ValidTgts$ Creature | NumAtt$ -2 | NumDef$ -2 | SpellDescription$ Target creature gets -2/-2 until end of turn. -SVar:Picture:http://www.wizards.com/global/images/magic/general/fell_shepherd.jpg Oracle:Whenever Fell Shepherd deals combat damage to a player, you may return to your hand all creature cards that were put into your graveyard from the battlefield this turn.\n{B}, Sacrifice another creature: Target creature gets -2/-2 until end of turn. diff --git a/forge-gui/res/cardsfolder/g/garna_the_bloodflame.txt b/forge-gui/res/cardsfolder/g/garna_the_bloodflame.txt index a6110f52eae..2cdf9796d19 100644 --- a/forge-gui/res/cardsfolder/g/garna_the_bloodflame.txt +++ b/forge-gui/res/cardsfolder/g/garna_the_bloodflame.txt @@ -4,7 +4,6 @@ Types:Legendary Creature Human Warrior PT:3/3 K:Flash T:Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, return to your hand all creature cards in your graveyard that were put there from anywhere this turn. -SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ThisTurnEntered_Graveyard_Card.Creature+YouOwn+nonToken +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Creature.YouOwn+nonToken+ThisTurnEntered S:Mode$ Continuous | Affected$ Creature.Other+YouCtrl | AddKeyword$ Haste | Description$ Other creatures you control have haste. -SVar:Picture:http://www.wizards.com/global/images/magic/general/garna_the_bloodflame.jpg Oracle:Flash\nWhen Garna, the Bloodflame enters the battlefield, return to your hand all creature cards in your graveyard that were put there from anywhere this turn.\nOther creatures you control have haste. diff --git a/forge-gui/res/cardsfolder/g/gerrard_weatherlight_hero.txt b/forge-gui/res/cardsfolder/g/gerrard_weatherlight_hero.txt index cf7d0a7b04b..c0aa968ae90 100644 --- a/forge-gui/res/cardsfolder/g/gerrard_weatherlight_hero.txt +++ b/forge-gui/res/cardsfolder/g/gerrard_weatherlight_hero.txt @@ -5,5 +5,5 @@ PT:3/3 K:First Strike T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigExile | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, exile it and return to the battlefield all artifact and creature cards in your graveyard that were put there from the battlefield this turn. SVar:TrigExile:DB$ ChangeZone | Defined$ TriggeredNewCardLKICopy | Origin$ Graveyard | Destination$ Exile | SubAbility$ DBReturn -SVar:DBReturn:DB$ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.Artifact+YouOwn,Card.Creature+YouOwn +SVar:DBReturn:DB$ ChangeZone | Origin$ Graveyard | Destination$ Battlefield | Defined$ ValidGraveyard Artifact.YouOwn+ThisTurnEnteredFrom_Battlefield,Creature.YouOwn+ThisTurnEnteredFrom_Battlefield Oracle:First strike\nWhen Gerrard, Weatherlight Hero dies, exile it and return to the battlefield all artifact and creature cards in your graveyard that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/g/ghost_of_ramirez_depietro.txt b/forge-gui/res/cardsfolder/g/ghost_of_ramirez_depietro.txt index 298a1b07fb8..8719b744599 100755 --- a/forge-gui/res/cardsfolder/g/ghost_of_ramirez_depietro.txt +++ b/forge-gui/res/cardsfolder/g/ghost_of_ramirez_depietro.txt @@ -4,7 +4,7 @@ Types:Legendary Creature Pirate Spirit PT:2/3 K:CantBeBlockedBy Creature.toughnessGE3 T:Mode$ DamageDone | ValidSource$ Card.Self | ValidTarget$ Player | CombatDamage$ True | Execute$ TrigChangeZone | TriggerZones$ Battlefield | TriggerDescription$ Whenever CARDNAME deals combat damage to a player, choose up to one target card in any graveyard that has been discarded or put there from a library this turn. Put that card into its owner's hand. -SVar:TrigChangeZone:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ 1 | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Card.DiscardedThisTurn,Card.ThisTurnEntered_Graveyard_from_Library | TgtPrompt$ Choose up to one target card in any graveyard that has been discarded or put there from a library this turn +SVar:TrigChangeZone:DB$ ChangeZone | TargetMin$ 0 | TargetMax$ 1 | Origin$ Graveyard | Destination$ Hand | ValidTgts$ Card.DiscardedThisTurn,Card.ThisTurnEnteredFrom_Library | TgtPrompt$ Choose up to one target card in any graveyard that has been discarded or put there from a library this turn K:Partner DeckHas:Ability$Graveyard DeckHints:Ability$Mill diff --git a/forge-gui/res/cardsfolder/g/gleancrawler.txt b/forge-gui/res/cardsfolder/g/gleancrawler.txt index 51f0a0c8332..be0ec8e1e2e 100644 --- a/forge-gui/res/cardsfolder/g/gleancrawler.txt +++ b/forge-gui/res/cardsfolder/g/gleancrawler.txt @@ -3,7 +3,6 @@ ManaCost:3 BG BG BG Types:Creature Insect Horror PT:6/6 K:Trample -T:Mode$Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ At the beginning of your end step, return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. -SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.Creature+YouCtrl -SVar:Picture:http://www.wizards.com/global/images/magic/general/gleancrawler.jpg +T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigChangeZone | TriggerDescription$ At the beginning of your end step, return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Creature.YouCtrl+ThisTurnEnteredFrom_Battlefield Oracle:Trample\nAt the beginning of your end step, return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/g/grim_return.txt b/forge-gui/res/cardsfolder/g/grim_return.txt index d294b601570..d71ec166ac3 100644 --- a/forge-gui/res/cardsfolder/g/grim_return.txt +++ b/forge-gui/res/cardsfolder/g/grim_return.txt @@ -1,6 +1,5 @@ Name:Grim Return ManaCost:2 B Types:Instant -A:SP$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | ValidTgts$ Card.Creature+ThisTurnEntered_Graveyard_from_Battlefield | TgtPrompt$ Select target creature card in a graveyard that was put there from the battlefield this turn | SpellDescription$ Choose target creature card in a graveyard that was put there from the battlefield this turn. Put that card onto the battlefield under your control. -SVar:Picture:http://www.wizards.com/global/images/magic/general/grim_return.jpg +A:SP$ ChangeZone | Cost$ 2 B | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | ValidTgts$ Card.Creature+ThisTurnEnteredFrom_Battlefield | TgtPrompt$ Select target creature card in a graveyard that was put there from the battlefield this turn | SpellDescription$ Choose target creature card in a graveyard that was put there from the battlefield this turn. Put that card onto the battlefield under your control. Oracle:Choose target creature card in a graveyard that was put there from the battlefield this turn. Put that card onto the battlefield under your control. diff --git a/forge-gui/res/cardsfolder/k/krovikan_vampire.txt b/forge-gui/res/cardsfolder/k/krovikan_vampire.txt index de9fd12c992..3b683d2723a 100644 --- a/forge-gui/res/cardsfolder/k/krovikan_vampire.txt +++ b/forge-gui/res/cardsfolder/k/krovikan_vampire.txt @@ -9,7 +9,7 @@ SVar:LoseTrack:DB$ Pump | ForgetObjects$ TriggeredCard T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | Execute$ DBCleanup | Static$ True T:Mode$ TurnBegin | Execute$ DBCleanup | Static$ True T:Mode$ Phase | Phase$ End of Turn | ValidPlayer$ Player | TriggerZones$ Battlefield | CheckSVar$ X | SVarCompare$ GE1 | IsPresent$ Card.Self | Execute$ TrigChange | TriggerDescription$ At the beginning of each end step, if a creature dealt damage by CARDNAME this turn died, put that card onto the battlefield under your control. Sacrifice it when you lose control of CARDNAME. -SVar:TrigChange:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered+ThisTurnEntered_Graveyard_from_Battlefield | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ TrigDelay +SVar:TrigChange:DB$ ChangeZoneAll | ChangeType$ Creature.IsRemembered+ThisTurnEnteredFrom_Battlefield | Origin$ Graveyard | Destination$ Battlefield | GainControl$ True | RememberChanged$ True | ForgetOtherRemembered$ True | SubAbility$ TrigDelay SVar:TrigDelay:DB$ DelayedTrigger | Mode$ ChangesZone | Origin$ Battlefield | Destination$ Any | ValidCard$ Card.Self | RememberObjects$ Remembered | Execute$ TrigSac | Secondary$ True | SubAbility$ DBCleanup | SpellDescription$ Sacrifice it when you lose control of CARDNAME. SVar:TrigSac:DB$ SacrificeAll | Defined$ DelayTriggerRemembered | SubAbility$ DBCleanup SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True diff --git a/forge-gui/res/cardsfolder/l/lavaball_trap.txt b/forge-gui/res/cardsfolder/l/lavaball_trap.txt index fe68ee7f3f5..ae85148cc83 100644 --- a/forge-gui/res/cardsfolder/l/lavaball_trap.txt +++ b/forge-gui/res/cardsfolder/l/lavaball_trap.txt @@ -4,5 +4,5 @@ Types:Instant Trap SVar:AltCost:Cost$ 3 R R | CheckSVar$ LandsEntered | SVarCompare$ GE2 | References$ LandsEntered | Description$ If an opponent had two or more lands enter the battlefield under their control this turn, you may pay {3}{R}{R} rather than pay this spell's mana cost. A:SP$ Destroy | Cost$ 6 R R | TargetMin$ 2 | TargetMax$ 2 | ValidTgts$ Land | TgtPrompt$ Select two target lands | SubAbility$ DBDamageAll | SpellDescription$ Destroy two target lands. CARDNAME deals 4 damage to each creature. SVar:DBDamageAll:DB$ DamageAll | ValidCards$ Creature | NumDmg$ 4 | ValidDescription$ each creature. -SVar:LandsEntered:PlayerCountOpponents$HighestValid Card.ThisTurnEntered_Battlefield_Land.YouCtrl +SVar:LandsEntered:PlayerCountOpponents$HighestValid Land.YouCtrl+ThisTurnEntered Oracle:If an opponent had two or more lands enter the battlefield under their control this turn, you may pay {3}{R}{R} rather than pay this spell's mana cost.\nDestroy two target lands. Lavaball Trap deals 4 damage to each creature. diff --git a/forge-gui/res/cardsfolder/n/no_rest_for_the_wicked.txt b/forge-gui/res/cardsfolder/n/no_rest_for_the_wicked.txt index 3099d16ca76..9fc2dae7efe 100644 --- a/forge-gui/res/cardsfolder/n/no_rest_for_the_wicked.txt +++ b/forge-gui/res/cardsfolder/n/no_rest_for_the_wicked.txt @@ -1,6 +1,5 @@ Name:No Rest for the Wicked ManaCost:1 B Types:Enchantment -A:AB$ ChangeZone | Cost$ Sac<1/CARDNAME> | Origin$ Graveyard | Destination$ Hand | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.Creature+YouCtrl | SpellDescription$ Return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. -SVar:Picture:http://www.wizards.com/global/images/magic/general/no_rest_for_the_wicked.jpg +A:AB$ ChangeZone | Cost$ Sac<1/CARDNAME> | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Creature.YouOwn+ThisTurnEnteredFrom_Battlefield | SpellDescription$ Return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. Oracle:Sacrifice No Rest for the Wicked: Return to your hand all creature cards in your graveyard that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/s/salvager_of_ruin.txt b/forge-gui/res/cardsfolder/s/salvager_of_ruin.txt index c571310cc54..580cc255061 100644 --- a/forge-gui/res/cardsfolder/s/salvager_of_ruin.txt +++ b/forge-gui/res/cardsfolder/s/salvager_of_ruin.txt @@ -2,6 +2,6 @@ Name:Salvager of Ruin ManaCost:3 Types:Artifact Creature Construct PT:2/1 -A:AB$ ChangeZone | Cost$ Sac<1/CARDNAME> | ValidTgts$ Permanent.YouOwn+ThisTurnEntered_Graveyard_from_Battlefield | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Choose target permanent card in your graveyard that was put there from the battlefield this turn | SpellDescription$ Choose target permanent card in your graveyard that was put there from the battlefield this turn. Return it to your hand. +A:AB$ ChangeZone | Cost$ Sac<1/CARDNAME> | ValidTgts$ Permanent.YouOwn+ThisTurnEnteredFrom_Battlefield | Origin$ Graveyard | Destination$ Hand | TgtPrompt$ Choose target permanent card in your graveyard that was put there from the battlefield this turn | SpellDescription$ Choose target permanent card in your graveyard that was put there from the battlefield this turn. Return it to your hand. AI:RemoveDeck:Random Oracle:Sacrifice Salvager of Ruin: Choose target permanent card in your graveyard that was put there from the battlefield this turn. Return it to your hand. diff --git a/forge-gui/res/cardsfolder/s/second_sunrise.txt b/forge-gui/res/cardsfolder/s/second_sunrise.txt index 0f01fc4d791..e05814dbb39 100644 --- a/forge-gui/res/cardsfolder/s/second_sunrise.txt +++ b/forge-gui/res/cardsfolder/s/second_sunrise.txt @@ -1,6 +1,5 @@ Name:Second Sunrise ManaCost:1 W W Types:Instant -A:SP$ChangeZone | Cost$ 1 W W | Origin$ Graveyard | Destination$ Battlefield | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.Artifact,Card.Creature,Card.Enchantment,Card.Land | SpellDescription$ Each player returns to the battlefield all artifact, creature, enchantment, and land cards in their graveyard that were put there from the battlefield this turn. -SVar:Picture:http://www.wizards.com/global/images/magic/general/second_sunrise.jpg +A:SP$ChangeZone | Cost$ 1 W W | Origin$ Graveyard | Destination$ Battlefield | Defined$ ValidGraveyard Artifact.ThisTurnEnteredFrom_Battlefield,Creature.ThisTurnEnteredFrom_Battlefield,Enchantment.ThisTurnEnteredFrom_Battlefield,Land.ThisTurnEnteredFrom_Battlefield | SpellDescription$ Each player returns to the battlefield all artifact, creature, enchantment, and land cards in their graveyard that were put there from the battlefield this turn. Oracle:Each player returns to the battlefield all artifact, creature, enchantment, and land cards in their graveyard that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/t/thrilling_encore.txt b/forge-gui/res/cardsfolder/t/thrilling_encore.txt index 80560927db9..d3d1b9ac9f2 100644 --- a/forge-gui/res/cardsfolder/t/thrilling_encore.txt +++ b/forge-gui/res/cardsfolder/t/thrilling_encore.txt @@ -1,5 +1,5 @@ Name:Thrilling Encore ManaCost:4 B Types:Instant -A:SP$ ChangeZone | Cost$ 4 B | Origin$ Graveyard | Destination$ Battlefield | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Creature.nonToken | GainControl$ True | SpellDescription$ Put onto the battlefield under your control all creature cards in all graveyards that were put there from the battlefield this turn. +A:SP$ ChangeZone | Cost$ 4 B | Origin$ Graveyard | Destination$ Battlefield | Defined$ ValidGraveyard Creature.ThisTurnEnteredFrom_Battlefield | GainControl$ True | SpellDescription$ Put onto the battlefield under your control all creature cards in all graveyards that were put there from the battlefield this turn. Oracle:Put onto the battlefield under your control all creature cards in all graveyards that were put there from the battlefield this turn. diff --git a/forge-gui/res/cardsfolder/t/twilight_shepherd.txt b/forge-gui/res/cardsfolder/t/twilight_shepherd.txt index 25bed3fa4c0..a4db8b058ac 100644 --- a/forge-gui/res/cardsfolder/t/twilight_shepherd.txt +++ b/forge-gui/res/cardsfolder/t/twilight_shepherd.txt @@ -6,6 +6,5 @@ K:Flying K:Vigilance K:Persist T:Mode$ ChangesZone | Destination$ Battlefield | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerDescription$ When CARDNAME enters the battlefield, return to your hand all cards in your graveyard that were put there from the battlefield this turn. -SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ThisTurnEntered_Graveyard_from_Battlefield_Card.YouCtrl -SVar:Picture:http://www.wizards.com/global/images/magic/general/twilight_shepherd.jpg +SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Graveyard | Destination$ Hand | Defined$ ValidGraveyard Card.YouOwn+ThisTurnEnteredFrom_Battlefield Oracle:Flying, vigilance\nWhen Twilight Shepherd enters the battlefield, return to your hand all cards in your graveyard that were put there from the battlefield this turn.\nPersist (When this creature dies, if it had no -1/-1 counters on it, return it to the battlefield under its owner's control with a -1/-1 counter on it.)