Merge pull request #6609 from Northmoc/ydsk2

YDSK: improvising_aerialist.txt + support
This commit is contained in:
Paul Hammerton
2024-11-24 09:50:42 +00:00
committed by GitHub
2 changed files with 15 additions and 18 deletions

View File

@@ -650,25 +650,15 @@ public class CardProperty {
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))) {
return false;
}
} else if (property.startsWith("TopLibrary")) {
final CardCollectionView cards = card.getOwner().getCardsIn(ZoneType.Library);
if (cards.isEmpty() || !card.equals(cards.get(0))) {
return false;
}
} else if (property.startsWith("BottomLibrary")) {
CardCollection cards = new CardCollection(card.getOwner().getCardsIn(ZoneType.Library));
if (property.startsWith("BottomLibrary_")) {
cards = CardLists.getValidCards(cards, property.substring(14), sourceController, source, spellAbility);
}
Collections.reverse(cards);
if (cards.isEmpty() || !card.equals(cards.get(0))) {
return false;
} else if (property.startsWith("TopLibrary") || property.startsWith("BottomLibrary")) {
CardCollection cards = (CardCollection) card.getOwner().getCardsIn(ZoneType.Library);
if (!property.equals("TopLibrary")) {
if (property.equals("TopLibraryLand")) cards = CardLists.filter(cards, Presets.LANDS);
else if (property.contains("_")) cards = CardLists.getValidCards(cards, property.split("_")[1],
sourceController, source, spellAbility);
if (property.startsWith("Bottom")) Collections.reverse(cards);
}
if (cards.isEmpty() || !card.equals(cards.get(0))) return false;
} else if (property.startsWith("Cloned")) {
if (card.getCloneOrigin() == null || !card.getCloneOrigin().equals(source)) {
return false;

View File

@@ -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.