diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 17627bfcf..aaef8ccea 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -58,6 +58,17 @@ power=1 toughness=2 [/card] [card] +name=Conflux +auto=ability$!moveto(myhand) notatarget(*[white]|mylibrary)!$ controller +auto=ability$!moveto(myhand) notatarget(*[blue]|mylibrary)!$ controller +auto=ability$!moveto(myhand) notatarget(*[black]|mylibrary)!$ controller +auto=ability$!moveto(myhand) notatarget(*[red]|mylibrary)!$ controller +auto=ability$!moveto(myhand) notatarget(*[green]|mylibrary)!$ controller +text=Search your library for a white card, a blue card, a black card, a red card, and a green card. Reveal those cards and put them into your hand. Then shuffle your library. +mana={3}{W}{U}{B}{R}{G} +type=Sorcery +[/card] +[card] name=Consume Strength #can target same creature target=creature @@ -187,6 +198,18 @@ mana={5}{U} type=Sorcery [/card] [card] +name=Hellcarver Demon +#you can't order the stack +abilities=flying +auto=@combatdamaged(player) from(this):sacrifice all(other *|mybattlefield) && discard:type:*:myhand && reveal:6 optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[-land]|*) then transforms((,newability[may activate castcard(normal)]])) oneshot )! optiononeend revealend +text=Flying -- Whenever Hellcarver Demon deals combat damage to a player, sacrifice all other permanents you control and discard your hand. Exile the top six cards of your library. You may cast any number of nonland cards exiled this way without paying their mana costs. +mana={3}{B}{B}{B} +type=Creature +subtype=Demon +power=6 +toughness=6 +[/card] +[card] name=Hypergenesis color=green restriction=turn:200 @@ -288,6 +311,18 @@ type=Instant text=Target creature gets +2/+2 until end of turn. Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) [/card] [card] +name=Qasali Ambusher +abilities=reach,spellmastery +other={0} name(cast for free) +otherrestriction=type(creature[attacking]|opponentbattlefield)~morethan~0,type(forest|mybattlefield)~morethan~0,type(plains|mybattlefield)~morethan~0 +text=Reach -- If a creature is attacking you and you control a Forest and a Plains, you may cast Qasali Ambusher without paying its mana cost and as though it had flash. +mana={1}{G}{W} +type=Creature +subtype=Cat Warrior +power=2 +toughness=3 +[/card] +[card] name=Rakdos Augermage abilities=first strike auto={T}:name(target opponent) target(opponent) donothing && all(this) transforms((,newability[ability$!name(discard) reject notatarget(*|opponenthand)!$ targetedplayer && ability$!name(discard) reject notatarget(*|opponenthand)!$ controller])) assorcery @@ -398,6 +433,16 @@ mana={G}{W} type=Instant [/card] [card] +name=Shard Convergence +auto=ability$!moveto(myhand) notatarget(*[plains]|mylibrary)!$ controller +auto=ability$!moveto(myhand) notatarget(*[island]|mylibrary)!$ controller +auto=ability$!moveto(myhand) notatarget(*[swamp]|mylibrary)!$ controller +auto=ability$!moveto(myhand) notatarget(*[mountain]|mylibrary)!$ controller +text=Search your library for a Plains card, an Island card, a Swamp card, and a Mountain card. Reveal those cards and put them into your hand. Then shuffle your library. +mana={3}{G} +type=Sorcery +[/card] +[card] name=Silvergill Adept otherrestriction=type(*[merfolk]|myhand)~lessthan~2 other={4}{U} diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 8ffa7ea88..942758ba5 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -21205,6 +21205,15 @@ abilities=devoid type=Instant [/card] [card] +name=Consuming Vapors +target=player +auto=ability$! notatarget(creature|mybattlefield) dynamicability sacrifice ) !$ targetedplayer +auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! +text=Target player sacrifices a creature. You gain life equal to that creature's toughness. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +mana={3}{B} +type=Sorcery +[/card] +[card] name=Consumptive Goo auto={2}{B}{B}:counter(1/1,1) all(this) && -1/-1 target(creature) text={2}{B}{B}: Target creature gets -1/-1 until end of turn. Put a +1/+1 counter on Consumptive Goo. @@ -28815,6 +28824,16 @@ mana={X}{U}{U}{U} type=Sorcery [/card] [card] +name=Distortion Strike +target=creature +auto=1/0 ueot +auto=unblockable ueot +auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! +text=Target creature gets +1/+0 until end of turn and is unblockable this turn. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +mana={U} +type=Sorcery +[/card] +[card] name=Distress target=player auto=reveal:type:*:targetedpersonshand revealzone(targetedpersonshand) optionone name(choose discards) notatarget(*[-land]|reveal) moveto(ownerhand) and!( reject )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend @@ -32836,6 +32855,14 @@ power=3 toughness=3 [/card] [card] +name=Elemental Appeal +other={5}{R}{R}{R}{R} name(Pay Kicker) +auto=token(Elemental,Creature Elemental,7/1,red,trample,haste,unearth) and!( if paid(alternative) then 7/0 ueot )! +text=Kicker {5} (You may pay an additional {5} as you cast this spell.) -- Put a 7/1 red Elemental creature token with trample and haste onto the battlefield. Exile it at the beginning of the next end step. If Elemental Appeal was kicked, that creature gets +7/+0 until end of turn. +mana={R}{R}{R}{R} +type=Sorcery +[/card] +[card] name=Elemental Augury auto={3}:target(player) reveal:3 optionone name(Look) target(*|reveal) doNothing optiononeend optiontwo target(<3>*|reveal) moveto(ownerlibrary) optiontwoend revealend text={3}: Look at the top three cards of target player's library, then put them back in any order. @@ -33835,6 +33862,19 @@ power=2 toughness=3 [/card] [card] +name=Emerge Unscathed +target=creature|mybattlefield +auto=choice name(green) transforms((,newability[protection from green])) ueot +auto=choice name(red) transforms((,newability[protection from red])) ueot +auto=choice name(blue) transforms((,newability[protection from blue])) ueot +auto=choice name(black) transforms((,newability[protection from black])) ueot +auto=choice name(white) transforms((,newability[protection from white])) ueot +auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! +text=Target creature you control gains protection from the color of your choice until end of turn. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +mana={W} +type=Instant +[/card] +[card] name=Emeria Angel abilities=flying auto=@movedTo(land|myBattlefield):may token(Bird,creature bird, 1/1,flying white) @@ -45607,6 +45647,17 @@ mana={R}{S(goblin|mybattlefield)} type=Sorcery [/card] [card] +name=Goblin Guide +abilities=haste +auto=@combat(attacking) source(this):reveal:1 revealzone(opponentlibrary) optionone name(choose card) notatarget(<1>*|reveal) moveto(ownerlibrary) and!( if cantargetcard(*[land]|*) then moveto(ownerhand) )! optiononeend revealend +text=Haste -- Whenever Goblin Guide attacks, defending player reveals the top card of his or her library. If it's a land card, that player puts it into his or her hand. +mana={R} +type=Creature +subtype=Goblin Scout +power=2 +toughness=2 +[/card] +[card] name=Goblin Heelcutter auto=@combat(attacking) source(this):cantblock target(creature) ueot other={2}{R} name(Dash) @@ -48057,7 +48108,7 @@ name=Grimgrin, Corpse-Born abilities=doesnotuntap auto=tap(noevent) auto={S(other creature|mybattlefield)}:counter(1/1,1) && untap -auto=@combat(attacking) source(this) restriction{type(creature|opponentbattlefield)~morethan~0}:choice target(creature|opponentbattlefield) destroy && if cantargetcard(mytgt) then counter(1/1,1) all(this) +auto=@combat(attacking) source(this) restriction{type(creature|opponentbattlefield)~morethan~0}:choice target(creature|opponentbattlefield) destroy and!( counter(1/1,1) all(this) )! text=Grimgrin, Corpse-Born enters the battlefield tapped and doesn't untap during your untap step. -- Sacrifice another creature: Untap Grimgrin and put a +1/+1 counter on it. -- Whenever Grimgrin attacks, destroy target creature defending player controls, then put a +1/+1 counter on Grimgrin. mana={3}{U}{B} type=Legendary Creature @@ -55468,6 +55519,17 @@ power=2 toughness=1 [/card] [card] +name=Inkfathom Witch +abilities=fear +auto={2}{U}{B}:all(creature[-blocked]) transforms((,setpower=4,settoughness=1)) ueot +text=Fear (This creature can't be blocked except by artifact creatures and/or black creatures.) -- {2}{U}{B}: Each unblocked creature becomes 4/1 until end of turn. +mana={1}{UB} +type=Creature +subtype=Merfolk Wizard +power=1 +toughness=1 +[/card] +[card] name=Inkmoth Nexus auto={T}:Add{1} auto={1}:transforms((Blinkmoth Artifact Creature,setpower=1,settoughness=1,flying,infect)) ueot @@ -62426,6 +62488,14 @@ mana={2} type=Artifact [/card] [card] +name=Lapse of Certainty +target=*|stack +auto=fizzleto(librarytop) +text=Counter target spell. If that spell is countered this way, put it on top of its owner's library instead of into that player's graveyard. +mana={2}{W} +type=Instant +[/card] +[card] name=Laquatus's Champion auto=choice target(player) life:-6 && all(this) transforms((,newability[@movedTo(this|nonbattlezone) from(battlefield):life:6 targetedplayer])) forever auto={B}:regenerate @@ -70858,6 +70928,14 @@ mana={3}{B} type=Sorcery [/card] [card] +name=Mire's Toll +target=player +auto=reveal:type:swamp:mybattlefield revealzone(targetedpersonshand) optionone name(choose card) notatarget(*|reveal) moveto(ownerhand) and!( reject )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerhand) and!( all(*|reveal) moveto(ownerhand) )! optiontwoend revealend +text=Target player reveals a number of cards from his or her hand equal to the number of Swamps you control. You choose one of them. That player discards that card. +mana={B} +type=Sorcery +[/card] +[card] name=Mirko Vosk, Mind Drinker auto=@combatdamaged(player) from(this):Reveal:4 revealzone(opponentlibrary) revealuntil(land|opponentlibrary) optionone choice name(Look) target(*|reveal) donothing optiononeend optiontwo choice name(put in Graveyard) all(*|reveal) moveto(graveyard) optiontwoend revealend text=Flying -- Whenever Mirko Vosk, Mind Drinker deals combat damage to a player, that player reveals cards from the top of his or her library until he or she reveals four land cards, then puts those cards into his or her graveyard. @@ -74155,6 +74233,18 @@ type=Enchantment subtype=Aura [/card] [card] +name=Nacatl Hunt-Pride +abilities=vigilance +auto={R}{T}:target(creature) cantblock ueot +auto={G}{T}:target(creature) mustblock ueot +text=Vigilance -- {R}, {T}: Target creature can't block this turn. -- {G}, {T}: Target creature blocks this turn if able. +mana={5}{W} +type=Creature +subtype=Cat Warrior +power=5 +toughness=4 +[/card] +[card] name=Nacatl Outlander abilities=protection from blue text=Protection from blue @@ -76636,6 +76726,14 @@ text={T}: Add {W} to your mana pool. Nomad Stadium deals 1 damage to you. -- Thr type=Land [/card] [card] +name=Nomads' Assembly +auto=token(Kor Soldier,Creature Kor Soldier,1/1,white)*type:creature:mybattlefield +auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! +text=Put a 1/1 white Kor Soldier creature token onto the battlefield for each creature you control. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +mana={4}{W}{W} +type=Sorcery +[/card] +[card] name=Nomadic Elf auto={1}{G}:Add{W} auto={1}{G}:Add{U} @@ -78298,6 +78396,21 @@ mana={2} type=Artifact [/card] [card] +name=Oona, Queen of the Fae +abilities=flying +auto={X}{UB}:name(green) target(opponent) reveal:x revealzone(targetedpersonslibrary) optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[green]|*) then token(Faerie Rogue,Creature Faerie Rogue,1/1,flying,blue,black) )! optiononeend revealend +auto={X}{UB}:name(blue) target(opponent) reveal:x revealzone(targetedpersonslibrary) optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[blue]|*) then token(Faerie Rogue,Creature Faerie Rogue,1/1,flying,blue,black) )! optiononeend revealend +auto={X}{UB}:name(red) target(opponent) reveal:x revealzone(targetedpersonslibrary) optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[red]|*) then token(Faerie Rogue,Creature Faerie Rogue,1/1,flying,blue,black) )! optiononeend revealend +auto={X}{UB}:name(black) target(opponent) reveal:x revealzone(targetedpersonslibrary) optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[black]|*) then token(Faerie Rogue,Creature Faerie Rogue,1/1,flying,blue,black) )! optiononeend revealend +auto={X}{UB}:name(white) target(opponent) reveal:x revealzone(targetedpersonslibrary) optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[white]|*) then token(Faerie Rogue,Creature Faerie Rogue,1/1,flying,blue,black) )! optiononeend revealend +text=Flying -- {X}{UB}: Choose a color. Target opponent exiles the top X cards of his or her library. For each card of the chosen color exiled this way, put a 1/1 blue and black Faerie Rogue creature token with flying onto the battlefield. +mana={3}{UB}{UB}{UB} +type=Legendary Creature +subtype=Faerie Wizard +power=5 +toughness=5 +[/card] +[card] name=Oona's Blackguard abilities=flying auto=@movedto(other rogue|myBattlefield):all(trigger[to]) counter(1/1,1) @@ -83885,6 +83998,15 @@ mana={G} type=Sorcery [/card] [card] +name=Prey's Vengeance +target=creature +auto=2/2 +auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! +text=Target creature gets +2/+2 until end of turn. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +mana={G} +type=Instant +[/card] +[card] name=Preyseizer Dragon abilities=flying auto=may target(other creature|mybattlefield) sacrifice && counter(1/1,2) all(this) @@ -88519,6 +88641,15 @@ mana={3}{W} type=Instant [/card] [card] +name=Recurring Insight +target=opponent +auto=draw:type:*:targetedpersonshand +auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! +text=Draw cards equal to the number of cards in target opponent's hand. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +mana={4}{U}{U} +type=Sorcery +[/card] +[card] name=Recurring Nightmare auto={S(creature|myBattlefield)}{H}:moveto(mybattlefield) target(creature|mygraveyard) asSorcery text=Sacrifice a creature, Return Recurring Nightmare to its owner's hand: Return target creature card from your graveyard to the battlefield. Activate this ability only any time you could cast a sorcery. @@ -95572,6 +95703,17 @@ power=1 toughness=1 [/card] [card] +name=Scrib Nibblers +auto={T}:name(exile) target(player) reveal:1 revealzone(targetedpersonslibrary) optionone all(*|reveal) moveto(exile) and!( if cantargetcard(*[land]|*) then life:1 controller )! optiononeend revealend +auto=@movedTo(land|mybattlefield):untap all(this) +text={T}: Exile the top card of target player's library. If it's a land card, you gain 1 life. -- Landfall — Whenever a land enters the battlefield under your control, you may untap Scrib Nibblers. +mana={2}{B} +type=Creature +subtype=Rat +power=1 +toughness=1 +[/card] +[card] name=Scrivener auto=may moveTo(myhand) target(instant|mygraveyard) text=When Scrivener enters the battlefield, you may return target instant card from your graveyard to your hand. @@ -106857,6 +106999,15 @@ power=0 toughness=0 [/card] [card] +name=Staggershock +target=creature,player +auto=damage:2 +auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! +text=Staggershock deals 2 damage to target creature or player. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +mana={2}{R} +type=Instant +[/card] +[card] name=Stalker Hag abilities=swampwalk,forestwalk text=Swampwalk, forestwalk @@ -110404,6 +110555,14 @@ power=2 toughness=1 [/card] [card] +name=Surreal Memoir +auto=moverandom(instant) from(mygraveyard) to(myhand) +auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! +text=Return an instant card at random from your graveyard to your hand. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +mana={3}{R} +type=Sorcery +[/card] +[card] name=Surveilling Sprite abilities=flying auto=@movedto(this|graveyard) from(battlefield):may draw:1 @@ -110423,6 +110582,15 @@ mana={4}{R} type=Sorcery [/card] [card] +name=Survival Cache +auto=life:2 controller +auto=if compare(lifetotal)~morethan~compare(opponentlifetotal) then draw:1 controller +auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! +text=You gain 2 life. Then if you have more life than an opponent, draw a card. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +mana={2}{W} +type=Sorcery +[/card] +[card] name=Survival of the Fittest auto={G}{discard(creature|myhand)}:moveTo(myhand) target(creature|myLibrary) text={G}, Discard a creature card: Search your library for a creature card, reveal that card, and put it into your hand. Then shuffle your library. @@ -111303,8 +111471,7 @@ type=Artifact [/card] [card] name=Syphon Flesh -auto=all(*|opponentlibrary) transforms((,newability[notatarget(creature|mybattlefield) sacrifice])) ueot -auto=token(Zombie,Creature Zombie,2/2,black) +auto=ability$! sacrifice notatarget(creature|mybattlefield) and!( token(Zombie,Creature Zombie,2/2,black) opponent )! !$ opponent text=Each other player sacrifices a creature. You put a 2/2 black Zombie creature token onto the battlefield for each creature sacrificed this way. mana={4}{B} type=Sorcery @@ -118837,8 +119004,8 @@ type=Instant [/card] [card] name=Twisted Justice -auto=choice name(opponent) all(*|opponentlibrary) transforms((,newability[notatarget(creature|mybattlefield) dynamicability sacrifice])) ueot -auto=choice name(you) all(*|mylibrary) transforms((,newability[notatarget(creature|mybattlefield) dynamicability sacrifice])) ueot +target=player +auto=ability$! notatarget(creature|mybattlefield) dynamicability sacrifice ) !$ targetedplayer text=Target player sacrifices a creature. You draw cards equal to that creature's power. mana={4}{U}{B} type=Sorcery @@ -123104,6 +123271,16 @@ power=1 toughness=1 [/card] [card] +name=Virulent Swipe +target=creature +auto=2/0 ueot +auto=deathtouch ueot +auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! +text=Target creature gets +2/+0 and gains deathtouch until end of turn. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +mana={B} +type=Instant +[/card] +[card] name=Visara the Dreadful abilities=flying auto={T}:bury target(creature) @@ -128889,6 +129066,15 @@ power=0 toughness=0 [/card] [card] +name=World at War +auto=nextphasealter(add,combatphaseswithmain,controller,after) +auto=untap all(creature[attacking]) +auto=if rebound then moveto(exile) and!( transforms((,newability[@rebounded:may activate castcard(normal)])) forever )! +text=After the first postcombat main phase this turn, there's an additional combat phase followed by an additional main phase. At the beginning of that combat, untap all creatures that attacked this turn. -- Rebound (If you cast this spell from your hand, exile it as it resolves. At the beginning of your next upkeep, you may cast this card from exile without paying its mana cost.) +mana={3}{R}{R} +type=Sorcery +[/card] +[card] name=World Breaker abilities=reach autostack=if casted(this) then moveto(exile) target(artifact,enchantment,land)