diff --git a/forge-game/src/main/java/forge/game/card/CardProperty.java b/forge-game/src/main/java/forge/game/card/CardProperty.java index 2570a8a36ee..70068787441 100644 --- a/forge-game/src/main/java/forge/game/card/CardProperty.java +++ b/forge-game/src/main/java/forge/game/card/CardProperty.java @@ -650,6 +650,10 @@ public class CardProperty { if (cards.isEmpty() || !card.equals(cards.get(0))) { return false; } + } else if (property.startsWith("TopLibrary_")) { + CardCollection cards = new CardCollection(card.getOwner().getCardsIn(ZoneType.Library)); + cards = CardLists.getValidCards(cards, property.substring(11), sourceController, source, spellAbility); + if (cards.isEmpty() || !card.equals(cards.get(0))) return false; } else if (property.startsWith("TopLibraryLand")) { CardCollection cards = CardLists.filter(card.getOwner().getCardsIn(ZoneType.Library), CardPredicates.Presets.LANDS); if (cards.isEmpty() || !card.equals(cards.get(0))) { diff --git a/forge-gui/res/cardsfolder/i/improvising_aerialist.txt b/forge-gui/res/cardsfolder/i/improvising_aerialist.txt new file mode 100644 index 00000000000..56117666c89 --- /dev/null +++ b/forge-gui/res/cardsfolder/i/improvising_aerialist.txt @@ -0,0 +1,7 @@ +Name:Improvising Aerialist +ManaCost:1 W +Types:Creature Human Survivor +PT:3/2 +T:Mode$ Phase | Phase$ Main | PhaseCount$ 2 | ValidPlayer$ You | PresentDefined$ Self | IsPresent$ Card.tapped | Execute$ TrigPerpetual | TriggerDescription$ Survival — At the beginning of your second main phase, if CARDNAME is tapped, CARDNAME and the top creature card in your library without flying perpetually gain flying. +SVar:TrigPerpetual:DB$ Pump | PumpZone$ Battlefield,Library | Defined$ Self & ValidLibrary Creature.YouOwn+TopLibrary_Creature.withoutFlying | KW$ Flying | Duration$ Perpetual +Oracle:Survival — At the beginning of your second main phase, if Improvising Aerialist is tapped, Improvising Aerialist and the top creature card in your library without flying perpetually gain flying.