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 77a889bdc7d..a63c8fc6e31 100644 --- a/forge-game/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-game/src/main/java/forge/game/ability/AbilityUtils.java @@ -2627,7 +2627,7 @@ public class AbilityUtils { } if (sq[0].contains("CardTypes")) { - return doXMath(getCardTypesFromList(game.getCardsIn(ZoneType.smartValueOf(sq[1]))), expr, c, ctb); + return doXMath(getCardTypesFromList(getDefinedCards(c, sq[1], ctb)), expr, c, ctb); } if (sq[0].equals("TotalTurns")) { diff --git a/forge-gui/res/cardsfolder/a/altar_of_the_goyf.txt b/forge-gui/res/cardsfolder/a/altar_of_the_goyf.txt index e5f2ba527b6..c6fa9a06f94 100644 --- a/forge-gui/res/cardsfolder/a/altar_of_the_goyf.txt +++ b/forge-gui/res/cardsfolder/a/altar_of_the_goyf.txt @@ -4,6 +4,6 @@ Types:Tribal Artifact Lhurgoyf T:Mode$ Attacks | ValidCard$ Creature.YouCtrl | Alone$ True | TriggerZones$ Battlefield | Execute$ TrigPump | TriggerDescription$ Whenever a creature you control attacks alone, it gets +X/+X until end of turn, where X is the number of card types among cards in all graveyards. SVar:TrigPump:DB$ Pump | Defined$ TriggeredAttacker | NumAtt$ +X | NumDef$ +X S:Mode$ Continuous | Affected$ Creature.Lhurgoyf+YouCtrl | AddKeyword$ Trample | Description$ Lhurgoyf creatures you control have trample. -SVar:X:Count$CardTypes.Graveyard +SVar:X:Count$CardTypes.ValidGraveyard Card SVar:PlayMain1:TRUE Oracle:Whenever a creature you control attacks alone, it gets +X/+X until end of turn, where X is the number of card types among cards in all graveyards.\nLhurgoyf creatures you control have trample. diff --git a/forge-gui/res/cardsfolder/c/chimney_goyf.txt b/forge-gui/res/cardsfolder/c/chimney_goyf.txt index fb37863fcdf..0cfe9c9ffef 100644 --- a/forge-gui/res/cardsfolder/c/chimney_goyf.txt +++ b/forge-gui/res/cardsfolder/c/chimney_goyf.txt @@ -4,7 +4,7 @@ Types:Creature Lhurgoyf Imp PT:*/1+* K:Flying S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ Y | Description$ CARDNAME's power is equal to the number of card types among cards in all graveyards and its toughness is equal to that number plus 1. -SVar:X:Count$CardTypes.Graveyard +SVar:X:Count$CardTypes.ValidGraveyard Card SVar:Y:SVar$X/Plus.1 T:Mode$ ChangesZone | Origin$ Battlefield | Destination$ Graveyard | ValidCard$ Card.Self | Execute$ TrigChangeZone | TriggerController$ TriggeredCardController | TriggerDescription$ When CARDNAME dies, target opponent puts a card from their hand on top of their library. SVar:TrigChangeZone:DB$ ChangeZone | Origin$ Hand | Destination$ Library | LibraryPosition$ 0 | ValidTgts$ Opponent | ChangeType$ Card | ChangeNum$ 1 | Chooser$ Opponent | Mandatory$ True | IsCurse$ True diff --git a/forge-gui/res/cardsfolder/t/tarmogoyf.txt b/forge-gui/res/cardsfolder/t/tarmogoyf.txt index e24fcbe995c..e2921310068 100644 --- a/forge-gui/res/cardsfolder/t/tarmogoyf.txt +++ b/forge-gui/res/cardsfolder/t/tarmogoyf.txt @@ -3,7 +3,6 @@ ManaCost:1 G Types:Creature Lhurgoyf PT:*/1+* S:Mode$ Continuous | EffectZone$ All | CharacteristicDefining$ True | SetPower$ X | SetToughness$ Y | Description$ CARDNAME's power is equal to the number of card types among cards in all graveyards and its toughness is equal to that number plus 1. -SVar:X:Count$CardTypes.Graveyard +SVar:X:Count$CardTypes.ValidGraveyard Card SVar:Y:SVar$X/Plus.1 -SVar:Picture:http://www.wizards.com/global/images/magic/general/tarmogoyf.jpg Oracle:Tarmogoyf's power is equal to the number of card types among cards in all graveyards and its toughness is equal to that number plus 1. diff --git a/forge-gui/res/cardsfolder/upcoming/occult_epiphany.txt b/forge-gui/res/cardsfolder/upcoming/occult_epiphany.txt new file mode 100644 index 00000000000..066b02b2ad3 --- /dev/null +++ b/forge-gui/res/cardsfolder/upcoming/occult_epiphany.txt @@ -0,0 +1,11 @@ +Name:Occult Epiphany +ManaCost:X U +Types:Instant +A:SP$ Draw | NumCards$ X | SubAbility$ DBDiscard | SpellDescription$ Draw X cards, +SVar:DBDiscard:DB$ Discard | Defined$ You | Mode$ TgtChoose | NumCards$ X | RememberDiscarded$ True | SubAbility$ DBToken | SpellDescription$ then discard X cards. +SVar:DBToken:DB$ Token | TokenScript$ w_1_1_spirit_flying | TokenAmount$ Y | SubAbility$ DBCleanup | SpellDescription$ Create a 1/1 white Spirit creature token with flying for each card type among cards discarded this way. +SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True +SVar:X:Count$xPaid +SVar:Y:Count$CardTypes.Remembered +DeckHas:Ability$Discard & Ability$Token & Type$Spirit +Oracle:Draw X cards, then discard X cards. Create a 1/1 white Spirit creature token with flying for each card type among cards discarded this way.