Added/fixed primitives, fixed/improved several primitives with "reveal" ability, added a new keyword "findfirsttype" to allow AI to user a kind of "revealuntil" ability from its library, fixed a crash wthen temp zone has duplicated cards from other zones (such as library).
auto=if type(knight|mybattlefield)~morethan~1 then name(Look 5 cards) reveal:5 optionone name(Get a card) target(<upto:1>*[aura;knight;equipment;legendary artifact]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend
text=When Acclaimed Contender enters the battlefield, if you control another Knight, look at the top five cards of your library. You may reveal a Knight, Aura, Equipment, or legendary artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
text=When Acclaimed Contender enters the battlefield, if you control another Knight, look at the top five cards of your library. You may reveal a Knight, Aura, Equipment, or legendary artifact card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
auto=if type(creature[zpos<=5]|myLibrary)~morethan~0 then name(Look 5 cards) reveal:5 optionone name(Get a creature) target(creature|reveal) transforms((,newability[choice name(Put in hand) moveTo(myHand)],newability[choice name(Put on bottom and draw) bottomoflibrary and!( draw:1 controller )!])) oneshot optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend
auto=if type(creature[zpos<=5]|myLibrary)~equalto~0 then name(Look 5 cards) reveal:5 optionone name(Put on bottom) target(*|reveal) bottomoflibrary and!( draw:1 controller )! optiononeend optiontwo name(put on bottom) all(*|reveal) bottomoflibrary optiontwoend revealend
text=Look at the top five cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. If you didn't put a card into your hand this way, draw a card.
text=Look at the top five cards of your library. You may reveal a creature card from among them and put it into your hand. Put the rest on the bottom of your library in a random order. If you didn't put a card into your hand this way, draw a card.
auto=name(Look top 3 cards) reveal:3 optionone name(Get creature or land) target(<upto:1>*[creature;land]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<3>*|reveal) bottomoflibrary optiontwoend revealend
text=Look at the top three cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
text=Look at the top three cards of your library. You may reveal a creature or land card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
auto=choice name(reveal from graveyard) moveto(exile) target(*[-land]|opponentGraveyard) && life:-1 controller
auto=choice name(reveal from graveyard) moveto(exile) target(*[-land]|opponentGraveyard) && life:-1 controller
text=Target opponent reveals their hand. You choose a nonland card from it or a card from their graveyard. Exile that card. You lose 1 life.
text=Target opponent reveals their hand. You choose a nonland card from it or a card from their graveyard. Exile that card. You lose 1 life.
mana={1}{B}
mana={1}{B}
@@ -674,7 +678,8 @@ toughness=2
[/card]
[/card]
[card]
[card]
name=Aid from the Cowl
name=Aid from the Cowl
auto=@each my endofturn:if revolt then reveal:1 optionone if type(*[-instant;-sorcery]|reveal)~morethan~0 then may moveto(mybattlefield) optiononeend optiontwo name(Put Back On Bottom) target(<1>*|reveal) may bottomoflibrary optiontwoend revealend
aicode=activate transforms((,newability[may name(Put on battlefield) target(*[-instant;-sorcery;zpos<=1]|mylibrary) moveto(myBattlefield)])) oneshot
auto=@each my endofturn:if revolt then name(Look top card) name(Look top card) reveal:1 optionone target(*[-instant;-sorcery]|reveal) transforms((,newability[choice name(Put on battlefield) moveto(mybattlefield)],newability[choice name(Put on bottom) bottomoflibrary],newability[choice name(Put back) moveto(mylibrary)])) oneshot optiononeend optiontwo name(Put Back On Bottom) target(*|reveal) transforms((,newability[choice name(Put back) moveto(mylibrary)],newability[choice name(Put on bottom) bottomoflibrary])) oneshot optiontwoend revealend
text=Revolt — At the beginning of your end step, if a permanent you controlled left the battlefield this turn, reveal the top card of your library. If it's a permanent card, you may put it onto the battlefield. Otherwise, you may put it on the bottom of your library.
text=Revolt — At the beginning of your end step, if a permanent you controlled left the battlefield this turn, reveal the top card of your library. If it's a permanent card, you may put it onto the battlefield. Otherwise, you may put it on the bottom of your library.
text=Put two +1/+1 counters on target creature. -- Look at the top five cards of your library. You may reveal a white card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
text=Put two +1/+1 counters on target creature. -- Look at the top five cards of your library. You may reveal a white card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
text=When Alpine Houndmaster enters the battlefield, you may search your library for a card named Alpine Watchdog and/or a card named Igneous Cur, reveal them, put them into your hand, then shuffle your library. -- Whenever Alpine Houndmaster attacks, it gets +X/+0 until end of turn, where X is the number of other attacking creatures.
text=When Alpine Houndmaster enters the battlefield, you may search your library for a card named Alpine Watchdog and/or a card named Igneous Cur, reveal them, put them into your hand, then shuffle your library. -- Whenever Alpine Houndmaster attacks, it gets +X/+0 until end of turn, where X is the number of other attacking creatures.
text=Alrund gets +1/+1 for each card in your hand and each foretold card you own in exile. -- At the beginning of your end step, choose a card type, then reveal the top two cards of your library. Put all cards of the chosen type into your hand and the rest on the bottom of your library in any order.
text=Alrund gets +1/+1 for each card in your hand and each foretold card you own in exile. -- At the beginning of your end step, choose a card type, then reveal the top two cards of your library. Put all cards of the chosen type into your hand and the rest on the bottom of your library in any order.
mana={3}{U}{U}
mana={3}{U}{U}
type=Legendary Creature
type=Legendary Creature
@@ -1182,6 +1192,7 @@ toughness=6
[card]
[card]
name=Amareth, the Lustrous
name=Amareth, the Lustrous
abilities=flying
abilities=flying
aicode=activate transforms((,newability[may name(Put in hand) target(*[zpos<=1;share!types!]|mylibrary) moveto(myhand)])) oneshot
auto=@movedTo(planeswalker|myBattlefield):all(trigger[to]) transforms((,newability[reveal:1 optionone name(May put in hand) target(<upto:1>planeswalker|reveal) moveto(myhand) optiononeend optiontwo name(Put back in library) target(*|reveal) moveto(mylibrary) optiontwoend revealend])) oneshot
auto=@movedTo(planeswalker|myBattlefield):all(trigger[to]) transforms((,newability[reveal:1 optionone name(May put in hand) target(<upto:1>planeswalker|reveal) moveto(myhand) optiononeend optiontwo name(Put back in library) target(*|reveal) moveto(mylibrary) optiontwoend revealend])) oneshot
auto=@movedTo(creature|myBattlefield):all(trigger[to]) transforms((,newability[reveal:1 optionone name(May put in hand) target(<upto:1>creature|reveal) moveto(myhand) optiononeend optiontwo name(Put back in library) target(*|reveal) moveto(mylibrary) optiontwoend revealend])) oneshot
auto=@movedTo(creature|myBattlefield):all(trigger[to]) transforms((,newability[reveal:1 optionone name(May put in hand) target(<upto:1>creature|reveal) moveto(myhand) optiononeend optiontwo name(Put back in library) target(*|reveal) moveto(mylibrary) optiontwoend revealend])) oneshot
auto=@movedTo(land[-creature]|myBattlefield):all(trigger[to]) transforms((,newability[reveal:1 optionone name(May put in hand) target(<upto:1>land|reveal) moveto(myhand) optiononeend optiontwo name(Put back in library) target(*|reveal) moveto(mylibrary) optiontwoend revealend])) oneshot
auto=@movedTo(land[-creature]|myBattlefield):all(trigger[to]) transforms((,newability[reveal:1 optionone name(May put in hand) target(<upto:1>land|reveal) moveto(myhand) optiononeend optiontwo name(Put back in library) target(*|reveal) moveto(mylibrary) optiontwoend revealend])) oneshot
text=At the beginning of your upkeep, reveal cards from the top of your library until you reveal a creature card. Until your next turn, Amplifire's base power becomes twice that card's power and its base toughness becomes twice that card's toughness. Put the revealed cards on the bottom of your library in a random order.
text=At the beginning of your upkeep, reveal cards from the top of your library until you reveal a creature card. Until your next turn, Amplifire's base power becomes twice that card's power and its base toughness becomes twice that card's toughness. Put the revealed cards on the bottom of your library in a random order.
text=Draw cards equal to the number of cards in your hand, then discard a card for each card drawn this way. -- Basic landcycling {2} ({2}, Discard this card: Search your library for a basic land card, reveal it, put it into your hand, then shuffle your library.)
text=Draw cards equal to the number of cards in your hand, then discard a card for each card drawn this way. -- Basic landcycling {2} ({2}, Discard this card: Search your library for a basic land card, reveal it, put it into your hand, then shuffle your library.)
text=Reach (This creature can block creatures with flying.) -- Tap an untapped Spider you control: Search your graveyard and/or library for a card named Arachnus Web and put it onto the battlefield attached to target creature. If you search your library this way, shuffle it.
text=Reach (This creature can block creatures with flying.) -- Tap an untapped Spider you control: Search your graveyard and/or library for a card named Arachnus Web and put it onto the battlefield attached to target creature. If you search your library this way, shuffle it.
text=Enchant creature -- Enchanted creature can’t attack or block, and its activated abilities can’t be activated. -- At the beginning of the end step, if enchanted creature’s power is 4 or greater, destroy Arachnus Web.
text=Enchant creature -- Enchanted creature can’t attack or block, and its activated abilities can’t be activated. -- At the beginning of the end step, if enchanted creature’s power is 4 or greater, destroy Arachnus Web.
mana={2}{G}
mana={2}{G}
type=Enchantment
type=Enchantment
@@ -2097,7 +2108,8 @@ type=Artifact
[card]
[card]
name=Arcanist's Owl
name=Arcanist's Owl
abilities=flying
abilities=flying
auto=name(look) reveal:4 optionone name(Get an artifact card) target(<1>*[artifact;enchantment]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend
auto=name(Look top 4 cards) reveal:4 optionone name(Get artifact or enchantment) target(<upto:1>*[artifact;enchantment]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend revealend
text=Flying -- When Arcanist's Owl enters the battlefield, look at the top four cards of your library. You may reveal an artifact or enchantment card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
text=Flying -- When Arcanist's Owl enters the battlefield, look at the top four cards of your library. You may reveal an artifact or enchantment card from among them and put it into your hand. Put the rest on the bottom of your library in a random order.
aicode=activate target(*[aura;equipment;zpos<=6]|mylibrary) moveto(myBattlefield) and!( transforms((,newability[if cantargetcard(*[equipment]|*) then name(Attach to creature) rehook target(creature|mybattlefield)],newability[all(*[zpos<=5]|mylibrary) moveto(myreveal) and!( bottomoflibrary )!])) oneshot )!
auto=@combat(attacking) source(this):name(Look top 6 cards) reveal:6 optionone name(Get aura or equipment) target(<upto:1>*[aura;equipment]|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put on bottom) target(*|reveal) bottomoflibrary and!( all(*|reveal) bottomoflibrary )! optiontwoend afterrevealed all(tobecast|mylibrary) transforms((,newability[choice name(Put in play) moveto(myBattlefield)],newability[if cantargetcard(*[equipment]|*) then choice name(Put in play and attach) name(Put in play and attach) moveto(myBattlefield) and!( transforms((,newability[name(Attach to creature) rehook target(creature|mybattlefield)])) oneshot )!])) oneshot afterrevealedend revealend
text=Flying -- Whenever Armored Skyhunter attacks, look at the top six cards of your library. You may put an Aura or Equipment card from among them onto the battlefield. If an Equipment is put onto the battlefield this way, you may attach it to a creature you control. Put the rest of those cards on the bottom of your library in a random order.
text=Flying -- Whenever Armored Skyhunter attacks, look at the top six cards of your library. You may put an Aura or Equipment card from among them onto the battlefield. If an Equipment is put onto the battlefield this way, you may attach it to a creature you control. Put the rest of those cards on the bottom of your library in a random order.
text={2}, {T}: Create a 0/1 green Egg creature token with defender. -- Whenever an Egg you control dies, reveal cards from the top of your library until you reveal a creature card. Put that card onto the battlefield and the rest on the bottom of your library in a random order.
text={2}, {T}: Create a 0/1 green Egg creature token with defender. -- Whenever an Egg you control dies, reveal cards from the top of your library until you reveal a creature card. Put that card onto the battlefield and the rest on the bottom of your library in a random order.
auto={2}{U}{T}:name(Look top 4 cards) reveal:4 optionone name(Get a card) target(<upto:1>*[-land;-creature]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend
auto={2}{U}{T}:name(Look top 4 cards) reveal:4 optionone name(Get a card) target(<upto:1>*[-land;-creature]|reveal) moveto(myhand) optiononeend optiontwo name(put on bottom) target(<4>*|reveal) bottomoflibrary optiontwoend revealend
text=(Transforms from Search for Azcanta.) -- {T}: Add {U} to your mana pool. -- {2}{U}, {T}: Look at the top four cards of your library. You may reveal a noncreature, nonland card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
text=(Transforms from Search for Azcanta.) -- {T}: Add {U} to your mana pool. -- {2}{U}, {T}: Look at the top four cards of your library. You may reveal a noncreature, nonland card from among them and put it into your hand. Put the rest on the bottom of your library in any order.
type=Legendary Land
type=Legendary Land
@@ -31377,6 +31392,16 @@ power=3
toughness=4
toughness=4
[/card]
[/card]
[card]
[card]
name=Luminous Guardian
auto={W}:0/1 ueot
text={W}: Luminous Guardian gets +0/+1 until end of turn. -- {2}: Luminous Guardian can block an additional creature this turn.
mana={3}{W}
type=Creature
subtype=Human Nomad
power=1
toughness=4
[/card]
[card]
name=Lurching Rotbeast
name=Lurching Rotbeast
abilities=cycling
abilities=cycling
autohand=__CYCLING__({B})
autohand=__CYCLING__({B})
@@ -31419,6 +31444,16 @@ power=4
toughness=2
toughness=2
[/card]
[/card]
[card]
[card]
name=Lurrus of the Dream-Den
auto=@each my upkeep:may name(Choose a permanent in graveyard) target(*[-instant;-sorcery]|mygraveyard) transforms((,newability[canplayfromgraveyard],newability[{2}:name(Cast from graveyard for 2) activate castcard(alternative)])) ueot
text=Companion — Each permanent card in your starting deck has converted mana cost 2 or less. (If this card is your chosen companion, you may cast it once from outside the game.) -- Lifelink -- During each of your turns, you may cast one permanent spell with converted mana cost 2 or less from your graveyard.
auto={3}{T}:name(Name a card from your hand) choice target(*|myhand) donothing && name(Reveal a random card) if compare(cursedscrollresult)~equalto~1 then ability$!name(Deals 2 damages) name(Deals 2 damages) damage:2 target(player,creature)!$ controller
text={3}, {T}: Name a card. Reveal a card at random from your hand. If it's the named card, Magus of the Scroll deals 2 damage to target creature or player.
mana={R}
type=Creature
subtype=Human Wizard
power=1
toughness=1
[/card]
[card]
name=Maja, Bretagard Protector
name=Maja, Bretagard Protector
auto=lord(other creature|mybattlefield) 1/1
auto=lord(other creature|mybattlefield) 1/1
auto=_LANDFALL_token(Warrior,Creature Human Warrior,1/1,white)
auto=_LANDFALL_token(Warrior,Creature Human Warrior,1/1,white)
text=Malignus's power and toughness are each equal to half the highest life total among your opponents, rounded up. -- Damage that would be dealt by Malignus can't be prevented.
mana={3}{R}{R}
type=Creature
subtype=Elemental Spirit
power=*
toughness=*
[/card]
[card]
name=Mammoth Growth
name=Mammoth Growth
abilities=foretell
abilities=foretell
target=creature
target=creature
@@ -45078,8 +45134,7 @@ toughness=1
[/card]
[/card]
[card]
[card]
name=Seasoned Pyromancer
name=Seasoned Pyromancer
#auto=draw:2 &&2ability$! reject notatarget(<2>*|myhand) and!( if cantargetcard(*[-land]|*) then token(Elemental,creature Elemental,1/1,red) all(abilitycontroller) oneshot )! !$ targetedplayer
auto=ability$!name(Discard and draw) name(Discard and draw) target(<2>*|myhand) reject and!( transforms((,newability[draw:1 controller],newability[if cantargetcard(*[-land]|*) then token(Elemental^Creature Elemental^1/1^red)])) oneshot )! !$ controller
text=When Seasoned Pyromancer enters the battlefield, discard two cards, then draw two cards. For each nonland card discarded this way, create a 1/1 red Elemental creature token. -- {3}{R}{R}, Exile Seasoned Pyromancer from your graveyard: Create two 1/1 red Elemental creature tokens.
text=When Seasoned Pyromancer enters the battlefield, discard two cards, then draw two cards. For each nonland card discarded this way, create a 1/1 red Elemental creature token. -- {3}{R}{R}, Exile Seasoned Pyromancer from your graveyard: Create two 1/1 red Elemental creature tokens.
text={W}: Luminous Guardian gets +0/+1 until end of turn. -- {2}: Luminous Guardian can block an additional creature this turn.
mana={3}{W}
type=Creature
subtype=Human Nomad
power=1
toughness=4
[/card]
[card]
name=Lurking Automaton
name=Lurking Automaton
text=Reveal Lurking Automaton as you draft it and note how many cards you've drafted this draft round, including Lurking Automaton. -- Lurking Automaton enters the battlefield with X +1/+1 counters on it, where X is the highest number you noted for cards named Lurking Automaton.
text=Reveal Lurking Automaton as you draft it and note how many cards you've drafted this draft round, including Lurking Automaton. -- Lurking Automaton enters the battlefield with X +1/+1 counters on it, where X is the highest number you noted for cards named Lurking Automaton.
mana={5}
mana={5}
@@ -6946,15 +6937,6 @@ power=0
toughness=0
toughness=0
[/card]
[/card]
[card]
[card]
name=Lurrus of the Dream-Den
text=Companion — Each permanent card in your starting deck has converted mana cost 2 or less. (If this card is your chosen companion, you may cast it once from outside the game.) -- Lifelink -- During each of your turns, you may cast one permanent spell with converted mana cost 2 or less from your graveyard.
mana={1}{WB}{WB}
type=Legendary Creature
subtype=Cat Nightmare
power=3
toughness=2
[/card]
[card]
name=Lutri, the Spellchaser
name=Lutri, the Spellchaser
text=Companion — Each nonland card in your starting deck has a different name. (If this card is your chosen companion, you may cast it once from outside the game.) -- Flash -- When Lutri, the Spellchaser enters the battlefield, if you cast it, copy target instant or sorcery spell you control. You may choose new targets for the copy.
text=Companion — Each nonland card in your starting deck has a different name. (If this card is your chosen companion, you may cast it once from outside the game.) -- Flash -- When Lutri, the Spellchaser enters the battlefield, if you cast it, copy target instant or sorcery spell you control. You may choose new targets for the copy.
mana={1}{UR}{UR}
mana={1}{UR}{UR}
@@ -7027,15 +7009,6 @@ power=5
toughness=5
toughness=5
[/card]
[/card]
[card]
[card]
name=Magus of the Scroll
text={3}, {T}: Name a card. Reveal a card at random from your hand. If it's the named card, Magus of the Scroll deals 2 damage to target creature or player.
mana={R}
type=Creature
subtype=Human Wizard
power=1
toughness=1
[/card]
[card]
name=Mairsil, the Pretender
name=Mairsil, the Pretender
text=When Mairsil, the Pretender enters the battlefield, you may exile an artifact or creature card from your hand or graveyard and put a cage counter on it. -- Mairsil, the Pretender has all activated abilities of all cards you own in exile with cage counters on them. You may activate each of those abilities only once each turn.
text=When Mairsil, the Pretender enters the battlefield, you may exile an artifact or creature card from your hand or graveyard and put a cage counter on it. -- Mairsil, the Pretender has all activated abilities of all cards you own in exile with cage counters on them. You may activate each of those abilities only once each turn.
mana={1}{U}{B}{R}
mana={1}{U}{B}{R}
@@ -7045,15 +7018,6 @@ power=4
toughness=4
toughness=4
[/card]
[/card]
[card]
[card]
name=Malignus
text=Malignus's power and toughness are each equal to half the highest life total among your opponents, rounded up. -- Damage that would be dealt by Malignus can't be prevented.
mana={3}{R}{R}
type=Creature
subtype=Elemental Spirit
power=*
toughness=*
[/card]
[card]
name=Man of Measure
name=Man of Measure
text=As long as you're shorter than an opponent, Man of Measure has first strike and gets +0/+1. -- As long as you're taller than an opponent, Man of Measure gets +1/+0.
text=As long as you're shorter than an opponent, Man of Measure has first strike and gets +0/+1. -- As long as you're taller than an opponent, Man of Measure gets +1/+0.
elseif(!intValue)//found nothing, try parsing a atoi
elseif(!intValue)//found nothing, try parsing a atoi
{
{
intValue=atoi(s.c_str());
intValue=atoi(s.c_str());
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.