diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 9b337e465..6eaddca2a 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -1,6 +1,6 @@ #Bordeline Primitives Pack for Wagic the Homebrew. #Please keep these card alphabetized, and try to have the "name=" line at the top of each card -#I sorted this programatically - Thanks to Vitty85 26-03-2023 +#I sorted this programatically - Thanks to Vitty85 09-04-2023 [card] name=+2 Mace auto={3}:equip @@ -2419,6 +2419,15 @@ power=1 toughness=4 [/card] [card] +name=Annihilating Glare +other={4}{B} +target=creature,planeswalker +auto=destroy +text=As an additional cost to cast this spell, pay {4} or sacrifice an artifact or creature. -- Destroy target creature or planeswalker. +mana={B}{S(artifact,creature)} +type=Sorcery +[/card] +[card] name=Annihilation Rooms abilities=doublefacedeath,nomovetrigger,nofizzle other={0} name(Sandfall Cell) @@ -3186,6 +3195,20 @@ power=6 toughness=6 [/card] [card] +name=Archfiend of the Dross +abilities=flying +auto=counter(0/0,4,oil) +auto=@each my upkeep:counter(0/0,-1,oil) +auto=this(counter{0/0.1.oil}<1) transforms((,newability[winGame opponent])) +auto=@movedTo(creature|graveyard) from(opponentbattlefield):life:-2 opponent +text=Flying -- Archfiend of the Dross enters the battlefield with four oil counters on it. -- At the beginning of your upkeep, remove an oil counter from Archfiend of the Dross. Then if it has no oil counters on it, you lose the game. -- Whenever a creature an opponent controls dies, its controller loses 2 life. +mana={2}{B}{B} +type=Creature +subtype=Phyrexian Demon +power=6 +toughness=6 +[/card] +[card] name=Archfiend's Vessel abilities=lifelink autograveyard=@movedTo(this|mybattlefield) from(mygraveyard):all(this) moveTo(exile) && token(Demon,Creature Demon,5/5,black,flying) @@ -3977,6 +4000,17 @@ mana={X}{W}{W}{W} type=Sorcery [/card] [card] +name=Ascendant Acolyte +auto=thisforeach(variable{totcntcre11}>0) counter(1/1) +auto=@each my upkeep:thisforeach(counter{1/1.1}) counter(1/1) +text=Ascendant Acolyte enters the battlefield with a +1/+1 counter on it for each +1/+1 counter among other creatures you control. -- At the beginning of your upkeep, double the number of +1/+1 counters on Ascendant Acolyte. +mana={4}{G} +type=Creature +subtype=Human Monk +power=1 +toughness=1 +[/card] +[card] name=Ascendant Packleader auto=if type(*[manacost>=4]|mybattlefield)~morethan~0 then counter(1/1) auto=@movedto(*[manacost>=4]|mystack):name(Put 1/1 counter) counter(1/1) @@ -4575,7 +4609,7 @@ name=Autonomous Assembler abilities=vigilance other={1}{W} name(prototype) auto=if paid(alternative) then becomes(,2/2,white) -auto={1}{T}:counter(1/1) target(Assembly-Worker|myBattlefield) +auto={1}{T}:counter(1/1) text=Prototype {1}{W} - 2/2 (You may cast this spell with different mana cost, color, and size. It keeps its abilities and types.) -- Vigilance -- {1}, {T}: Put a +1/+1 counter on target Assembly-Worker you control. mana={5} type=Artifact Creature @@ -5274,7 +5308,7 @@ toughness=3 [/card] [card] name=Baleful Beholder -auto=if type(enchantment|opponentbattlefield)~morethan~0 then choice name(Opponent sacrifices enchantment) name(Opponent sacrifices enchantment) ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ opponent +auto=choice name(Opponent sacrifices enchantment) name(Opponent sacrifices enchantment) ability$!name(Sacrifice enchantment) name(Sacrifice enchantment) notatarget(enchantment|mybattlefield) sacrifice!$ opponent auto=choice name(Your creatures gain menace) all(creature|myBattlefield) transforms((,newability[menace])) ueot text=When Baleful Beholder enters the battlefield, Choose one -- Antimagic Cone - Each opponent sacrifices an enchantment. -- Fear Ray - Creatures you control gain menace until end of turn. (A creature with menance can't be blocked except by two or more creatures.) mana={4}{B}{B} @@ -7390,7 +7424,7 @@ type=Instant name=Blazing Crescendo target=creature auto=+3/+1 -auto=__PLAY_TOP_FROM_EXILE__ +auto=name(Exile top card) emblem transforms((,newability[all(*[zpos=1]|myLibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!],newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent text=Target creature gets +3/+1 until end of turn. -- Exile the top card of your library. Until the end of your next turn, you may play that card. mana={1}{R} type=Instant @@ -10868,12 +10902,12 @@ toughness=3 [/card] [card] name=Calamity Bearer -auto=@damaged(creature|myBattlefield) from(*[giant]|myzones):damage:thatmuch all(trigger[to]) -auto=@damaged(creature|opponentBattlefield) from(*[giant]|*):damage:thatmuch all(trigger[to]) -auto=@damageof(player) from(*[giant]|myzones):damage:thatmuch controller -auto=@damagefoeof(player) from(*[giant]|*):damage:thatmuch opponent -auto=@damaged(planeswalker|myBattlefield) from(*[giant]|myzones):damage:thatmuch all(trigger[to]) -auto=@damaged(planeswalker|opponentBattlefield) from(*[giant]|*):damage:thatmuch all(trigger[to]) +auto=@damaged(creature|myBattlefield) from(*[giant]|myzones) turnlimited:damage:thatmuch all(trigger[to]) +auto=@damaged(creature|opponentBattlefield) from(*[giant]|*) turnlimited:damage:thatmuch all(trigger[to]) +auto=@damageof(player) from(*[giant]|myzones) turnlimited:damage:thatmuch controller +auto=@damagefoeof(player) from(*[giant]|*) turnlimited:damage:thatmuch opponent +auto=@damaged(planeswalker|myBattlefield) from(*[giant]|myzones) turnlimited:damage:thatmuch all(trigger[to]) +auto=@damaged(planeswalker|opponentBattlefield) from(*[giant]|*) turnlimited:damage:thatmuch all(trigger[to]) text=If a Giant source you control would deal damage to a permanent or player, it deals double that damage to that permanent or player instead. mana={2}{R}{R} type=Creature @@ -11048,6 +11082,14 @@ mana={4}{G}{W} type=Sorcery [/card] [card] +name=Campfire +auto={1}{T}:life:2 +auto={2}{T}{E}:all(*[iscommander]|mycommandzone,mygraveyard) moveto(ownerhand) && moveTo(mylibrary) all(*|mygraveyard) +text={1}, {T}: You gain 2 life. -- {2}, {T}, Exile Campfire: Put all commanders you own from the command zone and from your graveyard into your hand. Then shuffle your graveyard into your library. +mana={1} +type=Artifact +[/card] +[card] name=Campus Guide auto=may name(Search basic land) target(land[basic]|mylibrary) moveto(myreveal) and!( moveto(mylibrary) )! text=When Campus Guide enters the battlefield, you may search your library for a basic land card, reveal it, then shuffle and put that card on top. @@ -13422,6 +13464,17 @@ power=4 toughness=4 [/card] [card] +name=Chishiro, the Shattered Blade +auto=@movedTo(*[Aura;Equipment]|myBattlefield):create(spirit:creature spirit:2/2:red:menace) +auto=@each my endofturn:counter(1/1) all(creature[geared;enchanted;counter{any}]|myBattlefield) +text=Whenever an Aura or Equipment enters the battlefield under your control, create a 2/2 red Spirit creature token with menace. -- At the beginning of your end step, put a +1/+1 counter on each modified creature you control. (Equipment, Auras you control, and counters are modifications.) +mana={2}{R}{G} +type=Legendary Creature +subtype=Snake Samurai +power=4 +toughness=4 +[/card] +[card] name=Chittering Doom auto=@dierolled(*|battlefield) result(4) from(controller):token(Squirrel,Creature Squirrel,1/1,green) auto=@dierolled(*|battlefield) result(5) from(controller):token(Squirrel,Creature Squirrel,1/1,green) @@ -15835,7 +15888,7 @@ type=Sorcery [/card] [card] name=Corpse Augur -auto=_DIES_ notatarget(player) then draw:foreach(notAtarget(creature|targetedpersonsgraveyard) && life:-foreach(notAtarget(creature|targetedpersonsgraveyard) +auto=_DIES_foreach(creature|mygraveyard) draw:1 controller && foreach(creature|mygraveyard) life:-1 controller text=When Corpse Augur dies, you draw X cards and you lose X life, where X is the number of creature cards in target player's graveyard. mana={3}{B} type=Creature @@ -19715,6 +19768,15 @@ power=0 toughness=0 [/card] [card] +name=Descent into Avernus +auto=@each my upkeep:thisforeach(counter{0/0.1.descent}) create(treasure sur) controller +auto=@each my upkeep:thisforeach(counter{0/0.1.descent}) create(treasure sur) opponent +auto=@each my upkeep:counter(0/0,2,descent) && all(player) thisforeach(counter{0/0.1.descent}) damage:1 +text=At the beginning of your upkeep, put two descent counters on Descent into Avernus. Then each player creates X Treasure tokens and Descent into Avernus deals X damage to each player, where X is the number of descent counters on Descent into Avernus. +mana={2}{R} +type=Enchantment +[/card] +[card] name=Desecrated Tomb auto=@movedTo(*[-mygraveyard]) from(mygraveyard):create(bat:creature bat:1/1:black:flying) text=Whenever one or more creature cards leave your graveyard, create a 1/1 black Bat creature token with flying. @@ -20178,8 +20240,7 @@ type=Sorcery [/card] [card] name=Devout Decree -target=creature[red,black],planeswalker[red,black] -aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot +target=*[creature;planeswalker;black;red] auto=moveTo(exile) auto=scry:1 scrycore delayed dontshow donothing scrycoreend scryend text=Exile target creature or planeswalker that's black or red. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) @@ -23546,7 +23607,7 @@ type=Sorcery [card] name=Efreet Flamepainter abilities=double strike -auto=@combatdamaged(player) from(this):may name(Cast instant or sorcery) target(*[instant;sorcery]|myhand) transforms((,newability[gainedexiledeath],newability[activate castcard(normal)])) oneshot +auto=@combatdamaged(player) from(this):may name(Cast instant or sorcery) target(*[instant;sorcery]|mygraveyard) transforms((,newability[gainedexiledeath],newability[activate castcard(normal)])) oneshot text=Double strike -- Whenever Efreet Flamepainter deals combat damage to a player, you may cast target instant or sorcery card from your graveyard without paying its mana cost. If that spell would be put into your graveyard, exile it instead. mana={3}{R} type=Creature @@ -30427,6 +30488,18 @@ power=3 toughness=2 [/card] [card] +name=Gale, Waterdeep Prodigy +abilities=chooseabackground +auto=@movedTo(instant|mystack) from(myhand):may name(Cast sorcery) target(sorcery|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) oneshot +auto=@movedTo(sorcery|mystack) from(myhand):may name(Cast instant) target(instant|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[gainedexiledeath])) oneshot +text=Whenever you cast an instant or sorcery spell from your hand, you may cast up to one target card of the other type from your graveyard. If a spell cast from your graveyard this way would be put into your graveyard, exile it instead. -- Choose a Background (You can have a Background as a second commander.) +mana={2}{U} +type=Legendary Creature +subtype=Human Wizard +power=1 +toughness=3 +[/card] +[card] name=Galea, Kindler of Hope abilities=vigilance,showfromtoplibrary,canplayauraequiplibrarytop auto=@movedto(*[equipment]|mystack) from(mylibrary):transforms((,newability[@movedto(*[equipment]|mybattlefield) once:all(trigger[to]) transforms((,newability[name(Attach to creature) rehook target(creature|mybattlefield)])) forever])) ueot @@ -31995,6 +32068,16 @@ power=7 toughness=6 [/card] [card] +name=Gitaxian Anatomist +auto=may tap all(this) && ability$!_PROLIFERATE_!$ controller +text=When Gitaxian Anatomist enters the battlefield, you may tap it. If you do, proliferate. (Choose any number of permanents and/or players, then give each another counter of each kind already there.) +mana={3}{U} +type=Creature +subtype=Phyrexian Wizard +power=2 +toughness=5 +[/card] +[card] name=Gitaxian Raptor abilities=flying auto=counter(0/0,3,oil) @@ -32284,6 +32367,14 @@ power=1 toughness=4 [/card] [card] +name=Gleeful Demolition +target=artifact +auto=if cantargetcard(artifact|opponentbattlefield) then destroy else destroy and!( create(phyrexian goblin:creature phyrexian goblin:1/1:red:)*3 )! +text=Destroy target artifact. If you controlled that artifact, create three 1/1 red Phyrexian Goblin creature tokens. +mana={R} +type=Sorcery +[/card] +[card] name=Gleemox auto={T}:Add{W} auto={T}:Add{U} @@ -33370,6 +33461,15 @@ power=3 toughness=6 [/card] [card] +name=Goggles of Night +auto=@combatdamaged(player) from(mytgt):scry:1 scrycore delayed draw:1 controller scrycoreend scryend +auto={2}:equip +text=Whenever equipped creature deals combat damage to a player, scry 1, then draw a card. (To scry 1, look at the top card of your library, then you may put that card on the bottom of your library.) -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.) +mana={1}{U} +type=Artifact +subtype=Equipment +[/card] +[card] name=Goka the Unjust auto={T}:damage:1 target(creature[damaged]) text={T}: Goka the Unjust deals 4 damage to target creature that was dealt damage this turn. @@ -34500,7 +34600,7 @@ type=Sorcery name=Grim Discovery auto=choice name(Return target creature from your graveyard) moveTo(myhand) target(creature|mygraveyard) auto=choice name(Return target land from your graveyard) moveTo(myhand) target(land|mygraveyard) -auto=choice name(Return target land and creature from your graveyard) moveTo(myhand) target(land|mygraveyard) && moveTo(myhand) target(creature|mygraveyard) +auto=choice name(Return target creature and land from your graveyard) moveTo(myhand) target(creature|mygraveyard) and!( moveTo(myhand) target(land|mygraveyard) )! text=Choose one or both -- Return target creature card from your graveyard to your hand. -- Return target land card from your graveyard to your hand. mana={1}{B} type=Sorcery @@ -34610,7 +34710,7 @@ toughness=3 [/card] [card] name=Grimlock, Dinobot Leader -auto=lord(creature[Vehicle;Dinosaur;other Autobot]|myBattlefield) 2/0 +auto=lord(other *[Vehicle;Dinosaur;Autobot]|myBattlefield) 2/0 auto={2}:name(Transform) flip(Grimlock, Ferocious King) text=Dinosaurs, Vehicles, and other Transformers® creatures you control get +2/+0. -- {2}, Convert a Transformers toy you own to its other mode: Grimlock, Dinobot Leader becomes Grimlock, Ferocious King. type=Legendary Artifact Creature @@ -36026,7 +36126,6 @@ name=Harmonic Prodigy #MISSING: not possible to trigger twice any ability ATM abilities=prowess auto=@movedTo(*[-creature]|mystack):1/1 ueot -auto=@movedTo(*[-creature]|mystack):1/1 ueot text=Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.) -- If an ability of a Shaman or another Wizard you control triggers, that ability triggers an additional time. mana={1}{R} type=Creature @@ -38778,7 +38877,7 @@ toughness=1 name=Hydra's Growth target=creature auto=counter(1/1) -auto=@each my upkeep:thisforeach(counter{1/1.1}) counter(1/1) +auto=teach(creature) transforms((,newability[@each my upkeep:thisforeach(counter{1/1.1}) counter(1/1)])) text=Enchant creature -- When Hydra's Growth enters the battlefield, put a +1/+1 counter on enchanted creature. -- At the beginning of your upkeep, double the number of +1/+1 counters on enchanted creature. mana={2}{G} type=Enchantment @@ -39415,10 +39514,9 @@ toughness=3 [/card] [card] name=Imi Statue -auto=lord(artifact|mybattlefield) doesnotuntap -auto=lord(artifact|opponentbattlefield) doesnotuntap -auto=@each my untap:ability$!name(Untap an artifact) name(Untap an artifact) untap target(artifact[tapped]|mybattlefield)!$ controller -auto=@each opponent untap:ability$!name(Untap an artifact) name(Untap an artifact) untap target(artifact[tapped]|mybattlefield)!$ opponent +auto=lord(artifact) doesnotuntap +auto=@each my untap:untap target(artifact[tapped]|mybattlefield) +auto=@each opponent untap:ability$!name(untap artifact) untap notatarget(artifact[tapped]|mybattlefield)!$ opponent text=Players can't untap more than one artifact during their untap steps. mana={3} type=Artifact @@ -41788,6 +41886,14 @@ power=5 toughness=5 [/card] [card] +name=Jaheira's Respite +auto=name(search card) reveal:plibrarycount optionone name(choose card) target(land[basic]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield) and!(tap(noevent))!)! afterrevealedend revealend +auto=preventAllCombatDamage ueot +text=Search your library for up to X basic land cards, where X is the number of creatures attacking you, put those cards onto the battlefield tapped, then shuffle. -- Prevent all combat damage that would be dealt this turn. +mana={4}{G} +type=Instant +[/card] +[card] name=Jaheira, Friend of the Forest abilities=chooseabackground auto=lord(*[Token]|myBattlefield) {T}:Add{G} @@ -42884,6 +42990,19 @@ power=3 toughness=3 [/card] [card] +name=Kappa Cannoneer +other={improvise} name(Improvise) +auto=_WARD_(4) +auto=@movedTo(*[artifact]|myBattlefield):counter(1/1) +auto=@movedTo(*[artifact]|myBattlefield):unblockable ueot +text=Improvise (Your artifacts can help cast this spell. Each artifact you tap after you're done activating mana abilities pays for {1}.) -- Ward {4} -- Whenever an artifact enters the battlefield under your control, put a +1/+1 counter on Kappa Cannoneer and it can't be blocked this turn. +mana={5}{U} +type=Artifact Creature +subtype=Turtle Warrior +power=4 +toughness=4 +[/card] +[card] name=Karador, Ghost Chieftain anyzone=thisforeach(variable{type:creature:mygraveyard}>0) changecost(colorless:-1) forcedalive auto=this(variable{controllerturn}>0) {0}:name(Cast from your graveyard) target(creature|mygraveyard) transforms((,newability[canPlayFromGraveyard])) ueot limit:1 @@ -42994,6 +43113,17 @@ power=3 toughness=3 [/card] [card] +name=Karlach, Fury of Avernus +abilities=chooseabackground +auto=@combat(attacking) source(this) turnlimited:untap all(creature[attacking]) && first strike ueot && nextphasealter(add,combatphases,controller,after) +text=Whenever you attack, if it's the first combat phase of the turn, untap all attacking creatures. They gain first strike until end of turn. After this phase, there is an additional combat phase. -- Choose a Background (You can have a Background as a second commander.) +mana={4}{R} +type=Legendary Creature +subtype=Tiefling Barbarian +power=5 +toughness=4 +[/card] +[card] name=Karn's Bastion auto={T}:Add{C} auto={4}{T}:_PROLIFERATE_ @@ -43032,6 +43162,18 @@ power=3 toughness=3 [/card] [card] +name=Karumonix, the Rat King +abilities=poisontoxic +auto=lord(other rat|myBattlefield) poisontoxic +auto=reveal:5 optionone name(Get Rat) target(Rat|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend +text=Toxic 1 (Players dealt combat damage by this creature also get a poison counter.) -- Other Rats you control have toxic 1. -- When Karumonix enters the battlefield, look at the top five cards of your library. You may reveal any number of Rat cards from among them and put the revealed cards into your hand. Put the rest on the bottom of your library in a random order. +mana={1}{B}{B} +type=Legendary Creature +subtype=Phyrexian Rat +power=3 +toughness=3 +[/card] +[card] name=Kasmina's Transmutation target=creature auto=loseabilities @@ -45740,8 +45882,8 @@ toughness=3 [/card] [card] name=Leafkin Druid -auto={T}:restriction {type(creature|mybattlefield)~lessthan~4} Add{G} -auto={T}:restriction {type(creature|mybattlefield)~morethan~3} Add{G}{G} +auto={T}:Add{G} restriction{type(creature|mybattlefield)~lessthan~4} +auto={T}:Add{G}{G} restriction{type(creature|mybattlefield)~morethan~3} text={T}: Add {G}. If you control four or more creatures, add {G}{G} instead. mana={1}{G} type=Creature @@ -48680,7 +48822,7 @@ toughness=2 name=Malicious Affliction target=creature[-black] auto=destroy -auto=if morbid then destroy target(creature[-black]) +autostack=if casted(this) then if morbid then destroy target(creature[-black]) text=Morbid - When you cast Malicious Affliction, if a creature died this turn, you may copy Malicious Affliction and may choose a new target for the copy. -- Destroy target nonblack creature. mana={B}{B} type=Instant @@ -49716,7 +49858,7 @@ name=Mazemind Tome aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto={T}{C(0/0,1,Page)}:name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend auto={2}{T}{C(0/0,1,Page)}:name(Draw 1) draw:1 controller -auto=@counteradded(0/0,1,Page) from(this):this(counter{0/0.1.Page}>=4) moveTo(myExile) all(this) && life:4 controller +auto=this(counter{0/0.1.Page}>=4) transforms((,newability[moveTo(myExile) all(this)],newability[life:4 controller])) text={T}, Put a page counter on Mazemind Tome: Scry 1. -- {2], {T}, Put a page counter on Mazemind Tome: Draw a card. -- When there are four or more page counters on Mazemind Tome, exile it. If you do, you gain 4 life. mana={2} type=Artifact @@ -52229,7 +52371,7 @@ auto=this(X=1) name(Scry 1) scry:1 scrycore delayed dontshow draw:1 controller s auto=this(X=2) target(player) ability$!name(Return creature to hand) name(Return creature to hand) target(creature|mybattlefield) moveto(ownerhand)!$ targetedplayer auto=this(X=3) token(Elemental,Creature Elemental,4/4,blue,red) auto=this(X>=4) target(player) ability$!name(Return creature to hand) name(Return creature to hand) target(creature|mybattlefield) moveto(ownerhand)!$ targetedplayer -auto=this(X>=4) token(Elemental,Creature Elemental,4/4,blue,red) && draw:1 controller +auto=this(X>=4) token(Elemental,Creature Elemental,4/4,blue,red) && scry:1 scrycore delayed dontshow draw:1 controller scrycoreend scryend text=If X is 1, scry 1, then draw a card. -- If X is 2, you may choose a player. They return a creature they control to its owner's hand. -- If X is 3, create a 4/4 blue and red Elemental creature token. -- If X is 4 or more, do all of the above. mana={X}{U} type=Sorcery @@ -52601,6 +52743,15 @@ mana={2}{U} type=Artifact [/card] [card] +name=Mystery Key +auto=@combatdamaged(player) from(mytgt):all(this) sacrifice && draw:3 +auto={1}:equip +text=When equipped creature deals combat damage to a player, sacrifice Mystery Key. If you do, draw three cards. -- Equip {1} ({1}: Attach to target creature you control. Equip only as a sorcery.) +mana={1}{U} +type=Artifact +subtype=Equipment +[/card] +[card] name=Mystic Archaeologist auto={3}{U}{U}:draw:2 text={3}{U}{U}: Draw two cards. @@ -53461,6 +53612,7 @@ otherrestriction=type(vampire|battlefield)~morethan~0 restriction=type(vampire|battlefield)~equalto~0 auto=damage:1 auto=damage:1 targetcontroller +auto=draw:1 controller text=This spell costs {1} less to cast if you control a Vampire. -- Neonate's Rush deals 1 damage to target creature and 1 damage to its controller. Draw a card. mana={2}{R} type=Instant @@ -55396,6 +55548,17 @@ power=2 toughness=6 [/card] [card] +name=Oil-Gorger Troll +auto=life:3 +auto=aslongas(*[counter(0/0.1.oil)]|myBattlefield) draw:1 +text=When Oil-Gorger Troll enters the battlefield, you gain 3 life. Then if you control a permanent with an oil counter on it, draw a card. +mana={3}{G}{G} +type=Creature +subtype=Phyrexian Troll Warrior +power=3 +toughness=4 +[/card] +[card] name=Oji, the Exquisite Blade auto=life:2 && _SCRY_(2) auto=@movedto(*|mystack) restriction{thisturn(*|mystack)~equalto~1}:may target(creature|myBattlefield) moveto(exile) and!(moveto(ownerbattlefield))! @@ -55446,7 +55609,7 @@ toughness=3 [/card] [card] name=Oketra's Avenger -auto=@exerted(this):preventalldamage to(this) +auto=@exerted(this):preventalldamage to(this) ueot auto=_ATTACKING_may exert text=You may exert Oketra's Avenger as it attacks. When you do, prevent all combat damage that would be dealt to it this turn. (An exerted creature won't untap during your next untap step.) mana={1}{W} @@ -58479,7 +58642,6 @@ type=Instant [card] name=Piercing Light target=creature[attacking;blocking]|battlefield -aicode=activate transforms((,newability[all(*[zpos<=1]|mylibrary) transforms((,newability[may name(Put on bottom of library) moveto(myreveal) and!( bottomoflibrary )!])) oneshot])) oneshot auto=name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend auto=damage:2 text=Piercing Light deals 2 damage to target attacking or blocking creature. Scry 1. (Look at the top card of your library. You may put that card on the bottom of your library.) @@ -69596,7 +69758,7 @@ toughness=4 name=Selvala, Heart of the Wilds auto=@movedto(other creature|myBattlefield) may (draw:[power=power:highest:creature:myBattlefield]|mybattlefield) auto=@movedto(other creature|opponentBattlefield) may (draw:[power=power:highest:creature:opponentBattlefield]|opponentbattlefield) -auto={G}{T}: name(add mana) (add:[power=power:highest:creature:myBattlefield]|mybattlefield) ability$! choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller +auto={G}{T}: name(add mana) thisforeach(variable{pwr:highest:creature:mybattlefield}>0) ability$! choice add{G} _ choice add{R} _ choice add{U} _ choice add{B} _ choice add{W} !$ controller text=Whenever another creature enters the battlefield, its controller may draw a card if its power is greater than each other creature's power. -- {G}, {T}: Add X mana in any combination of colors, where X is the greatest power among creatures you control. mana={1}{G}{G} type=Legendary Creature @@ -70501,8 +70663,8 @@ type=Enchantment [/card] [card] name=Shared Summons -auto=if type(creature|mylibrary)~morethan~1 then choice name(Search 2 creatures) name(Search 2 creatures) target(creature|mylibrary) moveto(myreveal) and!( moveto(mylibrary) and!( transforms((,newability[name(Search second creature) target(creature[notshare!name!]|mylibrary) moveto(myreveal) and!( moveto(mylibrary) and!( ability$!name(Put in hand from library) name(Put in hand from library) target(<2>creature[fresh]|opponentlibrary) moveto(opponenthand) and!( shuffle opponent )! !$ opponent )! )!])) oneshot )! )! -auto=if type(creature|mylibrary)~morethan~0 then choice name(Search 1 creature) name(Search 1 creature) target(creature|mylibrary) moveto(myreveal) and!( moveto(mylibrary) and!( transforms((,newability[ability$!name(Put in hand from library) name(Put in hand from library) target(creature[fresh]|opponentlibrary) moveto(opponenthand) and!( shuffle opponent )! !$ opponent])) oneshot )! )! +auto=if type(creature|mylibrary)~morethan~1 then choice name(Search 2 creatures) name(Search 2 creatures) target(creature|mylibrary) moveto(myreveal) and!( moveto(mylibrary) and!( transforms((,newability[name(Search second creature) target(creature[notshare!name!]|mylibrary) moveto(myreveal) and!( moveto(mylibrary) and!( ability$!name(Put in hand from library) name(Put in hand from library) target(<2>creature[fresh]|opponentlibrary) moveto(opponenthand) and!( shuffle opponent )! !$ controller )! )!])) oneshot )! )! +auto=if type(creature|mylibrary)~morethan~0 then choice name(Search 1 creature) name(Search 1 creature) target(creature|mylibrary) moveto(myreveal) and!( moveto(mylibrary) and!( transforms((,newability[ability$!name(Put in hand from library) name(Put in hand from library) target(creature[fresh]|opponentlibrary) moveto(opponenthand) and!( shuffle controller )! !$ opponent])) oneshot )! )! auto=if type(creature|mylibrary)~morethan~0 then choice name(Don't search) name(Don't search) donothing text=Search your library for up to two creature cards with different names, reveal them, put them into your hand, then shuffle your library. mana={3}{G}{G} @@ -77657,7 +77819,7 @@ name=Strixhaven Stadium auto={T}:add{C} auto=@combatdamageof(player) from(creature|opponentbattlefield):counter(0/0,-1,Point) auto=@combatdamagefoeof(player) from(creature|mybattlefield):counter(0/0,1,Point) -auto=@counteradded(0/0,1,Point) from(this) restriction{compare(hascnttime)~morethan~9}:wingame controller +auto=@counteradded(0/0,1,Point) from(this) restriction{compare(hascntpoint)~morethan~9}:wingame controller text={T}: Add {C}. Put a point counter on Strixhaven Stadium. -- Whenever a creature deals combat damage to you, remove a point counter from Strixhaven Stadium. -- Whenever a creature you control deals combat damage to an opponent, put a point counter on Strixhaven Stadium. Then if it has ten or more point counters on it, remove them all and that player loses the game. mana={3} type=Artifact @@ -77976,6 +78138,14 @@ mana={1}{W} type=Instant [/card] [card] +name=Summon Undead +auto=may deplete:3 && ability$! target(creature|mygraveyard) moveTo(mybattlefield) !$ controller +auto=name(Don't mill) target(creature|mygraveyard) moveTo(mybattlefield) +text=You may mill three cards. Then return a creature card from your graveyard to the battlefield. (To mill a card, put the top card of your library into your graveyard.) +mana={4}{B} +type=Sorcery +[/card] +[card] name=Summoner's Bond abilities=hiddenface,isconspiracy restriction=never @@ -84143,8 +84313,9 @@ subtype=Aura [/card] [card] name=Treefolk Wre +abilities=reach anyzone=type:land:mybattlefield/type:land:mybattlefield cdaactive -text=This creature's power and toughness are each equal to the number of lands you control. +text=Reach -- This creature's power and toughness are each equal to the number of lands you control. color=green type=Creature subtype=Treefolk @@ -89408,6 +89579,16 @@ power=5 toughness=3 [/card] [card] +name=Warehouse Thief +auto={2}{T}{S(*[artifact;creature]|myBattlefield)}:name(Exile top card) emblem transforms((,newability[all(*[zpos=1]|myLibrary) moveto(exile) and!( transforms((,newability[counter(0/0.1.PlayExile)],newability[@each opponent beginofturn restriction{compare(hascntplayexile)~morethan~0}:if cantargetcard(*[-canplayfromexile]|*) then removeallcounters(0/0.1.PlayExile)])) forever )!],newability[lord(*[counter{0/0.1.PlayExile}]|myexile) canplayfromexile])) uent +text={2}, {T}, Sacrifice an artifact or creature: Exile the top card of your library. Until the end of your next turn, you may play that card. +mana={3}{R} +type=Creature +subtype=Tiefling Rogue +power=4 +toughness=2 +[/card] +[card] name=Warfire Javelineer auto=damage:pginstantsorcery target(creature|opponentbattlefield) text=When Warfire Javelineer enters the battlefield, it deals X damage to target creature an opponent controls, where X is the number of instant and sorcery cards in your graveyard. @@ -90856,8 +91037,8 @@ toughness=2 [card] name=Winter Orb auto=aslongas sourcenottap:lord(land) doesnotuntap -auto=@each my untap:untap notatarget(land|mybattlefield) -auto=@each opponent untap:ability$!name(untap land) untap notatarget(land|mybattlefield)!$ opponent +auto=@each my untap:untap notatarget(land[tapped]|mybattlefield) +auto=@each opponent untap:ability$!name(untap land) untap notatarget(land[tapped]|mybattlefield)!$ opponent text=As long as Winter Orb is untapped, players can't untap more than one land during their untap steps. mana={2} type=Artifact @@ -91268,10 +91449,10 @@ toughness=4 [/card] [card] name=Wolfrider's Saddle -auto=livingweapon_WOLFTOKEN_ auto={3}:equip auto=teach(creature) 1/1 auto=teach(creature) oneblocker +auto=livingweapon_WOLFTOKEN_ text=When Wolfrider's Saddle enters the battlefield, create a 2/2 green Wolf creature token, then attach Wolfrider's Saddle to it. -- Equipped creature gets +1/+1 and can't be blocked by more than one creature. -- Equip {3} ({3}: Attach to target creature you control. Equip only as a sorcery.) mana={3}{G} type=Artifact @@ -92108,6 +92289,14 @@ mana={1}{W} type=Instant [/card] [card] +name=You Look Upon the Tarrasque +auto=choice name(Run and Hide) preventallcombatdamage to(creature|myBattlefield) && preventallcombatdamage to(controller) +auto=choice name(Gather Your Courage) target(creature) transforms((,newability[5/5],newability[indestructible],newability[lure])) ueot +text=Choose one - -- - Run and Hide - Prevent all combat damage that would be dealt to you and creatures you control this turn. -- - Gather Your Courage - Target creature gets +5/+5 and gains indestructible until end of turn. All creatures your opponents control able to block that creature this turn do so. +mana={4}{G} +type=Instant +[/card] +[card] name=You Meet in a Tavern aicode=activate target(creature[zpos<=5]|mylibrary) moveTo(myhand) and!( all(*[-creature;zpos<=5]|mylibrary) moveto(myreveal) and!( bottomoflibrary )! )! auto=choice name(Search library) reveal:5 optionone name(Get Creature) target(creature|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend @@ -92149,6 +92338,14 @@ mana={3}{W} type=Instant [/card] [card] +name=You've Been Caught Stealing +auto=choice name(Threaten the Merchant) all(creature|battlefield) mustblock ueot +auto=choice name(Bribe the Guards) this(opponentdamagecount > 0) create(Treasure sur) +text=Choose one - -- - Threaten the Merchant - Each creature blocks this turn if able. -- - Bribe the Guards - You create a Treasure token for each opponent who was dealt damage this turn. (It's an artifact with "{T}, Sacrifice this artifact: Add one mana of any color.") +mana={1}{R} +type=Sorcery +[/card] +[card] name=Young Necromancer auto=if type(creature|myGraveyard)~morethan~0 then if type(*|myGraveyard)~morethan~2 then may name(Exile 2 cards) target(*|myGraveyard) moveto(myexile) and!( transforms((,newability[name(Exile second card) target(*|myGraveyard) moveto(myexile) and!( transforms((,newability[[name(Return card on battlefield) target(creature|myGraveyard) moveto(myBattlefield)])) oneshot )!])) oneshot )! text=When Young Necromancer enters the battlefield, you may exile two cards from your graveyard. When you do, return target creature card from your graveyard to the battlefield. @@ -92348,7 +92545,7 @@ toughness=4 [/card] [card] name=Zar Ojanen, Scion of Efrava -auto=@tapped(this):all(creature[toughness<=pbasiclandtypes]|myBattlefield) counter(1/1) +auto=@tapped(this):all(creature[toughnessminus1minusend<=pbasiclandtypes]|myBattlefield) counter(1/1) text=Domain - Whenever Zar Ojanen, Scion of Efrava becomes tapped, put a +1/+1 counter on each creature you control with toughness less than the number of basic land types among lands you control. mana={3}{G}{W} type=Legendary Creature diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 5c9a3c8f4..83e09d0d6 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -6556,7 +6556,7 @@ type=Sorcery [card] name=Aspiring Aeronaut abilities=flying -auto=choice token(Thopter,Artifact Creature Thopter,1/1,flying) +auto=choice _THOPTERTOKEN_ text=Flying (This creature can't be blocked except by creatures with flying or reach.) -- When Aspiring Aeronaut enters the battlefield, put a 1/1 colorless Thopter artifact creature token with flying onto the battlefield. mana={3}{U} type=Creature @@ -7092,7 +7092,7 @@ toughness=2 [card] name=Aurelia, the Warleader abilities=flying,vigilance,haste -auto=@combat(attacking) source(this) turnlimited:untap all(this) && untap all(creature|mybattlefield) && nextphasealter(add,combatphases,controller,after) +auto=@combat(attacking) source(this) turnlimited:untap all(creature|mybattlefield) && nextphasealter(add,combatphases,controller,after) text=Flying, vigilance, haste -- Whenever Aurelia, the Warleader attacks for the first time each turn, untap all creatures you control. After this phase, there is an additional combat phase. mana={2}{R}{R}{W}{W} type=Legendary Creature @@ -10162,7 +10162,7 @@ toughness=3 name=Beckon Apparition target=*|graveyard auto=moveTo(exile) -auto=token(Spirit,Token Spirit Creature, 1/1,white black flying) +auto=token(Spirit,Creature Spirit,1/1,white,black,flying) text=Exile target card from a graveyard. Put a 1/1 white and black Spirit creature token with flying onto the battlefield. mana={WB} type=Instant @@ -14260,7 +14260,7 @@ toughness=4 [card] name=Brago, King Eternal abilities=flying -auto=@combatdamaged(player) from(this):target(*[-land]|mybattlefield) transforms((,newability[moveto(exile)],newability[phaseactionmulti[endofturn] moveto(ownerbattlefield)])) +auto=@combatdamaged(player) from(this):target(*[-land]|mybattlefield) transforms((,newability[moveto(exile)],newability[phaseactionmulti[endofturn once] moveto(ownerbattlefield)])) text=Flying -- Whenever Brago, King Eternal deals combat damage to a player, exile any number of target nonland permanents you control, then return those cards to the battlefield under their owner's control. mana={2}{W}{U} type=Legendary Creature @@ -18676,7 +18676,7 @@ toughness=2 [/card] [card] name=Champion of Lambholt -auto=lord(creature[power*[artifact]|reveal) moveto(myhand) and!(all(other *|reveal) moveto(ownersideboard))! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownersideboard) and!(all(other *|reveal) moveto(ownersideboard))! optiontwoend revealend text=Activated abilities of artifacts your opponents control can't be activated. -- +1: Until your next turn, up to one target noncreature artifact becomes an artifact creature with power and toughness each equal to its mana value. -- -2: You may choose an artifact card you own from outside the game or in exile, reveal that card, and put it into your hand.