From d95b5d2d0832a617e09c7419740745409fc869c1 Mon Sep 17 00:00:00 2001 From: Simisays <67333662+Simisays@users.noreply.github.com> Date: Sat, 3 Sep 2022 13:56:48 +0200 Subject: [PATCH] Threats Undetected and support (#1455) --- .../forge/game/ability/effects/ChangeZoneEffect.java | 6 ++++++ .../res/cardsfolder/upcoming/threats_undetected.txt | 9 +++++++++ 2 files changed, 15 insertions(+) create mode 100644 forge-gui/res/cardsfolder/upcoming/threats_undetected.txt diff --git a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java index 2c873cb317d..fb43d803b3a 100644 --- a/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java +++ b/forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java @@ -1143,6 +1143,11 @@ public class ChangeZoneEffect extends SpellAbilityEffect { fetchList = CardLists.filter(fetchList, Predicates.not(CardPredicates.sharesCMCWith(c))); } } + if (sa.hasParam("DifferentPower")) { + for (Card c : chosenCards) { + fetchList = CardLists.filter(fetchList, Predicates.not(Predicates.compose(Predicates.equalTo(c.getNetPower()), CardPredicates.Accessors.fnGetNetPower))); + } + } if (sa.hasParam("ShareLandType")) { // After the first card is chosen, check if the land type is shared for (final Card card : chosenCards) { @@ -1494,6 +1499,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { && !sa.hasParam("Mandatory") // only handle optional decisions, for now && !sa.hasParam("ShareLandType") && !sa.hasParam("DifferentNames") + && !sa.hasParam("DifferentPower") && !sa.hasParam("DifferentCMC") && !sa.hasParam("AtRandom") && (!sa.hasParam("Defined") || sa.hasParam("ChooseFromDefined")) diff --git a/forge-gui/res/cardsfolder/upcoming/threats_undetected.txt b/forge-gui/res/cardsfolder/upcoming/threats_undetected.txt new file mode 100644 index 00000000000..9e98775b237 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/threats_undetected.txt @@ -0,0 +1,9 @@ +Name:Threats Undetected +ManaCost:2 G +Types:Sorcery +A:SP$ ChangeZone | Origin$ Library | Destination$ Library | ChangeType$ Creature | ChangeNum$ 4 | DifferentPower$ True | RememberChanged$ True | Reveal$ True | Shuffle$ False | SubAbility$ DBTwoPiles | SpellDescription$ Search your library for up to four creature cards with different powers and reveal them. An opponent chooses two of those cards. Shuffle the chosen cards into your library and put the rest into your hand. +SVar:DBTwoPiles:DB$ TwoPiles | Defined$ You | DefinedCards$ Remembered | Separator$ Opponent | ChosenPile$ DBLibrary | UnchosenPile$ DBHand | StackDescription$ An opponent chooses two of those cards. Shuffle the chosen cards into your library and put the rest into your hand. +SVar:DBLibrary:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Library +SVar:DBHand:DB$ ChangeZone | Defined$ Remembered | Origin$ Library | Destination$ Hand +DeckNeeds:Type$Creature +Oracle:Search your library for up to four creature cards with different powers and reveal them. An opponent chooses two of those cards. Shuffle the chosen cards into your library and put the rest into your hand.