diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 3c61ac3b4..86da76248 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -6819,6 +6819,60 @@ power=2 toughness=2 [/card] [card] +name=Catch // Release +other={4}{R}{W} name(Release) +kicker={4}{R}{W} +auto=if paid(alternative) then ability$!name(Sacrifice artifact) name(Sacrifice artifact) notatarget(artifact|mybattlefield) sacrifice!$ controller +auto=if paid(alternative) then ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ controller +auto=if paid(alternative) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ controller +auto=if paid(alternative) then ability$!name(Sacrifice land) name(Sacrifice land) notatarget(land|mybattlefield) sacrifice!$ controller +auto=if paid(alternative) then ability$!name(Sacrifice planeswalker) name(Sacrifice planeswalker) notatarget(planeswalker|mybattlefield) sacrifice!$ controller +auto=if paid(alternative) then ability$!name(Sacrifice artifact) name(Sacrifice artifact) notatarget(artifact|mybattlefield) sacrifice!$ opponent +auto=if paid(alternative) then ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ opponent +auto=if paid(alternative) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ opponent +auto=if paid(alternative) then ability$!name(Sacrifice land) name(Sacrifice land) notatarget(land|mybattlefield) sacrifice!$ opponent +auto=if paid(alternative) then ability$!name(Sacrifice planeswalker) name(Sacrifice planeswalker) notatarget(planeswalker|mybattlefield) sacrifice!$ opponent +auto=ifnot paid(alternative) then target(*|battlefield) moveto(mybattlefield) and!(transforms((,newability[phaseaction[endofturn sourceinplay] moveTo(previousbattlefield)],newability[untap],haste)) ueot)! +auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice artifact) name(Sacrifice artifact) notatarget(artifact|mybattlefield) sacrifice!$ controller +auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ controller +auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ controller +auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice land) name(Sacrifice land) notatarget(land|mybattlefield) sacrifice!$ controller +auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice planeswalker) name(Sacrifice planeswalker) notatarget(planeswalker|mybattlefield) sacrifice!$ controller +auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice artifact) name(Sacrifice artifact) notatarget(artifact|mybattlefield) sacrifice!$ opponent +auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice creature) name(Sacrifice creature) notatarget(creature|mybattlefield) sacrifice!$ opponent +auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ opponent +auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice land) name(Sacrifice land) notatarget(land|mybattlefield) sacrifice!$ opponent +auto=kicker ifnot paid(alternative) then ability$!name(Sacrifice planeswalker) name(Sacrifice planeswalker) notatarget(planeswalker|mybattlefield) sacrifice!$ opponent +text=kicker Gain control of target permanent until end of turn. Untap it. It gains haste until end of turn. // Each player sacrifices an artifact, a creature, an enchantment, a land, and a planeswalker. -- -- Fuse (You may cast one or both halves of this card from your hand.) +mana={1}{U}{R} +type=Sorcery +[/card] +[card] +name=Cast Through Time +auto=@movedTo(*[instant;sorcery]|myStack):all(trigger[to]) transforms((,newability[gainedexiledeath],newability[phaseaction[my upkeep once] counter(0/0.1.PlayExile)])) ueot +auto=@each my upkeep:all(*[instant;sorcery]|myexile) removeallcounters(0/0,-1,PlayExile) +auto=@each my upkeep:foreach(*[counter{0/0.1.PlayExile}]|myexile) ability$!name(Choose one) choice name(Cast card from exile) activate castcard(normal) target(*[instant;sorcery;counter{0/0.1.PlayExile}]|myexile) _ choice name(Don't cast card from exile) donothing!$ controller +text=Instant and sorcery spells you control have rebound. (Exile the spell as it resolves if you cast it from your hand. At the beginning of your next upkeep, you may cast that card from exile without paying its mana cost.) +mana={4}{U}{U}{U} +type=Enchantment +[/card] +[card] +name=Cataclysm +auto=if type(artifact[|mybattlefield)~morethan~1 then ability$!name(Sacrifice artifact) name(Sacrifice artifact) sacrifice notatarget(artifact|mybattlefield)!$ controller +auto=if type(artifact|opponentbattlefield)~morethan~1 then ability$!name(Sacrifice artifact) name(Sacrifice artifact) sacrifice notatarget(artifact|mybattlefield)!$ opponent +auto=if type(creature|mybattlefield)~morethan~1 then ability$!name(Sacrifice creature) name(Sacrifice creature) sacrifice notatarget(creature|mybattlefield)!$ controller +auto=if type(creature|opponentbattlefield)~morethan~1 then ability$!name(Sacrifice creature) name(Sacrifice creature) sacrifice notatarget(creature|mybattlefield)!$ opponent +auto=if type(enchantment|mybattlefield)~morethan~1 then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) sacrifice notatarget(enchantment|mybattlefield)!$ controller +auto=if type(enchantment|opponentbattlefield)~morethan~1 then ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) sacrifice notatarget(enchantment|mybattlefield)!$ opponent +auto=if type(land|mybattlefield)~morethan~1 then ability$!name(Sacrifice land) name(Sacrifice land) sacrifice notatarget(land|mybattlefield)!$ controller +auto=if type(land|opponentbattlefield)~morethan~1 then ability$!name(Sacrifice land) name(Sacrifice land) sacrifice notatarget(land|mybattlefield)!$ opponent +auto=if type(planeswalker|mybattlefield)~morethan~0 then ability$!name(Sacrifice planeswalkers) name(Sacrifice planeswalkers) sacrifice notatarget(planeswalker|mybattlefield)!$ controller +auto=if type(planeswalker|opponentbattlefield)~morethan~0 then ability$!name(Sacrifice planeswalkers) name(Sacrifice planeswalkers) sacrifice notatarget(planeswalker|mybattlefield)!$ opponent +text=Each player chooses from the permanents he or she controls an artifact, a creature, an enchantment, and a land, then sacrifices the rest. +mana={2}{W}{W} +type=Sorcery +[/card] +[card] name=Cathedral Membrane abilities=defender other={1}{L:2} name(Pay 2 Life) @@ -6949,6 +7003,27 @@ text={T}: Add {1}. -- {1}, {T}: Add one mana of any color. -- {4}, {T}, Sacrific type=Land [/card] [card] +name=Cavern of Souls +auto={T}:add{C} +auto=chooseatype transforms((,newability[@targeted(creature[chosentype]|mystack) from(instant|opponentzones):choice name(Creaure can't be countered) name(Creaure can't be countered) all(instant|opponentzones) fizzle],newability[{T}:add{W} restriction{type(creature[chosentype]|myhand)~morethan~0}],newability[{T}:add{U} restriction{type(creature[chosentype]|myhand)~morethan~0}],newability[{T}:add{R} restriction{type(creature[chosentype]|myhand)~morethan~0}],newability[{T}:add{G} restriction{type(creature[chosentype]|myhand)~morethan~0}],newability[{T}:add{B} restriction{type(creature[chosentype]|myhand)~morethan~0}])) chooseend +text=As Cavern of Souls enters the battlefield, choose a creature type. -- {T}: Add {1} to your mana pool. -- {T}: Add one mana of any color to your mana pool. Spend this mana only to cast a creature spell of the chosen type, and that spell can't be countered. +type=Land +[/card] +[card] +name=Caverns of Despair +auto=lord(creature[-counter{0/0.1.CanAttack}]|battlefield) cantattack +auto=lord(creature[-counter{0/0.1.CanBlock}]|battlefield) cantblock +auto=@each my combatbegins:ability$!name(Choose 2 attacking creature) name(Choose 2 attacking creature) target(<2>creature|mybattlefield) counter(0/0,1,CanAttack)!$ controller +auto=@each my combatbegins:ability$!name(Choose 2 blocking creature) name(Choose 2 blocking creature) target(<2>creature|mybattlefield) counter(0/0,1,CanBlock)!$ opponent +auto=@each opponent combatbegins:ability$!name(Choose 2 attacking creature) name(Choose 2 attacking creature) target(<2>creature|mybattlefield) counter(0/0,1,CanAttack)!$ opponent +auto=@each opponent combatbegins:ability$!name(Choose 2 blocking creature) name(Choose 2 blocking creature) target(<2>creature|mybattlefield) counter(0/0,1,CanBlock)!$ controller +auto=@each combatends:all(creature|battlefield) removeallcounters(0/0.1.CanAttack) +auto=@each combatends:all(creature|battlefield) removeallcounters(0/0.1.CanBlock) +text=No more than two creatures can attack each combat. -- No more than two creatures can block each combat. +mana={2}{R}{R} +type=World Enchantment +[/card] +[card] name=Cavern Whisperer abilities=menace,mutate otherrestriction=type(creature[-human]|mybattlefield)~morethan~0 @@ -52740,6 +52815,33 @@ mana={2}{U} type=Enchantment [/card] [card] +name=Veiled Sentry +auto=@movedto(*[manacost=0]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=0,settoughness=0)) forever +auto=@movedto(*[manacost=1]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=1,settoughness=1)) forever +auto=@movedto(*[manacost=2]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=2,settoughness=2)) forever +auto=@movedto(*[manacost=3]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=3,settoughness=3)) forever +auto=@movedto(*[manacost=4]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=4,settoughness=4)) forever +auto=@movedto(*[manacost=5]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=5,settoughness=5)) forever +auto=@movedto(*[manacost=6]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=6,settoughness=6)) forever +auto=@movedto(*[manacost=7]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=7,settoughness=7)) forever +auto=@movedto(*[manacost=8]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=8,settoughness=8)) forever +auto=@movedto(*[manacost=9]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=9,settoughness=9)) forever +auto=@movedto(*[manacost=10]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=10,settoughness=10)) forever +auto=@movedto(*[manacost=11]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=11,settoughness=11)) forever +auto=@movedto(*[manacost=12]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=12,settoughness=12)) forever +auto=@movedto(*[manacost=13]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=13,settoughness=13)) forever +auto=@movedto(*[manacost=14]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=14,settoughness=14)) forever +auto=@movedto(*[manacost=15]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=15,settoughness=15)) forever +auto=@movedto(*[manacost=16]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=16,settoughness=16)) forever +auto=@movedto(*[manacost=17]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=17,settoughness=17)) forever +auto=@movedto(*[manacost=18]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=18,settoughness=18)) forever +auto=@movedto(*[manacost=19]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=19,settoughness=19)) forever +auto=@movedto(*[manacost=20]|opponentstack) once:this(counter{0/0.1.VeiledTransformed}=0) transforms((removetypes,newability[counter(0/0.1.VeiledTransformed)])) forever && transforms((Creature Illusion,setpower=20,settoughness=20)) forever +text=When an opponent casts a spell, if Veiled Sentry is an enchantment, Veiled Sentry becomes an Illusion creature with power and toughness each equal to that spell's converted mana cost. +mana={U} +type=Enchantment +[/card]] +[card] name=Veiled Shade auto={1}{B}:1/1 ueot text={1}{B}: Veiled Shade gets +1/+1 until end of turn. @@ -53261,6 +53363,18 @@ power=6 toughness=4 [/card] [card] +name=Vile Manifestation +abilities=cycling +autohand=__CYCLING__({2}) +auto=foreach(*[cycling]|mygraveyard) 1/0 +text=Vile Manifestation gets +1/+0 for each card with cycling in your graveyard. -- Cycling {2} ({2}, Discard this card: Draw a card.) +mana={1}{B} +type=Creature +subtype=Horror +power=0 +toughness=4 +[/card] +[card] name=Vilis, Broker of Blood abilities=flying auto={B}{L:2}:-1/-1 target(creature) ueot @@ -53642,6 +53756,14 @@ power=4 toughness=5 [/card] [card] +name=Voidslime +target=*|stack +auto=fizzle +text=Counter target spell, activated ability, or triggered ability. (Mana abilities can't be targeted.) +mana={U}{U}{G} +type=Instant +[/card] +[card] name=Volatile Claws auto=all(creature|myBattlefield) 2/0 auto=all(creature|myBattlefield) transforms((allsubtypes)) @@ -55731,6 +55853,18 @@ power=0 toughness=0 [/card] [card] +name=Yosei, the Morning Star +abilities=flying +auto=@movedto(this|graveyard) from(mybattlefield):all(*|opponentbattlefield) frozen +auto=@movedto(this|graveyard) from(mybattlefield):name(Tap up to 5 permanents) name(Tap up to 5 permanents) target(*|opponentbattlefield) tap(noevent) +text=Flying -- When Yosei, the Morning Star dies, target player skips his or her next untap step. Tap up to five target permanents that player controls. +mana={4}{W}{W} +type=Legendary Creature +subtype=Dragon Spirit +power=5 +toughness=5 +[/card] +[card] name=Yuriko, the Tiger's Shadow autohand={U}{B}{N}:ninjutsu autocommandzone={U}{B}{N}:ninjutsu @@ -55790,6 +55924,15 @@ power=1 toughness=1 [/card] [card] +name=Zagoth Triome +abilities=cycling +auto=tap(noevent) +autohand=__CYCLING__({3}) +text=({T}: Add {B}, {G}, or {U}.) -- Zagoth Triome enters the battlefield tapped. -- Cycling {3} ({3}, Discard this card: Draw a card.) +type=Land +subtype=Swamp Forest Island +[/card] +[card] name=Zagras, Thief of Heartbeats abilities=flying,deathtouch,haste autoexile=this(variable{calculateparty}=1) changecost(colorless:-1) forcedalive diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index 6dd4e9308..a36cab90a 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -1854,46 +1854,17 @@ type=Enchantment subtype=Aura [/card] [card] -name=Cast Through Time -text=Instant and sorcery spells you control have rebound. (Exile the spell as it resolves if you cast it from your hand. At the beginning of your next upkeep, you may cast that card from exile without paying its mana cost.) -mana={4}{U}{U}{U} -type=Enchantment -[/card] -[card] -name=Cataclysm -text=Each player chooses from the permanents he or she controls an artifact, a creature, an enchantment, and a land, then sacrifices the rest. -mana={2}{W}{W} -type=Sorcery -[/card] -[card] name=Catalyst Stone text=Flashback costs you pay cost up to {2} less. -- Flashback costs your opponents pay cost {2} more. mana={2} type=Artifact [/card] [card] -name=Catch // Release -text=Gain control of target permanent until end of turn. Untap it. It gains haste until end of turn. -- // -- Each player sacrifices an artifact, a creature, an enchantment, a land, and a planeswalker. -- -- Fuse (You may cast one or both halves of this card from your hand.) -mana={1}{U}{R} // {4}{R}{W} -type=Sorcery // Sorcery -[/card] -[card] name=Cathedral of Serra text=White legendary creatures you control have "bands with other legendary creatures." (Any legendary creatures can attack in a band as long as at least one has "bands with other legendary creatures." Bands are blocked as a group. If at least two legendary creatures you control, one of which has "bands with other legendary creatures," are blocking or being blocked by the same creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.) type=Land [/card] [card] -name=Cavern of Souls -text=As Cavern of Souls enters the battlefield, choose a creature type. -- {T}: Add {1} to your mana pool. -- {T}: Add one mana of any color to your mana pool. Spend this mana only to cast a creature spell of the chosen type, and that spell can't be countered. -type=Land -[/card] -[card] -name=Caverns of Despair -text=No more than two creatures can attack each combat. -- No more than two creatures can block each combat. -mana={2}{R}{R} -type=World Enchantment -[/card] -[card] name=Ceaseless Searblades text=Whenever you activate an ability of an Elemental, Ceaseless Searblades gets +1/+0 until end of turn. mana={3}{R} @@ -13885,12 +13856,6 @@ type=Instant subtype=Arcane [/card] [card] -name=Veiled Sentry -text=When an opponent casts a spell, if Veiled Sentry is an enchantment, Veiled Sentry becomes an Illusion creature with power and toughness each equal to that spell's converted mana cost. -mana={U} -type=Enchantment -[/card] -[card] name=Vengeful Archon abilities=flying text=Flying -- {X}: Prevent the next X damage that would be dealt to you this turn. If damage is prevented this way, Vengeful Archon deals that much damage to target player. @@ -13985,15 +13950,6 @@ power=2{1/2} toughness=2{1/2} [/card] [card] -name=Vile Manifestation -text=Vile Manifestation gets +1/+0 for each card with cycling in your graveyard. -- Cycling {2} ({2}, Discard this card: Draw a card.) -mana={1}{B} -type=Creature -subtype=Horror -power=0 -toughness=4 -[/card] -[card] name=Vision Charm text=Choose one — Target player puts the top four cards of his or her library into his or her graveyard; or choose a land type and a basic land type, and each land of the first chosen type becomes the second chosen type until end of turn; or target artifact phases out. (While it's phased out, it's treated as though it doesn't exist. It phases in before its controller untaps during his or her next untap step.) mana={U} @@ -14045,12 +14001,6 @@ power=2 toughness=2 [/card] [card] -name=Voidslime -text=Counter target spell, activated ability, or triggered ability. (Mana abilities can't be targeted.) -mana={U}{U}{G} -type=Instant -[/card] -[card] name=Voidstone Gargoyle abilities=flying text=Flying -- As Voidstone Gargoyle enters the battlefield, name a nonland card. -- The named card can't be cast. -- Activated abilities of sources with the chosen name can't be activated. @@ -14757,16 +14707,6 @@ mana={3}{R}{R} type=Enchantment [/card] [card] -name=Yosei, the Morning Star -abilities=flying -text=Flying -- When Yosei, the Morning Star dies, target player skips his or her next untap step. Tap up to five target permanents that player controls. -mana={4}{W}{W} -type=Legendary Creature -subtype=Dragon Spirit -power=5 -toughness=5 -[/card] -[card] name=Your Fate Is Thrice Sealed text=When you set this scheme in motion, reveal the top three cards of your library. Put all land cards revealed this way onto the battlefield and the rest into your hand. type=Scheme