diff --git a/projects/mtg/bin/Res/sets/primitives/mtg.txt b/projects/mtg/bin/Res/sets/primitives/mtg.txt index 7afb197eb..5aaea0e34 100644 --- a/projects/mtg/bin/Res/sets/primitives/mtg.txt +++ b/projects/mtg/bin/Res/sets/primitives/mtg.txt @@ -5029,7 +5029,7 @@ type=Instant [/card] [card] name=Arcbound Bruiser -abilities=trample,modular +abilities=modular modular=3 auto=@movedTo(this|mygraveyard) from(myBattlefield):may thisforeach(counter{1/1.1}) counter(1/1,1) target(creature[artifact]) text=Modular 3 (This enters the battlefield with three +1/+1 counters on it. When it's put into a graveyard, you may put its +1/+1 counters on target artifact creature.) @@ -5749,8 +5749,9 @@ toughness=5 [/card] [card] name=Arid Mesa -aicode=activate moveTo(myBattlefield) target(*[mountain;plains]|myLibrary) -auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[mountain;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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[mountain;plains]|myLibrary) +#aicode=activate moveTo(myBattlefield) target(*[mountain;plains]|myLibrary) +#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[mountain;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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Arid Mesa: Search your library for a Mountain or Plains card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -6527,7 +6528,7 @@ type=Artifact name=Ashnod's Battle Gear abilities=doesnotuntap auto=@each my untap sourcetap:may untap -auto={2}{t}:target(*[creature]) grant 2/-2 grantend +auto={2}{t}:target(*[creature]|myBattlefield) grant 2/-2 grantend text=You may choose not to untap Ashnod's Battle Gear during your untap step. -- {2}, {T}: Target creature you control gets +2/-2 for as long as Ashnod's Battle Gear remains tapped. mana={2} type=Artifact @@ -9779,8 +9780,8 @@ text=All Sliver creatures you control get +2/+0. mana={4}{R} type=Creature subtype=Sliver -power=2 -toughness=2 +power=3 +toughness=3 [/card] [card] name=Battle Squadron @@ -12778,8 +12779,9 @@ toughness=2 [/card] [card] name=Bloodstained Mire -aicode=activate moveTo(myBattlefield) target(*[swamp;mountain]|myLibrary) -auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[swamp;mountain]|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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[swamp;mountain]|myLibrary) +#aicode=activate moveTo(myBattlefield) target(*[swamp;mountain]|myLibrary) +#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[swamp;mountain]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Bloodstained Mire: Search your library for a Swamp or Mountain card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -21874,7 +21876,7 @@ type=Instant [/card] [card] name=Conduit of Emrakul -auto=@combat(attacking) source(this):tranforms((,newability[@next my secondmain:add{c}{c})) forever +auto=@combat(attacking) source(this):transforms((,newability[@next my secondmain:add{c}{c})) forever text=Whenever Conduit of Emrakul attacks, add {C}{C} to your mana pool at the beginning of your next main phase this turn. type=Creature subtype=Eldrazi Werewolf @@ -21896,7 +21898,7 @@ toughness=5 [/card] [card] name=Conduit of Storms -auto=@combat(attacking) source(this):tranforms((,newability[@next my secondmain:add{R})) +auto=@combat(attacking) source(this):transforms((,newability[@next my secondmain:add{R})) auto={3}{r}{r}:flip(Conduit of Emrakul) text=Whenever Conduit of Storms attacks, add {R} to your mana pool at the beginning of your next main phase this turn. -- {3}{R}{R}: Transform Conduit of Storms. mana={2}{R} @@ -35253,7 +35255,7 @@ toughness=1 [/card] [card] name=Elvish Soultiller -auto=chooseatype moveTo(mylibrary) all(creature[chosentype]|mygraveyard) and!(shuffle)! chooseend +auto=@movedTo(graveyard) from(battlefield):chooseatype moveTo(mylibrary) all(creature[chosentype]|mygraveyard) chooseend && shuffle text=When Elvish Soultiller is put into a graveyard from the battlefield, choose a creature type. Shuffle all creature cards of that type from your graveyard into your library. mana={3}{G}{G} type=Creature @@ -36379,7 +36381,7 @@ toughness=1 [/card] [card] name=Enslaved Horror -auto=ability$!name(return creature) target(*|mygraveyard) moveTo(mybattlefield)!$ opponent +auto=ability$!name(return creature) target(creature|mygraveyard) moveTo(mybattlefield)!$ opponent text=When Enslaved Horror enters the battlefield, each other player may return a creature card from his or her graveyard to the battlefield. mana={3}{B} type=Creature @@ -39507,7 +39509,7 @@ type=Sorcery [/card] [card] name=Feast of Dreams -target=creature[enchantment],creature[enchanted] +target=creature[enchantment] auto=destroy text=Destroy target enchanted creature or enchantment creature. mana={1}{B} @@ -39742,11 +39744,11 @@ toughness=6 [/card] [card] name=Fellwar Stone -auto=this(variable{olandg}>0) {t}:out{g} -auto=this(variable{olandu}>0) {t}:out{u} -auto=this(variable{olandr}>0) {t}:out{r} -auto=this(variable{olandb}>0) {t}:out{b} -auto=this(variable{olandw}>0) {t}:out{w} +auto=this(variable{olandg}) {t}:out{g} +auto=this(variable{olandu}) {t}:out{u} +auto=this(variable{olandr}) {t}:out{r} +auto=this(variable{olandb}) {t}:out{b} +auto=this(variable{olandw}) {t}:out{w} text={T}: Add to your mana pool one mana of any color that a land an opponent controls could produce. mana={2} type=Artifact @@ -42111,8 +42113,9 @@ type=Enchantment [/card] [card] name=Flooded Strand -aicode=activate moveTo(myBattlefield) target(*[island;plains]|myLibrary) -auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[island;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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[island;plains]|myLibrary) +#aicode=activate moveTo(myBattlefield) target(*[island;plains]|myLibrary) +#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[island;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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Flooded Strand: Search your library for a Plains or Island card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -52367,7 +52370,7 @@ toughness=0 [/card] [card] name=Hanna, Ship's Navigator -auto={1}{W}{U}:moveTo(myhand) target(artifact,enchantment|mygraveyard) +auto={1}{W}{U}{T}:moveTo(myhand) target(artifact,enchantment|mygraveyard) text={1}{W}{U}, {T}: Return target artifact or enchantment card from your graveyard to your hand. mana={1}{W}{U} type=Legendary Creature @@ -53928,8 +53931,8 @@ toughness=2 [card] name=Hellion Crucible auto={T}:Add{1} -auto={1}{R}{T}:counter(0/0,1,Pressure) auto={1}{R}{T}{C(0/0,-2,Pressure)}{S}:token(Hellion,Creature Hellion,4/4,red,haste) +auto={1}{R}{T}:counter(0/0,1,Pressure) text={T}: Add {1} to your mana pool. -- {1}{R}, {T}: Put a pressure counter on Hellion Crucible. -- {1}{R}, {T}, Remove two pressure counters from Hellion Crucible and sacrifice it: Put a 4/4 red Hellion creature token with haste onto the battlefield. (It can attack and {T} as soon as it comes under your control.) type=Land [/card] @@ -55077,7 +55080,7 @@ type=Instant [/card] [card] name=Hold the Gates -auto=thisforeach(Gate|mybattlefield) lord(creature|myBattlefield) 0/1 +auto=foreach(Gate|mybattlefield) lord(creature|myBattlefield) 0/1 auto=lord(creature|myBattlefield) vigilance text=Creatures you control get +0/+1 for each Gate you control and have vigilance. mana={2}{W} @@ -58623,7 +58626,7 @@ toughness=5 [/card] [card] name=Inquisitor's Snare -target=creature +target=creature[attacking;blocking] auto=teach(creature[-red;-black]) preventalldamage from(mytgt) ueot auto=teach(creature[red;black]) destroy text=Prevent all damage target attacking or blocking creature would deal this turn. If that creature is black or red, destroy it. @@ -71614,8 +71617,9 @@ toughness=4 [/card] [card] name=Marsh Flats -aicode=activate moveTo(myBattlefield) target(*[swamp;plains]|myLibrary) -auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[swamp;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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[swamp;plains]|myLibrary) +#aicode=activate moveTo(myBattlefield) target(*[swamp;plains]|myLibrary) +#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[swamp;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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Marsh Flats: Search your library for a Plains or Swamp card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -73923,7 +73927,7 @@ type=Legendary Land [/card] [card] name=Militant Inquisitor -auto=foreach(equpment|mybattlefield)1/0 +auto=foreach(equipment|mybattlefield)1/0 text=Militant Inquisitor gets +1/+0 for each Equipment you control. mana={2}{W} type=Creature @@ -75416,8 +75420,9 @@ type=Artifact [/card] [card] name=Misty Rainforest -aicode=activate moveTo(myBattlefield) target(*[forest;island]|myLibrary) -auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;island]|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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[forest;island]|myLibrary) +#aicode=activate moveTo(myBattlefield) target(*[forest;island]|myLibrary) +#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;island]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Misty Rainforest: Search your library for a Forest or Island card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -82297,7 +82302,7 @@ type=Artifact name=Ojutai, Soul of Winter abilities=flying,vigilance auto=@combat(attacking) source(dragon|mybattlefield):name(tap & Freeze) target(*[-land]|opponentbattlefield) transforms((,newability[tap],newability[frozen])) uynt -text=Flying, vigilance. -- Whenever a Dragon you control attacks, Tap target nonland permament your opponents control. It doesn't untap during its controller's next untap step. +text=Flying, vigilance. -- Whenever a Dragon you control attacks, Tap target nonland permanent your opponents control. It doesn't untap during its controller's next untap step. mana={5}{W}{U} type=Legendary Creature subtype=Dragon @@ -85749,23 +85754,23 @@ toughness=3 [/card] [card] name=Pernicious Deed -auto={0}{S}:name(X = 0) destroy all(artifact,creature,enchantment[manacost=0]) -auto={1}{S}:name(X = 1) destroy all(artifact,creature,enchantment[manacost<=1]) -auto={2}{S}:name(X = 2) destroy all(artifact,creature,enchantment[manacost<=2]) -auto={3}{S}:name(X = 3) destroy all(artifact,creature,enchantment[manacost<=3]) -auto={4}{S}:name(X = 4) destroy all(artifact,creature,enchantment[manacost<=4]) -auto={5}{S}:name(X = 5) destroy all(artifact,creature,enchantment[manacost<=5]) -auto={6}{S}:name(X = 6) destroy all(artifact,creature,enchantment[manacost<=6]) -auto={7}{S}:name(X = 7) destroy all(artifact,creature,enchantment[manacost<=7]) -auto={8}{S}:name(X = 8) destroy all(artifact,creature,enchantment[manacost<=8]) -auto={9}{S}:name(X = 9) destroy all(artifact,creature,enchantment[manacost<=9]) -auto={10}{S}:name(X = 10) destroy all(artifact,creature,enchantment[manacost<=10]) -auto={11}{S}:name(X = 11) destroy all(artifact,creature,enchantment[manacost<=11]) -auto={12}{S}:name(X = 12) destroy all(artifact,creature,enchantment[manacost<=12]) -auto={13}{S}:name(X = 13) destroy all(artifact,creature,enchantment[manacost<=13]) -auto={14}{S}:name(X = 14) destroy all(artifact,creature,enchantment[manacost<=14]) -auto={15}{S}:name(X = 15) destroy all(artifact,creature,enchantment[manacost<=15]) -auto={16}{S}:name(X = 16) destroy all(artifact,creature,enchantment[manacost<=16]) +auto={0}{S}:name(X = 0) destroy all(*[artifact;creature;enchantment;manacost=0]) +auto={1}{S}:name(X = 1) destroy all(*[artifact;creature;enchantment;manacost<=1]) +auto={2}{S}:name(X = 2) destroy all(*[artifact;creature;enchantment;manacost<=2]) +auto={3}{S}:name(X = 3) destroy all(*[artifact;creature;enchantment;manacost<=3]) +auto={4}{S}:name(X = 4) destroy all(*[artifact;creature;enchantment;manacost<=4]) +auto={5}{S}:name(X = 5) destroy all(*[artifact;creature;enchantment;manacost<=5]) +auto={6}{S}:name(X = 6) destroy all(*[artifact;creature;enchantment;manacost<=6]) +auto={7}{S}:name(X = 7) destroy all(*[artifact;creature;enchantment;manacost<=7]) +auto={8}{S}:name(X = 8) destroy all(*[artifact;creature;enchantment;manacost<=8]) +auto={9}{S}:name(X = 9) destroy all(*[artifact;creature;enchantment;manacost<=9]) +auto={10}{S}:name(X = 10) destroy all(*[artifact;creature;enchantment;manacost<=10]) +auto={11}{S}:name(X = 11) destroy all(*[artifact;creature;enchantment;manacost<=11]) +auto={12}{S}:name(X = 12) destroy all(*[artifact;creature;enchantment;manacost<=12]) +auto={13}{S}:name(X = 13) destroy all(*[artifact;creature;enchantment;manacost<=13]) +auto={14}{S}:name(X = 14) destroy all(*[artifact;creature;enchantment;manacost<=14]) +auto={15}{S}:name(X = 15) destroy all(*[artifact;creature;enchantment;manacost<=15]) +auto={16}{S}:name(X = 16) destroy all(*[artifact;creature;enchantment;manacost<=16]) text={X}, Sacrifice Pernicious Deed: Destroy each artifact, creature, and enchantment with converted mana cost X or less. mana={1}{B}{G} type=Enchantment @@ -87153,7 +87158,7 @@ type=Land name=Pinion Feast target=creature[flying]|battlefield auto=destroy -auto=abliity$!name(Bolster) notatarget(creature[toughness=toughness:lowest:creature:mybattlefield]|mybattlefield) counter(1/1,2)!$ controller +auto=ability$!name(Bolster) notatarget(creature[toughness=toughness:lowest:creature:mybattlefield]|mybattlefield) counter(1/1,2)!$ controller text=Destroy target creature with flying. Bolster 2. (Choose a creature with the least toughness among creatures you control and put two +1/+1 counters on it.) mana={4}{G} type=Instant @@ -87450,7 +87455,7 @@ toughness=* [/card] [card] name=Plague Sliver -auto=lord(sliver) transforms((,newabililty[@each my upkeep:damage:1 controller])) +auto=lord(sliver) transforms((,newability[@each my upkeep:damage:1 controller])) text=All Slivers have "At the beginning of your upkeep, this permanent deals 1 damage to you." mana={2}{B}{B} type=Creature @@ -87948,8 +87953,9 @@ toughness=3 [/card] [card] name=Polluted Delta -aicode=activate moveTo(myBattlefield) target(*[island;swamp]|myLibrary) -auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[island;swamp]|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(ownerbattlefield))! afterrevealedend revealend +#aicode=activate moveTo(myBattlefield) target(*[island;swamp]|myLibrary) +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[island;swamp]|myLibrary) +#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[island;swamp]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Polluted Delta: Search your library for an Island or Swamp card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -89375,7 +89381,7 @@ toughness=5 [/card] [card] name=Promise of Bunrei -auto=@movedto(graveyard) from(creature|myBattlefield):token(Spirit,Creature Spirit,1/1)*4 +auto=@movedto(graveyard) from(creature|myBattlefield):token(Spirit,Creature Spirit,1/1)*4 oneShot auto=@movedto(graveyard) from(creature|myBattlefield):bury text=When a creature you control is put into a graveyard from the battlefield, sacrifice Promise of Bunrei. If you do, put four 1/1 colorless Spirit creature tokens onto the battlefield. mana={2}{W} @@ -90880,7 +90886,7 @@ toughness=3 [card] name=Quiet Contemplation auto=@movedTo(*[-creature]|mystack):pay({1}) name(tap target creature) target(creature|opponentbattlefield) transforms((,newability[tap],newability[frozen])) -text=Enchantment. -- Whenever you cast a noncreatrue spell, you may pay 1. If you do, tap target creature an opponent controls and it doesn't untap during its controller's next untap step. +text=Enchantment. -- Whenever you cast a noncreature spell, you may pay 1. If you do, tap target creature an opponent controls and it doesn't untap during its controller's next untap step. mana={2}{U} type=Enchantment [/card] @@ -96537,7 +96543,7 @@ toughness=5 name=Rock Hydra auto=counter(1/1,X) auto={r}:prevent:1 all(this) -auto={r}{r}{r}:counter(1/1,1) all(this) myUpkeeponly +auto={r}{r}{r}:counter(1/1,1) myUpkeeponly abilities=wilting text=Rock Hydra enters the battlefield with X +1/+1 counters on it. -- For each 1 damage that would be dealt to Rock Hydra, if it has a +1/+1 counter on it, remove a +1/+1 counter from it and prevent that 1 damage. -- {R}: Prevent the next 1 damage that would be dealt to Rock Hydra this turn. -- {R}{R}{R}: Put a +1/+1 counter on Rock Hydra. Activate this ability only during your upkeep. mana={X}{R}{R} @@ -99975,8 +99981,9 @@ toughness=1 [/card] [card] name=Scalding Tarn -aicode=activate moveTo(myBattlefield) target(*[island;mountain]|myLibrary) -auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[island;mountain]|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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[island;mountain]|myLibrary) +#aicode=activate moveTo(myBattlefield) target(*[island;mountain]|myLibrary) +#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[island;mountain]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Scalding Tarn: Search your library for an Island or Mountain card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -105097,7 +105104,7 @@ toughness=2 [/card] [card] name=Shu Defender -auto=@combat(blocking) source(this):o/2 ueot +auto=@combat(blocking) source(this):0/2 ueot text=Whenever Shu Defender blocks, it gets +0/+2 until end of turn. mana={2}{W} type=Creature @@ -113122,11 +113129,11 @@ toughness=4 [card] name=Star Compass auto=tap(noevent) -auto=aslongas(plains|myBattlefield) {T}:Add{W} -auto=aslongas(island|myBattlefield) {T}:Add{U} -auto=aslongas(swamp|myBattlefield) {T}:Add{B} -auto=aslongas(mountain|myBattlefield) {T}:Add{R} -auto=aslongas(forest|myBattlefield) {T}:Add{G} +auto=aslongas(plains[basic]|myBattlefield) {T}:Add{W} +auto=aslongas(island[basic]|myBattlefield) {T}:Add{U} +auto=aslongas(swamp[basic]|myBattlefield) {T}:Add{B} +auto=aslongas(mountain[basic]|myBattlefield) {T}:Add{R} +auto=aslongas(forest[basic]|myBattlefield) {T}:Add{G} text=Star Compass enters the battlefield tapped. -- {T}: Add to your mana pool one mana of any color a basic land you control could produce. mana={2} type=Artifact @@ -126620,7 +126627,7 @@ subtype=Arcane [/card] [card] name=Unnerve -auto=ability$!name(discard 2 cards) target(*|myhand) reject!$ opponent +auto=ability$!name(discard 2 cards) target(<2>*|myhand) reject!$ opponent text=Each opponent discards two cards. mana={3}{B} type=Sorcery @@ -127602,8 +127609,8 @@ toughness=2 [card] name=Vampire Nocturnus abilities=showfromtoplibrary -auto=aslongas(*[black;zpos=1]|mylibrary) lord(creature) 2/1 >0 -auto=aslongas(*[black;zpos=1]|mylibrary) lord(creature) flying >0 +auto=aslongas(*[black;zpos=1]|mylibrary) lord(vampire|myBattlefield) 2/1 >0 +auto=aslongas(*[black;zpos=1]|mylibrary) lord(vampire|myBattlefield) flying >0 text=Play with the top card of your library revealed. -- As long as the top card of your library is black, Vampire Nocturnus and other Vampire creatures you control get +2/+1 and have flying. mana={1}{B}{B}{B} type=Creature @@ -128527,8 +128534,9 @@ toughness=2 [/card] [card] name=Verdant Catacombs -aicode=activate moveTo(myBattlefield) target(*[forest;swamp]|myLibrary) -auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;swamp]|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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[forest;swamp]|myLibrary) +#aicode=activate moveTo(myBattlefield) target(*[forest;swamp]|myLibrary) +#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;swamp]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Verdant Catacombs: Search your library for a Swamp or Forest card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -134914,8 +134922,9 @@ type=Instant [/card] [card] name=Windswept Heath -aicode=activate moveTo(myBattlefield) target(*[forest;plains]|myLibrary) -auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[forest;plains]|myLibrary) +#aicode=activate moveTo(myBattlefield) target(*[forest;plains]|myLibrary) +#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[forest;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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Windswept Heath: Search your library for a Forest or Plains card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -135824,8 +135833,9 @@ type=Land [/card] [card] name=Wooded Foothills -aicode=activate moveTo(myBattlefield) target(*[mountain;forest]|myLibrary) -auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[mountain;forest]|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(ownerbattlefield))! afterrevealedend revealend +auto={L:1}{T}{S}:moveTo(myBattlefield) target(*[mountain;forest]|myLibrary) +#aicode=activate moveTo(myBattlefield) target(*[mountain;forest]|myLibrary) +#auto={L:1}{T}{S}:name(search card) reveal:plibrarycount optionone name(choose card) target(*[mountain;forest]|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(ownerbattlefield))! afterrevealedend revealend text={T}, Pay 1 life, Sacrifice Wooded Foothills: Search your library for a Mountain or Forest card and put it onto the battlefield. Then shuffle your library. type=Land [/card] @@ -135984,7 +135994,7 @@ toughness=6 [/card] [card] name=Woodwraith Strangler -auto={E(creature|myhand)}:regenerate +auto={E(creature|mygraveyard)}:regenerate text=Exile a creature card from your graveyard: Regenerate Woodwraith Strangler. mana={2}{B}{G} type=Creature @@ -138081,7 +138091,7 @@ power=7 toughness=2 [/card] ##due to card type association dryad arbor is placed at the end. any other card that associates 2 super types in this manner should also -##be in the end of the primitive to avoid abilities like changling thinking that "forest" is a creature type. +##be in the end of the primitive to avoid abilities like changeling thinking that "forest" is a creature type. [card] name=Dryad Arbor text=(Dryad Arbor isn't a spell, it's affected by summoning sickness, and it has "{T}: Add {G} to your mana pool.") -- Dryad Arbor is green. diff --git a/projects/mtg/src/GameStateDeckViewer.cpp b/projects/mtg/src/GameStateDeckViewer.cpp index c7400e50a..c3fdf14f5 100644 --- a/projects/mtg/src/GameStateDeckViewer.cpp +++ b/projects/mtg/src/GameStateDeckViewer.cpp @@ -1353,7 +1353,7 @@ void GameStateDeckViewer::renderOnScreenMenu() sprintf(buffer, STATS_TITLE_FORMAT.c_str(), mStatsWrapper->currentPage, _("Mana cost per color").c_str()); font->DrawString(buffer, 10 + 20 + leftTransition, 10); - font->DrawString(_("Total colored manasymbols in cards' casting costs:"), 20 + 20 + leftTransition, 30); + font->DrawString(_("Total colored mana symbols in cards' casting costs:"), 20 + 20 + leftTransition, 30); posY = 50; for (int i = 1; i < Constants::NB_Colors - 1; i++) diff --git a/projects/mtg/src/GameStateOptions.cpp b/projects/mtg/src/GameStateOptions.cpp index 9ca7662e6..4b552c8d5 100644 --- a/projects/mtg/src/GameStateOptions.cpp +++ b/projects/mtg/src/GameStateOptions.cpp @@ -250,8 +250,8 @@ void GameStateOptions::Render() "", "Dev Team:", "Abrasax, Almosthumane, Daddy32, DJardin, Dr.Solomat, J, Jeck,", - "kevlahnota, Leungclj, linshier, Mootpoint, Mnguyen, Psyringe,", - "Rolzad73, Salmelo, Superhiro, Wololo, Yeshua, Zethfox", + "kevlahnota, Leungclj, linshier, Mootpoint, Mnguyen, Ph34rbot,", + "Psyringe, Rolzad73, Salmelo, Superhiro, Wololo, Yeshua, Zethfox", "", "Music by Celestial Aeon Project, http://www.jamendo.com", "", diff --git a/projects/mtg/src/GuiStatic.cpp b/projects/mtg/src/GuiStatic.cpp index 6b1ee99e0..d5b000533 100644 --- a/projects/mtg/src/GuiStatic.cpp +++ b/projects/mtg/src/GuiStatic.cpp @@ -120,13 +120,13 @@ void GuiAvatar::Render() case TOP_LEFT: mFont->SetColor(ARGB((int)actA / 4, 0, 0, 0)); mFont->DrawString(buffer, actX + 2, actY - 2); - mFont->SetScale(1.3f); + mFont->SetScale(1.5f); mFont->SetColor(ARGB((int)actA, lx, ly, lz)); mFont->DrawString(buffer, actX + 1, actY - 1); mFont->SetScale(1); break; case BOTTOM_RIGHT: - mFont->SetScale(1.3f); + mFont->SetScale(1.4f); mFont->SetColor(ARGB((int)actA, lx, ly, lz)); mFont->DrawString(buffer, actX, actY - 14, JGETEXT_RIGHT); mFont->SetScale(1); diff --git a/projects/mtg/src/MTGDeck.cpp b/projects/mtg/src/MTGDeck.cpp index 642dcb99a..98a8d7586 100644 --- a/projects/mtg/src/MTGDeck.cpp +++ b/projects/mtg/src/MTGDeck.cpp @@ -1238,7 +1238,7 @@ void MTGDeck::printDetailedDeckText(std::ofstream& file ) string setName = setInfo->id; string cardName = card->data->getName(); - currentCard << "#" << nbCards << " x " << cardName << " (" << setName << "), "; + currentCard << "#" << nbCards << "x " << cardName << " (" << setName << "), "; if ( !card->data->isLand() ) currentCard << card->data->getManaCost() << ", "; @@ -1293,9 +1293,9 @@ void MTGDeck::printDetailedDeckText(std::ofstream& file ) ss_spells << numberOfSpells; ss_lands << numberOfLands; - file << getCardBlockText( "Creatures x " + ss_creatures.str(), creatures.str() ) << endl; - file << getCardBlockText( "Spells x " + ss_spells.str(), spells.str() ) << endl; - file << getCardBlockText( "Lands x " + ss_lands.str(), lands.str() ) << endl; + file << getCardBlockText( "Creatures x" + ss_creatures.str(), creatures.str() ) ; + file << getCardBlockText( "Spells x" + ss_spells.str(), spells.str() ) ; + file << getCardBlockText( "Lands x" + ss_lands.str(), lands.str() ) ; creatures.str(""); spells.str(""); lands.str(""); diff --git a/projects/mtg/src/WGui.cpp b/projects/mtg/src/WGui.cpp index 0e52c499d..43c40f95f 100644 --- a/projects/mtg/src/WGui.cpp +++ b/projects/mtg/src/WGui.cpp @@ -2127,7 +2127,7 @@ void WGuiFilterItem::updateValue() } else if (filterType == FILTER_CMC) { - for (int i = 0; i < 20; i++) + for (int i = 0; i < 17; i++) { sprintf(buf_code, "cmc:%i;", i); sprintf(buf_name, "%i Mana", i); @@ -2136,7 +2136,7 @@ void WGuiFilterItem::updateValue() } else if (filterType == FILTER_POWER) { - for (int i = 0; i < 14; i++) + for (int i = 0; i < 17; i++) { sprintf(buf_code, "pow:%i;", i); sprintf(buf_name, "%i power", i); @@ -2145,7 +2145,7 @@ void WGuiFilterItem::updateValue() } else if (filterType == FILTER_TOUGH) { - for (int i = 0; i < 14; i++) + for (int i = 0; i < 17; i++) { sprintf(buf_code, "tgh:%i;", i); sprintf(buf_name, "%i toughness", i);