From dacb69721acb520389efe77dadc51049c55e1d44 Mon Sep 17 00:00:00 2001 From: Vittorio Alfieri Date: Sun, 6 Aug 2023 16:32:45 +0200 Subject: [PATCH] Added last primitives from CMM set, fixed some prmitives, updated missing cards by set list. --- .../mtg/bin/Res/missing_cards_by_sets/CMM.txt | 40 ++ .../bin/Res/sets/primitives/borderline.txt | 362 ++++++++++++++---- .../bin/Res/sets/primitives/planeswalkers.txt | 74 +++- .../bin/Res/sets/primitives/unsupported.txt | 22 +- 4 files changed, 421 insertions(+), 77 deletions(-) diff --git a/projects/mtg/bin/Res/missing_cards_by_sets/CMM.txt b/projects/mtg/bin/Res/missing_cards_by_sets/CMM.txt index 6f8a14d60..580dc9992 100644 --- a/projects/mtg/bin/Res/missing_cards_by_sets/CMM.txt +++ b/projects/mtg/bin/Res/missing_cards_by_sets/CMM.txt @@ -172,6 +172,16 @@ mana={2}{U} type=Sorcery [/card] [card] +name=Abstruse Archaic +abilities=vigilance +text=Vigilance -- {1}, {T}: Copy target activated or triggered ability you control from a colorless source. You may choose new targets for the copy. (Mana abilities can't be targeted.) +mana={4} +type=Creature +subtype=Avatar +power=3 +toughness=4 +[/card] +[card] name=Commandeer text=You may exile two blue cards from your hand rather than pay Commandeer's mana cost. -- Gain control of target noncreature spell. You may choose new targets for it. (If that spell is an artifact, enchantment, or planeswalker, the permanent enters the battlefield under your control.) mana={5}{U}{U} @@ -254,6 +264,26 @@ mana={3} type=Artifact [/card] [card] +name=Abstruse Archaic +abilities=vigilance +text=Vigilance -- {1}, {T}: Copy target activated or triggered ability you control from a colorless source. You may choose new targets for the copy. (Mana abilities can't be targeted.) +mana={4} +type=Creature +subtype=Avatar +power=3 +toughness=4 +[/card] +[card] +name=Leori, Sparktouched Hunter +abilities=flying,vigilance +text=Flying, vigilance -- Whenever Leori, Sparktouched Hunter deals combat damage to a player, choose a planeswalker type. Until end of turn, whenever you activate an ability of a planeswalker of that type, copy that ability. You may choose new targets for the copies. +mana={U}{R}{W} +type=Legendary Creature +subtype=Elemental Cat +power=3 +toughness=3 +[/card] +[card] name=Divergent Transformations text=Undaunted (This spell costs {1} less to cast for each opponent.) -- Exile two target creatures. For each of those creatures, its controller reveals cards from the top of his or her library until he or she reveals a creature card, puts that card onto the battlefield, then shuffles the rest into his or her library. mana={6}{R} @@ -333,3 +363,13 @@ subtype=Human Wizard power=3 toughness=4 [/card] +[card] +name=Leori, Sparktouched Hunter +abilities=flying,vigilance +text=Flying, vigilance -- Whenever Leori, Sparktouched Hunter deals combat damage to a player, choose a planeswalker type. Until end of turn, whenever you activate an ability of a planeswalker of that type, copy that ability. You may choose new targets for the copies. +mana={U}{R}{W} +type=Legendary Creature +subtype=Elemental Cat +power=3 +toughness=3 +[/card] diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 6f7a374d1..8f807324f 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -1,7 +1,7 @@ grade=borderline #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 programmatically - Thanks to Vitty85 05-08-2023 +#I sorted this programmatically - Thanks to Vitty85 06-08-2023 [card] name=+2 Mace auto={3}:equip @@ -2709,6 +2709,19 @@ mana={B}{R} type=Sorcery [/card] [card] +name=Anikthea, Hand of Erebos +abilities=menace +auto=lord(other creature[enchantment]|myBattlefield) menace +auto=may name(Exile enchantment) target(enchantment[-aura]|mygraveyard) moveto(myexile) and!( clone and!( transforms((Zombie Creature,setpower=3,settoughness=3,newcolors[black])) forever )! )! +auto=_ATTACKING_may name(Exile enchantment) target(enchantment[-aura]|mygraveyard) moveto(myexile) and!( clone and!( transforms((Zombie Creature,setpower=3,settoughness=3,newcolors[black])) forever )! )! +text=Menace -- Other enchantment creatures you control have menace. -- Whenever Anikthea enters the battlefield or attacks, exile up to one target non-Aura enchantment card from your graveyard. Create a token that's a copy of that card, except it's a 3/3 black Zombie creature in addition to its other types. +mana={2}{W}{B}{G} +type=Legendary Enchantment Creature +subtype=Demigod +power=4 +toughness=4 +[/card] +[card] name=Animal Magnetism auto=if type(*[creature;zpos<=5]|mylibrary)~morethan~0 then ability$!name(Choose creature card) name(Choose creature card) target(creature[zpos<=5]|opponentlibrary) moveto(opponentBattlefield) and!( moveto(opponentgraveyard) all(*[zpos<=5]|opponentlibrary) )! !$ opponent auto=if type(*[creature;zpos<=5]|mylibrary)~equalto~0 then ability$!name(Reveal the top five cards) name(Reveal the top five cards) target(<5>*[zpos<=5]|opponentlibrary) moveto(opponentgraveyard)!$ opponent @@ -3623,17 +3636,6 @@ power=2 toughness=3 [/card] [card] -name=Archangel Elspeth -auto=counter(0/0,4,loyalty) -auto={C(0/0,+1,Loyalty)}:create(soldier:creature soldier:1/1:white:lifelink) -auto={C(0/0,-2,Loyalty)}:target(creature) counter(1/1,2) && transforms((Angel,newability[flying])) forever -auto={C(0/0,-6,Loyalty)}:moveTo(mybattlefield) all(*[-land;-instant;-sorcery;manacost<=3]|myGraveyard) -text=[+1]: Create a 1/1 white Soldier creature token with lifelink. -- [-2]: Put two +1/+1 counters on target creature. It becomes an Angel in addition to its other types and gains flying. -- [-6]: Return all nonland permanent cards with mana value 3 or less from your graveyard to the battlefield. -mana={2}{W}{W} -type=Legendary Planeswalker -subtype=Elspeth -[/card] -[card] name=Archangel of Strife abilities=flying auto=choice name(War) all(creature|myBattlefield) 3/0 && flipacoin winability all(creature|opponentBattlefield) 3/0 winabilityend loseability all(creature|opponentBattlefield) 0/3 loseabilityend flipend @@ -5599,6 +5601,15 @@ power=4 toughness=4 [/card] [card] +name=Avacyn +abilities=flying,indestructible,vigilance +color=white +type=Legendary Creature +subtype=Angel +power=8 +toughness=9 +[/card] +[card] name=Avacyn's Judgment abilities=madness auto=thisforeach(variable{2}) ability$!name(Deal 1 damage) name(Deal 1 damage) target(anytarget) damage:1!$ controller @@ -7259,20 +7270,6 @@ power=4 toughness=4 [/card] [card] -name=Battle at the Helvault -auto=counter(0/0,1,Lore) -auto=@each my firstmain:counter(0/0,1,Lore) -auto=may name(Exile opponent permanent) target(*[-land&-saga]|opponentbattlefield) (blink)forsrc -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}) may name(Exile opponent permanent) name(Exile opponent permanent) target(*[-land&-saga]|opponentbattlefield) (blink)forsrc -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}) may name(Exile your permanent) name(Exile your permanent) target(*[-land&-saga]|mybattlefield) (blink)forsrc -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Sacrifice) sacrifice(this) -auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Create avacyn) token(Avacyn,Legendary Creature Angel,8/8,flying,vigilance,indestructible,white) -text=(As this Saga enters and after your draw step, add a lore counter.) -- I, II - For each player, exile up to one target non-Saga, nonland permanent that player controls until Battle at the Helvault leaves the battlefield. -- III - Create Avacyn, a legendary 8/8 white Angel creature token with flying, vigilance, and indestructible. -mana={4}{W}{W} -type=Enchantment -subtype=Saga -[/card] -[card] name=Battle Cry Goblin auto={1}{R}:name(Goblins get 1/0 and haste) all(goblin|mybattlefield) transforms((,newability[1/0],newability[haste])) ueot auto=@combat(attacking) source(this) restriction{compare(pwrtotatt)~morethan~5}:name(Create goblin) token(Goblin,Creature Goblin,1/1,red,battleready) @@ -7316,6 +7313,20 @@ mana={X}{B} type=Sorcery [/card] [card] +name=Battle at the Helvault +auto=counter(0/0,1,Lore) +auto=@each my firstmain:counter(0/0,1,Lore) +auto=may name(Exile opponent permanent) target(*[-land&-saga]|opponentbattlefield) (blink)forsrc +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}) may name(Exile opponent permanent) name(Exile opponent permanent) target(*[-land&-saga]|opponentbattlefield) (blink)forsrc +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.2.Lore}) may name(Exile your permanent) name(Exile your permanent) target(*[-land&-saga]|mybattlefield) (blink)forsrc +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Sacrifice) sacrifice(this) +auto=@counteradded(0/0,1,Lore) from(this):this(counter{0/0.3.Lore}) name(Create avacyn) token(Avacyn) +text=(As this Saga enters and after your draw step, add a lore counter.) -- I, II - For each player, exile up to one target non-Saga, nonland permanent that player controls until Battle at the Helvault leaves the battlefield. -- III - Create Avacyn, a legendary 8/8 white Angel creature token with flying, vigilance, and indestructible. +mana={4}{W}{W} +type=Enchantment +subtype=Saga +[/card] +[card] name=Battle for Bretagard auto=counter(0/0,1,Lore) auto=@each my firstmain:counter(0/0,1,Lore) @@ -13185,6 +13196,14 @@ power=3 toughness=4 [/card] [card] +name=Calamity of the Titans +restriction=type(creature[colorless]|myhand)~morethan~0 +auto=name(Reveal colorless creature) target(creature[colorless]|myhand) transforms((,newability[all(creature[manacost<=manacostminus1minusend]|battlefield) moveto(exile)],newability[all(planeswalker[manacost<=manacostminus1minusend]|battlefield) moveto(exile)])) oneshot +text=As an additional cost to cast this spell, reveal a colorless creature card from your hand. -- Exile each creature and planeswalker with mana value less than the revealed card's mana value. +mana={4}{C}{C} +type=Sorcery +[/card] +[card] name=Calamity's Wake abilities=exiledeath auto=emblem transforms((,newability[maxCast(*[-creature])0 opponent],newability[maxCast(*[-creature])0 controller])) ueot @@ -18164,6 +18183,17 @@ mana={3} type=Artifact [/card] [card] +name=Composer of Spring +auto=@movedto(enchantment|mybattlefield) restriction{type(enchantment|mybattlefield)~lessthan~6}:may name(Put in play) target(land|myhand) moveto(mybattlefield) and!( tap(noevent) )! +auto=@movedto(enchantment|mybattlefield) restriction{type(enchantment|mybattlefield)~morethan~5}:may name(Put in play) target(*[creature;land]|myhand) moveto(mybattlefield) and!( tap(noevent) )! +text=Constellation - Whenever an enchantment enters the battlefield under your control, you may put a land card from your hand onto the battlefield tapped. If you control six or more enchantments, instead you may put a creature or land card from your hand onto the battlefield tapped. +mana={1}{G} +type=Creature +subtype=Satyr Bard +power=1 +toughness=3 +[/card] +[card] name=Compound Fracture target=creature auto=-1/-1 ueot @@ -23264,6 +23294,14 @@ power=0 toughness=0 [/card] [card] +name=Descendants' Fury +aicode=activate transforms((,newability[target(*[creature;share!types!]|mylibrary) moveto(mybattlefield) and!( shuffle )!])) oneshot +auto=@combatdamaged(player) from(creature|mybattlefield) turnlimited:may name(Sacrifice creature) target(creature[damager&attacking]|mybattlefield) sacrifice and!( transforms((,newability[name(Reveal from top) reveal:1 revealzone(mylibrary) revealuntil(*[creature;share!types!]|mylibrary) optionone name(Get Creature) target(*[creature;share!types!]|myreveal) moveto(mylibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(Put on bottom) all(*|myreveal) bottomoflibrary optiontwoend afterrevealed all(tobecast|mylibrary) moveto(mybattlefield) afterrevealedend revealend])) oneshot )! +text=Whenever one or more creatures you control deal combat damage to a player, you may sacrifice one of them. If you do, reveal cards from the top of your library until you reveal a creature card that shares a creature type with the sacrificed creature. Put that card onto the battlefield and the rest on the bottom of your library in a random order. +mana={3}{R} +type=Enchantment +[/card] +[card] name=Descent into Avernus auto=@each my upkeep:thisforeach(counter{0/0.1.descent}) create(Treasure) controller auto=@each my upkeep:thisforeach(counter{0/0.1.descent}) create(Treasure) opponent @@ -23273,6 +23311,33 @@ mana={2}{R} type=Enchantment [/card] [card] +name=Desecrate Reality +autostack=if type(*[colorless&manacost=0]|opponentbattlefield)~morethan~0 then choice name(Exile permanent with mana 0) name(Exile permanent with mana 0) name(Exile permanent with mana 0) name(Exile permanent with mana 0) target(*[colorless&manacost=0]|opponentbattlefield) moveto(exile) +autostack=if type(*[colorless&manacost=2]|opponentbattlefield)~morethan~0 then choice name(Exile permanent with mana 2) name(Exile permanent with mana 2) name(Exile permanent with mana 2) name(Exile permanent with mana 2) target(*[colorless&manacost=2]|opponentbattlefield) moveto(exile) +autostack=if type(*[colorless&manacost=4]|opponentbattlefield)~morethan~0 then choice name(Exile permanent with mana 4) name(Exile permanent with mana 4) name(Exile permanent with mana 4) name(Exile permanent with mana 4) target(*[colorless&manacost=4]|opponentbattlefield) moveto(exile) +autostack=if type(*[colorless&manacost=6]|opponentbattlefield)~morethan~0 then choice name(Exile permanent with mana 6) name(Exile permanent with mana 6) name(Exile permanent with mana 6) name(Exile permanent with mana 6) target(*[colorless&manacost=6]|opponentbattlefield) moveto(exile) +autostack=if type(*[colorless&manacost=8]|opponentbattlefield)~morethan~0 then choice name(Exile permanent with mana 8) name(Exile permanent with mana 8) name(Exile permanent with mana 8) name(Exile permanent with mana 8) target(*[colorless&manacost=8]|opponentbattlefield) moveto(exile) +autostack=if type(*[colorless&manacost=10]|opponentbattlefield)~morethan~0 then choice name(Exile permanent with mana 10) name(Exile permanent with mana 10) name(Exile permanent with mana 10) name(Exile permanent with mana 10) target(*[colorless&manacost=10]|opponentbattlefield) moveto(exile) +autostack=if type(*[colorless&manacost=12]|opponentbattlefield)~morethan~0 then choice name(Exile permanent with mana 12) name(Exile permanent with mana 12) name(Exile permanent with mana 12) name(Exile permanent with mana 12) target(*[colorless&manacost=12]|opponentbattlefield) moveto(exile) +autostack=if type(*[colorless&manacost=14]|opponentbattlefield)~morethan~0 then choice name(Exile permanent with mana 14) name(Exile permanent with mana 14) name(Exile permanent with mana 14) name(Exile permanent with mana 14) target(*[colorless&manacost=14]|opponentbattlefield) moveto(exile) +autostack=if type(*[colorless&manacost=16]|opponentbattlefield)~morethan~0 then choice name(Exile permanent with mana 16) name(Exile permanent with mana 16) name(Exile permanent with mana 16) name(Exile permanent with mana 16) target(*[colorless&manacost=16]|opponentbattlefield) moveto(exile) +autostack=if type(*[colorless&manacost=18]|opponentbattlefield)~morethan~0 then choice name(Exile permanent with mana 18) name(Exile permanent with mana 18) name(Exile permanent with mana 18) name(Exile permanent with mana 18) target(*[colorless&manacost=18]|opponentbattlefield) moveto(exile) +autostack=if type(*[colorless&manacost>=20]|opponentbattlefield)~morethan~0 then choice name(Exile permanent with mana 20) name(Exile permanent with mana 20) name(Exile permanent with mana 20) name(Exile permanent with mana 20) target(*[colorless&manacost>=20]|opponentbattlefield) moveto(exile) +auto=if casted(this) then if spent({C}{C}{C}) then if type(*[permanent&colorless&manacost=1]|mygraveyard)~morethan~0 then choice name(Return permanent with mana 1) name(Return permanent with mana 1) name(Return permanent with mana 1) name(Return permanent with mana 1) target(*[permanent&colorless&manacost=1]|mygraveyard) moveto(mybattlefield) +auto=if casted(this) then if spent({C}{C}{C}) then if type(*[permanent&colorless&manacost=3]|mygraveyard)~morethan~0 then choice name(Return permanent with mana 3) name(Return permanent with mana 3) name(Return permanent with mana 3) name(Return permanent with mana 3) target(*[permanent&colorless&manacost=3]|mygraveyard) moveto(mybattlefield) +auto=if casted(this) then if spent({C}{C}{C}) then if type(*[permanent&colorless&manacost=5]|mygraveyard)~morethan~0 then choice name(Return permanent with mana 5) name(Return permanent with mana 5) name(Return permanent with mana 5) name(Return permanent with mana 5) target(*[permanent&colorless&manacost=5]|mygraveyard) moveto(mybattlefield) +auto=if casted(this) then if spent({C}{C}{C}) then if type(*[permanent&colorless&manacost=7]|mygraveyard)~morethan~0 then choice name(Return permanent with mana 7) name(Return permanent with mana 7) name(Return permanent with mana 7) name(Return permanent with mana 7) target(*[permanent&colorless&manacost=7]|mygraveyard) moveto(mybattlefield) +auto=if casted(this) then if spent({C}{C}{C}) then if type(*[permanent&colorless&manacost=9]|mygraveyard)~morethan~0 then choice name(Return permanent with mana 9) name(Return permanent with mana 9) name(Return permanent with mana 9) name(Return permanent with mana 9) target(*[permanent&colorless&manacost=9]|mygraveyard) moveto(mybattlefield) +auto=if casted(this) then if spent({C}{C}{C}) then if type(*[permanent&colorless&manacost=11]|mygraveyard)~morethan~0 then choice name(Return permanent with mana 11) name(Return permanent with mana 11) name(Return permanent with mana 11) name(Return permanent with mana 11) target(*[permanent&colorless&manacost=11]|mygraveyard) moveto(mybattlefield) +auto=if casted(this) then if spent({C}{C}{C}) then if type(*[permanent&colorless&manacost=13]|mygraveyard)~morethan~0 then choice name(Return permanent with mana 13) name(Return permanent with mana 13) name(Return permanent with mana 13) name(Return permanent with mana 13) target(*[permanent&colorless&manacost=13]|mygraveyard) moveto(mybattlefield) +auto=if casted(this) then if spent({C}{C}{C}) then if type(*[permanent&colorless&manacost=15]|mygraveyard)~morethan~0 then choice name(Return permanent with mana 15) name(Return permanent with mana 15) name(Return permanent with mana 15) name(Return permanent with mana 15) target(*[permanent&colorless&manacost=15]|mygraveyard) moveto(mybattlefield) +auto=if casted(this) then if spent({C}{C}{C}) then if type(*[permanent&colorless&manacost=17]|mygraveyard)~morethan~0 then choice name(Return permanent with mana 17) name(Return permanent with mana 17) name(Return permanent with mana 17) name(Return permanent with mana 17) target(*[permanent&colorless&manacost=17]|mygraveyard) moveto(mybattlefield) +auto=if casted(this) then if spent({C}{C}{C}) then if type(*[permanent&colorless&manacost>=19]|mygraveyard)~morethan~0 then choice name(Return permanent with mana 19) name(Return permanent with mana 19) name(Return permanent with mana 19) name(Return permanent with mana 19) target(*[permanent&colorless&manacost>=19]|mygraveyard) moveto(mybattlefield) +text=For each opponent, exile up to one target permanent that player controls with an even mana value. (Zero is even.) -- Adamant - If at least three colorless mana was spent to cast this spell, return a permanent card with an odd mana value from your graveyard to the battlefield. +mana={7} +type=Instant +[/card] +[card] name=Desecrated Tomb auto=@movedto(*|mybattlefield,mystack,myhand,mylibrary,mysideboard,myexile,mycommandzone) 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. @@ -23901,19 +23966,6 @@ mana={1}{U}{B} type=Instant [/card] [card] -name=Dihada, Binder of Wills -abilities=canbecommander -auto=counter(0/0,5,loyalty) -auto={C(0/0,+2,Loyalty)}:target(legendary[creature]) transforms((,newability[vigilance],newability[lifelink],newability[indestructible])) uynt -auto={C(0/0,+2,Loyalty)}:name(No target) donothing -auto={C(0/0,-3,Loyalty)}:name(Reveal the top four) reveal:4 optionone name(Select any number of legendary) target(*[legendary]|reveal) moveto(myhand) optiononeend optiontwo name(Put into your graveyard) all(<4>*|reveal) moveto(mygraveyard) and!(token(Treasure))! optiontwoend revealend -auto={C(0/0,-11,Loyalty)}:moveto(myBattlefield) all(*[-land]) && all(*[-land]) transforms((,newability[untap],newability[haste])) ueot -text=[+2]: Up to one target legendary creature gains vigilance, lifelink, and indestructible until your next turn. -- [-3]: Reveal the top four cards of your library. Put any number of legendary cards from among them into your hand and the rest into your graveyard. Create a Treasure token for each card put into your graveyard this way. -- [-11]: Gain control of all nonland permanents until end of turn. Untap them. They gain haste until end of turn. -- Dihada, Binder of Wills can be your commander. -mana={1}{R}{W}{B} -type=Legendary Planeswalker -subtype=Dihada -[/card] -[card] name=Diligent Excavator auto=_CASTHISTORIC_target(player) deplete:2 text=Whenever you cast a historic spell, target player mills two cards. (Artifacts, legendaries, and Sagas are historic.) @@ -34514,6 +34566,18 @@ mana={1}{B}{B} type=Sorcery [/card] [card] +name=Flayer of Loyalties +abilities=trample +autostack=name(Gain control) target(creature|battlefield) moveto(mybattlefield) and!( transforms((,setpower=10,settoughness=10,newability[phaseaction[endofturn sourceinplay] moveTo(previousbattlefield)],newability[untap],newability[haste],newability[trample],newability[@combat(attacking) source(this):name(Annihilate 2) ability$!name(Sacrifice 2 permanents) notatarget(<2>*|mybattlefield) sacrifice !$ opponent])) ueot )! +auto=_ATTACKING_name(Annihilate 2) ability$!name(sacrifice 2 permanents) notatarget(<2>*|mybattlefield) sacrifice !$ opponent +text=When you cast this spell, gain control of target creature until end of turn. Untap that creature. Until end of turn, it has base power and toughness 10/10, and gains trample, annihilator 2, and haste. -- Annihilator 2 (Whenever this creature attacks, defending player sacrifices two permanents.) -- Trample +mana={8}{C}{C} +type=Creature +subtype=Eldrazi +power=10 +toughness=10 +[/card] +[card] name=Fleet Swallower auto=_ATTACKING_target(player) deplete:halfuptype:*:targetedpersonslibrary text=Whenever Fleet Swallower attacks, target player puts the top half of his or her library, rounded up, into his or her graveyard. @@ -42224,6 +42288,15 @@ power=3 toughness=4 [/card] [card] +name=Guff Rewrites History +target=*[-land&-enchantment]|opponentbattlefield +auto=moveto(opponentlibrary) and!( transforms((,newability[shuffle],newability[all(*[zpos=findfirsttypenonland]|mylibrary) moveto(myexile) and!( transforms((,newability[may name(Cast exiled card) activate castcard(normal)],newability[all(*[zpos<=findfirsttypenonland]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot )!])) oneshot )! +auto=name(Shuffle your permanent) target(*[-land&-enchantment]|mybattlefield) moveto(mylibrary) and!( transforms((,newability[shuffle],newability[all(*[zpos=findfirsttypenonland]|mylibrary) moveto(myexile) and!( transforms((,newability[may name(Cast exiled card) activate castcard(normal)],newability[all(*[zpos<=findfirsttypenonland]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot )!])) oneshot )! +text=For each player, choose target nonenchantment, nonland permanent that player controls. Those permanents' owners shuffle them into their libraries. Each player who controlled one of those permanents exiles cards from the top of their library until they exile a nonland card, then puts the rest on the bottom of their library in a random order. Each player may cast the nonland card they exiled without paying its mana cost. +mana={2}{R} +type=Instant +[/card] +[card] name=Guiding Bolt target=creature[power>=4] auto=destroy @@ -50836,19 +50909,6 @@ mana={3} type=Artifact [/card] [card] -name=Jared Carthalion -abilities=canbecommander -auto=counter(0/0,5,loyalty) -auto={C(0/0,+1,Loyalty)}:create(Kavu:Creature Kavu:3/3:trample:white:blue:black:red:green) -auto={C(0/0,-3,Loyalty)}:name(counters equal to number of colors) target(creature) transforms((,newability[counter(1/1.mycolnum)])) -auto={C(0/0,-6,Loyalty)}:moveTo(ownerhand) target(*[multicolor]|mygraveyard) -auto={C(0/0,-6,Loyalty)}:name(Return card that's all colors) moveTo(ownerhand) target(*[white&blue&black&red&green]|mygraveyard) && draw:1 && token(Treasure)*2 -text=[+1]: Create a 3/3 Kavu creature token with trample that's all colors. -- [-3]: Choose up to two target creatures. For each of them, put a number of +1/+1 counters on it equal to the number of colors it is. -- [-6]: Return target multicolored card from your graveyard to your hand. If that card was all colors, draw a card and create two Treasure tokens. -- Jared Carthalion can be your commander. -mana={W}{U}{B}{R}{G} -type=Legendary Planeswalker -subtype=Jared -[/card] -[card] name=Jared Carthalion, True Heir auto=_MONARCH_OPPONENT_ auto=emblem transforms((,newability[@becomesmonarchof(player):name(You can't become the monarch) _MONARCH_OPPONENT_])) ueot @@ -54248,17 +54308,6 @@ power=0 toughness=5 [/card] [card] -name=Koth, Fire of Resistance -auto=counter(0/0,4,loyalty) -auto={C(0/0,+2,Loyalty)}:target(mountain[basic]|myLibrary) moveTo(ownerhand) -auto={C(0/0,-3,Loyalty)}:target(creature) damage:type:Mountain:mybattlefield -auto={C(0/0,-7,Loyalty)}:emblem transforms((,newability[@movedTo(mountain|myBattlefield):damage:4 target(anytarget)])) forever dontremove -text=[+2]: Search your library for a basic Mountain card, reveal it, put it into your hand, then shuffle. -- [-3]: Koth, Fire of Resistance deals damage to target creature equal to the number of Mountains you control. -- [-7]: You get an emblem with "Whenever a Mountain enters the battlefield under your control, this emblem deals 4 damage to any target." -mana={2}{R}{R} -type=Legendary Planeswalker -subtype=Koth -[/card] -[card] name=Kotori, Pilot Prodigy auto=lord(vehicle|myBattlefield) transforms((,newability[{crew(other creature[power>=2]|myBattlefield)}:name(crew 2 [1 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=2]|mybattlefield)~morethan~0,compare(crewtotalpower)~morethan~1}],newability[{crew(other creature[power>=1]|myBattlefield)}{crew(other creature[power>=1]|myBattlefield)}:name(crew 2 [2 creature]) becomes(Artifact Creature) ueot restriction{type(other creature[-tapped;power>=1]|mybattlefield)~morethan~1,compare(crewtotalpower)~morethan~1}])) auto=@each my combatbegins:name(Artifact creature gains lifelink and vigilance) target(artifact[creature]|myBattlefield) transforms((,newability[lifelink],newability[vigilance])) ueot @@ -64686,6 +64735,18 @@ power=4 toughness=4 [/card] [card] +name=Narci, Fable Singer +abilities=lifelink +auto=@sacrificed(enchantment|mybattlefield):name(Draw a card) draw:1 controller +auto=@sacrificed(saga|myBattlefield):name(Gain life) all(trigger[to]) name(Gain life) transforms((,newability[lifeleech:-manacost opponent])) oneshot +text=Lifelink -- Whenever you sacrifice an enchantment, draw a card. -- Whenever the final chapter ability of a Saga you control resolves, each opponent loses X life and you gain X life, where X is that Saga's mana value. +mana={1}{W}{B}{G} +type=Legendary Creature +subtype=Human Bard +power=3 +toughness=3 +[/card] +[card] name=Narfi, Betrayer King auto=lord(other *[zombie;snow]|mybattlefield) 1/1 autograveyard={i}{i}{i}:moveto(mybattlefield) and!( tap(noevent) )! @@ -67981,6 +68042,37 @@ power=4 toughness=5 [/card] [card] +name=Omarthis, Ghostfire Initiate +auto=counter(1/1,halfpaid) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~1}:name(Manifest 1 card) manifest all(*[zpos<=1]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~2}:name(Manifest 2 cards) manifest all(*[zpos<=2]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~3}:name(Manifest 3 cards) manifest all(*[zpos<=3]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~4}:name(Manifest 4 cards) manifest all(*[zpos<=4]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~5}:name(Manifest 5 cards) manifest all(*[zpos<=5]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~6}:name(Manifest 6 cards) manifest all(*[zpos<=6]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~7}:name(Manifest 7 cards) manifest all(*[zpos<=7]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~8}:name(Manifest 8 cards) manifest all(*[zpos<=8]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~9}:name(Manifest 9 cards) manifest all(*[zpos<=9]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~10}:name(Manifest 10 cards) manifest all(*[zpos<=10]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~11}:name(Manifest 11 cards) manifest all(*[zpos<=11]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~12}:name(Manifest 12 cards) manifest all(*[zpos<=12]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~13}:name(Manifest 13 cards) manifest all(*[zpos<=13]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~14}:name(Manifest 14 cards) manifest all(*[zpos<=14]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~15}:name(Manifest 15 cards) manifest all(*[zpos<=15]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~16}:name(Manifest 16 cards) manifest all(*[zpos<=16]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~17}:name(Manifest 17 cards) manifest all(*[zpos<=17]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~18}:name(Manifest 18 cards) manifest all(*[zpos<=18]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~equalto~19}:name(Manifest 19 cards) manifest all(*[zpos<=19]|mylibrary) +auto=@movedto(this|graveyard) from(battlefield) restriction{compare(hascntanycnt)~morethan~19}:name(Manifest 20 cards) manifest all(*[zpos<=20]|mylibrary) +auto=@counteradded(1/1) from(other creature[colorless]|mybattlefield):may name(Put 1/1 counter) counter(1/1) +text=Omarthis, Ghostfire Initiate enters the battlefield with X +1/+1 counters on it. -- Whenever you put one or more +1/+1 counters on another colorless creature, you may put a +1/+1 counter on Omarthis. -- When Omarthis dies, manifest a number of cards from the top of your library equal to the number of counters on it. +mana={X}{X} +type=Legendary Creature +subtype=Spirit Naga +power=0 +toughness=0 +[/card] +[card] name=Omen Hawker auto={T}:name(Add mana) add{C}{U} text={T}: Add {C}{U}. Spend this mana only to activate abilities. @@ -79438,6 +79530,18 @@ mana={2}{B} type=Instant [/card] [card] +name=Rise of the Eldrazi +abilities=nofizzle,exiledeath +target=*|battlefield +auto=destroy +auto=turns:+1 controller +auto=choice name(You draw 4 cards) draw:4 controller +auto=choice name(Opponent draws 4 cards) draw:4 opponent +text=This spell can't be countered. -- Destroy target permanent. Target player draws four cards. Take an extra turn after this one. -- Exile Rise of the Eldrazi. +mana={9}{C}{C}{C} +type=Sorcery +[/card] +[card] name=Rise of the Witch-king auto=ability$!name(Sacrifice a creature) name(Sacrifice a creature) sacrifice notatarget(creature|mybattlefield)!$ opponent auto=name(Sacrifice a creature) target(creature|mybattlefield) sacrifice and!( transforms((,newability[may name(Return another permanent) target(other *[-instant;-sorcery]|mygraveyard) moveTo(mybattlefield)])) oneshot )! @@ -80978,6 +81082,17 @@ power=1 toughness=1 [/card] [card] +name=Rukarumel, Biologist +auto=chooseatype transforms((,newability[lord(sliver|mybattlefield) becomes(chosentype)],newability[lord(creature[-token]|myzones) becomes(chosentype)])) forever chooseend +auto={3}{T}:name(Create sliver) token(Sliver) +text=As Rukarumel, Biologist enters the battlefield, choose a creature type. -- Slivers you control and nontoken creatures you control are the chosen type in addition to their other creature types. The same is true for creature spells you control and creature cards you own that aren't on the battlefield. -- {3}, {T}: Create a 1/1 colorless Sliver creature token. +mana={W}{U}{B}{R}{G} +type=Legendary Creature +subtype=Human Wizard +power=3 +toughness=3 +[/card] +[card] name=Rumbling Aftershocks auto=@movedTo(*[kicked=1]|myStack):may name(Deal 1 damage) target(creature) damage:1 auto=@movedTo(*[kicked=2]|myStack):may name(Deal 2 damage) target(creature) damage:2 @@ -88344,6 +88459,37 @@ power=4 toughness=4 [/card] [card] +name=Skittering Cicada +abilities=flash +auto=lord(*[colorless]|mycastingzone) asflash +auto=@movedTo(*[colorless&manacost=1]|mystack):name(Gains x/x and trample) transforms((,newability[1/1],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=2]|mystack):name(Gains x/x and trample) transforms((,newability[2/2],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=3]|mystack):name(Gains x/x and trample) transforms((,newability[3/3],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=4]|mystack):name(Gains x/x and trample) transforms((,newability[4/4],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=5]|mystack):name(Gains x/x and trample) transforms((,newability[5/5],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=6]|mystack):name(Gains x/x and trample) transforms((,newability[6/6],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=7]|mystack):name(Gains x/x and trample) transforms((,newability[7/7],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=8]|mystack):name(Gains x/x and trample) transforms((,newability[8/8],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=9]|mystack):name(Gains x/x and trample) transforms((,newability[9/9],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=10]|mystack):name(Gains x/x and trample) transforms((,newability[10/10],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=11]|mystack):name(Gains x/x and trample) transforms((,newability[11/11],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=12]|mystack):name(Gains x/x and trample) transforms((,newability[12/12],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=13]|mystack):name(Gains x/x and trample) transforms((,newability[13/13],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=14]|mystack):name(Gains x/x and trample) transforms((,newability[14/14],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=15]|mystack):name(Gains x/x and trample) transforms((,newability[15/15],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=16]|mystack):name(Gains x/x and trample) transforms((,newability[16/16],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=17]|mystack):name(Gains x/x and trample) transforms((,newability[17/17],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=18]|mystack):name(Gains x/x and trample) transforms((,newability[18/18],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost=19]|mystack):name(Gains x/x and trample) transforms((,newability[19/19],newability[trample])) ueot +auto=@movedTo(*[colorless&manacost>=20]|mystack):name(Gains x/x and trample) transforms((,newability[20/20],newability[trample])) ueot +text=Flash -- You may cast colorless spells as though they had flash. -- Whenever you cast a colorless spell, until end of turn, Skittering Cicada gains trample and gets +X/+X, where X is that spell's mana value. +mana={3} +type=Creature +subtype=Insect +power=2 +toughness=2 +[/card] +[card] name=Skittering Crustacean auto=this(cantargetcard(*[-monstrous]) {6}{U}:becomes(monstrous) forever && counter(1/1,4) && transforms((,newability[opponentshroud])) forever text={6}{U}: Monstrosity 4. (If this creature isn't monstrous, put four +1/+1 counters on it and it becomes monstrous.) -- As long as Skittering Crustacean is monstrous, it has hexproof. (It can't be the target of spells or abilities your opponents control.) @@ -89296,6 +89442,13 @@ power=3 toughness=2 [/card] [card] +name=Sliver +type=Creature +subtype=Sliver +power=1 +toughness=1 +[/card] +[card] name=Sliver Army color=black type=Creature @@ -89304,6 +89457,39 @@ power=0 toughness=0 [/card] [card] +name=Sliver Gravemother +abilities=nolegend +auto=lord(sliver|myBattlefield) nolegend +autograveyard={5}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason,haste,mustattack) )! asSorcery +auto=lord(sliver[manacost=0]|mygraveyard) transforms((,newability[{0}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=1]|mygraveyard) transforms((,newability[{1}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=2]|mygraveyard) transforms((,newability[{2}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=3]|mygraveyard) transforms((,newability[{3}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=4]|mygraveyard) transforms((,newability[{4}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=5]|mygraveyard) transforms((,newability[{5}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=6]|mygraveyard) transforms((,newability[{6}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=7]|mygraveyard) transforms((,newability[{7}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=8]|mygraveyard) transforms((,newability[{8}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=9]|mygraveyard) transforms((,newability[{9}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=10]|mygraveyard) transforms((,newability[{10}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=11]|mygraveyard) transforms((,newability[{11}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=12]|mygraveyard) transforms((,newability[{12}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=13]|mygraveyard) transforms((,newability[{13}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=14]|mygraveyard) transforms((,newability[{14}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=15]|mygraveyard) transforms((,newability[{15}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=16]|mygraveyard) transforms((,newability[{16}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=17]|mygraveyard) transforms((,newability[{17}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=18]|mygraveyard) transforms((,newability[{18}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost=19]|mygraveyard) transforms((,newability[{19}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +auto=lord(sliver[manacost>=20]|mygraveyard) transforms((,newability[{20}:name(Activate Encore) name(Activate Encore) moveto(exile) and!( clone with(treason^haste^mustattack) )! asSorcery])) +text=The "legend rule" doesn't apply to Slivers you control. -- Each Sliver creature card in your graveyard has encore {X}, where X is its mana value. -- Encore {5} ({5}, Exile this card from your graveyard: For each opponent, create a token copy that attacks that opponent this turn if able. They gain haste. Sacrifice them at the beginning of the next end step. Activate only as a sorcery.) +mana={W}{U}{B}{R}{G} +type=Legendary Creature +subtype=Sliver +power=6 +toughness=6 +[/card] +[card] name=Sliver Hive auto={T}:add{C} auto=this(variable{type:sliver:myrestrictedcastingzone}>0) {T}:add{W} @@ -90927,6 +91113,16 @@ power=3 toughness=4 [/card] [card] +name=Sparkshaper Visionary +auto=@each my combatbegins:may name(Transform planeswalkers) target(planeswalker|myBattlefield) transforms((removeallsubtypes,removeallcolors,newability[becomes(Creature Bird^3/3^blue) ueot],newability[opponentshroud],newability[flying],newability[@combatdamaged(player) from(this):name(Scry 1) scry:1 scrycore delayed dontshow donothing scrycoreend scryend])) ueot +text=At the beginning of combat on your turn, choose any number of target planeswalkers you control. Until end of turn, they become 3/3 blue Bird creatures with flying, hexproof, and "Whenever this creature deals combat damage to a player, scry 1." (They're no longer planeswalkers. Loyalty abilities can still be activated.) +mana={2}{U} +type=Creature +subtype=Human Wizard +power=0 +toughness=5 +[/card] +[card] name=Sparktongue Dragon abilities=flying auto=may pay({2}{r}):damage:3 target(anytarget) @@ -93515,6 +93711,16 @@ power=0 toughness=0 [/card] [card] +name=Stoneforged Blade +abilities=indestructible +auto=teach(creature) 5/5 +auto=teach(creature) double strike +auto={0}:equip +text=Indestructible -- Equipped creature gets +5/+5 and has double strike -- Equip {0}. +type=Artifact +subtype=Equipment +[/card] +[card] name=Stonerise Spirit abilities=flying auto={4}{E(*|mygraveyard)}:name(Creature gains flying) target(creature) transforms((,newability[flying])) ueot @@ -97327,18 +97533,6 @@ power=3 toughness=4 [/card] [card] -name=Teferi, Temporal Pilgrim -auto=counter(0/0,4,loyalty) -auto=@drawof(player):counter(0/0,1,Loyalty) -auto={C(0/0,0,Loyalty)}:draw:1 -auto={C(0/0,-2,Loyalty)}:create(spirit:creature spirit:2/2:blue:vigilance) and!( transforms((,newability[@drawof(player):counter(1/1)])) )! -auto={C(0/0,-12,Loyalty)}:target(opponent) ability$!name(return permanent) notatarget(*|mybattlefield) transforms((,newability[moveTo(ownerHand)],newability[all(other *[-land]|mybattlefield) moveTo(ownerHand) and!(shuffle)!] ))!$ targetedplayer -text=Whenever you draw a card, put a loyalty counter on Teferi, Temporal Pilgrim. -- [0]: Draw a card. -- [-2]: Create a 2/2 blue Spirit creature token with vigilance and "Whenever you draw a card, put a +1/+1 counter on this creature." -- [-12]: Target opponent chooses a permanent they control and returns it to its owner's hand. Then they shuffle each nonland permanent they control into its owner's library. -mana={3}{U}{U} -type=Legendary Planeswalker -subtype=Teferi -[/card] -[card] name=Tekuthal, Inquiry Dominus abilities=flying auto=@proliferateof(player) except(this):name(Proliferate twice) name(Proliferate twice) notatarget(proliferation) proliferate @@ -103394,6 +103588,14 @@ power=0 toughness=0 [/card] [card] +name=Ugin's Mastery +auto=@movedTo(creature[colorless]|mystack):name(Manifest top card) manifest all(*[zpos=1]|mylibrary) +auto=@each my blockers restriction{compare(pwrtotatt)~morethan~5}:name(Turn face-up) target(creature[morph]|mybattlefield) transforms((,newability[morph])) forever +text=Whenever you cast a colorless creature spell, manifest the top card of your library. (Put it onto the battlefield face down as a 2/2 creature. Turn it face up any time for its mana cost if it's a creature card.) -- Whenever you attack with creatures with total power 6 or greater, you may turn a face-down creature you control face up. +mana={4} +type=Enchantment +[/card] +[card] name=Ugluk of the White Hand auto=@movedTo(creature[-orc&-goblin]|graveyard) from(mybattlefield):name(Put 1/1 counter) counter(1/1) auto=@movedTo(creature[orc;goblin]|graveyard) from(mybattlefield):name(Put 1/1 counters) counter(1/1,2) @@ -111894,6 +112096,16 @@ power=2 toughness=1 [/card] [card] +name=Zhulodok, Void Gorger +auto=@movedto(*[colorless&manacost<=7]|mystack) from(myhand):name(Cascade) all(trigger[to]) name(Cascade) transforms((,newability[activate choice cascade:plibrarycount && activate choice cascade:plibrarycount])) oneshot +text=Colorless spells you cast from your hand with mana value 7 or greater have "Cascade, cascade." (When you cast one, exile cards from the top of your library until you exile a nonland card that costs less. You may cast it without paying its mana cost. Put the exiled cards on the bottom of your library in a random order. Then do it again.) +mana={5}{C} +type=Legendary Creature +subtype=Eldrazi +power=7 +toughness=4 +[/card] +[card] name=Zhur-Taa Goblin auto=choice counter(1/1) auto=choice aslongas(creature|myBattlefield) haste diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 022d88f3d..8b80b2da1 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -1,6 +1,6 @@ #Planeswalkers Primitives Pack for Wagic the Homebrew. #Please keep these card alphabetized, and try to have the "name=" line at the top of each card -#We sorted this in alphabetical order - Luruz & Vitty85 05-08-2023 +#We sorted this in alphabetical order - Luruz & Vitty85 06-08-2023 [card] name=Abian, Luvion Usurper auto=counter(0/0,5,loyalty) @@ -223,6 +223,17 @@ type=Legendary Planeswalker subtype=Angrath [/card] [card] +name=Archangel Elspeth +auto=counter(0/0,4,loyalty) +auto={C(0/0,+1,Loyalty)}:create(soldier:creature soldier:1/1:white:lifelink) +auto={C(0/0,-2,Loyalty)}:target(creature) counter(1/1,2) && transforms((Angel,newability[flying])) forever +auto={C(0/0,-6,Loyalty)}:moveTo(mybattlefield) all(*[-land;-instant;-sorcery;manacost<=3]|myGraveyard) +text=[+1]: Create a 1/1 white Soldier creature token with lifelink. -- [-2]: Put two +1/+1 counters on target creature. It becomes an Angel in addition to its other types and gains flying. -- [-6]: Return all nonland permanent cards with mana value 3 or less from your graveyard to the battlefield. +mana={2}{W}{W} +type=Legendary Planeswalker +subtype=Elspeth +[/card] +[card] name=Arlinn Kord auto=counter(0/0,3,loyalty) backside=Arlinn, Embraced by the Moon @@ -713,6 +724,18 @@ type=Legendary Planeswalker subtype=Chandra [/card] [card] +name=Commodore Guff +abilities=canbecommander +auto=counter(0/0,5,loyalty) +auto={C(0/0,+1,Loyalty)}:name(+1: Create wizard) token(Wizard,Creature Wizard,1/1,red) and!( transforms((,newability[this(variable{type:planeswalker:myrestrictedcastingzone}>0) {T}:add{R}])) forever )! +auto={C(0/0,-3,Loyalty)}:name(-3: Draw and damage) draw:type:planeswalker:mybattlefield controller && damage:type:planeswalker:mybattlefield opponent +auto=@each my endofturn:name(Put loyalty counter) target(other planeswalker|myBattlefield) counter(0/0,1,Loyalty) +text=At the beginning of your end step, put a loyalty counter on another target planeswalker you control. -- [+1]: Create a 1/1 red Wizard creature token with "{T}: Add {R}. Spend this mana only to cast a planeswalker spell." -- [-3]: You draw X cards and Commodore Guff deals X damage to each opponent, where X is the number of planeswalkers you control. -- Commodore Guff can be your commander. +mana={1}{U}{R}{W} +type=Legendary Planeswalker +subtype=Guff +[/card] +[card] name=Dack Fayden auto=counter(0/0,3,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Target player draws and discards two) target(player) ability$!draw:2 _ choice target(<2>*|myhand) reject!$ targetedplayer @@ -783,6 +806,19 @@ type=Legendary Planeswalker subtype=Davriel [/card] [card] +name=Dihada, Binder of Wills +abilities=canbecommander +auto=counter(0/0,5,loyalty) +auto={C(0/0,+2,Loyalty)}:target(legendary[creature]) transforms((,newability[vigilance],newability[lifelink],newability[indestructible])) uynt +auto={C(0/0,+2,Loyalty)}:name(No target) donothing +auto={C(0/0,-3,Loyalty)}:name(Reveal the top four) reveal:4 optionone name(Select any number of legendary) target(*[legendary]|reveal) moveto(myhand) optiononeend optiontwo name(Put into your graveyard) all(<4>*|reveal) moveto(mygraveyard) and!(token(Treasure))! optiontwoend revealend +auto={C(0/0,-11,Loyalty)}:moveto(myBattlefield) all(*[-land]) && all(*[-land]) transforms((,newability[untap],newability[haste])) ueot +text=[+2]: Up to one target legendary creature gains vigilance, lifelink, and indestructible until your next turn. -- [-3]: Reveal the top four cards of your library. Put any number of legendary cards from among them into your hand and the rest into your graveyard. Create a Treasure token for each card put into your graveyard this way. -- [-11]: Gain control of all nonland permanents until end of turn. Untap them. They gain haste until end of turn. -- Dihada, Binder of Wills can be your commander. +mana={1}{R}{W}{B} +type=Legendary Planeswalker +subtype=Dihada +[/card] +[card] name=Domri, Anarch of Bolas auto=counter(0/0,3,loyalty) auto=lord(other creature|myBattlefield) 1/0 @@ -1550,6 +1586,19 @@ type=Legendary Planeswalker subtype=Jace [/card] [card] +name=Jared Carthalion +abilities=canbecommander +auto=counter(0/0,5,loyalty) +auto={C(0/0,+1,Loyalty)}:create(Kavu:Creature Kavu:3/3:trample:white:blue:black:red:green) +auto={C(0/0,-3,Loyalty)}:name(counters equal to number of colors) target(creature) transforms((,newability[counter(1/1.mycolnum)])) +auto={C(0/0,-6,Loyalty)}:moveTo(ownerhand) target(*[multicolor]|mygraveyard) +auto={C(0/0,-6,Loyalty)}:name(Return card that's all colors) moveTo(ownerhand) target(*[white&blue&black&red&green]|mygraveyard) && draw:1 && token(Treasure)*2 +text=[+1]: Create a 3/3 Kavu creature token with trample that's all colors. -- [-3]: Choose up to two target creatures. For each of them, put a number of +1/+1 counters on it equal to the number of colors it is. -- [-6]: Return target multicolored card from your graveyard to your hand. If that card was all colors, draw a card and create two Treasure tokens. -- Jared Carthalion can be your commander. +mana={W}{U}{B}{R}{G} +type=Legendary Planeswalker +subtype=Jared +[/card] +[card] name=Jeska, Thrice Reborn abilities=canbecommander,partner auto=counter(0/0,pnumofcommandcast,loyalty) @@ -1872,6 +1921,17 @@ type=Legendary Planeswalker subtype=Kiora [/card] [card] +name=Koth, Fire of Resistance +auto=counter(0/0,4,loyalty) +auto={C(0/0,+2,Loyalty)}:target(mountain[basic]|myLibrary) moveTo(ownerhand) +auto={C(0/0,-3,Loyalty)}:target(creature) damage:type:Mountain:mybattlefield +auto={C(0/0,-7,Loyalty)}:emblem transforms((,newability[@movedTo(mountain|myBattlefield):damage:4 target(anytarget)])) forever dontremove +text=[+2]: Search your library for a basic Mountain card, reveal it, put it into your hand, then shuffle. -- [-3]: Koth, Fire of Resistance deals damage to target creature equal to the number of Mountains you control. -- [-7]: You get an emblem with "Whenever a Mountain enters the battlefield under your control, this emblem deals 4 damage to any target." +mana={2}{R}{R} +type=Legendary Planeswalker +subtype=Koth +[/card] +[card] name=Koth of the Hammer auto=counter(0/0,3,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Untap target land and becomes a 4/4 Elemental) untap target(mountain) && transforms((Elemental Creature,setpower=4,settoughness=4,red)) ueot @@ -3134,6 +3194,18 @@ type=Legendary Planeswalker subtype=Teferi [/card] [card] +name=Teferi, Temporal Pilgrim +auto=counter(0/0,4,loyalty) +auto=@drawof(player):counter(0/0,1,Loyalty) +auto={C(0/0,0,Loyalty)}:draw:1 +auto={C(0/0,-2,Loyalty)}:create(spirit:creature spirit:2/2:blue:vigilance) and!( transforms((,newability[@drawof(player):counter(1/1)])) )! +auto={C(0/0,-12,Loyalty)}:target(opponent) ability$!name(return permanent) notatarget(*|mybattlefield) transforms((,newability[moveTo(ownerHand)],newability[all(other *[-land]|mybattlefield) moveTo(ownerHand) and!(shuffle)!] ))!$ targetedplayer +text=Whenever you draw a card, put a loyalty counter on Teferi, Temporal Pilgrim. -- [0]: Draw a card. -- [-2]: Create a 2/2 blue Spirit creature token with vigilance and "Whenever you draw a card, put a +1/+1 counter on this creature." -- [-12]: Target opponent chooses a permanent they control and returns it to its owner's hand. Then they shuffle each nonland permanent they control into its owner's library. +mana={3}{U}{U} +type=Legendary Planeswalker +subtype=Teferi +[/card] +[card] name=Teferi, Timebender auto=counter(0/0,5,loyalty) auto={C(0/0,2,Loyalty)}:name(+2: Untap target creature or artifact) untap target(artifact,creature) diff --git a/projects/mtg/bin/Res/sets/primitives/unsupported.txt b/projects/mtg/bin/Res/sets/primitives/unsupported.txt index 9277c026f..94879deb8 100644 --- a/projects/mtg/bin/Res/sets/primitives/unsupported.txt +++ b/projects/mtg/bin/Res/sets/primitives/unsupported.txt @@ -2,7 +2,7 @@ grade=unsupported #The cards in this file are not implemented/incomplete yet. #Updated Card lists not in primitives (Borderline, Crappy, Unsupported and Missing Cards) #Please keep these card alphabetized, and try to have the "name=" line at the top of each card -#I sorted this programatically - Vitty85 05-08-2023 +#I sorted this programatically - Vitty85 06-08-2023 [card] name="Ach! Hans, Run!" text=At the beginning of your upkeep, you may say "Ach Hans, run It's the . . ." and name a creature card. If you do, search your library for the named card, put it into play, then shuffle your library. That creature has haste. Remove it from the game at end of turn. @@ -54,6 +54,16 @@ power=1 toughness=1 [/card] [card] +name=Abstruse Archaic +abilities=vigilance +text=Vigilance -- {1}, {T}: Copy target activated or triggered ability you control from a colorless source. You may choose new targets for the copy. (Mana abilities can't be targeted.) +mana={4} +type=Creature +subtype=Avatar +power=3 +toughness=4 +[/card] +[card] name=Academy at Tolaria West text=At the beginning of your end step, if you have no cards in hand, draw seven cards. -- Whenever you roll {C}, discard your hand. type=Plane @@ -5938,6 +5948,16 @@ power=2 toughness=2 [/card] [card] +name=Leori, Sparktouched Hunter +abilities=flying,vigilance +text=Flying, vigilance -- Whenever Leori, Sparktouched Hunter deals combat damage to a player, choose a planeswalker type. Until end of turn, whenever you activate an ability of a planeswalker of that type, copy that ability. You may choose new targets for the copies. +mana={U}{R}{W} +type=Legendary Creature +subtype=Elemental Cat +power=3 +toughness=3 +[/card] +[card] name=Leovold's Operative text=Draft Leovold's Operative face up. -- As you draft a card, you may draft an additional card from that booster pack. If you do, turn Leovold's Operative face down, then pass the next booster pack without drafting a card from it. (You may look at that booster pack.) mana={2}{G}