mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
Merge pull request #1306 from Northmoc/memories
Distant Memories refactor and related
This commit is contained in:
@@ -198,7 +198,7 @@ public class ChooseGenericEffectAi extends SpellAbilityAi {
|
||||
} else if ("SinProdder".equals(logic)) {
|
||||
SpellAbility allow = null, deny = null;
|
||||
for (final SpellAbility sp : spells) {
|
||||
if (sp.getDescription().equals("Allow")) {
|
||||
if (sp.getDescription().equals("No")) {
|
||||
allow = sp;
|
||||
} else {
|
||||
deny = sp;
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
Name:Distant Memories
|
||||
ManaCost:2 U U
|
||||
Types:Sorcery
|
||||
A:SP$ ChangeZone | Origin$ Library | Destination$ Exile | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True | RememberChanged$ True | AILogic$ BestCard | SubAbility$ DBReturn | StackDescription$ SpellDescription | SpellDescription$ Search your library for a card, exile it, then shuffle. Any opponent may have you put that card into your hand. If no player does, you draw three cards.
|
||||
SVar:DBReturn:DB$ ChangeZone | Origin$ Exile | Destination$ Hand | ChangeType$ Card.IsRemembered | Hidden$ True | Chooser$ Opponent | SelectPrompt$ Select a card to put in the opponent's hand, or they will draw three cards. | SkipCancelPrompt$ True | ForgetChanged$ True | SubAbility$ DBDraw
|
||||
SVar:DBDraw:DB$ Draw | NumCards$ 3 | ConditionDefined$ Remembered | ConditionZone$ Exile | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup | StackDescription$ None
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
A:SP$ ChangeZone | Origin$ Library | Destination$ Exile | ChangeType$ Card | ChangeNum$ 1 | Mandatory$ True | Imprint$ True | AILogic$ BestCard | SubAbility$ DBReturn | StackDescription$ SpellDescription | SpellDescription$ Search your library for a card, exile it, then shuffle. Any opponent may have you put that card into your hand. If no player does, you draw three cards.
|
||||
SVar:DBRepeat:DB$ RepeatEach | RepeatPlayers$ Opponent | RepeatSubAbility$ DBChoose | SubAbility$ DBDraw
|
||||
SVar:DBChoose:DB$ GenericChoice | Defined$ Remembered | Choices$ DBToHand,DoNothing | ChoicePrompt$ Have them put the card in their hand? | ConditionDefined$ Imprinted | ConditionZone$ Exile | ConditionPresent$ Card | ConditionCompare$ EQ1
|
||||
SVar:DBToHand:DB$ ChangeZone | Origin$ Exile | Destination$ Hand | Defined$ Imprinted | Unimprint$ True | SpellDescription$ Yes
|
||||
SVar:DoNothing:DB$ Cleanup | SpellDescription$ No
|
||||
SVar:DBDraw:DB$ Draw | NumCards$ 3 | ConditionDefined$ Imprinted | ConditionZone$ Exile | ConditionPresent$ Card | ConditionCompare$ GE1 | SubAbility$ DBCleanup | StackDescription$ None
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearImprinted$ True
|
||||
SVar:NeedsToPlayVar:X LE4
|
||||
SVar:X:Count$InYourHand
|
||||
Oracle:Search your library for a card, exile it, then shuffle. Any opponent may have you put that card into your hand. If no player does, you draw three cards.
|
||||
|
||||
@@ -3,16 +3,16 @@ 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.
|
||||
SVar:ChooseCreature:DB$ ChooseCard | ValidTgts$ Opponent | 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: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: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: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: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
|
||||
|
||||
@@ -6,9 +6,9 @@ K:Menace
|
||||
T:Mode$ Phase | Phase$ Upkeep | ValidPlayer$ You | TriggerZones$ Battlefield | Execute$ TrigPeek | TriggerDescription$ At the beginning of your upkeep, reveal the top card of your library. Any opponent may have you put that card into your graveyard. If a player does, Sin Prodder deals damage to that player equal to that card's mana value. Otherwise, put that card into your hand.
|
||||
SVar:TrigPeek:DB$ PeekAndReveal | PeekAmount$ 1 | RevealValid$ Card | ImprintRevealed$ True | SubAbility$ DBRepeat
|
||||
SVar:DBRepeat:DB$ RepeatEach | RepeatPlayers$ Opponent | RepeatSubAbility$ DBProd | SubAbility$ DBPutIntoHand
|
||||
SVar:DBProd:DB$ GenericChoice | Defined$ Remembered | Choices$ DBMillAndDamage,DoNothing | ConditionDefined$ Imprinted | ConditionPresent$ Card | ConditionCompare$ EQ1 | AILogic$ SinProdder
|
||||
SVar:DoNothing:DB$ Cleanup | SpellDescription$ Allow
|
||||
SVar:DBMillAndDamage:DB$ Mill | Defined$ You | NumCards$ 1 | SubAbility$ DBDamage | SpellDescription$ Deny
|
||||
SVar:DBProd:DB$ GenericChoice | Defined$ Remembered | Choices$ DBGraveAndDamage,DoNothing | ChoicePrompt$ Have them put the card into their graveyard? | ConditionDefined$ Imprinted | ConditionPresent$ Card | ConditionCompare$ EQ1 | AILogic$ SinProdder
|
||||
SVar:DoNothing:DB$ Cleanup | SpellDescription$ No
|
||||
SVar:DBGraveAndDamage:DB$ ChangeZone | Origin$ Library | Destination$ Graveyard | Defined$ Imprinted | SubAbility$ DBDamage | SpellDescription$ Yes (take damage)
|
||||
SVar:DBDamage:DB$ DealDamage | Defined$ Remembered | NumDmg$ X | SubAbility$ DBCleanup
|
||||
SVar:X:Imprinted$CardManaCost
|
||||
SVar:DBPutIntoHand:DB$ Dig | DigNum$ 1 | ChangeNum$ All | ChangeValid$ Card | DestinationZone$ Hand | SubAbility$ DBCleanup | ConditionDefined$ Imprinted | ConditionPresent$ Card | ConditionCompare$ EQ1
|
||||
|
||||
Reference in New Issue
Block a user