diff --git a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java index 930773573ed..7b215fa299f 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -2662,6 +2662,27 @@ public class AbilityUtils { return doXMath(manaCost.size(), expr, c, ctb); } + //Count$DifferentManaValue + if (l[0].contains("DifferentManaValue")) { + String[] sqparts = l[0].split(" ", 2); + final String[] rest = sqparts[1].split(","); + + final CardCollectionView cardsInZones = sqparts[0].length() > 18 + ? game.getCardsIn(ZoneType.listValueOf(sqparts[0].substring(18))) + : game.getCardsIn(ZoneType.Battlefield); + + CardCollection cards = CardLists.getValidCards(cardsInZones, rest, player, c, ctb); + final List cmcs = Lists.newArrayList(); + + for (Card card : cards) { + Integer cmc = card.getCMC(); + if (!cmcs.contains(cmc)) { + cmcs.add(cmc); + } + } + return doXMath(cmcs.size(), expr, c, ctb); + } + if (sq[0].equals("StormCount")) { return doXMath(game.getStack().getSpellsCastThisTurn().size() - 1, expr, c, ctb); } diff --git a/forge-gui/res/cardsfolder/s/sudden_insight.txt b/forge-gui/res/cardsfolder/s/sudden_insight.txt index efa48a65856..4dccadd8582 100644 --- a/forge-gui/res/cardsfolder/s/sudden_insight.txt +++ b/forge-gui/res/cardsfolder/s/sudden_insight.txt @@ -1,8 +1,6 @@ Name:Sudden Insight ManaCost:4 U U Types:Instant -A:SP$ PumpAll | ValidCards$ Card.YouOwn+nonLand | PumpZone$ Graveyard | RememberAllPumped$ True | SubAbility$ DBDraw | StackDescription$ SpellDescription | SpellDescription$ Draw a card for each different mana value among nonland cards in your graveyard. -SVar:DBDraw:DB$ Draw | Defined$ You | NumCards$ X | SubAbility$ DBCleanup | StackDescription$ None -SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True -SVar:X:Remembered$DifferentCMC +A:SP$ Draw | NumCards$ X | SpellDescription$ Draw a card for each different mana value among nonland cards in your graveyard. +SVar:X:Count$DifferentManaValueGraveyard Card.YouOwn+nonLand Oracle:Draw a card for each different mana value among nonland cards in your graveyard.