From b73a2a58e3e59c37d3658659e782666e27672766 Mon Sep 17 00:00:00 2001 From: magenoxx Date: Sun, 9 Jan 2011 21:40:21 +0300 Subject: [PATCH] Downloading images of not implemented som cards. --- .../src/main/java/mage/client/MageFrame.java | 11 +- .../java/mage/client/cards/CardsStorage.java | 47 ++++ Mage.Client/src/main/resources/som.txt | 249 ++++++++++++++++++ Mage/src/mage/cards/Card.java | 1 + Mage/src/mage/cards/CardImpl.java | 5 + Mage/src/mage/game/stack/Spell.java | 7 +- 6 files changed, 314 insertions(+), 6 deletions(-) create mode 100644 Mage.Client/src/main/resources/som.txt diff --git a/Mage.Client/src/main/java/mage/client/MageFrame.java b/Mage.Client/src/main/java/mage/client/MageFrame.java index 100fcf6572c..b4baec0413c 100644 --- a/Mage.Client/src/main/java/mage/client/MageFrame.java +++ b/Mage.Client/src/main/java/mage/client/MageFrame.java @@ -62,10 +62,8 @@ import java.awt.event.WindowEvent; import java.awt.image.BufferedImage; import java.io.IOException; import java.io.InputStream; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.UUID; +import java.util.*; +import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import java.util.prefs.Preferences; @@ -298,7 +296,10 @@ public class MageFrame extends javax.swing.JFrame { } private void btnImagesActionPerformed(java.awt.event.ActionEvent evt) { - Plugins.getInstance().downloadImage(new HashSet(CardsStorage.getAllCards())); + HashSet cards = new HashSet(CardsStorage.getAllCards()); + List notImplemented = CardsStorage.getNotImplementedCards(); + cards.addAll(notImplemented); + Plugins.getInstance().downloadImage(cards); } private void btnSymbolsActionPerformed(java.awt.event.ActionEvent evt) { diff --git a/Mage.Client/src/main/java/mage/client/cards/CardsStorage.java b/Mage.Client/src/main/java/mage/client/cards/CardsStorage.java index 8d5b2d5c56e..9d1d186dfbb 100644 --- a/Mage.Client/src/main/java/mage/client/cards/CardsStorage.java +++ b/Mage.Client/src/main/java/mage/client/cards/CardsStorage.java @@ -1,7 +1,10 @@ package mage.client.cards; import mage.cards.Card; +import mage.cards.CardImpl; +import mage.cards.CardsImpl; import mage.cards.ExpansionSet; +import mage.sets.ScarsOfMirrodin; import mage.sets.Sets; import mage.utils.CardUtil; @@ -21,6 +24,7 @@ public class CardsStorage { private static Integer min = Integer.MAX_VALUE, max = 0; private static int cardsCount; private static List setCodes = new ArrayList(); + private static List notImplementedCards; static { for (ExpansionSet set : Sets.getInstance().values()) { @@ -129,6 +133,46 @@ public class CardsStorage { } } + /** + * Get list of not implemented cards. + * Used in collection viewer to show what cards need to be done for the latest set. + * + * @return + */ + public static List getNotImplementedCards() { + List cards = new ArrayList(); + if (notImplementedCards == null) { + String filename = "/som.txt"; + if (allCards.size() == 0) { + return cards; + } + Card tmp = allCards.get(0); + try { + InputStream is = CardsStorage.class.getResourceAsStream(filename); + Scanner scanner = new Scanner(is); + String set = "SOM"; + while (scanner.hasNextLine()) { + String line = scanner.nextLine(); + String[] s = line.split("\\|"); + if (s.length == 6) { + String name = s[1].trim(); + Integer cid = Integer.parseInt(s[5]); + Card card = tmp.copy(); + card.setName(name); + card.setExpansionSetCode(set); + card.setCardNumber(cid); + card.getRules().clear(); + card.getRules().add("Not implemented"); + cards.add(card); + } + } + } catch (Exception e) { + e.printStackTrace(); + } + } + return cards; + } + public static void main(String[] argv) { for (Card card : getAllCards()) { String name = card.getName(); @@ -175,6 +219,9 @@ public class CardsStorage { } } + /** + * Set comparator. Puts latest set on top. + */ private static class SetComparator implements Comparator { private static final String LATEST_SET_CODE = "SOM"; diff --git a/Mage.Client/src/main/resources/som.txt b/Mage.Client/src/main/resources/som.txt new file mode 100644 index 00000000000..1d7425928ea --- /dev/null +++ b/Mage.Client/src/main/resources/som.txt @@ -0,0 +1,249 @@ +|Abuna Acolyte|Scars of Mirrodin|U|194371|1| +|Accorder's Shield|Scars of Mirrodin|C|209046|136| +|Acid Web Spider|Scars of Mirrodin|U|209290|108| +|Alpha Tyrranax|Scars of Mirrodin|C|202651|109| +|Arc Trail|Scars of Mirrodin|U|206343|81| +|Argent Sphinx|Scars of Mirrodin|R|215085|28| +|Argentum Armor|Scars of Mirrodin|R|217967|137| +|Arrest|Scars of Mirrodin|C|209007|2| +|Asceticism|Scars of Mirrodin|R|215082|110| +|Assault Strobe|Scars of Mirrodin|C|194119|82| +|Auriok Edgewright|Scars of Mirrodin|U|208260|3| +|Auriok Replica|Scars of Mirrodin|C|209051|138| +|Auriok Sunchaser|Scars of Mirrodin|C|208249|4| +|Barbed Battlegear|Scars of Mirrodin|U|208255|139| +|Barrage Ogre|Scars of Mirrodin|U|194316|83| +|Bellowing Tanglewurm|Scars of Mirrodin|U|209048|111| +|Blackcleave Cliffs|Scars of Mirrodin|R|209401|224| +|Blackcleave Goblin|Scars of Mirrodin|C|194297|54| +|Bladed Pinions|Scars of Mirrodin|C|206354|140| +|Blade-Tribe Berserkers|Scars of Mirrodin|C|194165|84| +|Bleak Coven Vampires|Scars of Mirrodin|C|209006|55| +|Blight Mamba|Scars of Mirrodin|C|194158|112| +|Blistergrub|Scars of Mirrodin|C|202687|56| +|Bloodshot Trainee|Scars of Mirrodin|U|194255|85| +|Blunt the Assault|Scars of Mirrodin|C|205486|113| +|Bonds of Quicksilver|Scars of Mirrodin|C|202638|29| +|Carapace Forger|Scars of Mirrodin|C|208250|114| +|Carnifex Demon|Scars of Mirrodin|R|206357|57| +|Carrion Call|Scars of Mirrodin|U|194340|115| +|Cerebral Eruption|Scars of Mirrodin|R|215073|86| +|Chimeric Mass|Scars of Mirrodin|R|209714|141| +|Chrome Steed|Scars of Mirrodin|C|212247|142| +|Clone Shell|Scars of Mirrodin|U|209278|143| +|Contagion Clasp|Scars of Mirrodin|U|194341|144| +|Contagion Engine|Scars of Mirrodin|R|212252|145| +|Contagious Nim|Scars of Mirrodin|C|194150|58| +|Copper Myr|Scars of Mirrodin|C|194063|146| +|Copperhorn Scout|Scars of Mirrodin|C|194270|116| +|Copperline Gorge|Scars of Mirrodin|R|209408|225| +|Corpse Cur|Scars of Mirrodin|C|194337|147| +|Corrupted Harvester|Scars of Mirrodin|U|202640|59| +|Culling Dais|Scars of Mirrodin|U|194127|148| +|Cystbearer|Scars of Mirrodin|C|205477|117| +|Darkslick Drake|Scars of Mirrodin|U|194217|30| +|Darkslick Shores|Scars of Mirrodin|R|209400|226| +|Darksteel Axe|Scars of Mirrodin|U|209033|149| +|Darksteel Juggernaut|Scars of Mirrodin|R|209011|150| +|Darksteel Myr|Scars of Mirrodin|U|209000|151| +|Darksteel Sentinel|Scars of Mirrodin|U|207865|152| +|Dispense Justice|Scars of Mirrodin|U|209015|5| +|Disperse|Scars of Mirrodin|C|212242|31| +|Dissipation Field|Scars of Mirrodin|R|202635|32| +|Dross Hopper|Scars of Mirrodin|C|194273|60| +|Echo Circlet|Scars of Mirrodin|C|209042|153| +|Elspeth Tirel|Scars of Mirrodin|M|212241|6| +|Embersmith|Scars of Mirrodin|U|194202|87| +|Engulfing Slagwurm|Scars of Mirrodin|R|215080|118| +|Etched Champion|Scars of Mirrodin|R|215099|154| +|Exsanguinate|Scars of Mirrodin|U|210235|61| +|Ezuri, Renegade Leader|Scars of Mirrodin|R|194243|119| +|Ezuri's Archers|Scars of Mirrodin|C|194092|120| +|Ezuri's Brigade|Scars of Mirrodin|R|212707|121| +|Ferrovore|Scars of Mirrodin|C|194317|88| +|Flameborn Hellion|Scars of Mirrodin|C|208256|89| +|Flesh Allergy|Scars of Mirrodin|U|208999|62| +|Flight Spellbomb|Scars of Mirrodin|C|210233|155| +|Forest|Scars of Mirrodin|L|214680|246| +|Forest|Scars of Mirrodin|L|214680|247| +|Forest|Scars of Mirrodin|L|214680|248| +|Forest|Scars of Mirrodin|L|214680|249| +|Fulgent Distraction|Scars of Mirrodin|C|205488|7| +|Fume Spitter|Scars of Mirrodin|C|209005|63| +|Furnace Celebration|Scars of Mirrodin|U|194374|90| +|Galvanic Blast|Scars of Mirrodin|C|208251|91| +|Genesis Wave|Scars of Mirrodin|R|207882|122| +|Geth, Lord of the Vault|Scars of Mirrodin|M|215076|64| +|Ghalma's Warden|Scars of Mirrodin|C|194124|8| +|Glimmerpoint Stag|Scars of Mirrodin|U|194046|9| +|Glimmerpost|Scars of Mirrodin|C|209043|227| +|Glint Hawk|Scars of Mirrodin|C|206358|10| +|Glint Hawk Idol|Scars of Mirrodin|C|194049|156| +|Goblin Gaveleer|Scars of Mirrodin|C|194373|92| +|Gold Myr|Scars of Mirrodin|C|194384|157| +|Golden Urn|Scars of Mirrodin|C|213926|158| +|Golem Artisan|Scars of Mirrodin|U|206360|159| +|Golem Foundry|Scars of Mirrodin|C|194314|160| +|Golem's Heart|Scars of Mirrodin|U|205472|161| +|Grafted Exoskeleton|Scars of Mirrodin|U|209045|162| +|Grand Architect|Scars of Mirrodin|R|207884|33| +|Grasp of Darkness|Scars of Mirrodin|C|194105|65| +|Grindclock|Scars of Mirrodin|R|194134|163| +|Halt Order|Scars of Mirrodin|U|194110|34| +|Hand of the Praetors|Scars of Mirrodin|R|215086|66| +|Heavy Arbalest|Scars of Mirrodin|U|209050|164| +|Hoard-Smelter Dragon|Scars of Mirrodin|R|215074|93| +|Horizon Spellbomb|Scars of Mirrodin|C|210229|165| +|Ichor Rats|Scars of Mirrodin|U|194177|67| +|Ichorclaw Myr|Scars of Mirrodin|C|194256|166| +|Indomitable Archangel|Scars of Mirrodin|M|212248|11| +|Inexorable Tide|Scars of Mirrodin|R|194363|35| +|Infiltration Lens|Scars of Mirrodin|U|205480|167| +|Instill Infection|Scars of Mirrodin|C|194349|68| +|Iron Myr|Scars of Mirrodin|C|194168|168| +|Island|Scars of Mirrodin|L|214678|234| +|Island|Scars of Mirrodin|L|214678|235| +|Island|Scars of Mirrodin|L|214678|236| +|Island|Scars of Mirrodin|L|214678|237| +|Kemba, Kha Regent|Scars of Mirrodin|R|215091|12| +|Kemba's Skyguard|Scars of Mirrodin|C|194083|13| +|Koth of the Hammer|Scars of Mirrodin|M|212238|94| +|Kuldotha Forgemaster|Scars of Mirrodin|R|215098|169| +|Kuldotha Phoenix|Scars of Mirrodin|R|194326|95| +|Kuldotha Rebirth|Scars of Mirrodin|C|194239|96| +|Leaden Myr|Scars of Mirrodin|C|194204|170| +|Leonin Arbiter|Scars of Mirrodin|R|209287|14| +|Liege of the Tangle|Scars of Mirrodin|M|194130|123| +|Lifesmith|Scars of Mirrodin|U|208252|124| +|Liquimetal Coating|Scars of Mirrodin|U|212709|171| +|Livewire Lash|Scars of Mirrodin|R|212239|172| +|Loxodon Wayfarer|Scars of Mirrodin|C|207885|15| +|Lumengrid Drake|Scars of Mirrodin|C|194178|36| +|Lux Cannon|Scars of Mirrodin|M|210236|173| +|Melt Terrain|Scars of Mirrodin|C|194106|97| +|Memnite|Scars of Mirrodin|U|194078|174| +|Memoricide|Scars of Mirrodin|R|215103|69| +|Mimic Vat|Scars of Mirrodin|R|207883|175| +|Mindslaver|Scars of Mirrodin|M|209044|176| +|Molder Beast|Scars of Mirrodin|C|209403|125| +|Molten Psyche|Scars of Mirrodin|R|212716|98| +|Molten-Tail Masticore|Scars of Mirrodin|M|215089|177| +|Moriok Reaver|Scars of Mirrodin|C|194309|70| +|Moriok Replica|Scars of Mirrodin|C|209037|178| +|Mountain|Scars of Mirrodin|L|234740|242| +|Mountain|Scars of Mirrodin|L|234740|243| +|Mountain|Scars of Mirrodin|L|234740|244| +|Mountain|Scars of Mirrodin|L|234740|245| +|Mox Opal|Scars of Mirrodin|M|208248|179| +|Myr Battlesphere|Scars of Mirrodin|R|209717|180| +|Myr Galvanizer|Scars of Mirrodin|U|220364|181| +|Myr Propagator|Scars of Mirrodin|R|215069|182| +|Myr Reservoir|Scars of Mirrodin|R|215114|183| +|Myrsmith|Scars of Mirrodin|U|209712|16| +|Necrogen Censer|Scars of Mirrodin|C|194223|184| +|Necrogen Scudder|Scars of Mirrodin|U|202653|71| +|Necropede|Scars of Mirrodin|U|194052|185| +|Necrotic Ooze|Scars of Mirrodin|R|207876|72| +|Neurok Invisimancer|Scars of Mirrodin|C|194109|37| +|Neurok Replica|Scars of Mirrodin|C|209039|186| +|Nihil Spellbomb|Scars of Mirrodin|C|210226|187| +|Nim Deathmantle|Scars of Mirrodin|R|209289|188| +|Ogre Geargrabber|Scars of Mirrodin|U|215101|99| +|Origin Spellbomb|Scars of Mirrodin|C|210239|189| +|Oxidda Daredevil|Scars of Mirrodin|C|194213|100| +|Oxidda Scrapmelter|Scars of Mirrodin|U|194281|101| +|Painful Quandary|Scars of Mirrodin|R|212243|73| +|Painsmith|Scars of Mirrodin|U|194210|74| +|Palladium Myr|Scars of Mirrodin|U|212251|190| +|Panic Spellbomb|Scars of Mirrodin|C|210234|191| +|Perilous Myr|Scars of Mirrodin|C|194056|192| +|Plague Stinger|Scars of Mirrodin|C|208261|75| +|Plains|Scars of Mirrodin|L|214671|230| +|Plains|Scars of Mirrodin|L|214671|231| +|Plains|Scars of Mirrodin|L|214671|232| +|Plains|Scars of Mirrodin|L|214671|233| +|Plated Seastrider|Scars of Mirrodin|C|194061|38| +|Platinum Emperion|Scars of Mirrodin|M|215092|193| +|Precursor Golem|Scars of Mirrodin|R|206348|194| +|Prototype Portal|Scars of Mirrodin|R|209009|195| +|Psychic Miasma|Scars of Mirrodin|C|206345|76| +|Putrefax|Scars of Mirrodin|R|207871|126| +|Quicksilver Gargantuan|Scars of Mirrodin|M|207874|39| +|Ratchet Bomb|Scars of Mirrodin|R|205482|196| +|Razor Hippogriff|Scars of Mirrodin|U|194323|17| +|Razorfield Thresher|Scars of Mirrodin|C|209725|197| +|Razorverge Thicket|Scars of Mirrodin|R|209407|228| +|Relic Putrescence|Scars of Mirrodin|C|209720|77| +|Revoke Existence|Scars of Mirrodin|C|194123|18| +|Riddlesmith|Scars of Mirrodin|U|202643|40| +|Rust Tick|Scars of Mirrodin|U|209282|198| +|Rusted Relic|Scars of Mirrodin|U|194069|199| +|Saberclaw Golem|Scars of Mirrodin|C|212717|200| +|Salvage Scout|Scars of Mirrodin|C|205491|19| +|Scoria Elemental|Scars of Mirrodin|C|212710|102| +|Scrapdiver Serpent|Scars of Mirrodin|C|207863|41| +|Screeching Silcaw|Scars of Mirrodin|C|209281|42| +|Seachrome Coast|Scars of Mirrodin|R|209399|229| +|Seize the Initiative|Scars of Mirrodin|C|194206|20| +|Semblance Anvil|Scars of Mirrodin|R|209002|201| +|Shape Anew|Scars of Mirrodin|R|194201|43| +|Shatter|Scars of Mirrodin|C|194147|103| +|Silver Myr|Scars of Mirrodin|C|194378|202| +|Skinrender|Scars of Mirrodin|U|204958|78| +|Skithiryx, the Blight Dragon|Scars of Mirrodin|M|212249|79| +|Sky-Eel School|Scars of Mirrodin|C|194103|44| +|Slice in Twain|Scars of Mirrodin|U|208254|127| +|Snapsail Glider|Scars of Mirrodin|C|209010|203| +|Soliton|Scars of Mirrodin|C|205484|204| +|Soul Parry|Scars of Mirrodin|C|212705|21| +|Spikeshot Elder|Scars of Mirrodin|R|209404|104| +|Steady Progress|Scars of Mirrodin|C|194361|45| +|Steel Hellkite|Scars of Mirrodin|R|206351|205| +|Stoic Rebuttal|Scars of Mirrodin|C|212703|46| +|Strata Scythe|Scars of Mirrodin|R|207870|206| +|Strider Harness|Scars of Mirrodin|C|206344|207| +|Sunblast Angel|Scars of Mirrodin|R|215111|22| +|Sunspear Shikari|Scars of Mirrodin|C|209008|23| +|Swamp|Scars of Mirrodin|L|214676|238| +|Swamp|Scars of Mirrodin|L|214676|239| +|Swamp|Scars of Mirrodin|L|214676|240| +|Swamp|Scars of Mirrodin|L|214676|241| +|Sword of Body and Mind|Scars of Mirrodin|M|209280|208| +|Sylvok Lifestaff|Scars of Mirrodin|C|207857|209| +|Sylvok Replica|Scars of Mirrodin|C|209052|210| +|Tainted Strike|Scars of Mirrodin|C|209049|80| +|Tangle Angler|Scars of Mirrodin|U|205485|128| +|Tel-Jilad Defiance|Scars of Mirrodin|C|202636|129| +|Tel-Jilad Fallen|Scars of Mirrodin|C|205483|130| +|Tempered Steel|Scars of Mirrodin|R|194391|24| +|Throne of Geth|Scars of Mirrodin|U|202675|211| +|Thrummingbird|Scars of Mirrodin|U|194332|47| +|Tower of Calamities|Scars of Mirrodin|R|207864|212| +|Trigon of Corruption|Scars of Mirrodin|U|202686|213| +|Trigon of Infestation|Scars of Mirrodin|U|194232|214| +|Trigon of Mending|Scars of Mirrodin|U|212714|215| +|Trigon of Rage|Scars of Mirrodin|U|194393|216| +|Trigon of Thought|Scars of Mirrodin|U|205476|217| +|Trinket Mage|Scars of Mirrodin|U|209040|48| +|True Conviction|Scars of Mirrodin|R|208262|25| +|Tumble Magnet|Scars of Mirrodin|C|210232|218| +|Tunnel Ignus|Scars of Mirrodin|R|206361|105| +|Turn Aside|Scars of Mirrodin|C|194303|49| +|Turn to Slag|Scars of Mirrodin|C|209719|106| +|Twisted Image|Scars of Mirrodin|U|208253|50| +|Untamed Might|Scars of Mirrodin|C|194160|131| +|Vault Skyward|Scars of Mirrodin|C|194265|51| +|Vector Asp|Scars of Mirrodin|C|194074|219| +|Vedalken Certarch|Scars of Mirrodin|C|208257|52| +|Venser, the Sojourner|Scars of Mirrodin|M|212240|135| +|Venser's Journal|Scars of Mirrodin|R|215079|220| +|Vigil for the Lost|Scars of Mirrodin|U|205489|26| +|Viridian Revel|Scars of Mirrodin|U|194266|132| +|Volition Reins|Scars of Mirrodin|U|209001|53| +|Vulshok Heartstoker|Scars of Mirrodin|C|194320|107| +|Vulshok Replica|Scars of Mirrodin|C|209034|221| +|Wall of Tanglecord|Scars of Mirrodin|C|202652|222| +|Whitesun's Passage|Scars of Mirrodin|C|206349|27| +|Wing Puncture|Scars of Mirrodin|C|194097|133| +|Withstand Death|Scars of Mirrodin|C|209035|134| +|Wurmcoil Engine|Scars of Mirrodin|M|207875|223| diff --git a/Mage/src/mage/cards/Card.java b/Mage/src/mage/cards/Card.java index 13fab1dac9b..6cc6db99e72 100644 --- a/Mage/src/mage/cards/Card.java +++ b/Mage/src/mage/cards/Card.java @@ -44,6 +44,7 @@ public interface Card extends MageObject { public UUID getOwnerId(); public int getCardNumber(); + public void setCardNumber(int cid); public String getArt(); public Rarity getRarity(); public void setRarity(Rarity rarity); diff --git a/Mage/src/mage/cards/CardImpl.java b/Mage/src/mage/cards/CardImpl.java index 499e9161711..0bf8a67a4a8 100644 --- a/Mage/src/mage/cards/CardImpl.java +++ b/Mage/src/mage/cards/CardImpl.java @@ -278,4 +278,9 @@ public abstract class CardImpl> extends MageObjectImpl public String getArt() { return ""; } + + @Override + public void setCardNumber(int cid) { + this.cardNumber = cid; + } } diff --git a/Mage/src/mage/game/stack/Spell.java b/Mage/src/mage/game/stack/Spell.java index c7e3ca8fa01..a5ec7178f39 100644 --- a/Mage/src/mage/game/stack/Spell.java +++ b/Mage/src/mage/game/stack/Spell.java @@ -315,7 +315,12 @@ public class Spell> implements StackObject, Card { return card.getCardNumber(); } - @Override + @Override + public void setCardNumber(int cid) { + card.setCardNumber(cid); + } + + @Override public List getMana() { throw new UnsupportedOperationException("Not supported yet."); }