diff --git a/projects/mtg/bin/Res/sets/primitives/borderline.txt b/projects/mtg/bin/Res/sets/primitives/borderline.txt index 9713a043d..20b6f3e4f 100644 --- a/projects/mtg/bin/Res/sets/primitives/borderline.txt +++ b/projects/mtg/bin/Res/sets/primitives/borderline.txt @@ -232,7 +232,7 @@ toughness=6 [card] name=Academic Dispute target=creature -auto=choice name(Must block and gains reach) transforms((,newability[mustblock],newability[reach])) ueot +auto=choice name(Must block and gains reach) transforms((,newability[mustblock],reach)) ueot auto=choice name(Must block and doesn't gain reach) transforms((,newability[mustblock])) ueot auto=_LEARN_ text=Target creature blocks this turn if able. You may have it gain reach until end of turn. -- Learn. (You may reveal a Lesson card you own from outside the game and put it into your hand, or discard a card to draw a card.) @@ -5532,12 +5532,12 @@ name=Atarka's Command auto=choice name(Opponent can't gain life and deal damage) name(Opponent can't gain life and deal damage) ability$!name(Can't gain life) name(Can't gain life) all(*|mybattlefield) transforms((,newability[nolifegainopponent])) ueot!$ controller && ability$!name(Can't gain life) name(Can't gain life) all(*|opponentbattlefield) transforms((,newability[nolifegain])) ueot!$ controller && ability$!name(Deals 3 damage) name(Deals 3 damage) damage:3 opponent!$ controller auto=if type(land|myhand)~morethan~0 then choice name(Opponent can't gain life and put land in play) name(Opponent can't gain life and put land in play) target(land|myhand) moveto(myBattlefield) && ability$!name(Can't gain life) name(Can't gain life) all(*|mybattlefield) transforms((,newability[nolifegainopponent])) ueot!$ controller && ability$!name(Can't gain life) name(Can't gain life) all(*|opponentbattlefield) transforms((,newability[nolifegain])) ueot!$ controller auto=choice name(Opponent can't gain life and don't put land in play) name(Opponent can't gain life and don't put land in play) ability$!name(Can't gain life) name(Can't gain life) all(*|mybattlefield) transforms((,newability[nolifegainopponent])) ueot!$ controller && ability$!name(Can't gain life) name(Can't gain life) all(*|opponentbattlefield) transforms((,newability[nolifegain])) ueot!$ controller -auto=choice name(Opponent can't gain life and creatures get 1/1) name(Opponent can't gain life and creatures get 1/1) ability$!name(Can't gain life) name(Can't gain life) all(*|opponentbattlefield) transforms((,newability[nolifegain])) ueot!$ controller && ability$!name(Creatures gain 1/1 and reach) name(Creatures gain 1/1 and reach) all(creature|mybattlefield) transforms((,newability[nolifegainopponent],newability[1/1],newability[reach])) ueot!$ controller +auto=choice name(Opponent can't gain life and creatures get 1/1) name(Opponent can't gain life and creatures get 1/1) ability$!name(Can't gain life) name(Can't gain life) all(*|opponentbattlefield) transforms((,newability[nolifegain])) ueot!$ controller && ability$!name(Creatures gain 1/1 and reach) name(Creatures gain 1/1 and reach) all(creature|mybattlefield) transforms((,newability[nolifegainopponent],newability[1/1],reach)) ueot!$ controller auto=if type(land|myhand)~morethan~0 then choice name(Deal damage and put land in play) name(Deal damage and put land in play) transforms((,newability[damage:3 opponent],newability[may name(Put land in play) target(land|myhand) moveto(mybattlefield)])) oneshot auto=choice name(Deal damage and don't put land in play) name(Deal damage and don't put land in play) damage:3 opponent -auto=choice name(Deal damage and creatures get 1/1) name(Deal damage and creatures get 1/1) transforms((,newability[damage:3 opponent],newability[all(creature|mybattlefield) transforms((,newability[1/1],newability[reach])) ueot])) oneshot -auto=if type(land|myhand)~morethan~0 then choice name(Creatures get 1/1 and put land in play) name(Creatures get 1/1 and put land in play) target(land|myhand) moveto(myBattlefield) && ability$!name(Creatures gain 1/1 and reach) name(Creatures gain 1/1 and reach) all(creature|mybattlefield) transforms((,newability[1/1],newability[reach])) ueot!$ controller -auto=then choice name(Creatures get 1/1 and don't put land in play) name(Creatures get 1/1 and don't put land in play) all(creature|mybattlefield) transforms((,newability[1/1],newability[reach])) ueot +auto=choice name(Deal damage and creatures get 1/1) name(Deal damage and creatures get 1/1) transforms((,newability[damage:3 opponent],newability[all(creature|mybattlefield) transforms((,newability[1/1],reach)) ueot])) oneshot +auto=if type(land|myhand)~morethan~0 then choice name(Creatures get 1/1 and put land in play) name(Creatures get 1/1 and put land in play) target(land|myhand) moveto(myBattlefield) && ability$!name(Creatures gain 1/1 and reach) name(Creatures gain 1/1 and reach) all(creature|mybattlefield) transforms((,newability[1/1],reach)) ueot!$ controller +auto=then choice name(Creatures get 1/1 and don't put land in play) name(Creatures get 1/1 and don't put land in play) all(creature|mybattlefield) transforms((,newability[1/1],reach)) ueot text=Choose two -- Your opponents can't gain life this turn. -- Atarka's Command deals 3 damage to each opponent. -- You may put a land card from your hand onto the battlefield. -- Creatures you control get +1/+1 and gain reach until end of turn. mana={R}{G} type=Instant @@ -8972,7 +8972,7 @@ toughness=2 [card] name=Big Play target=creature -auto=transforms((,newability[2/2],newability[reach],newability[counter(1/1)])) ueot +auto=transforms((,newability[2/2],reach,newability[counter(1/1)])) ueot text=Target creature gets +2/+2 and gains reach until end of turn. Put a +1/+1 counter on it. mana={1}{G} type=Instant @@ -14904,7 +14904,7 @@ toughness=4 [card] name=Careful Cultivation target=artifact,creature -auto=teach(creature) transforms((,newability[{T}:name(Add 2 green mana) name(Add 2 green mana) add{G}{G}],newability[reach],newability[1/3])) +auto=teach(creature) transforms((,newability[{T}:name(Add 2 green mana) name(Add 2 green mana) add{G}{G}],reach,newability[1/3])) autohand={1}{G}{discard}:name(Discard and create human) token(Human Monk) text=Enchant artifact or creature -- As long as enchanted permanent is a creature, it gets +1/+3 and has reach and "{T}: Add {G}{G}." -- Channel - {1}{G}, Discard Careful Cultivation: Create a 1/1 green Human Monk creature token with "{T}: Add {G}." mana={2}{G} @@ -27469,7 +27469,7 @@ toughness=* [card] name=Dragon Hunter auto=protection from(dragon) -auto=@combat(attacking) source(dragon[flying]|opponentbattlefield):name(Can block flying dragon) transforms((,newability[reach])) ueot +auto=@combat(attacking) source(dragon[flying]|opponentbattlefield):name(Can block flying dragon) transforms((,reach)) ueot text=Protection from Dragons -- Dragon Hunter can block Dragons as though it had reach. mana={W} type=Creature @@ -35305,7 +35305,7 @@ name=Favor of Jukai target=artifact,creature auto=teach(creature) +3/+3 auto=teach(creature) reach -autohand=name(Channel) {1}{G}{discard}:target(creature) transforms((,newability[+3/+3],newability[reach])) ueot +autohand=name(Channel) {1}{G}{discard}:target(creature) transforms((,newability[+3/+3],reach)) ueot text=Enchant artifact or creature -- As long as enchanted permanent is a creature, it gets +3/+3 and has reach. -- Channel - {1}{G}, Discard Favor of Jukai: Target creature gets +3/+3 and gains reach until end of turn. mana={3}{G} type=Enchantment @@ -39533,7 +39533,7 @@ type=Instant name=Galadhrim Bow abilities=flash auto=name(Attach to creature) rehook untp target(creature|mybattlefield) -auto=teach(creature) transforms((,newability[reach],newability[1/2])) +auto=teach(creature) transforms((,reach,newability[1/2])) auto={2}:equip text=Flash -- When Galadhrim Bow enters, attach it to target creature you control. Untap that creature. -- Equipped creature gets +1/+2 and has reach. -- Equip {2} ({2}: Attach to target creature you control. Equip only as a sorcery.) mana={2}{G} @@ -50287,7 +50287,7 @@ toughness=5 [card] name=Hundred-Handed One abilities=vigilance -auto=this(cantargetcard(*[-monstrous]) {3}{W}{W}{W}:becomes(monstrous) forever && counter(1/1,3) && transforms((,newability[reach])) forever +auto=this(cantargetcard(*[-monstrous]) {3}{W}{W}{W}:becomes(monstrous) forever && counter(1/1,3) && transforms((,reach)) forever text=Vigilance -- {3}{W}{W}{W}: Monstrosity 3. (If this creature isn't monstrous, put three +1/+1 counters on it and it becomes monstrous.) -- As long as Hundred-Handed One is monstrous, it has reach and can block an additional ninety-nine creatures each combat. mana={2}{W}{W} type=Creature @@ -53903,7 +53903,7 @@ type=Instant [/card] [card] name=Investigator's Journal -auto=if type(creature|mybattlefield)~morethan~type(creature|opponentbattlefield) then counter(0/0,type:creature:mybattlefield,Suspect) else counter(0/0,type:creature:opponentbattlefield,Suspect) +auto=if control more creatures then counter(0/0,type:creature:mybattlefield,Suspect) else counter(0/0,type:creature:opponentbattlefield,Suspect) auto={2}{T}{C(0/0,-1,Suspect)}:name(Remove counter and draw) draw:1 controller auto={2}{S}:name(Sacrifice and draw) draw:1 controller text=Investigator's Journal enters with a number of suspect counters on it equal to the greatest number of creatures a player controls. -- {2}, {T}, Remove a suspect counter from Investigator's Journal: Draw a card. -- {2}, Sacrifice Investigator's Journal: Draw a card. @@ -63392,7 +63392,7 @@ toughness=4 [/card] [card] name=Magus of the Balance -auto={4}{W}{T}{S}:if type(land|mybattlefield)~morethan~type(land|opponentbattlefield) then ability$! sacrifice notatarget(land|mybattlefield) !$ controller && if type(land|opponentbattlefield)~morethan~type(land|mybattlefield) then ability$! sacrifice notatarget(land|mybattlefield) !$ opponent && if type(creature|mybattlefield)~morethan~type(creature|opponentbattlefield) then ability$! sacrifice notatarget(creature|mybattlefield) !$ controller && if type(creature|opponentbattlefield)~morethan~type(creature|mybattlefield) then ability$! sacrifice notatarget(creature|mybattlefield) !$ opponent && if type(*|myhand)~morethan~type(*|opponenthand) then ability$! reject notatarget(*|myhand) !$ controller && if type(*|opponenthand)~morethan~type(*|myhand) then ability$! reject notatarget(*|myhand) !$ opponent +auto={4}{W}{T}{S}:if control more lands then ability$! sacrifice notatarget(land|mybattlefield) !$ controller && if type(land|opponentbattlefield)~morethan~type(land|mybattlefield) then ability$! sacrifice notatarget(land|mybattlefield) !$ opponent && if control more creatures then ability$! sacrifice notatarget(creature|mybattlefield) !$ controller && if type(creature|opponentbattlefield)~morethan~type(creature|mybattlefield) then ability$! sacrifice notatarget(creature|mybattlefield) !$ opponent && if type(*|myhand)~morethan~type(*|opponenthand) then ability$! reject notatarget(*|myhand) !$ controller && if type(*|opponenthand)~morethan~type(*|myhand) then ability$! reject notatarget(*|myhand) !$ opponent text={4}{W}, {T}, Sacrifice Magus of the Balance: Each player chooses a number of lands they control equal to the number of lands controlled by the player who controls the fewest, then sacrifices the rest. Players discard cards and sacrifice creatures the same way. mana={1}{W} type=Creature @@ -71673,7 +71673,7 @@ type=Sorcery [card] name=No Witnesses auto=if type(creature|mybattlefield)~equalto~type(creature|opponentbattlefield) then _CLUE_ && _CLUE_ opponent -auto=if type(creature|mybattlefield)~morethan~type(creature|opponentbattlefield) then _CLUE_ +auto=if control more creatures then _CLUE_ auto=if type(creature|opponentbattlefield)~morethan~type(creature|mybattlefield) then _CLUE_ opponent auto=destroy all(creature) text=Each player who controls the most creatures investigates. Then destroy all creatures. (To investigate, create a Clue token. It's an artifact with "{2}, Sacrifice this artifact: Draw a card.") @@ -82078,7 +82078,7 @@ toughness=3 [/card] [card] name=Rampaging Growth -auto=name(Search basic land) target(land[basic]|mylibrary) moveto(mybattlefield) and!( transforms((Creature Insect,setpower=4,settoughness=3,newability[reach],haste)) ueot)! +auto=name(Search basic land) target(land[basic]|mylibrary) moveto(mybattlefield) and!( transforms((Creature Insect,setpower=4,settoughness=3,reach,haste)) ueot)! text=Search your library for a basic land card, put it on the battlefield, then shuffle. Until end of turn, that land becomes a 4/3 Insect creature with reach and haste. It's still a land. mana={3}{G} type=Instant @@ -90566,7 +90566,7 @@ type=Sorcery [card] name=Scouting Hawk abilities=flying -auto=if type(land|mybattlefield)~lessthan~type(land|opponentbattlefield) then name(Keen Sight) reveal:plibrarycount optionone name(choose card) target(plains|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend +auto=if control less lands then name(Keen Sight) reveal:plibrarycount optionone name(choose card) target(plains|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=Flying -- Keen Sight - When Scouting Hawk enters, if an opponent controls more lands than you, search your library for a basic Plains card, put it onto the battlefield tapped, then shuffle. mana={2}{W} type=Creature @@ -102786,7 +102786,7 @@ type=Artifact [card] name=Sunset Revelry auto=if compare(opponentlifetotal)~morethan~compare(lifetotal) then name(Gain 4 life) name(Gain 4 life) life:4 controller -auto=if type(creature|opponentbattlefield)~morethan~type(creature|mybattlefield) then name(Create human) name(Create human) token(Human,Creature Human,1/1,white)*2 +auto=if control less creatures then name(Create human) name(Create human) token(Human,Creature Human,1/1,white)*2 auto=if compare(ohandcount)~morethan~compare(phandcount) then name(Draw a card) name(Draw a card) draw:1 controller text=If an opponent has more life than you, you gain 4 life. -- If an opponent controls more creatures than you, create two 1/1 white Human creature tokens. -- If an opponent has more cards in hand than you, draw a card. mana={1}{W} @@ -105207,7 +105207,7 @@ type=Sorcery [card] name=Tectonic Hellion abilities=haste -auto=_ATTACKING_if type(land|mybattlefield)~morethan~type(land|opponentbattlefield) then sacrifice notAtarget(<2>land|mybattlefield) else ability$!name(Sacrifice 2 lands) notatarget(<2>land|mybattlefield) sacrifice!$ opponent +auto=_ATTACKING_if control more lands then sacrifice notAtarget(<2>land|mybattlefield) else ability$!name(Sacrifice 2 lands) notatarget(<2>land|mybattlefield) sacrifice!$ opponent text=Haste -- Whenever Tectonic Hellion attacks, each player who controls the most lands sacrifices two lands. mana={5}{R}{R} type=Creature @@ -117914,7 +117914,7 @@ name=Webspinner Cuff abilities=reach auto={4}:reconfigure auto=this(cantargetcard(*[attached]|*) {4}{unattach}:name(Reconfigure unattach) name(Reconfigure unattach) donothing asSorcery -auto=teach(creature) transforms((,newability[1/4],newability[reach])) +auto=teach(creature) transforms((,newability[1/4],reach)) text=Reach -- Equipped creature gets +1/+4 and has reach. -- Reconfigure {4} ({4}: Attach to target creature you control; or unattach from a creature. Reconfigure only as a sorcery. While attached, this isn't a creature.) mana={2}{G} type=Artifact Creature @@ -118481,7 +118481,7 @@ type=Instant name=Wild Shape target=creature|mybattlefield auto=choice name(Becomes Turtle) transforms((Turtle,setpower=1,settoughness=3,newability[hexproof])) ueot -auto=choice name(Becomes Spider) transforms((Spider,setpower=1,settoughness=5,newability[reach])) ueot +auto=choice name(Becomes Spider) transforms((Spider,setpower=1,settoughness=5,reach)) ueot auto=choice name(Becomes Elephant) transforms((Elephant,setpower=3,settoughness=3,trample)) ueot text=Choose one. Until end of turn, target creature you control has that base power and toughness, becomes that creature type, and gains that ability. -- 1/3 Turtle with hexproof. -- 1/5 Spider with reach. -- 3/3 Elephant with trample. mana={G} @@ -119209,7 +119209,7 @@ type=Sorcery [card] name=Witch's Web target=creature -auto=transforms((,newability[untap],newability[3/3],newability[reach])) ueot +auto=transforms((,newability[untap],newability[3/3],reach)) ueot text=Target creature gets +3/+3 and gains reach until end of turn. Untap it. mana={1}{G} type=Instant diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index c78f768c8..e64a092b3 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -953,8 +953,8 @@ type=Instant [card] name=Advice from the Fae abilities=hiddenface -aicode=activate transforms((,newability[if type(creature|mybattlefield)~morethan~type(creature|opponentbattlefield) then name(Pick 2) target(<2>*[zpos<=5]|mylibrary) moveto(ownerHand) else name(pick 1) target(<1>*[zpos<=5]|mylibrary) moveto(ownerHand)])) ueot -auto=name(look) reveal:5 optionone if type(creature|mybattlefield)~morethan~type(creature|opponentbattlefield) then name(Pick 2) target(<2>*|reveal) moveto(ownerHand) else name(pick 1) target(<1>*|reveal) moveto(ownerHand) optiononeend optiontwo name(Put On Bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend +aicode=activate transforms((,newability[if control more creatures then name(Pick 2) target(<2>*[zpos<=5]|mylibrary) moveto(ownerHand) else name(pick 1) target(<1>*[zpos<=5]|mylibrary) moveto(ownerHand)])) ueot +auto=name(look) reveal:5 optionone if control more creatures then name(Pick 2) target(<2>*|reveal) moveto(ownerHand) else name(pick 1) target(<1>*|reveal) moveto(ownerHand) optiononeend optiontwo name(Put On Bottom) target(<5>*|reveal) bottomoflibrary optiontwoend revealend text=({(2/u)} can be paid with any two mana or with {U}. This card's mana value is 6.) -- Look at the top five cards of your library. If you control more creatures than each other player, put two of those cards into your hand. Otherwise, put one of them into your hand. Then put the rest on the bottom of your library in any order. mana={2U}{2U}{2U} type=Sorcery @@ -8360,9 +8360,9 @@ type=Sorcery [/card] [card] name=Balance -auto=if type(land|mybattlefield)~morethan~type(land|opponentbattlefield) then ability$! sacrifice notatarget(land|mybattlefield) !$ controller +auto=if control more lands then ability$! sacrifice notatarget(land|mybattlefield) !$ controller auto=if type(land|opponentbattlefield)~morethan~type(land|mybattlefield) then ability$! sacrifice notatarget(land|mybattlefield) !$ opponent -auto=if type(creature|mybattlefield)~morethan~type(creature|opponentbattlefield) then ability$! sacrifice notatarget(creature|mybattlefield) !$ controller +auto=if control more creatures then ability$! sacrifice notatarget(creature|mybattlefield) !$ controller auto=if type(creature|opponentbattlefield)~morethan~type(creature|mybattlefield) then ability$! sacrifice notatarget(creature|mybattlefield) !$ opponent auto=if type(*|myhand)~morethan~type(*|opponenthand) then ability$! reject notatarget(*|myhand) !$ controller auto=if type(*|opponenthand)~morethan~type(*|myhand) then ability$! reject notatarget(*|myhand) !$ opponent @@ -50138,7 +50138,7 @@ toughness=4 [/card] [card] name=Greener Pastures -auto=@each my upkeep:if type(land|mybattlefield)~morethan~type(land|opponentbattlefield) then _SAPROLINGTOKEN_ +auto=@each my upkeep:if control more lands then _SAPROLINGTOKEN_ auto=@each opponent upkeep:if type(land|opponentbattlefield)~morethan~type(land|mybattlefield) then _SAPROLINGTOKEN_ opponent text=At the beginning of each player's upkeep, if that player controls more lands than each other player, the player puts a 1/1 green Saproling creature token onto the battlefield. mana={2}{G} @@ -63690,7 +63690,7 @@ toughness=2 name=Knight of the White Orchid abilities=first strike aicode=activate moveTo(myBattlefield) target(plains|myLibrary) -auto=if type(land|mybattlefield)~lessthan~type(land|opponentbattlefield) then name(search card) reveal:plibrarycount optionone name(choose card) target(plains|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend +auto=if control less lands then name(search card) reveal:plibrarycount optionone name(choose card) target(plains|reveal) moveto(ownerlibrary) and!( becomes(tobecast) ueot )! optiononeend optiontwo name(put back) target(<1>*|reveal) moveto(ownerlibrary) and!( all(*|reveal) moveto(ownerlibrary) and!(shuffle)! )! optiontwoend afterrevealed all(tobecast|mylibrary) moveto(ownerlibrary) and!(moveTo(myBattlefield))! afterrevealedend revealend text=First strike -- When Knight of the White Orchid enters, if an opponent controls more lands than you, you may search your library for a Plains card, put it onto the battlefield, then shuffle. mana={W}{W} type=Creature @@ -65482,7 +65482,7 @@ type=Land [/card] [card] name=Land Equilibrium -auto=@movedTo(land|opponentbattlefield):if type(land|mybattlefield)~lessthan~type(land|opponentbattlefield) then ability$!name(sacrifice land) notatarget(land|mybattlefield) sacrifice!$ opponent +auto=@movedTo(land|opponentbattlefield):if control less lands then ability$!name(sacrifice land) notatarget(land|mybattlefield) sacrifice!$ opponent auto=@movedTo(land|opponentbattlefield):if type(land|mybattlefield)~equalto~type(land|opponentbattlefield) then ability$!name(sacrifice land) notatarget(land|mybattlefield) sacrifice!$ opponent text=If an opponent who controls at least as many lands as you do would put a land onto the battlefield, that player instead puts that land onto the battlefield then sacrifices a land. mana={2}{U}{U} @@ -67554,7 +67554,7 @@ toughness=4 name=Linvala, the Preserver abilities=flying auto=if compare(lifetotal)~lessthan~compare(opponentlifetotal) then life:5 controller -auto=if type(creature|opponentbattlefield)~morethan~type(creature|mybattlefield) then token(Angel,Creature Angel,3/3,white,flying) +auto=if control less creatures then token(Angel,Creature Angel,3/3,white,flying) text=Flying -- When Linvala, the Preserver enters, if an opponent has more life than you, you gain 5 life. -- When Linvala enters, if an opponent controls more creatures than you, put a 3/3 white Angel creature token with flying onto the battlefield. mana={4}{W}{W} type=Legendary Creature @@ -81364,7 +81364,7 @@ type=Legendary Enchantment [/card] [card] name=Oath of Lieges -auto=@each my upkeep:if type(land|mybattlefield)~lessthan~type(land|opponentbattlefield) then target(land[basic]|mylibrary) moveTo(mybattlefield) +auto=@each my upkeep:if control less lands then target(land[basic]|mylibrary) moveTo(mybattlefield) auto=@each opponent upkeep:if type(land|opponentbattlefield)~lessthan~type(land|mybattlefield) then ability$!name(fetch basic land) target(land[basic]|mylibrary) moveTo(mybattlefield)!$ opponent text=At the beginning of each player's upkeep, that player chooses target player who controls more lands than they does and is their opponent. The first player may search their library for a basic land card, put that card onto the battlefield, then shuffle their library. mana={1}{W} @@ -89673,7 +89673,7 @@ type=Instant [card] name=Pulse of the Tangle auto=_BEASTTOKEN_ -auto=if type(creature|opponentbattlefield)~morethan~type(creature|mybattlefield) then moveto(ownerHand) +auto=if control less creatures then moveto(ownerHand) text=Put a 3/3 green Beast creature token onto the battlefield. Then if an opponent controls more creatures than you, return Pulse of the Tangle to its owner's hand. mana={1}{G}{G} type=Sorcery @@ -94506,9 +94506,9 @@ toughness=1 [/card] [card] name=Restore Balance -auto=if type(land|mybattlefield)~morethan~type(land|opponentbattlefield) then ability$! sacrifice notatarget(land|mybattlefield) !$ controller +auto=if control more lands then ability$! sacrifice notatarget(land|mybattlefield) !$ controller auto=if type(land|opponentbattlefield)~morethan~type(land|mybattlefield) then ability$! sacrifice notatarget(land|mybattlefield) !$ opponent -auto=if type(creature|mybattlefield)~morethan~type(creature|opponentbattlefield) then ability$! sacrifice notatarget(creature|mybattlefield) !$ controller +auto=if control more creatures then ability$! sacrifice notatarget(creature|mybattlefield) !$ controller auto=if type(creature|opponentbattlefield)~morethan~type(creature|mybattlefield) then ability$! sacrifice notatarget(creature|mybattlefield) !$ opponent auto=if type(*|myhand)~morethan~type(*|opponenthand) then ability$! reject notatarget(*|myhand) !$ controller auto=if type(*|opponenthand)~morethan~type(*|myhand) then ability$! reject notatarget(*|myhand) !$ opponent @@ -96025,7 +96025,7 @@ type=Sorcery [/card] [card] name=Rivalry -auto=@each my upkeep:if type(land|mybattlefield)~morethan~type(land|opponentbattlefield) then damage:2 controller +auto=@each my upkeep:if control more lands then damage:2 controller auto=@each opponent upkeep:if type(land|opponentbattlefield)~morethan~type(land|mybattlefield) then damage:2 opponent text=At the beginning of each player's upkeep, if that player controls more lands than each other player, Rivalry deals 2 damage to him or her. mana={2}{R} @@ -116426,7 +116426,7 @@ type=Sorcery [card] name=Swarmborn Giant auto=@combatdamageof(player):sacrifice all(this) -auto=this(cantargetcard(*[-monstrous]) {4}{G}{G}:becomes(monstrous) forever && counter(1/1,2) && transforms((,newability[reach])) forever +auto=this(cantargetcard(*[-monstrous]) {4}{G}{G}:becomes(monstrous) forever && counter(1/1,2) && transforms((,reach)) forever text=When you're dealt combat damage, sacrifice Swarmborn Giant. -- {4}{G}{G}: Monstrosity 2. (If this creature isn't monstrous, put two +1/+1 counters on it and it becomes monstrous.) -- As long as Swarmborn Giant is monstrous, it has reach. mana={2}{G}{G} type=Creature @@ -122094,9 +122094,9 @@ toughness=1 [/card] [card] name=Tithe -aicode=activate transforms((,newability[if type(land|mybattlefield)~lessthan~type(land|opponentbattlefield) then moveto(ownerHand) notatarget(plains|mylibrary) else moveto(ownerHand) notatarget(plains|mylibrary)])) ueot -auto=if type(land|mybattlefield)~lessthan~type(land|opponentbattlefield) then name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(plains|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(ownerHand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend -auto=ifnot type(land|mybattlefield)~lessthan~type(land|opponentbattlefield) then name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(plains|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(ownerHand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend +aicode=activate transforms((,newability[if control less lands then moveto(ownerHand) notatarget(plains|mylibrary) else moveto(ownerHand) notatarget(plains|mylibrary)])) ueot +auto=if control less lands then name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(plains|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(ownerHand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend +auto=ifnot control less lands then name(search card) Reveal:type:*:mylibrary revealzone(mylibrary) optionone name(choose card) target(plains|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(ownerHand)])) optiononeend optiontwo name(shuffle) bottomoflibrary target(<1>*|reveal) and!( all(*|reveal) bottomoflibrary and!(shuffle)! )! optiontwoend revealend text=Search your library for a Plains card. If you control fewer lands than an opponent, you may search your library for an additional Plains card. Reveal those cards and put them into your hand. Then shuffle. mana={W} type=Instant @@ -126062,7 +126062,7 @@ type=Instant [card] name=Unified Will target=*|stack -auto=if type(creature|mybattlefield)~morethan~type(creature|opponentbattlefield) then fizzle +auto=if control more creatures then fizzle text=Counter target spell if you control more creatures than that spell's controller. mana={1}{U} type=Instant diff --git a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt index 40fc90621..1e7b1b6b4 100644 --- a/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt +++ b/projects/mtg/bin/Res/sets/primitives/planeswalkers.txt @@ -1112,7 +1112,7 @@ subtype=Garruk name=Garruk, Unleashed auto=counter(0/0,4,loyalty) auto={C(0/0,1,Loyalty)}:name(+1: Target creature gets +3/+3 and trample) target(creature) 3/3 ueot && trample ueot -auto={C(0/0,-2,Loyalty)}:name(-2: Create a Beast 3/3) _BEASTTOKEN_ && transforms((,newability[if type(creature|opponentbattlefield)~morethan~type(creature|mybattlefield) then counter(0/0,1,Loyalty) all(this)])) oneshot +auto={C(0/0,-2,Loyalty)}:name(-2: Create a Beast 3/3) _BEASTTOKEN_ && transforms((,newability[if control less creatures then counter(0/0.1.Loyalty) all(this)])) oneshot auto={C(0/0,-7,Loyalty)}:name(-7: Emblem: "Search a creature") emblem transforms((,newability[@each my end:may target(creature|myLibrary) moveTo(myBattlefield) && shuffle])) forever dontremove text=+1: Up to one target creature gets +3/+3 and gains trample until end of turn. -- -2: Create a 3/3 green Beast creature token. Then if an opponent controls more creatures than you, put a loyalty counter on Garruk, Unleashed. -- -7: You get an emblem with "At the beginning of your end step, you may search your library for a creature card, put it onto the battlefield, then shuffle." mana={2}{G}{G} diff --git a/projects/mtg/src/MTGAbility.cpp b/projects/mtg/src/MTGAbility.cpp index a10848352..7bb95c942 100644 --- a/projects/mtg/src/MTGAbility.cpp +++ b/projects/mtg/src/MTGAbility.cpp @@ -1346,7 +1346,7 @@ TriggeredAbility * AbilityFactory::parseTrigger(string s, string, int id, Spell return NEW TrCardExerted(observer, id, card, tc, once, limitOnceATurn); //CombatTrigger - //Card card attacked and is blocked + //Card attacked and is blocked found = s.find("combat("); if (found != string::npos) {