From 7638f2dab2d0b831d60c6a2514ea166488601ea9 Mon Sep 17 00:00:00 2001 From: Northmoc Date: Sat, 30 Jan 2021 16:57:03 -0500 Subject: [PATCH 1/2] tibalts_trickery.txt --- .../res/cardsfolder/upcoming/tibalts_trickery.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/tibalts_trickery.txt diff --git a/forge-gui/res/cardsfolder/upcoming/tibalts_trickery.txt b/forge-gui/res/cardsfolder/upcoming/tibalts_trickery.txt new file mode 100644 index 00000000000..eccf4ce527a --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/tibalts_trickery.txt @@ -0,0 +1,13 @@ +Name:Tibalt's Trickery +ManaCost:1 R +Types:Instant +A:SP$ Counter | TargetType$ Spell | TgtPrompt$ Select target spell | ValidTgts$ Card | SubAbility$ DBRandom | Destination$ Graveyard | RememberCountered$ True | StackDescription$ SpellDescription | SpellDescription$ Counter target spell. Choose 1, 2, or 3 at random. Its controller mills that many cards, then exiles cards from the top of their library until they exile a nonland card with a different name than that spell. They may cast that card without paying its mana cost. Then they put the exiled cards on the bottom of their library in a random order. +SVar:DBRandom:DB$ ChooseNumber | Min$ 1 | Max$ 3 | Defined$ You | Random$ True | SubAbility$ DBMill | StackDescription$ None +SVar:DBMill:DB$ Mill | NumCards$ X | References$ X | Defined$ TargetedController | SubAbility$ DBDig | StackDescription$ None +SVar:DBDig:DB$ DigUntil | Defined$ TargetedController | Valid$ Card.nonLand+doesNotShareNameWith Remembered | FoundDestination$ Exile | RevealedDestination$ Exile | RememberFound$ True | ForgetOtherRemembered$ True | ImprintRevealed$ True | SubAbility$ DBPlay | StackDescription$ None +SVar:DBPlay:DB$ Play | Controller$ TargetedController | OptionalDecider$ TargetedController | Defined$ Remembered | WithoutManaCost$ True | Optional$ True | SubAbility$ DBChangeZone | StackDescription$ None +SVar:DBChangeZone:DB$ ChangeZoneAll | ChangeType$ Card.IsImprinted | Origin$ Exile | Destination$ Library | RandomOrder$ True | LibraryPosition$ -1 | SubAbility$ DBCleanup +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True | ClearImprinted$ True +SVar:X:Count$ChosenNumber +DeckHas:Ability$Mill +Oracle:Counter target spell. Choose 1, 2, or 3 at random. Its controller mills that many cards, then exiles cards from the top of their library until they exile a nonland card with a different name than that spell. They may cast that card without paying its mana cost. Then they put the exiled cards on the bottom of their library in a random order. From 0846fa687d326d18b23fa235e9181852b17aff7c Mon Sep 17 00:00:00 2001 From: Northmoc Date: Sat, 30 Jan 2021 16:57:39 -0500 Subject: [PATCH 2/2] add ForgetOtherRemembered param to DigUntilEffect --- .../main/java/forge/game/ability/effects/DigUntilEffect.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java b/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java index 3ab37fa427d..90997aa65e9 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/DigUntilEffect.java @@ -133,6 +133,9 @@ public class DigUntilEffect extends SpellAbilityEffect { revealed.add(c); if (c.isValid(type, sa.getActivatingPlayer(), host, sa)) { found.add(c); + if (sa.hasParam("ForgetOtherRemembered")) { + host.clearRemembered(); + } if (remember) { host.addRemembered(c); }