Merge pull request #745 from kevlahnota/master

Add Missing Devoid Cards and change Simple Menu
This commit is contained in:
Anthony Calosa
2016-07-11 19:54:37 +08:00
committed by GitHub
7 changed files with 252 additions and 206 deletions

View File

@@ -34,96 +34,91 @@ public class DeckImporter
{
while (scanner.hasNext())
{
boolean foundSideboard = false;
String line = scanner.nextLine();
if(line.toLowerCase().contains("sideboard"))
foundSideboard = true;
String[] slines = line.split("\\s+");
String arranged = "";
for(int idx = 1; idx < slines.length; idx++)
{
arranged += slines[idx] + " ";
}
if ((isNumeric(slines[0])||foundSideboard) && arranged != null)
{
if (foundSideboard)
deck += prefix;
if (slines[1] != null && slines[1].startsWith("["))
{
arranged = arranged.substring(5);
slines[1] = slines[1].replaceAll("\\[", "").replaceAll("\\]","");
deck += arranged + " (" + renameSet(slines[1]) + ") * " + slines[0] + "\n";
}
else
{
deck += arranged + "(*) * " + slines[0] + "\n";
}
}
}
File profile = new File(activePath+"/Res/settings/options.txt");
if(profile.exists() && !profile.isDirectory())
{
String profileName = getActiveProfile(profile);
if(profileName != "Missing!")
{
File rootProfiles = new File(activePath+"/Res/profiles/"+profileName);
if(rootProfiles.exists() && rootProfiles.isDirectory())
{
//save deck
int countdeck = 1;
File[] files = rootProfiles.listFiles();
for (int i = 0; i < files.length; i++)
{//check if there is available deck...
if(files[i].getName().startsWith("deck"))
countdeck++;
}
File toSave = new File(rootProfiles+"/deck"+countdeck+".txt");
try
{
FileOutputStream fop = new FileOutputStream(toSave);
// if file doesn't exists, then create it
if (!toSave.exists()) {
toSave.createNewFile();
}
// get the content in bytes
byte[] contentInBytes = deck.getBytes();
fop.write(contentInBytes);
fop.flush();
fop.close();
message = "Import Deck Success!\n\n"+deck;
}
catch (IOException e)
{
message = e.getMessage();
}
}
else
{
message = "Missing Folder!";
}
}
}
else
{
message = "Invalid Profile!";
}
}
else
{
message = "No errors, and file EMPTY";
}
}
catch(IOException e)
{
message = e.getMessage();
}
}
return message;
line = line.trim();
if (!line.equals("")) // don't write out blank lines
{
String[] slines = line.split("\\s+");
String arranged = "";
for(int idx = 1; idx < slines.length; idx++)
{
arranged += slines[idx] + " ";
}
if ((isNumeric(slines[0])) && arranged != null)
{
if (slines[1] != null && slines[1].startsWith("["))
{
arranged = arranged.substring(5);
slines[1] = slines[1].replaceAll("\\[", "").replaceAll("\\]","");
deck += arranged + " (" + renameSet(slines[1]) + ") * " + slines[0] + "\n";
}
else
{
deck += arranged + "(*) * " + slines[0] + "\n";
}
}
}
}
File profile = new File(activePath+"/Res/settings/options.txt");
if(profile.exists() && !profile.isDirectory())
{
String profileName = getActiveProfile(profile);
if(profileName != "Missing!")
{
File rootProfiles = new File(activePath+"/Res/profiles/"+profileName);
if(rootProfiles.exists() && rootProfiles.isDirectory())
{
//save deck
int countdeck = 1;
File[] files = rootProfiles.listFiles();
for (int i = 0; i < files.length; i++)
{//check if there is available deck...
if(files[i].getName().startsWith("deck"))
countdeck++;
}
File toSave = new File(rootProfiles+"/deck"+countdeck+".txt");
try
{
FileOutputStream fop = new FileOutputStream(toSave);
// if file doesn't exists, then create it
if (!toSave.exists()) {
toSave.createNewFile();
}
// get the content in bytes
byte[] contentInBytes = deck.getBytes();
fop.write(contentInBytes);
fop.flush();
fop.close();
message = "Import Deck Success!\n\n"+deck;
}
catch (IOException e)
{
message = e.getMessage();
}
}
else
{
message = "Missing Folder!";
}
}
}
else
{
message = "Invalid Profile!";
}
}
else
{
message = "No errors, and file EMPTY";
}
}
catch(IOException e)
{
message = e.getMessage();
}
}
return message;
}
private static boolean isNumeric(String input)

View File

@@ -45,6 +45,17 @@ power=2
toughness=2
[/card]
[card]
name=Abbot of Keral Keep
auto=@movedTo(*[-creature]|mystack):1/1 ueot
auto=reveal:1 optionone all(*|reveal) moveto(exile) and!( transforms((,newability[canplayfromexile])) ueot)! optiononeend revealend
text=Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.) -- When Abbot of Keral Keep enters the battlefield, exile the top card of your library. Until end of turn, you may play that card.
mana={1}{R}
type=Creature
subtype=Human Monk
power=2
toughness=1
[/card]
[card]
name=Abbey Matron
auto={W}{T}:0/3
text={W}, {T}: Abbey Matron gets +0/+3 until end of turn.
@@ -219,6 +230,16 @@ mana={W}{U}{U}
type=Instant
[/card]
[card]
name=Abstruse Interference
abilities=devoid
target=*|stack
auto=transforms((,newability[pay[[{1}]] name(pay 1 mana) donothing?fizzle])) forever
auto=token(Eldrazi Scion) controller
text=Devoid (This card has no color.) -- Counter target spell unless its controller pays {1}. You put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool." ({C} represents colorless mana.)
mana={2}{U}
type=Instant
[/card]
[card]
name=Abuna Acolyte
auto={T}:name(prevent 1 damage) prevent:1 target(creature,player)
auto={T}:name(prevent 2 damage) prevent:2 target(creature[artifact])
@@ -1489,7 +1510,7 @@ toughness=1
[card]
name=Ainok Guide
auto=choice name(+1/+1 counter) counter(1/1,1)
auto=choice name(search for a land) moveTo(ownerlibrary) notatarget(land[basic]|mylibrary)
auto=choice name(search basic land) Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(land[basic]|mylibrary) optionone name(choose card) target(land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=When Ainok Guide enters the battlefield, choose one: -- Put a +1/+1 counter on Ainok Guide. -- Search your library for a basic land card, reveal it, then shuffle your library and put that card on top of it.
mana={1}{G}
type=Creature
@@ -12244,7 +12265,7 @@ toughness=1
[/card]
[card]
name=Boggart Harbinger
auto=moveTo(library) target(goblin|mylibrary) oneshot
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(goblin|mylibrary) optionone name(choose card) target(goblin|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=When Boggart Harbinger enters the battlefield, you may search your library for a Goblin card, reveal it, then shuffle your library and put that card on top of it.
mana={2}{B}
type=Creature
@@ -13910,7 +13931,8 @@ type=Sorcery
[card]
name=Bringer of the Black Dawn
other={W}{U}{B}{R}{G} name(Spend WUBRG to Cast)
auto=@each my upkeep:may name(search for a card) life:-2 controller && moveTo(library) target(*|mylibrary)
abilities=trample
auto=@each my upkeep restriction{compare(lifetotal)~morethan~1}:may name(pay 2 life) life:-2 controller && name(search a card) moveTo(exile) and!(transforms((,newability[moveto(ownerlibrary)])) oneshot)! notatarget(*|mylibrary)
text=You may pay {W}{U}{B}{R}{G} rather than pay Bringer of the Black Dawn's mana cost. -- Trample -- At the beginning of your upkeep, you may pay 2 life. If you do, search your library for a card, then shuffle your library and put that card on top of it.
mana={7}{B}{B}
type=Creature
@@ -13944,6 +13966,7 @@ toughness=5
[/card]
[card]
name=Bringer of the Red Dawn
abilities=trample
other={W}{U}{B}{R}{G} name(Spend WUBRG to Cast)
auto=@each my upkeep:may name(gain control of target creature until end of turn) target(creature|opponentbattlefield) transforms((,newability[moveTo(opponentbattlefield)],newability[phaseaction[endofturn sourceinplay] moveTo(ownerbattlefield)],newability[untap],haste)) ueot
text=You may pay {W}{U}{B}{R}{G} rather than pay Bringer of the Red Dawn's mana cost. -- Trample -- At the beginning of your upkeep, you may untap target creature and gain control of it until end of turn. That creature gains haste until end of turn.
@@ -22370,7 +22393,7 @@ toughness=1
[/card]
[card]
name=Cruel Tutor
auto=moveTo(ownerlibrary) notatarget(*|mylibrary)
auto=name(search a card) moveTo(exile) and!(transforms((,newability[moveto(ownerlibrary)])) oneshot)! notatarget(*|mylibrary)
auto=life:-2 controller
text=Search your library for a card, then shuffle your library and put that card on top of it. You lose 2 life.
mana={2}{B}
@@ -32299,7 +32322,7 @@ toughness=1
[/card]
[card]
name=Elvish Harbinger
auto=moveTo(library) target(elf|mylibrary) oneshot
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(elf|mylibrary) optionone name(choose card) target(elf|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
auto={T}:Add{G}
auto={T}:Add{W}
auto={T}:Add{U}
@@ -33398,7 +33421,7 @@ toughness=1
[/card]
[card]
name=Enlightened Tutor
auto=moveTo(ownerlibrary) notatarget(artifact,enchantment|mylibrary)
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(*[artifact;enchantment]|mylibrary) optionone name(choose card) target(*[artifact;enchantment]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=Search your library for an artifact or enchantment card and reveal that card. Shuffle your library, then put the card on top of it.
mana={W}
type=Instant
@@ -35420,7 +35443,7 @@ type=Land
[card]
name=Faerie Harbinger
abilities=flash,flying
auto=moveTo(library) target(faerie|mylibrary) oneshot
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(faerie|mylibrary) optionone name(choose card) target(faerie|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=Flash -- Flying -- When Faerie Harbinger enters the battlefield, you may search your library for a Faerie card, reveal it, then shuffle your library and put that card on top of it.
mana={3}{U}
type=Creature
@@ -37961,7 +37984,7 @@ toughness=2
[/card]
[card]
name=Flamekin Harbinger
auto=moveTo(library) target(elemental|mylibrary) oneshot
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(elemental|mylibrary) optionone name(choose card) target(elemental|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=When Flamekin Harbinger enters the battlefield, you may search your library for an Elemental card, reveal it, then shuffle your library and put that card on top of it.
mana={R}
type=Creature
@@ -42465,7 +42488,7 @@ type=Instant
[/card]
[card]
name=Giant Harbinger
auto=moveTo(library) target(giant|mylibrary) oneshot
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(giant|mylibrary) optionone name(choose card) target(giant|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=When Giant Harbinger enters the battlefield, you may search your library for a Giant card, reveal it, then shuffle your library and put that card on top of it.
mana={4}{R}
type=Creature
@@ -52879,7 +52902,7 @@ toughness=1
[/card]
[card]
name=Imperial Seal
auto=moveTo(ownerlibrary) notatarget(*|mylibrary)
auto=name(search a card) moveTo(exile) and!(transforms((,newability[moveto(ownerlibrary)])) oneshot)! notatarget(*|mylibrary)
auto=life:-2 controller
text=Search your library for a card, then shuffle your library and put that card on top of it. You lose 2 life.
mana={B}
@@ -58298,7 +58321,7 @@ toughness=1
[/card]
[card]
name=Kithkin Harbinger
auto=moveTo(library) target(kithkin|mylibrary) oneshot
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(kithkin|mylibrary) optionone name(choose card) target(kithkin|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=When Kithkin Harbinger enters the battlefield, you may search your library for a Kithkin card, reveal it, then shuffle your library and put that card on top of it.
mana={2}{W}
type=Creature
@@ -59420,6 +59443,15 @@ power=3
toughness=3
[/card]
[card]
name=Kozilek's Return
abilities=devoid
auto=damage:2 all(creature)
autograveyard=@movedto(eldrazi[manacost>=6]|mystack):may moveto(exile) and!(damage:5 all(creature))!
text=Devoid (This card has no color.) -- Kozilek's Return deals 2 damage to each creature. -- Whenever you cast an Eldrazi creature spell with converted mana cost 7 or greater, you may exile Kozilek's Return from your graveyard. If you do, Kozilek's Return deals 5 damage to each creature.
mana={2}{R}
type=Instant
[/card]
[card]
name=Kozilek's Sentinel
auto=@movedto(*[colorless]|mystack):1/0 ueot
text=Devoid (This card has no color.) -- Whenever you cast a colorless spell, Kozilek's Sentinel gets +1/+0 until end of turn.
@@ -62183,7 +62215,7 @@ subtype=Liliana
name=Liliana Vess
auto=counter(0/0,5,loyalty)
auto={C(0/0,1,Loyalty)}:name(+1: discard) target(player) ability$!name(discard) target(*|myhand) reject!$ targetedplayer
auto={C(0/0,-2,Loyalty)}:name(-2: fetch) target(*|mylibrary) moveTo(library)
auto={C(0/0,-2,Loyalty)}:name(-2: fetch) moveTo(exile) and!(transforms((,newability[moveto(ownerlibrary)])) oneshot)! notatarget(*|mylibrary)
auto={C(0/0,-8,Loyalty)}:name(-8: reanimate) moveTo(mybattlefield) all(creature|graveyard)
text=+1: Target player discards a card. -- -2: Search your library for a card, then shuffle your library and put that card on top of it. -- -8: Put all creature cards in all graveyards onto the battlefield under your control.
mana={3}{B}{B}
@@ -62783,7 +62815,7 @@ toughness=2
[/card]
[card]
name=Loam Larva
auto=may moveTo(library) target(land[basic]|mylibrary) oneshot
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(land[basic]|mylibrary) optionone name(choose card) target(land[basic]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=When Loam Larva enters the battlefield, you may search your library for a basic land card, reveal it, then shuffle your library and put that card on top of it.
mana={1}{G}
type=Creature
@@ -67482,7 +67514,7 @@ toughness=2
[card]
name=Merrow Harbinger
abilities=islandwalk
auto=moveTo(library) target(merfolk|mylibrary) oneshot
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(*[merfolk]|mylibrary) optionone name(choose card) target(*[merfolk]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=Islandwalk -- When Merrow Harbinger enters the battlefield, you may search your library for a Merfolk card, reveal it, then shuffle your library and put that card on top of it.
mana={3}{U}
type=Creature
@@ -68200,6 +68232,17 @@ mana={B}
type=Sorcery
[/card]
[card]
name=Mind Raker
abilities=devoid
auto=if type(*|opponentexile)~morethan~0 then may notatarget(*|opponentexile) moveto(ownergraveyard) and!( ability$!reject notatarget(*|myhand)!$ opponent )!
text=Devoid (This card has no color.) -- When Mind Raker enters the battlefield, you may put a card an opponent owns from exile into that player's graveyard. If you do, each opponent discards a card.
mana={3}{B}
type=Creature
subtype=Eldrazi Processor
power=3
toughness=3
[/card]
[card]
name=Mind Ravel
target=player
auto=ability$!name(discard) target(*|myhand) reject!$ targetedplayer
@@ -69029,6 +69072,13 @@ mana={2}{R}
type=Sorcery
[/card]
[card]
name=Mishra's Bauble
auto={T}{S}:target(player) reveal:1 optionone name(Put On Top) target(<1>*|reveal) moveto(ownerlibrary) optiononeend afterrevealed transforms((,newability[phaseaction[upkeep once] draw:1 controller])) oneshot afterrevealedend revealend
text={T}, Sacrifice Mishra's Bauble: Look at the top card of target player's library. Draw a card at the beginning of the next turn's upkeep.
mana={0}
type=Artifact
[/card]
[card]
name=Mishra's Factory
auto={T}:add{1}
auto={1}:transforms((Artifact Creature Assembly-Worker,setpower=2,settoughness=2)) ueot
@@ -71361,6 +71411,17 @@ power=2
toughness=2
[/card]
[card]
name=Murk Strider
abilities=devoid
auto=if type(*|opponentexile)~morethan~0 then may notatarget(*|opponentexile) moveto(ownergraveyard) and!( target(creature) moveto(ownerhand) )!
text=Devoid (This card has no color.) -- When Murk Strider enters the battlefield, you may put a card an opponent owns from exile into that player's graveyard. If you do, return target creature to its owner's hand.
mana={3}{U}
type=Creature
subtype=Eldrazi Processor
power=3
toughness=2
[/card]
[card]
name=Murkfiend Liege
auto=@each opponent untap:untap all(creature[green;blue]|mybattlefield)
auto=lord(other creature[green]|myBattlefield) 1/1
@@ -71463,7 +71524,7 @@ type=Sorcery
[/card]
[card]
name=Mwonvuli Beast Tracker
auto=moveTo(ownerlibrary) target(creature[deathtouch;opponentshroud;reach;trample]|mylibrary)
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(creature[deathtouch;opponentshroud;reach;trample]|mylibrary) optionone name(choose card) target(creature[deathtouch;opponentshroud;reach;trample]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=When Mwonvuli Beast Tracker enters the battlefield, search your library for a creature card with deathtouch, hexproof, reach, or trample and reveal it. Shuffle your library and put that card on top of it.
mana={1}{G}{G}
type=Creature
@@ -72007,7 +72068,7 @@ type=Instant
[/card]
[card]
name=Mystical Tutor
auto=moveTo(ownerlibrary) notatarget(instant,sorcery|mylibrary)
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(*[instant;sorcery]|mylibrary) optionone name(choose card) target(*[instant;sorcery]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=Search your library for an instant or sorcery card and reveal that card. Shuffle your library, then put the card on top of it.
mana={U}
type=Instant
@@ -76328,6 +76389,17 @@ text=Opulent Palace enters the battlefield tapped. -- {T}: Add {B}, {G}, or {U}
type=Land
[/card]
[card]
name=Oracle of Dust
abilities=devoid
auto={2}{s2g(*|opponentexile)}:name(Draw then Discard) draw:1 controller && ability$!reject notatarget(*|myhand)!$ controller
text=Devoid (This card has no color.) -- {2}, Put a card an opponent owns from exile into that player's graveyard: Draw a card, then discard a card.
mana={4}{U}
type=Creature
subtype=Eldrazi Processor
power=3
toughness=5
[/card]
[card]
name=Oracle of Nectars
auto={X}{T}:life:X
text={X}, {T}: You gain X life.
@@ -78919,7 +78991,7 @@ type=Enchantment
[/card]
[card]
name=Personal Tutor
auto=moveTo(library) notatarget(sorcery|mylibrary)
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(sorcery|mylibrary) optionone name(choose card) target(sorcery|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=Search your library for a sorcery card and reveal that card. Shuffle your library, then put the card on top of it.
mana={U}
type=Sorcery
@@ -82222,6 +82294,15 @@ mana={2}{U}
type=Sorcery
[/card]
[card]
name=Processor Assault
abilities=devoid
target=creature
auto=damage:5
text=Devoid (This card has no color.) -- As an additional cost to cast Processor Assault, put a card an opponent owns from exile into that player's graveyard. -- Processor Assault deals 5 damage to target creature.
mana={1}{R}{s2g(*|opponentexile)}
type=Sorcery
[/card]
[card]
name=Proclamation of Rebirth
target=<upto:3>creature[manacost<=1]|mygraveyard
auto=moveTo(myBattlefield)
@@ -105027,7 +105108,7 @@ toughness=1
[card]
name=Sterling Grove
auto=lord(other enchantment|mybattlefield) shroud
auto={1}{S}:moveTo(library) target(enchantment|mylibrary)
auto={1}{S}:name(search enchantment) Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(enchantment|mylibrary) optionone name(choose card) target(enchantment|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=Other enchantments you control have shroud. (They can't be the targets of spells or abilities.) -- {1}, Sacrifice Sterling Grove: Search your library for an enchantment card and reveal that card. Shuffle your library, then put the card on top of it.
mana={G}{W}
type=Enchantment
@@ -108418,7 +108499,7 @@ type=Sorcery
[/card]
[card]
name=Sylvan Tutor
auto=moveTo(ownerlibrary) notatarget(creature|mylibrary)
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(creature|mylibrary) optionone name(choose card) target(creature|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=Search your library for a creature card and reveal that card. Shuffle your library, then put the card on top of it.
mana={G}
type=Sorcery
@@ -114685,7 +114766,7 @@ type=Artifact Land
[/card]
[card]
name=Treefolk Harbinger
auto=moveTo(library) target(treefolk|mylibrary) oneshot
auto=Reveal:type:*:mylibrary revealzone(mylibrary) revealtype(*[treefolk;forest]|mylibrary) optionone name(choose card) target(*[treefolk;forest]|reveal) transforms((,newability[all(other *|reveal) moveto(mylibrary) and!(shuffle)!],newability[moveto(mylibrary)])) optiononeend revealend
text=When Treefolk Harbinger enters the battlefield, you may search your library for a Treefolk or Forest card, reveal it, then shuffle your library and put that card on top of it.
mana={G}
type=Creature
@@ -116173,6 +116254,17 @@ power=8
toughness=8
[/card]
[card]
name=Ulamog's Reclaimer
abilities=devoid
auto=if type(*|opponentexile)~morethan~0 then may notatarget(*|opponentexile) moveto(ownergraveyard) and!( target(*[instant;sorcery]|mygraveyard) moveto(myhand) )!
text=Devoid (This card has no color.) -- When Ulamog's Reclaimer enters the battlefield, you may put a card an opponent owns from exile into that player's graveyard. If you do, return target instant or sorcery card from your graveyard to your hand.
mana={4}{U}
type=Creature
subtype=Eldrazi Processor
power=2
toughness=5
[/card]
[card]
name=Ulasht, the Hate Seed
auto=foreach(other creature[red]|myBattlefield) counter(1/1,1) oneshot
auto=foreach(other creature[green]|myBattlefield) counter(1/1,1) oneshot
@@ -118007,7 +118099,7 @@ type=Sorcery
[/card]
[card]
name=Vampiric Tutor
auto=moveTo(ownerlibrary) notatarget(*|mylibrary)
auto=name(search a card) moveTo(exile) and!(transforms((,newability[moveto(ownerlibrary)])) oneshot)! notatarget(*|mylibrary)
auto=life:-2 controller
text=Search your library for a card, then shuffle your library and put that card on top of it. You lose 2 life.
mana={B}
@@ -120600,6 +120692,17 @@ mana={4}{B}
type=Sorcery
[/card]
[card]
name=Void Attendant
abilities=devoid
auto={1}{G}{s2g(*|opponentexile)}:token(Eldrazi Scion)
text=Devoid (This card has no color.) -- {1}{G}, Put a card an opponent owns from exile into that player's graveyard: Put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool."
mana={2}{G}
type=Creature
subtype=Eldrazi Processor
power=2
toughness=3
[/card]
[card]
name=Void Grafter
abilities=flash
auto=target(other creature|mybattlefield) opponentshroud ueot
@@ -122722,6 +122825,17 @@ mana={1}{B}
type=Enchantment
[/card]
[card]
name=Wasteland Strangler
abilities=devoid
auto=if type(*|opponentexile)~morethan~0 then may notatarget(*|opponentexile) moveto(ownergraveyard) and!( target(creature) -3/-3 )!
text=Devoid (This card has no color.) -- When Wasteland Strangler enters the battlefield, you may put a card an opponent owns from exile into that player's graveyard. If you do, target creature gets -3/-3 until end of turn.
mana={2}{B}
type=Creature
subtype=Eldrazi Processor
power=3
toughness=2
[/card]
[card]
name=Wasteland Viper
abilities=deathtouch
autohand={G}{discard}:name(bloodrush) target(creature[attacking]) deathtouch && 1/2 ueot

View File

@@ -20,15 +20,6 @@ mana={X}{1}{B}
type=Sorcery
[/card]
[card]
name=Abbot of Keral Keep
text=Prowess (Whenever you cast a noncreature spell, this creature gets +1/+1 until end of turn.) -- When Abbot of Keral Keep enters the battlefield, exile the top card of your library. Until end of turn, you may play that card.
mana={1}{R}
type=Creature
subtype=Human Monk
power=2
toughness=1
[/card]
[card]
name=Absolver Thrull
text=Haunt (When this creature dies, exile it haunting target creature.) -- When Absolver Thrull enters the battlefield or the creature it haunts dies, destroy target enchantment.
mana={3}{W}
@@ -38,12 +29,6 @@ power=2
toughness=3
[/card]
[card]
name=Abstruse Interference
text=Devoid (This card has no color.) -- Counter target spell unless its controller pays {1}. You put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool." ({C} represents colorless mana.)
mana={2}{U}
type=Instant
[/card]
[card]
name=Abu Ja'far
text=When Abu Ja'far dies, destroy all creatures blocking or blocked by it. They can't be regenerated.
mana={W}
@@ -9213,12 +9198,6 @@ mana={2}{B}
type=Instant
[/card]
[card]
name=Kozilek's Return
text=Devoid (This card has no color.) -- Kozilek's Return deals 2 damage to each creature. -- Whenever you cast an Eldrazi creature spell with converted mana cost 7 or greater, you may exile Kozilek's Return from your graveyard. If you do, Kozilek's Return deals 5 damage to each creature.
mana={2}{R}
type=Instant
[/card]
[card]
name=Kraken of the Straits
text=Creatures with power less than the number of Islands you control can't block Kraken of the Straits.
mana={5}{U}{U}
@@ -10629,15 +10608,6 @@ mana={2}{B}
type=Sorcery
[/card]
[card]
name=Mind Raker
text=Devoid (This card has no color.) -- When Mind Raker enters the battlefield, you may put a card an opponent owns from exile into that player's graveyard. If you do, each opponent discards a card.
mana={3}{B}
type=Creature
subtype=Eldrazi Processor
power=3
toughness=3
[/card]
[card]
name=Mindblaze
text=Name a nonland card and choose a number greater than 0. Target player reveals his or her library. If that library contains exactly the chosen number of the named card, Mindblaze deals 8 damage to that player. Then that player shuffles his or her library.
mana={5}{R}
@@ -10796,12 +10766,6 @@ power=4
toughness=4
[/card]
[card]
name=Mishra's Bauble
text={T}, Sacrifice Mishra's Bauble: Look at the top card of target player's library. Draw a card at the beginning of the next turn's upkeep.
mana={0}
type=Artifact
[/card]
[card]
name=Mishra's War Machine
text=Banding (Any creatures with banding, and up to one without, can attack in a band. Bands are blocked as a group. If any creatures with banding you control are blocking or being blocked by a creature, you divide that creature's combat damage, not its controller, among any of the creatures it's being blocked by or is blocking.) -- At the beginning of your upkeep, unless you discard a card, tap Mishra's War Machine and it deals 3 damage to you.
mana={7}
@@ -11105,15 +11069,6 @@ mana={5}{B}
type=Instant
[/card]
[card]
name=Murk Strider
text=Devoid (This card has no color.) -- When Murk Strider enters the battlefield, you may put a card an opponent owns from exile into that player's graveyard. If you do, return target creature to its owner's hand.
mana={3}{U}
type=Creature
subtype=Eldrazi Processor
power=3
toughness=2
[/card]
[card]
name=Murmurs from Beyond
text=Reveal the top three cards of your library. An opponent chooses one of them. Put that card into your graveyard and the rest into your hand.
mana={2}{U}
@@ -12129,15 +12084,6 @@ power=3
toughness=1
[/card]
[card]
name=Oracle of Dust
text=Devoid (This card has no color.) -- {2}, Put a card an opponent owns from exile into that player's graveyard: Draw a card, then discard a card.
mana={4}{U}
type=Creature
subtype=Eldrazi Processor
power=3
toughness=5
[/card]
[card]
name=Oracle of Mul Daya
text=You may play an additional land on each of your turns. -- Play with the top card of your library revealed. -- You may play the top card of your library if it's a land card.
mana={3}{G}
@@ -13183,12 +13129,6 @@ mana={2}{W}
type=Enchantment
[/card]
[card]
name=Processor Assault
text=Devoid (This card has no color.) -- As an additional cost to cast Processor Assault, put a card an opponent owns from exile into that player's graveyard. -- Processor Assault deals 5 damage to target creature.
mana={1}{R}
type=Sorcery
[/card]
[card]
name=Profane Command
text=Choose two — -- • Target player loses X life. -- • Return target creature card with converted mana cost X or less from your graveyard to the battlefield. -- • Target creature gets -X/-X until end of turn. -- • Up to X target creatures gain fear until end of turn. (They can't be blocked except by artifact creatures and/or black creatures.)
mana={X}{B}{B}
@@ -18629,15 +18569,6 @@ power=2
toughness=3
[/card]
[card]
name=Ulamog's Reclaimer
text=Devoid (This card has no color.) -- When Ulamog's Reclaimer enters the battlefield, you may put a card an opponent owns from exile into that player's graveyard. If you do, return target instant or sorcery card from your graveyard to your hand.
mana={4}{U}
type=Creature
subtype=Eldrazi Processor
power=2
toughness=5
[/card]
[card]
name=Umbra Mystic
text=Auras attached to permanents you control have totem armor. (If an enchanted permanent you control would be destroyed, instead remove all damage from it and destroy an Aura attached to it.)
mana={2}{W}
@@ -19116,15 +19047,6 @@ power=0
toughness=4
[/card]
[card]
name=Void Attendant
text=Devoid (This card has no color.) -- {1}{G}, Put a card an opponent owns from exile into that player's graveyard: Put a 1/1 colorless Eldrazi Scion creature token onto the battlefield. It has "Sacrifice this creature: Add {C} to your mana pool."
mana={2}{G}
type=Creature
subtype=Eldrazi Processor
power=2
toughness=3
[/card]
[card]
name=Void Maw
text=Trample -- If another creature would die, exile it instead. -- Put a card exiled with Void Maw into its owner's graveyard: Void Maw gets +2/+2 until end of turn.
mana={4}{B}{B}
@@ -19510,15 +19432,6 @@ mana={G}
type=Instant
[/card]
[card]
name=Wasteland Strangler
text=Devoid (This card has no color.) -- When Wasteland Strangler enters the battlefield, you may put a card an opponent owns from exile into that player's graveyard. If you do, target creature gets -3/-3 until end of turn.
mana={2}{B}
type=Creature
subtype=Eldrazi Processor
power=3
toughness=2
[/card]
[card]
name=Watcher in the Web
text=Reach (This creature can block creatures with flying.) -- Watcher in the Web can block an additional seven creatures each combat.
mana={4}{G}

View File

@@ -10,7 +10,7 @@
#include "JLogger.h"
#include <sstream>
#define HUGE_CACHE_LIMIT 20000000 // Size of the cache for Windows and Linux (in bytes)
#define HUGE_CACHE_LIMIT 28000000 // Size of the cache for Windows and Linux (in bytes) - old value is 20mb increased to 28mb
#define SAMPLES_CACHE_SIZE 1500000 // Size in bytes of the cached samples
#define PSI_CACHE_SIZE 500000 // Size in bytes of the cached particles
#define TEXTURES_CACHE_MINSIZE 2000000 // Minimum size of the cache on the PSP. The program should complain if the cache ever gets smaller than this

View File

@@ -123,9 +123,11 @@ void GridDeckView::Render()
{
if (WResourceManager::Instance()->IsThreaded())
{
WResourceManager::Instance()->RetrieveCard(mCards[i].card, RETRIEVE_THUMB);
//WResourceManager::Instance()->RetrieveCard(mCards[i].card, RETRIEVE_THUMB);
WResourceManager::Instance()->RetrieveCard(mCards[i].card, RETRIEVE_NORMAL);
}
renderCard(i, 255, true);
//renderCard(i, 255, true);
renderCard(i, 255, false);//for psp, use lowres images if you can.
}
else
{

View File

@@ -172,14 +172,26 @@ void SimpleMenu::Render()
if (timeOpen < 1) height *= timeOpen > 0 ? timeOpen : -timeOpen;
float heightPadding = SimpleMenuConst::kLineHeight/2; // this to reduce the bottom padding of the menu
renderer->FillRect(mX, mY, mWidth, height - heightPadding, ARGB(180,0,0,0));
//renderer->FillRect(mX, mY, mWidth, height - heightPadding, ARGB(180,0,0,0));
//menu black bg
renderer->FillRect(mX-3, mY-3, mWidth+6, (height - heightPadding)+6, ARGB(225,5,5,5));
renderer->DrawRect(mX-3, mY-3, mWidth+6, (height - heightPadding)+6, ARGB(255,25,25,25));
//menu fill
//renderer->FillRect(mX, mY, mWidth, height - heightPadding, ARGB(225,5,5,5));
//menu border
renderer->DrawRect(mX-1, mY-1, mWidth+2, (height - heightPadding)+2, ARGB(255,240,240,240));
//another border
renderer->DrawRect(mX+1, mY+1, mWidth-2, (height - heightPadding)-2, ARGB(255,89,89,89));
renderer->SetTexBlend(BLEND_SRC_ALPHA, BLEND_ONE_MINUS_SRC_ALPHA);
/*
drawVertPole(mX, mY, height - heightPadding);
drawVertPole(mX + mWidth, mY, height - heightPadding);
drawHorzPole(mX, mY, mWidth);
drawHorzPole(mX, mY + height - heightPadding, mWidth);
drawHorzPole(mX, mY + height - heightPadding, mWidth);*///horizontal and vertical disabled
//drawVertPole(mX, mY - 16, height + 32);
//drawVertPole(mX + mWidth, mY - 16, height + 32);
//drawHorzPole(mX - 16, mY, mWidth + 32);

View File

@@ -253,8 +253,14 @@ void WGuiMenu::subBack(WGuiBase * item)
if (split->right) subBack(split->right);//renderer->FillRoundRect(split->right->getX()-2,split->getY()-2,split->right->getWidth(),split->getHeight(),2,split->right->getColor(WGuiColor::BACK));
}
else
renderer->FillRoundRect(item->getX(), item->getY(), item->getWidth() - 4, item->getHeight() - 2, 2, item->getColor(
{
renderer->FillRoundRect(item->getX(), item->getY(), item->getWidth() - 4, item->getHeight() - 2, 1, item->getColor(
WGuiColor::BACK));
//inner border
renderer->DrawRoundRect(item->getX(), item->getY(), item->getWidth() - 4, item->getHeight() - 2, 1, ARGB(255,89,89,89));
//outer border
//renderer->DrawRect(item->getX()-1.5f, item->getY()-1, item->getWidth()+1, item->getHeight() +2, ARGB(80,240,240,240));
}
}
@@ -408,7 +414,7 @@ void WGuiList::Render()
float barLength = static_cast<float> ((SCREEN_HEIGHT - y) / listSelectable);
if (barLength < 4) barLength = 4;
renderer->FillRect(x + width - 2, y - 1, 2, SCREEN_HEIGHT - y, getColor(WGuiColor::SCROLLBAR));
renderer->FillRoundRect(x + width - 5, barPosition, 5, barLength, 2, getColor(WGuiColor::SCROLLBUTTON));
renderer->FillRoundRect(x + width - 5, barPosition, 5, barLength, 1, getColor(WGuiColor::SCROLLBUTTON));
}
//Render current overlay.
@@ -1190,7 +1196,11 @@ void WGuiTabMenu::Render()
{
float w = mFont->GetStringWidth(_((*it)->getDisplay()).c_str());
mFont->SetColor((*it)->getColor(WGuiColor::TEXT_TAB));
renderer->FillRoundRect(offset + 5, 5, w + 5, 25, 2, (*it)->getColor(WGuiColor::BACK_TAB));
renderer->FillRoundRect(offset + 6.5f, 5, w + 6.5f, 25, 0, (*it)->getColor(WGuiColor::BACK_TAB));
//inside border
renderer->DrawRoundRect(offset + 6.5f, 5, w + 6.5f, 25, 0, ARGB(180,89,89,89));
//outside border
//renderer->DrawRoundRect(offset + 5.5f, 4, w + 8.5f, 27, 0, ARGB(180,240,240,240));
mFont->DrawString(_((*it)->getDisplay()).c_str(), offset + 10, 10);
offset += w + 10 + 2;
}