From 1084d89cff05dbf721435c839d36fa84d380ccb5 Mon Sep 17 00:00:00 2001 From: swordshine Date: Fri, 27 Sep 2013 13:35:04 +0000 Subject: [PATCH] - Added Scheme: Nature Demands an Offering --- .gitattributes | 1 + .../n/nature_demands_an_offering.txt | 20 +++++++++++++++++++ .../java/forge/card/ability/AbilityUtils.java | 4 ++++ 3 files changed, 25 insertions(+) create mode 100644 res/cardsfolder/n/nature_demands_an_offering.txt diff --git a/.gitattributes b/.gitattributes index bd2520d0422..a93cb307f49 100644 --- a/.gitattributes +++ b/.gitattributes @@ -7546,6 +7546,7 @@ res/cardsfolder/n/natural_order.txt svneol=native#text/plain res/cardsfolder/n/natural_selection.txt svneol=native#text/plain res/cardsfolder/n/natural_spring.txt svneol=native#text/plain res/cardsfolder/n/naturalize.txt svneol=native#text/plain +res/cardsfolder/n/nature_demands_an_offering.txt -text res/cardsfolder/n/natures_blessing.txt -text res/cardsfolder/n/natures_chosen.txt svneol=native#text/plain res/cardsfolder/n/natures_claim.txt svneol=native#text/plain diff --git a/res/cardsfolder/n/nature_demands_an_offering.txt b/res/cardsfolder/n/nature_demands_an_offering.txt new file mode 100644 index 00000000000..a6e446e015c --- /dev/null +++ b/res/cardsfolder/n/nature_demands_an_offering.txt @@ -0,0 +1,20 @@ +Name:Nature Demands an Offering +ManaCost:no cost +Types:Scheme +T:Mode$ SetInMotion | ValidCard$ Card.Self | Execute$ ChooseCreature | TriggerZones$ Command | TriggerDescription$ When you set this scheme in motion, target opponent chooses a creature you don't control and puts it on top of its owner's library, then repeats this process for an artifact, an enchantment, and a land. Then the owner of each permanent chosen this way shuffles his or her library. +SVar:ChooseCreature:AB$ ChooseCard | ValidTgts$ Opponent | Cost$ 0 | Choices$ Creature.YouDontCtrl | Mandatory$ True | SubAbility$ BounceCreature +SVar:BounceCreature:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Battlefield | Destination$ Library | Imprint$ True | UnImprint$ True | LibraryPosition$ 0 | SubAbility$ DBRemember1 +SVar:DBRemember1:DB$ Pump | RememberObjects$ ImprintedOwner | SubAbility$ ChooseArtifact +SVar:ChooseArtifact:DB$ ChooseCard | Defined$ ParentTarget | Choices$ Artifact.YouDontCtrl | Mandatory$ True | SubAbility$ BounceArtifact +SVar:BounceArtifact:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Battlefield | Destination$ Library | Imprint$ True | UnImprint$ True | LibraryPosition$ 0 | SubAbility$ DBRemember2 +SVar:DBRemember2:DB$ Pump | RememberObjects$ ImprintedOwner | SubAbility$ ChooseEnchant +SVar:ChooseEnchant:DB$ ChooseCard | Defined$ ParentTarget | Choices$ Enchantment.YouDontCtrl | Mandatory$ True | SubAbility$ BounceEnchant +SVar:BounceEnchant:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Battlefield | Destination$ Library | Imprint$ True | UnImprint$ True | LibraryPosition$ 0 | SubAbility$ DBRemember3 +SVar:DBRemember3:DB$ Pump | RememberObjects$ ImprintedOwner | SubAbility$ ChooseLand +SVar:ChooseLand:DB$ ChooseCard | Defined$ ParentTarget | Choices$ Land.YouDontCtrl | Mandatory$ True | SubAbility$ BounceLand +SVar:BounceLand:DB$ ChangeZone | Defined$ ChosenCard | Origin$ Battlefield | Destination$ Library | Imprint$ True | UnImprint$ True | LibraryPosition$ 0 | SubAbility$ DBRemember4 +SVar:DBRemember4:DB$ Pump | RememberObjects$ ImprintedOwner | SubAbility$ DBShuffle +SVar:DBShuffle:DB$ Shuffle | Defined$ Remembered | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True +SVar:Picture:http://www.cardforge.org/fpics/lq_schemes/nature_demands_an_offering.jpg +Oracle:When you set this scheme in motion, target opponent chooses a creature you don't control and puts it on top of its owner's library, then repeats this process for an artifact, an enchantment, and a land. Then the owner of each permanent chosen this way shuffles his or her library. diff --git a/src/main/java/forge/card/ability/AbilityUtils.java b/src/main/java/forge/card/ability/AbilityUtils.java index 3dab188cd60..321e4cf966d 100644 --- a/src/main/java/forge/card/ability/AbilityUtils.java +++ b/src/main/java/forge/card/ability/AbilityUtils.java @@ -805,6 +805,10 @@ public class AbilityUtils { for (final Card rem : card.getImprinted()) { players.add(rem.getController()); } + } else if (defined.equals("ImprintedOwner")) { + for (final Card rem : card.getImprinted()) { + players.add(rem.getOwner()); + } } else if (defined.startsWith("Triggered")) { final SpellAbility root = sa.getRootAbility(); Object o = null;