Remove stuff.

master
ubeefx 2011-04-15 18:26:18 +00:00
parent e4e4fb442a
commit 9945d28474
34 changed files with 0 additions and 2326 deletions

View File

@ -1,46 +0,0 @@
<project name="Magarena" basedir="." default="jar">
<description>
ANT Build file for Magarena.
</description>
<property environment="env"/>
<property name="debuglevel" value="source,lines,vars"/>
<property name="target" value="1.6"/>
<property name="source" value="1.6"/>
<!-- init - Create temporary directory to build the program -->
<target name="init">
<mkdir dir="build"/>
</target>
<!-- clean - Remove temporary directory -->
<target name="clean">
<delete dir="build"/>
</target>
<!-- build - Compile sources and copy resources to build directory -->
<target depends="init" name="build">
<javac debug="true" debuglevel="${debuglevel}" destdir="build" source="${source}" target="${target}">
<src path="src"/>
</javac>
<copy includeemptydirs="false" todir="build">
<fileset dir="resources">
<exclude name="**/.svn"/>
</fileset>
</copy>
</target>
<!-- jar (default target) - Create .jar file -->
<target depends="build" name="jar">
<jar destfile="launch4j/Magarena.jar" basedir="build" includes="**/*.*">
<manifest>
<attribute name="Main-Class" value="magic.MagicMain" />
</manifest>
</jar>
</target>
<!-- javadoc - Generate Javadoc -->
<target name="javadoc">
<javadoc sourcepath="src" destdir="javadoc" />
</target>
</project>

View File

@ -1,24 +0,0 @@
# suggested by est...@gmail.com, http://code.google.com/p/arena-card-game/issues/detail?id=52
# 7 creatures
2 Darkslick Drake
1 Draining Whelk
3 Guard Gomazoa
2 Man-o'-War
1 Murkfiend Liege
1 Sphinx of Lost Truths
2 Spiketail Hatchling
# 9 spells
1 Dissipation Field
1 Flight of Fancy
2 Followed Footsteps
1 Halcyon Glaze
1 Narcolepsy
1 Rite of Replication
2 Sword of Body and Mind
1 Time Warp
2 Twincast
# 1 lands
16 Island

View File

@ -1,30 +0,0 @@
# suggested by LSK, http://www.slightlymagic.net/forum/viewtopic.php?f=82&t=4233#p57234
# 9 creatures
1 Hypnotic Specter
1 Liliana's Specter
1 Vampire Nighthawk
1 Carnifex Demon
1 Massacre Wurm
1 Midnight Banshee
1 Grave Titan
1 Mirri the Cursed
1 Skinrender
# 14 spells
1 Black Sun's Zenith
1 Reanimate
1 Zombify
1 Beacon of Unrest
1 Recover
1 Phyrexian Arena
1 Hideous End
1 Smother
1 Sign in Blood
1 Cruel Edict
1 Disfigure
1 Last Gasp
1 Go for the Throat
1 Quest for the Gravelord
# 17 lands
17 Swamp

View File

@ -1,30 +0,0 @@
# suggested by LSK, http://www.slightlymagic.net/forum/viewtopic.php?f=82&t=4233#p57268
# 15 creatures
1 Kavu Titan
1 Blurred Mongoose
1 River Boa
1 Mire Boa
1 Silhana Ledgewalker
1 Sacred Wolf
1 Troll Ascetic
1 Thrun, the Last Troll
1 Chameleon Colossus
1 Mist Leopard
1 Kodama of the North Tree
1 Terra Stomper
1 Kalonian Behemoth
1 Llanowar Elves
1 Noble Hierarch
# 8 spells
1 Soul's Majesty
1 Harmonize
1 Rancor
1 Giant Growth
1 Elephant Guide
1 Wildsize
1 Bestial Menace
1 Snake Umbra
# Land
17 Forest

View File

@ -1,41 +0,0 @@
# suggested by LSK, http://www.slightlymagic.net/forum/viewtopic.php?f=82&t=4233#p57220
# 16 creatures
1 Putrid Leech
1 Sprouting Thrinax
1 Broodmate Dragon
1 Ashenmoor Gouger
1 Jund Hackblade
1 Boggart Ram-Gang
1 Ember Hauler
1 Flametongue Kavu
1 Siege-Gang Commander
1 Skinrender
1 Taurean Mauler
1 Birds of Paradise
1 Vampire Nighthawk
1 Murderous Redcap
1 Madrush Cyclops
1 Lord of Shatterskull Pass
1 Chameleon Colossus
# 7 spells
1 Terminate
1 Maelstrom Pulse
1 Lightning Bolt
1 Blightning
1 Basilisk Collar
1 Burst Lightning
1 Doom Blade
# 12 lands
4 Savage Lands
1 Raging Ravine
1 Rootbound Crag
1 Stomping Ground
1 Blackcleave Cliffs
1 Dragonskull Summit
1 Blood Crypt
1 Copperline Gorge
2 Forest
2 Mountain
1 Swamp

View File

@ -1,34 +0,0 @@
# suggested by LSK, http://www.slightlymagic.net/forum/viewtopic.php?f=82&t=4233#p57268
# 15 creatures
1 Noble Hierarch
1 Baneslayer Angel
1 Wall of Reverence
1 Knight of Meadowgrain
1 Lone Missionary
1 Suture Priest
1 Kitchen Finks
1 Oracle of Nectars
1 Guardian Seraph
1 Lightkeeper of Emeria
1 Loxodon Hierarch
1 Mycoid Shepherd
1 Ravenous Baloth
1 Archon of Redemption
1 Pelakka Wurm
# 8 spells
1 Behemoth Sledge
1 Loxodon Warhammer
1 Armadillo Cloak
1 Solemn Offering
1 Chastise
1 Withstand
1 True Conviction
1 Victory's Herald
# 17 lands
3 Graypelt Refuge
2 Razorverge Thicket
1 Temple Garden
6 Plains
5 Forest

View File

@ -1,30 +0,0 @@
# suggested by LSK, http://www.slightlymagic.net/forum/viewtopic.php?f=82&t=4233#p57233
# 13 creatures
1 Frenzied Goblin
1 Goblin Bushwhacker
1 Chandra's Spitfire
1 Cunning Sparkmage
1 Goblin Artillery
1 Ember Hauler
1 Fireslinger
1 Raging Goblin
1 Mogg Fanatic
1 Cinder Elemental
1 Flametongue Kavu
1 Fire Servant
1 Flameblast Dragon
# 10 spells
1 Burst Lightning
1 Flame Slash
1 Lightning Bolt
1 Seal of Fire
1 Incinerate
1 Char
1 Puncture Blast
1 Beacon of Destruction
1 Gratuitous Violence
1 Sword of Fire and Ice
#17 lands
17 Mountain

View File

@ -1,33 +0,0 @@
# suggested by LSK, from http://www.slightlymagic.net/forum/viewtopic.php?f=82&t=4233#p57209
# 17 creatures
1 Mirror Entity
1 Goblin Wardriver
1 Mogg Fanatic
1 Accorder Paladin
1 Hero of Bladehold
1 Rakdos Guildmage
1 Siege-Gang Commander
1 Suture Priest
1 Veteran Armorer
1 Elesh Norn, Grand Cenobite
1 Frenzied Goblin
1 Flametongue Kavu
1 Flame-Kin Zealot
1 Goblin Bushwhacker
1 Goblin Chieftain
1 Goblin Shortcutter
1 Kiki-Jiki, Mirror Breaker
# 6 spells
1 Rise of the Hobgoblins
1 Eldrazi Monument
1 Martial Coup
1 Glorious Anthem
1 Incinerate
1 Lightning Bolt
# 7 lands
4 Sacred Foundry
3 Jungle Shrine
5 Plains
5 Mountain

View File

@ -1,42 +0,0 @@
# suggested by LSK, http://www.slightlymagic.net/forum/viewtopic.php?f=82&t=4233&start=15#p57309
# 15 creatures
1 Prickly Boggart
1 Birds of Paradise
1 Noble Hierarch
1 Llanowar Elves
1 Flametongue Kavu
1 Goblin Gaveleer
1 Silhana Ledgewalker
1 Lord of Extinction
1 Mogg Fanatic
1 Marisi's Twinclaws
1 Rakdos Guildmage
1 Defiant Elf
1 Treetop Scout
1 Vampire Nighthawk
1 Goblin Deathraiders
# 5 equipment
1 Sword of Light and Shadow
1 Sword of Body and Mind
1 Sword of Feast and Famine
1 Sword of Fire and Ice
1 Skullclamp
# 3 other
1 Corpsehatch
1 Awakening Zone
1 Doom Blade
# 17 land
1 Savage Lands
1 Dragonskull Summit
1 Copperline Gorge
1 Blackcleave Cliffs
1 Stomping Ground
1 Overgrown Tomb
1 Blood Crypt
1 Rootbound Crag
2 Mountain
4 Forest
3 Swamp

View File

@ -1,30 +0,0 @@
# suggested by LSK, http://www.slightlymagic.net/forum/viewtopic.php?f=82&t=4233&start=15#p57309
# 9 creatures
1 Sphinx of Magosi
1 Keiga, the Tide Star
1 Draining Whelk
1 Sphinx of Lost Truths
1 Glen Elendra Archmage
1 Venser, Shaper Savant
1 Merfolk Seastalkers
1 Cursecatcher
1 Spiketail Hatchling
# 13 spells
1 Time Warp
1 Evacuation
1 Sleep
1 Sift
1 Time Ebb
1 Repulse
1 Exhaustion
1 Divination
1 Mana Leak
1 Essence Scatter
1 Into the Roil
1 Counterspell
1 Force Spike
1 Rite of Replication
#17 lands
17 Island

View File

@ -1,34 +0,0 @@
# suggested by LSK, http://www.slightlymagic.net/forum/viewtopic.php?f=82&t=4233#p57232
#18 creatures
1 Suntail Hawk
1 Zephyr Sprite
1 Mistral Charger
1 Sea Eagle
1 Courier Hawk
1 Talon Trooper
1 Plumeveil
1 Avian Changeling
1 Silkbind Faerie
1 Razorfoot Griffin
1 Archon of Redemption
1 Air Servant
1 Serra Angel
1 Mahamoti Djinn
1 Goliath Sphinx
1 Sunblast Angel
1 Iridescent Angel
1 Akroma, Angel of Wrath
#5 spells
1 Divination
1 Mana Leak
1 Turn to Mist
1 Kiss of the Amesha
1 Solemn Offering
#17 lands
2 Celestial Colonnade
2 Hallowed Fountain
2 Seachrome Coast
6 Island
5 Plains

View File

@ -1,20 +0,0 @@
# suggested by est...@gmail.com, http://code.google.com/p/arena-card-game/issues/detail?id=52
# 5 creatures
2 Akrasan Squire
3 Captain of the Watch
1 Guardian Seraph
3 Hero of Bladehold
2 Wall of Reverence
# 7 spells
2 Accorder's Shield
2 Chastise
3 Glorious Anthem
2 Pacifism
1 Promise of Bunrei
1 Safe Passage
2 Vulshok Morningstar
# 1 lands
16 Plains

View File

@ -1,31 +0,0 @@
# suggested by Aswan jaguar, http://www.slightlymagic.net/forum/viewtopic.php?f=82&t=4233#p57237
# 16 creatures
2 Llanowar Elves
1 Cylian Elf
1 Defiant Elf
1 Elvish Archers
1 Elvish Warrior
2 Ezuri's Archers
1 Llanowar Knight
2 Oracle of Nectars
1 Safehold Elite
2 Tolsimir Wolfblood
2 Wilt-Leaf Cavaliers
# 8 spells
1 Giant Growth
1 Naturalize
1 Plummet
2 Sigil Blessing
2 Raking Canopy
1 Hurricane
# 6 lands
1 Graypelt Refuge
1 Jungle Shrine
8 Forest
1 Razorverge Thicket
1 Temple Garden
4 Sunpetal Grove

Binary file not shown.

Binary file not shown.

View File

@ -1,10 +0,0 @@
@echo off
set JDK_HOME=
set L4J_HOME=
del Magarena.jar
del Magarena.exe
cd ..\bin
%JDK_HOME%\bin\jar cfm ..\launch4j\Magarena.jar ..\launch4j\MANIFEST.MF magic
cd ..\launch4j
%L4J_HOME%\launch4jc.exe arena.xml
pause

View File

@ -1,876 +0,0 @@
Absorb
Accorder Paladin
Accorder's Shield
Acidic Slime
Affa Guard Hound
Air Elemental
Air Servant
Akoum Refuge
Akrasan Squire
Akroma's Memorial
Akroma, Angel of Wrath
Alpha Myr
Alpha Tyrranax
Anaba Bodyguard
Anaconda
Ancient Spider
Angel of Despair
Angel of Retribution
Angelic Shield
Angelic Wall
Anurid Murkdiver
Arachnoid
Arcane Sanctum
Arcanis the Omnipotent
Archon of Justice
Archon of Redemption
Ardent Militia
Armadillo Cloak
Armored Cancrix
Asceticism
Ashcoat Bear
Ashen Monstrosity
Ashenmoor Gouger
Assassinate
Assault Griffin
Assault Zeppelid
Aven Envoy
Aven Mimeomancer
Aven Smokeweaver
Aven Squire
Avian Changeling
Awakening Zone
Axegrinder Giant
Azure Drake
Back to Nature
Backlash
Balduvian Barbarians
Balefire Liege
Baneslayer Angel
Bant Sureblade
Barbed Battlegear
Barony Vampire
Basilisk Collar
Battle Hurda
Battlegrace Angel
Beacon of Destruction
Beacon of Unrest
Behemoth Sledge
Bellowing Tanglewurm
Beloved Chaplain
Benalish Knight
Benthic Behemoth
Berserkers of Blood Ridge
Bestial Menace
Birds of Paradise
Black Knight
Black Sun's Zenith
Blackcleave Cliffs
Blackcleave Goblin
Blade of the Sixth Pride
Bladed Pinions
Bladetusk Boar
Blaze
Blazing Specter
Blightning
Blightwidow
Blind Phantasm
Blood Crypt
Blood Knight
Bloodmark Mentor
Bloodrock Cyclops
Blurred Mongoose
Boar Umbra
Boartusk Liege
Bog Imp
Bog Raiders
Bog Tatters
Bog Wraith
Boggart Ram-Gang
Bonesplitter
Border Patrol
Boros Guildmage
Boros Recruit
Boros Swiftblade
Bottle Gnomes
Breeding Pool
Brigid, Hero of Kinsbaile
Brion Stoutarm
Brittle Effigy
Broodmate Dragon
Bull Cerodon
Bull Hippo
Burst Lightning
Butcher of Malakir
Cairn Wanderer
Canopy Spider
Canyon Minotaur
Canyon Wildcat
Captain of the Watch
Captive Flame
Caravan Hurda
Carnifex Demon
Celestial Colonnade
Centaur Courser
Cerodon Yearling
Chain Reaction
Chameleon Colossus
Chandra's Spitfire
Changeling Sentinel
Char
Charging Troll
Chastise
Child of Night
Chimeric Mass
Cinder Elemental
Cliff Threader
Clinging Darkness
Cloud Crusader
Cloud Elemental
Cloud Sprite
Cloudcrown Oak
Coast Watcher
Colossal Might
Commander Eesha
Contagious Nim
Copperline Gorge
Coral Eel
Coral Merfolk
Corpsehatch
Counterspell
Countersquall
Courier Hawk
Court Archers
Covert Operative
Craw Wurm
Crazed Goblin
Creakwood Liege
Creeping Tar Pit
Cruel Edict
Crumbling Necropolis
Cumber Stone
Cunning Sparkmage
Cursecatcher
Cylian Elf
Cystbearer
Daggerback Basilisk
Daggerclaw Imp
Dancing Scimitar
Darkslick Drake
Darkslick Shores
Darksteel Gargoyle
Darksteel Myr
Darksteel Sentinel
Dauntless Escort
Day of Judgment
Deadly Recluse
Death Grasp
Deathbringer Liege
Deathless Angel
Debtors' Knell
Defiant Elf
Deft Duelist
Deluge
Diminish
Disfigure
Dismal Failure
Dissipation Field
Divination
Diving Griffin
Doom Blade
Doomgape
Double Cleave
Douse in Gloom
Dragon Fodder
Dragon Roost
Dragonmaster Outcast
Dragonskull Summit
Dragonstalker
Draining Whelk
Drake Umbra
Drana, Kalastria Bloodchief
Dread
Dreg Reaver
Dromar, the Banisher
Dross Crocodile
Dross Prowler
Drowned Catacomb
Drudge Reavers
Dusk Imp
Duskdale Wurm
Dust Corona
Dwarven Grunt
Eager Cadet
Earth Elemental
Earthquake
Echo Mage
Eel Umbra
Eldrazi Monument
Elephant Guide
Elesh Norn, Grand Cenobite
Elite Vanguard
Elvish Archers
Elvish Warrior
Ember Hauler
Emerald Oryx
Empyrial Archangel
Enormous Baloth
Epic Proportions
Esper Battlemage
Esper Cormorants
Esper Stormblade
Essence Scatter
Ethercaste Knight
Ethersworn Adjudicator
Evacuation
Exhaustion
Ezuri's Archers
Fallen Angel
Fangren Hunter
Femeref Archers
Fervent Charge
Fighting Drake
Fire Elemental
Fire Servant
Fires of Yavimaya
Fireshrieker
Fireslinger
Fists of Ironwood
Fists of the Anvil
Flame Slash
Flame-Kin Zealot
Flameblast Dragon
Flameborn Hellion
Flametongue Kavu
Flayer Husk
Flensermite
Flight of Fancy
Followed Footsteps
Fomori Nomad
Foot Soldiers
Force Spike
Force of Savagery
Forest
Foul Imp
Frenzied Goblin
Frost Ogre
Fugitive Wizard
Fume Spitter
Furnace Whelp
Gaea's Skyfolk
Galina's Knight
Galvanic Arc
Game-Trail Changeling
Garruk's Companion
Gelectrode
Ghost Council of Orzhova
Ghostway
Giant Cockroach
Giant Growth
Giant Octopus
Giant Scorpion
Giant Solifuge
Giant Spider
Giant Warthog
Glacial Fortress
Glacial Wall
Glass Golem
Glen Elendra Archmage
Glen Elendra Liege
Glissa's Courier
Gloomhunter
Gloomwidow
Glorious Anthem
Glorious Charge
Glory Seeker
Glory of Warfare
Gluttonous Zombie
Gnarled Mass
Go for the Throat
Goblin Artillery
Goblin Brigand
Goblin Bushwhacker
Goblin Chariot
Goblin Chieftain
Goblin Deathraiders
Goblin Gaveleer
Goblin Glider
Goblin Mountaineer
Goblin Outlander
Goblin Piker
Goblin Raider
Goblin Roughrider
Goblin Ruinblaster
Goblin Shortcutter
Goblin Sky Raider
Goblin Spelunkers
Goblin Striker
Goblin War Paint
Goblin Wardriver
Godhead of Awe
Godless Shrine
Godsire
Goliath Sphinx
Goliath Spider
Gorgon Flail
Grappler Spider
Grasp of Darkness
Gratuitous Violence
Grave Titan
Gravelgill Axeshark
Graypelt Refuge
Grayscaled Gharial
Great Sable Stag
Greater Basilisk
Griffin Guide
Griffin Sentinel
Grixis Grimblade
Grizzled Leotau
Grizzly Bears
Guard Gomazoa
Guardian Seraph
Guardian of the Guildpact
Guardians of Akrasa
Guul Draz Specter
Guul Draz Vampire
Halberdier
Halcyon Glaze
Hallowed Fountain
Harmonize
Harvest Gwyllion
Hateflayer
Havenwood Wurm
Havoc Demon
Hearthfire Hobgoblin
Hellkite Overlord
Hero of Bladehold
Heroes' Reunion
Hideous End
Hill Giant
Hillcomber Giant
Hissing Miasma
Hobgoblin Dragoon
Horned Turtle
Hoverguard Observer
Hulking Cyclops
Humble Budoka
Hungry Spriggan
Hurricane
Hyena Umbra
Hypnotic Specter
Incinerate
Incurable Ogre
Indomitable Ancients
Infest
Inkfathom Infiltrator
Inkwell Leviathan
Inspirit
Into the Roil
Iridescent Angel
Iron-Barb Hellion
Isamaru, Hound of Konda
Island
Jagwasp Swarm
Jhessian Balmgiver
Jhessian Infiltrator
Jhessian Lookout
Jukai Messenger
Jund Hackblade
Jungle Shrine
Juniper Order Ranger
Juvenile Gloomwidow
Jwar Isle Refuge
Jwari Scuttler
Kabuto Moth
Kaervek the Merciless
Kalonian Behemoth
Kami of Old Stone
Kavu Titan
Kazandu Refuge
Kazuul, Tyrant of the Cliffs
Keening Banshee
Keiga, the Tide Star
Kelinore Bat
Kiki-Jiki, Mirror Breaker
Kindled Fury
King Cheetah
Kinsbaile Cavalier
Kiss of the Amesha
Kitchen Finks
Kitesail
Kitesail Apprentice
Knight Errant
Knight Exemplar
Knight of Meadowgrain
Kodama of the North Tree
Kokusho, the Evening Star
Koth's Courier
Kraken Hatchling
Kulrath Knight
Lagac Lizard
Lantern Kami
Last Gasp
Lavaborn Muse
Leaf Dancer
Leatherback Baloth
Leonin Scimitar
Leonin Skyhunter
Levitation
Lightkeeper of Emeria
Lightning Angel
Lightning Bolt
Lightning Elemental
Lightning Greaves
Lightning Helix
Lightning Reaver
Lightning Talons
Liliana's Specter
Lingering Tormentor
Llanowar Elves
Llanowar Knight
Loamdragger Giant
Lone Missionary
Longbow Archer
Lord of Extinction
Lord of Shatterskull Pass
Lotus Petal
Loxodon Hierarch
Loxodon Partisan
Loxodon Warhammer
Loxodon Wayfarer
Lumengrid Warden
Madrush Cyclops
Maelstrom Pulse
Mage Slayer
Mahamoti Djinn
Makindi Griffin
Man-o'-War
Mana Leak
Marisi's Twinclaws
Maritime Guard
Marsh Casualties
Marsh Threader
Martial Coup
Mask of Memory
Mask of Riddles
Mass of Ghouls
Massacre Wurm
Meglonoth
Memnite
Merfolk Seastalkers
Merfolk of the Pearl Trident
Messenger Falcons
Midnight Banshee
Might of Oaks
Mighty Leap
Mind Spring
Mind Stone
Mire Boa
Mirran Crusader
Mirri the Cursed
Mirri, Cat Warrior
Mirror Entity
Mist Leopard
Mistral Charger
Mnemonic Wall
Mogg Fanatic
Moonglove Extract
Moonglove Winnower
Mordant Dragon
Moriok Reaver
Moroii
Mortify
Moss Kami
Moss Monster
Mountain
Mourning Thrull
Murderous Redcap
Murkfiend Liege
Mycoid Shepherd
Mystic Snake
Nacatl Outlander
Nantuko Shade
Narcolepsy
Naturalize
Needlepeak Spider
Needleshot Gourna
Nema Siltlurker
Nemesis of Reason
Nessian Courser
Nether Horror
Neurok Invisimancer
Nezumi Cutthroat
Nightguard Patrol
Nightshade Stinger
Nip Gwyllion
Nirkana Cutthroat
Noble Hierarch
Norwood Ranger
Novablast Wurm
Nulltread Gargantuan
Oakgnarl Warrior
Offering to Asha
Ogre Sentry
Ogre Taskmaster
Ogre's Cleaver
Old Ghastbark
Omega Myr
Omnibian
Oona's Gatewarden
Oracle of Nectars
Order of the Sacred Bell
Ornithopter
Oros, the Avenger
Outrider of Jhess
Overgrown Tomb
Overwhelming Stampede
Pacifism
Paladin en-Vec
Pegasus Charger
Pelakka Wurm
Perilous Myr
Perimeter Captain
Phantom Warrior
Phyrexian Arena
Phyrexian Crusader
Phyrexian Digester
Phyrexian Hulk
Phyrexian Juggernaut
Phyrexian Vatmother
Pierce Strider
Pillarfield Ox
Pillory of the Sleepless
Pincher Beetles
Plague Beetle
Plague Stinger
Plains
Plasma Elemental
Plated Seastrider
Platinum Angel
Plover Knights
Plumeveil
Plummet
Pongify
Predator Dragon
Prickly Boggart
Priests of Norn
Promise of Bunrei
Protective Bubble
Pulse of the Tangle
Puncture Blast
Puppeteer Clique
Putrefy
Putrid Leech
Qasali Pridemage
Quest for the Gemblades
Quest for the Gravelord
Quietus Spike
Rafiq of the Many
Rage Nimbus
Raging Goblin
Raging Kavu
Raging Ravine
Rakdos Guildmage
Raking Canopy
Rally the Forces
Rampaging Baloths
Rancor
Ravenous Baloth
Razorfoot Griffin
Razorjaw Oni
Razortooth Rats
Razorverge Thicket
Reanimate
Recoil
Recover
Redwood Treefolk
Remand
Rendclaw Trow
Repulse
Retaliator Griffin
Rhox Brute
Rhox Charger
Rhox War Monk
Ridgetop Raptor
Rip-Clan Crasher
Rise of the Hobgoblins
Rite of Replication
Rith, the Awakener
River Bear
River Boa
River Kaijin
Rock Badger
Ronin Warclub
Rootbound Crag
Rootbreaker Wurm
Rootwater Commando
Rorix Bladewing
Rumbling Slum
Runeclaw Bear
Rupture Spire
Rushwood Dryad
Rustrazor Butcher
Ruthless Cullblade
Sabertooth Nishoba
Sabretooth Tiger
Sacred Foundry
Sacred Wolf
Safe Passage
Safehold Elite
Savage Lands
Savage Twister
Scaled Wurm
Scar
Scathe Zombies
Scattershot Archer
Scavenging Scarab
Scoria Elemental
Scuzzback Marauders
Scuzzback Scrapper
Sea Eagle
Seachrome Coast
Seal of Doom
Seal of Fire
Seaside Citadel
Sejiri Refuge
Sentinels of Glen Elendra
Septic Rats
Serendib Efreet
Serra Angel
Serra's Embrace
Serrated Arrows
Severed Legion
Sewn-Eye Drake
Shadowmage Infiltrator
Shanodin Dryads
Shatterskull Giant
Shepherd of the Lost
Shield of the Righteous
Shivan Wurm
Shivan Zombie
Sickle Ripper
Siege Mastodon
Siege-Gang Commander
Sift
Sigil Blessing
Sigiled Behemoth
Sigiled Paladin
Sign in Blood
Silhana Ledgewalker
Silkbind Faerie
Silver Knight
Silverback Ape
Silvercoat Lion
Silvos, Rogue Elemental
Simic Sky Swallower
Skeletal Vampire
Skinrender
Skithiryx, the Blight Dragon
Skullcage
Skullclamp
Sky Ruin Drake
Skyknight Legionnaire
Skyshroud Falcon
Slagwurm Armor
Slave of Bolas
Sleep
Slinking Serpent
Smash to Smithereens
Smite
Smoldering Butcher
Smother
Snake Umbra
Snapping Drake
Sokenzan Bruiser
Solemn Offering
Soul Feast
Soul Link
Soul's Majesty
Soul's Might
Soulbound Guardians
Souls of the Faultless
Specter's Shroud
Sphinx of Lost Truths
Sphinx of Magosi
Sphinx of the Steel Wind
Spider Umbra
Spidersilk Net
Spiketail Hatchling
Spined Wurm
Spineless Thug
Spirit of the Hearth
Spiritmonger
Spitemare
Sporecap Spider
Sprouting Thrinax
Stalker Hag
Stampeding Rhino
Standing Troops
Steadfast Guard
Steam Vents
Steel Wall
Steppe Lynx
Steward of Valeron
Stirring Wildwood
Stomper Cub
Stomping Ground
Stone Golem
Stonebrow, Krosan Hero
Stonework Puma
Storm Crow
Stormfront Pegasus
Strandwalker
Stratozeppelid
Streetbreaker Wurm
Strider Harness
Student of Warfare
Stuffy Doll
Stun Sniper
Stupor
Sunblast Angel
Sunpetal Grove
Suntail Hawk
Surveilling Sprite
Suture Priest
Swamp
Sword of Body and Mind
Sword of Feast and Famine
Sword of Fire and Ice
Sword of Light and Shadow
Sword of Vengeance
Swords to Plowshares
Sylvok Lifestaff
Szadek, Lord of Secrets
Talon Trooper
Tangle Spider
Tattermunge Maniac
Taurean Mauler
Temple Garden
Teneb, the Harvester
Terminate
Terra Stomper
Thieving Magpie
Thornweald Archer
Thoughtweft Gambit
Thrun, the Last Troll
Thunder Dragon
Thunder Strike
Thundering Giant
Thundersong Trumpeter
Tidal Kraken
Tidehollow Strix
Time Ebb
Time Warp
Titanic Ultimatum
To Arms!
Tolsimir Wolfblood
Torpor Dust
Tower Gargoyle
Trained Armodon
Trained Orgg
Trapjaw Kelpie
Tree Monkey
Treetop Scout
Treetop Sentinel
Treva, the Renewer
Trip Noose
Troll Ascetic
True Conviction
Trumpet Blast
Trusty Machete
Trygon Predator
Tuktuk the Explorer
Tundra Wolves
Turn the Tide
Turn to Mist
Twinblade Slasher
Twincast
Undermine
Unmake
Unsummon
Urborg Drake
Ursapine
Utvara Scalper
Valeron Outlander
Valiant Guard
Vampire Hexmage
Vampire Nighthawk
Vastwood Gorger
Vault Skyward
Vedalken Mastermind
Vedalken Outlander
Venser, Shaper Savant
Veteran Armorer
Veteran Cavalier
Veteran's Reflexes
Viashino Spearhunter
Victory's Herald
Vigor
Vindicate
Vine Trellis
Vines of Vastwood
Viridian Claw
Visara the Dreadful
Vivid Crag
Vivid Creek
Vivid Grove
Vivid Marsh
Vivid Meadow
Vizzerdrix
Vodalian Zombie
Volcanic Fallout
Volcanic Strength
Vorosh, the Hunter
Vulshok Battlegear
Vulshok Berserker
Vulshok Morningstar
Wall of Air
Wall of Bone
Wall of Denial
Wall of Frost
Wall of Reverence
Wall of Spears
Wall of Stone
Wall of Swords
Wall of Vines
Wall of Wood
Wandering Ones
Warpath Ghoul
Wasp Lancer
Watchwolf
Watery Grave
Waveskimmer Aven
Weakness
Welkin Tern
Whispersilk Cloak
White Knight
Wild Griffin
Wildsize
Wildslayer Elves
Wilt-Leaf Cavaliers
Wind Drake
Windbrisk Raptor
Winged Coatl
Withstand
Withstand Death
Wolfbriar Elemental
Woodland Changeling
Woodland Druid
Woolly Thoctar
Wort, Boggart Auntie
Wrap in Vigor
Wrecking Ball
Wrexial, the Risen Deep
Wurmcoil Engine
Yavimaya Barbarian
Yavimaya Wurm
Yotian Soldier
Youthful Knight
Zealous Guardian
Zealous Persecution
Zendikar Farguide
Zephyr Sprite
Zodiac Monkey
Zombie Goliath
Zombie Outlander
Zombify

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,91 +0,0 @@
>images
>mods
>hqcards
Forest2.jpg;http://magiccards.info/scans/en/uh/140.jpg
Island2.jpg;http://magiccards.info/scans/en/uh/137.jpg
Mountain2.jpg;http://magiccards.info/scans/en/uh/139.jpg
Plains2.jpg;http://magiccards.info/scans/en/uh/136.jpg
Swamp2.jpg;http://magiccards.info/scans/en/uh/138.jpg
>avatars
face01.png;http://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/Gnome-face-smile.svg/120px-Gnome-face-smile.svg.png
face02.png;http://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Gnome-face-smirk.svg/120px-Gnome-face-smirk.svg.png
face03.png;http://upload.wikimedia.org/wikipedia/commons/thumb/4/47/Gnome-face-wink.svg/120px-Gnome-face-wink.svg.png
face04.png;http://upload.wikimedia.org/wikipedia/commons/thumb/9/9e/Gnome-face-surprise.svg/120px-Gnome-face-surprise.svg.png
face05.png;http://upload.wikimedia.org/wikipedia/commons/thumb/e/ee/Gnome-face-plain.svg/120px-Gnome-face-plain.svg.png
face06.png;http://upload.wikimedia.org/wikipedia/commons/thumb/2/21/Gnome-face-raspberry.svg/120px-Gnome-face-raspberry.svg.png
face07.png;http://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Gnome-face-laugh.svg/120px-Gnome-face-laugh.svg.png
face08.png;http://upload.wikimedia.org/wikipedia/commons/thumb/9/92/Gnome-face-smile-big.svg/120px-Gnome-face-smile-big.svg.png
face09.png;http://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Gnome-face-cool.svg/120px-Gnome-face-cool.svg.png
face10.png;http://upload.wikimedia.org/wikipedia/commons/thumb/f/fe/Gnome-face-uncertain.svg/120px-Gnome-face-uncertain.svg.png
face11.png;http://upload.wikimedia.org/wikipedia/commons/thumb/b/b7/Gnome-face-worried.svg/120px-Gnome-face-worried.svg.png
face12.png;http://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/Gnome-face-tired.svg/120px-Gnome-face-tired.svg.png
face13.png;http://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Gnome-face-embarrassed.svg/120px-Gnome-face-embarrassed.svg.png
face14.png;http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Gnome-face-kiss.svg/120px-Gnome-face-kiss.svg.png
face15.png;http://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Gnome-face-angel.svg/120px-Gnome-face-angel.svg.png
face16.png;http://upload.wikimedia.org/wikipedia/commons/thumb/b/b2/Gnome-face-devilish.svg/120px-Gnome-face-devilish.svg.png
face17.png;http://upload.wikimedia.org/wikipedia/commons/thumb/d/dc/Gnome-face-angry.svg/120px-Gnome-face-angry.svg.png
face18.png;http://upload.wikimedia.org/wikipedia/commons/thumb/1/1b/Gnome-face-monkey.svg/120px-Gnome-face-monkey.svg.png
face19.png;http://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/Crystal_Clear_app_Startup_Wizard2.png/120px-Crystal_Clear_app_Startup_Wizard2.png
face20.png;http://upload.wikimedia.org/wikipedia/commons/thumb/8/80/Crystal_Project_wizard.png/120px-Crystal_Project_wizard.png
>symbols
big_black.gif;http://gatherer.wizards.com/Handlers/Image.ashx?size=medium&name=B&type=symbol
big_blue.gif;http://gatherer.wizards.com/Handlers/Image.ashx?size=medium&name=U&type=symbol
big_green.gif;http://gatherer.wizards.com/Handlers/Image.ashx?size=medium&name=G&type=symbol
big_red.gif;http://gatherer.wizards.com/Handlers/Image.ashx?size=medium&name=R&type=symbol
big_white.gif;http://gatherer.wizards.com/Handlers/Image.ashx?size=medium&name=W&type=symbol
big_one.gif;http://gatherer.wizards.com/Handlers/Image.ashx?size=medium&name=1&type=symbol
black.gif;http://forums.mtgsalvation.com/images/smilies/manab.gif
blue.gif;http://forums.mtgsalvation.com/images/smilies/manau.gif
green.gif;http://forums.mtgsalvation.com/images/smilies/manag.gif
red.gif;http://forums.mtgsalvation.com/images/smilies/manar.gif
white.gif;http://forums.mtgsalvation.com/images/smilies/manaw.gif
black_green.gif;http://forums.mtgsalvation.com/images/smilies/manabg.gif
black_red.gif;http://forums.mtgsalvation.com/images/smilies/manabr.gif
blue_black.gif;http://forums.mtgsalvation.com/images/smilies/manaub.gif
blue_red.gif;http://forums.mtgsalvation.com/images/smilies/manaur.gif
green_blue.gif;http://forums.mtgsalvation.com/images/smilies/managu.gif
green_white.gif;http://forums.mtgsalvation.com/images/smilies/managw.gif
red_green.gif;http://forums.mtgsalvation.com/images/smilies/manarg.gif
red_white.gif;http://forums.mtgsalvation.com/images/smilies/manarw.gif
white_black.gif;http://forums.mtgsalvation.com/images/smilies/manawb.gif
white_blue.gif;http://forums.mtgsalvation.com/images/smilies/manawu.gif
zero.gif;http://forums.mtgsalvation.com/images/smilies/mana0.gif
one.gif;http://forums.mtgsalvation.com/images/smilies/mana1.gif
two.gif;http://forums.mtgsalvation.com/images/smilies/mana2.gif
three.gif;http://forums.mtgsalvation.com/images/smilies/mana3.gif
four.gif;http://forums.mtgsalvation.com/images/smilies/mana4.gif
five.gif;http://forums.mtgsalvation.com/images/smilies/mana5.gif
six.gif;http://forums.mtgsalvation.com/images/smilies/mana6.gif
seven.gif;http://forums.mtgsalvation.com/images/smilies/mana7.gif
eight.gif;http://forums.mtgsalvation.com/images/smilies/mana8.gif
nine.gif;http://forums.mtgsalvation.com/images/smilies/mana9.gif
x.gif;http://forums.mtgsalvation.com/images/smilies/manax.gif
tapped.gif;http://forums.mtgsalvation.com/images/smilies/tap.gif
>tokens
Ape.jpg;http://forums.mtgsalvation.com/attachment.php?attachmentid=42431&stc=1&d=1173951187
Bat.jpg;http://forums.mtgsalvation.com/attachment.php?attachmentid=19964&d=1143669815
Beast3.jpg;http://gatherer.wizards.com/Handlers/Image.ashx?type=card&multiverseid=201842
Beast4.jpg;http://gatherer.wizards.com/Handlers/Image.ashx?type=card&multiverseid=201844
Beast8.jpg;http://www.wizards.com/mtg/images/daily/arcana/1688_token5.jpg
Dragon4.jpg;http://www.wizards.com/mtg/images/daily/arcana/1688_token4.jpg
Dragon5.jpg;http://www.wizards.com/mtg/images/daily/arcana/371_tk2.jpg
Eldrazi Spawn.jpg;http://www.wizards.com/mtg/images/daily/arcana/421_spawn1.jpg
Elephant.jpg;http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=201843&type=card
Germ.jpg;http://media.wizards.com/images/magic/tcg/products/mbs/07he2j6tbi_en.jpg
Goblin Soldier.jpg;http://www.wizards.com/magic/images/mtgcom/arcana1000/1630_1.jpg
Goblin1.jpg;http://forums.mtgsalvation.com/attachment.php?attachmentid=20001&d=1143672913
Goblin2.jpg;http://forums.mtgsalvation.com/attachment.php?attachmentid=30596&d=1157620938
Griffin.jpg;http://forums.mtgsalvation.com/attachment.php?attachmentid=32242&stc=1&d=1159379525
Ogre.jpg;http://www.wizards.com/mtg/images/daily/arcana/371_tk3.jpg
Saproling.jpg;http://forums.mtgsalvation.com/attachment.php?attachmentid=20047&d=1143749873
Snake.jpg;http://www.wizards.com/mtg/images/daily/arcana/283_ZEN_Token9.jpg
Soldier.jpg;http://www.wizards.com/mtg/images/daily/arcana/1688_token1.jpg
Spirit.jpg;http://forums.mtgsalvation.com/attachment.php?attachmentid=20011&d=1143673311
Tuktuk the Returned.jpg;http://www.cardkingdom.com/media/images/products/standard/130721_1.jpg
Voja.jpg;http://forums.mtgsalvation.com/attachment.php?attachmentid=20055&d=1143749996
Wolf.jpg;http://www.wizards.com/mtg/images/daily/arcana/283_ZEN_Token10.jpg
Worm.jpg;http://www.wizards.com/magic/images/mtgcom/arcana1000/1630_2.jpg
Wurm1.jpg;http://www.cardkingdom.com/media/images/products/standard/132150_1.jpg
Wurm2.jpg;http://www.cardkingdom.com/media/images/products/standard/132151_1.jpg
Zombie.jpg;http://www.wizards.com/mtg/images/daily/arcana/1689_token2a.jpg
Zombie Giant.jpg;http://www.wizards.com/mtg/images/daily/arcana/283_ZEN_Token6.jpg

View File

@ -1,10 +0,0 @@
# Card blacklist - list of cards to never automatically import by script
# Special cards, such as tokens, or cards that failt to import correctly should be put here
# List one card name per line, empty lines are ignored, hash mark starts a comment
# Tokens
Elemental Shaman
Spirit
Elemental
Goblin

View File

@ -1,63 +0,0 @@
#!/usr/bin/perl
# Generate list of already implemented cards
# Check that all cards have image and HQ image and there is no image or HQ image without a card
use strict;
use mutils;
my %config=default_config();
my %all=();
my %cards=();
my %images=();
my %hq_images=();
# Load cards
open F,"<".$config{'cardfile'};
while (<F>) {
next if (!/^>/);
s/^>//;
s/[\r\n]//gm;
$all{$_}=1;
$cards{$_}=1;
}
close F;
# Load images
my $current='';
open F,"<".$config{'imagefile'};
while (<F>) {
s/[\r\n]+//gm;
if (/^>(.*)/) {
$current=$1;
next;
}
s/\.jpg;.*$//i;
if ($current eq 'cards') {
$all{$_}=1;
$images{$_}=1;
}
if ($current eq 'hqcards') {
$all{$_}=1;
$hq_images{$_}=1;
}
}
close F;
# Save cardlist to defined file
open O,">".$config{'cardlist'};
foreach my $c (sort keys %cards) {
print O $c."\n";
}
close O;
#Check images
foreach my $c (sort keys %all) {
next if ($c=~/^(Forest|Island|Mountain|Plains|Swamp)2$/);
next if ($cards{$c} && $images{$c} && $hq_images{$c});
if (!$cards{$c}) {print "Missing card for image/HQ image $c\n";}
if (!$images{$c} && !$hq_images{$c}) {print "Missing image and HQ image for card $c\n";}
elsif (!$images{$c}) {print "Missing image for card $c\n";}
elsif (!$hq_images{$c}) {print "Missing HQ image for card $c\n";}
}

View File

@ -1,260 +0,0 @@
#!/usr/bin/perl
# Parse cards from a list and output those cards, that can be automatically imported without changing the Java code
use strict;
use mutils;
my %config=default_config();
# Blacklist - list of cards not to be implemented - for example ante cards
my $blacklist='blacklist.txt';
# List of allowed editions
my $editions='editions.txt';
# Output - list of cards that were not fully understood by this parser
my $cardlist='_unparsed_cards.txt';
# Output - parts of rule text not understood by this parser
my $errorlog='_unparsed_code.txt';
# Output - definitions of newly imported cards
my $cardout='_cards.txt';
# Output - images of newly imported cards
my $imageout='_images.txt';
# Output - high quality images of newly imported cards
my $hqimageout='_hqimages.txt';
# List of cards to skip
my %skip=();
# Skip all cards listed in given file when importing.
sub skip_cards {
my $filename=shift;
open P,"<$filename";
while (<P>) {
s/[\r\n]+//gm;
s/#.*//;
s/^\s+//gm;
s/\s+$//gm;
next if (/^$/);
$skip{$_}=1;
}
close P;
}
skip_cards($config{'cardlist'});
skip_cards($blacklist);
load_editions($editions);
# Links to high quality images
my %hqim=();
# Load file with information about high-quality images
open H,"<".$config{'hqhtml'};
binmode H;
while (<H>) {
if (m#<td><a href="/([a-z0-9]+)/([a-z0-9]+)/(\d+).html">([Æûáâàíäöú\-\._'a-zA-Z, \(\)"\?]+)</a></td>#) {
my $url="http://magiccards.info/scans/$2/$1/$3.jpg";
$hqim{$4}=$url;
#http://magiccards.info/5e/en/277.html -> http://magiccards.info/scans/en/5e/277.jpg
} else {
if (m#<td><a href="[^"]+">[^<>]+</a></td>#) {
print STDERR "Unrecognized HQ card: $_";
}
}
}
close H;
#Number of cards imported
my $numc=0;
#Number of cards skipped because not in allowed edition
my $nume=0;
#Card data for current card
my %k=();
open EDI,">".$config{'edition_contents'};
binmode EDI;
open F,"<".$config{'cardhtml'};
binmode F;
open O,">$cardlist";
binmode O;
open OU,">$cardout";
binmode OU;
open ER,">$errorlog";
binmode ER;
open IO,">$imageout";
binmode IO;
open IOH,">$hqimageout";
binmode IOH;
sub emit {
my $name=$k{'Name'};
if (!$name=~/./) {return;}
my $rarity=$k{'Set/Rarity'};
my @ed=edition_list($rarity);
foreach my $e (@ed) {
print EDI "$name|$e\n";
}
if ($skip{$name}) {
%k=();
return;
}
if (!allowed_edition($rarity)) {
$nume++;
return;
}
normalize_type(\%k);
my $txt=normalize_ruletext($k{'Rules Text'},$name);
$k{'Rules Text'}=$txt;
my $cost=$k{'Cost'};
my $complex=1;
my $type=$k{'Type'};
my $subtype=$k{'Subtype'};
if ($type=~/^(Legendary,|Artifact,|)Creature$/) {
my $complex=0;
my @abil=();
my %haveabil=();
my $pt=$k{'Pow/Tgh'};
my $pow='';
my $tou='';
if ($pt=~/^\((.*)\/(.*)\)$/) {
$pow=$1;
$tou=$2;
$k{'Pow/Tgh'}="$pow/$tou";
}
if ($rarity=~/rare/i) {$rarity=3;}
if ($rarity=~/uncommon/i) {$rarity=2;}
if ($rarity=~/common/i) {$rarity=1;}
if (!($pow=~/^[0-9]+$/)) {$complex=1;}
if (!($tou=~/^[0-9]+$/)) {$complex=1;}
while ($txt=~s/^(can't block creatures without flying|can't be blocked except by creatures with flying|can't attack or block|attacks each turn if able|can't be countered|can't block|unblockable|changeling|deathtouch|defender|double strike|exalted|fear|first strike|flash|flying|forestwalk|haste|indestructible|intimidate|islandwalk|lifelink|mountainwalk|plainswalk|persist|protection from (Demons|Dragons|all colors|black|blue|creatures|green|monocolored|red|white)|reach|shroud|swampwalk|trample|vigilance|wither)\s*(,|;|<br\s*\/?>|)\s*//i) {
#battle cry
#can't be blocked by creatures with flying
#can't be the target of spells or abilities your opponent controls
#totem armor
push @abil,lc $1;
$haveabil{lc $1}=1;
}
$txt=~s/^<br \/>//i;
my $abils=join(',',@abil);
if ($txt=~/./) {
$complex=1;
$k{'Complex rules'}=$txt;
$txt=~s/<br \/>/\n/gm;
$txt=~s/$name/(THIS)/gm;
$txt=~s/(\{\([rgbuw]\/[rgbuw]\))*(\{([0-9]+|[RGBUWX]|\([rgbuw]\/[rgbuw]\))\})+/(MANACOST)/gm;
print ER $txt."\n";
}
if ($cost eq '') {$complex=1;}
if (!$complex) {
$subtype=~s/ /,/g;
$numc++;
if ($abils=~/./) {$abils='ability='.$abils."\n";}
my $timing='main';
if ($abils=~/haste|can.t block|shroud/) {$timing="fmain";}
if ($abils=~/defender/) {$timing="smain";}
my $c_conv=0;
my $c_cost='';
if ($cost=~/^(\d+)?((\([RGBUW]\/[RGBUW]\))*)?([RGBUW]+)?$/) {
my $num=$1;
my $xcol=$2;
$xcol=~tr/()/{}/;
my $col=$4;
if (length($num)) {
$c_conv+=$num;
$c_cost='{'.$num.'}';
}
if ($col) {
$c_conv+=length $col;
$c_cost.='{'.join('}{',split(//,$col)).'}';
}
if ($xcol) {
$c_conv+=(length $xcol)/5;
$c_cost.=$xcol;
}
} else {
print STDERR "Unknown casting cost: $cost\n";
}
my $c_color=spell_color($cost);
if ($c_color) { $c_color='color='.$c_color."\n";}
# Output images
my $id=$k{'id'};
if ($id) {
print IO "${name}.jpg;http://gatherer.wizards.com/Handlers/Image.ashx?multiverseid=$id&type=card\n";
} else {
print STDERR "Missing image id for $name\n";
}
my $hqi=$hqim{$name};
if ($hqi) {
print IOH "${name}.jpg;$hqi\n";
} else {
print STDERR "Missing HQ image for $name\n";
}
#TODO: value?
print OU <<EOF;
>$name
value=$rarity
${abils}rarity=$rarity
type=$type
subtype=$subtype
${c_color}converted=$c_conv
cost=$c_cost
power=$pow
toughness=$tou
timing=$timing
EOF
}
}
if ($complex) {
foreach my $q (keys %k) {
print O "$q = ".$k{$q}."\n";
}
print O "\n";
}
%k=();
}
my $c='';
while (<F>) {
s/\s+/ /gm;
$c.=$_;
if (m#</tr>#) {
$c=~s/.*<tr/<tr/mi;
$c=~s/\s+</</gmi;
$c=~s/>\s+/>/gmi;
$c=~s/\s+id="[^"<>]+"//gmi;
# if (!/Name:/) {$c='';} else {
if ($c=~/td colspan/) {emit();$c='--';}
if ($c=~m#^<tr><td>([^<>]+):</td><td>(.*)</td></tr>$#) {
my $key=$1;
my $value=$2;
if ($key=~/name/i && $value=~m#<a[^<>]+ href="[^"]*multiverseid=(\d+)">([^<>]+)</a>#) {
$c="$key = $2\nID = $1";
$k{$key}=$2;
$k{'id'}=$1;
} else {
$k{$key}=$value;
$c="$key = $value";
}
}
# print O "::".$c."\n";
$c='';
#
# }
}
}
emit();
close F;
close O;
close OU;
close ER;
close IO;
close IOH;
close EDI;
print STDERR "$numc cards imported\n";
print STDERR "$nume card excluded (bad edition)\n";

View File

@ -1,98 +0,0 @@
#!/usr/bin/perl
# Generate automatically generated cubes based on specified config
use strict;
use mutils;
my %config=default_config();
# Prefix (output directory + possible prefix) for generated cubes
my $cube_output_prefix=$config{'root'}.'resources/magic/data/';
my $cubename='';
my %ban=();
my %allow_all=();
my %allow=();
my %allow_ed=();
my %restrict=();
my %avail=();
# Output only available cards
sub load_cards {
my $filename=shift;
open P,"<$filename";
while (<P>) {
s/[\r\n]+//gm;
$avail{$_}=1;
}
close P;
}
load_cards($config{'cardlist'});
#Load edition contents
my @ed=();
open EDI,"<".$config{'edition_contents'};
while (<EDI>) {
s/[\r\n]+//gm;
push @ed,$_;
}
close EDI;
# Write out a signle cube from data in memory
sub emit {
if ($cubename eq '') {return ;}
my %out=();
foreach my $r (@ed) {
my ($card,$edition)=split(/\|/,$r);
next if ($ban{$card});
if ($allow_all{$card}) {$out{$card}=1;next;};
if ($allow{$card}) {$out{$card}=1;next;};
if ($allow_ed{$edition} || $allow_ed{'*'}) {$out{$card}=1;next;};
}
print STDERR "Generating cube $cubename\n";
open Q,">".$cube_output_prefix.$cubename."_cube.txt";
foreach my $card (sort keys %out) {
next if (!$avail{$card});
print Q "$card\n";
}
close Q;
%ban=();
%allow=();
%allow_ed=();
%restrict=();
$cubename='';
}
# If commandline parameter is specified, use it as source of cube data
if ($ARGV[0]) {
$config{'cubegen_data'}=$ARGV[0]
}
# Load cubegen data
open F,"<".$config{'cubegen_data'};
while (<F>) {
next if (/^#/);
s/[\r\n]+//gm;
s/#.*//;
s/^\s+//gm;
s/\s+$//gm;
next if (/^$/);
if (/^\[(.*)\]/) {
my $nextcube=$1;
emit();
$cubename=$nextcube;
} elsif(/^disallow:(.*)/) {
$ban{$1}=1;
} elsif(/^allow:(.*)/) {
$allow{$1}=1;
} elsif(/^universal:(.*)/) {
$allow_all{$1}=1;
} elsif(/^restrict:(.*)/) {
$restrict{$1}=1;
} else {
$allow_ed{$_}=1;
}
}
emit();
close F;

View File

@ -1,253 +0,0 @@
# Config file for cube generator
# Cubes are generated based on sets, with possibility of additionally allowing or banning single cards
#
# Syntax of this file:
# [Name of the cube]
# Name of set to include in cube (if line is not understood as special command)
# * = all sets
# Special commands are allowed:
# allow:Name of single card to allow
# universal:Name of single card to allow in all cubes
# disallow:Name of card to ban
# restrict:Name of card do restrict
#
# Leading and trailing whitespace is removed, empty lines are ignored, comments begin with hash sign
universal:Forest
universal:Swamp
universal:Mountain
universal:Plains
universal:Island
# This cube is equivalent to all implemented cards that can be used in Legacy tournament format
[Legacy]
*
disallow:Amulet of Quoz
disallow:Ancestral Recall
disallow:Balance
disallow:Bazaar of Baghdad
disallow:Black Lotus
disallow:Black Vise
disallow:Bronze Tablet
disallow:Channel
disallow:Chaos Orb
disallow:Contract from Below
disallow:Darkpact
disallow:Demonic Attorney
disallow:Demonic Consultation
disallow:Demonic Tutor
disallow:Earthcraft
disallow:Falling Star
disallow:Fastbond
disallow:Flash
disallow:Frantic Search
disallow:Goblin Recruiter
disallow:Gush
disallow:Hermit Druid
disallow:Imperial Seal
disallow:Jeweled Bird
disallow:Land Tax
disallow:Library of Alexandria
disallow:Mana Crypt
disallow:Mana Drain
disallow:Mana Vault
disallow:Memory Jar
disallow:Mind Twist
disallow:Mind's Desire
disallow:Mishra's Workshop
disallow:Mox Emerald
disallow:Mox Jet
disallow:Mox Pearl
disallow:Mox Ruby
disallow:Mox Sapphire
disallow:Mystical Tutor
disallow:Necropotence
disallow:Oath of Druids
disallow:Rebirth
disallow:Shahrazad
disallow:Skullclamp
disallow:Sol Ring
disallow:Strip Mine
disallow:Survival of the Fittest
disallow:Tempest Efreet
disallow:Time Vault
disallow:Time Walk
disallow:Timetwister
disallow:Timmerian Fiends
disallow:Tinker
disallow:Tolarian Academy
disallow:Vampiric Tutor
disallow:Wheel of Fortune
disallow:Windfall
disallow:Worldgorger Dragon
disallow:Yawgmoth's Bargain
disallow:Yawgmoth's Will
# This cube is equivalent to all implemented cards that can be used in Vintage tournament format
[Vintage]
*
disallow:Amulet of Quoz
disallow:Bronze Tablet
disallow:Chaos Orb
disallow:Contract from Below
disallow:Darkpact
disallow:Demonic Attorney
disallow:Falling Star
disallow:Jeweled Bird
disallow:Rebirth
disallow:Shahrazad
disallow:Tempest Efreet
disallow:Timmerian Fiends
restrict:Ancestral Recall
restrict:Balance
restrict:Black Lotus
restrict:Brainstorm
restrict:Burning Wish
restrict:Channel
restrict:Demonic Consultation
restrict:Demonic Tutor
restrict:Fact or Fiction
restrict:Fastbond
restrict:Flash
restrict:Gifts Ungiven
restrict:Imperial Seal
restrict:Library of Alexandria
restrict:Lions Eye Diamond
restrict:Lotus Petal
restrict:Mana Crypt
restrict:Mana Vault
restrict:Memory Jar
restrict:Merchant Scroll
restrict:Minds Desire
restrict:Mox Emerald
restrict:Mox Jet
restrict:Mox Pearl
restrict:Mox Ruby
restrict:Mox Sapphire
restrict:Mystical Tutor
restrict:Necropotence
restrict:Ponder
restrict:Regrowth
restrict:Sol Ring
restrict:Strip Mine
restrict:Thirst for Knowledge
restrict:Time Vault
restrict:Time Walk
restrict:Timetwister
restrict:Tinker
restrict:Tolarian Academy
restrict:Trinisphere
restrict:Vampiric Tutor
restrict:Wheel of Fortune
restrict:Windfall
restrict:Yawgmoths Bargain
restrict:Yawgmoths Will
# This cube is equivalent to all implemented cards that can be used in Standard tournament format
[Standard]
Magic 2011
Zendikar
Worldwake
Rise of the Eldrazi
Scars of Mirrodin
Mirrodin Besieged
# This cube is equivalent to all implemented cards that can be used in Extended tournament format
[Extended]
Magic 2010
Magic 2011
Lorwyn
Morningtide
Shadowmoor
Eventide
Shards of Alara
Conflux
Alara Reborn
Zendikar
Worldwake
Rise of the Eldrazi
Scars of Mirrodin
Mirrodin Besieged
# This cube is equivalent to all implemented cards that can be used in Invasion block tournament format
[Invasion block]
Invasion
Planeshift
Apocalypse
# This cube is equivalent to all implemented cards that can be used in Odyssey block tournament format
[Odyssey block]
Odyssey
Torment
Judgment
# This cube is equivalent to all implemented cards that can be used in Onslaught block tournament format
[Onslaught block]
Onslaught
Legions
Scourge
# This cube is equivalent to all implemented cards that can be used in Mirrodin block tournament format
[Mirrodin block]
Mirrodin
Darksteel
Fifth Dawn
disallow:AEther Vial
disallow:Ancient Den
disallow:Arcbound Ravager
disallow:Darksteel Citadel
disallow:Disciple of the Vault
disallow:Great Furnace
disallow:Seat of the Synod
disallow:Tree of Tales
disallow:Vault of Whispers
disallow:Skullclamp
# This cube is equivalent to all implemented cards that can be used in Kamigawa block tournament format
[Kamigawa block]
Champions of Kamigawa
Betrayers of Kamigawa
Saviors of Kamigawa
# This cube is equivalent to all implemented cards that can be used in Ravnica block tournament format
[Ravnica block]
Ravnica: City of Guilds
Guildpact
Dissension
# This cube is equivalent to all implemented cards that can be used in Time Spiral block tournament format
[Time Spiral block]
Time Spiral
Planar Chaos
Future Sight
# This cube is equivalent to all implemented cards that can be used in Lorwyn block tournament format
[Lorwyn block]
Lorwyn
Morningtide
# This cube is equivalent to all implemented cards that can be used in Shadowmoor block tournament format
[Shadowmoor block]
Shadowmoor
Eventide
# This cube is equivalent to all implemented cards that can be used in Shards of Alara block tournament format
[Shards of Alara block]
Shards of Alara
Conflux
Alara Reborn
# This cube is equivalent to all implemented cards that can be used in Zendikar block tournament format
[Zendikar block]
Zendikar
Worldwake
Rise of the Eldrazi
# This cube is equivalent to all implemented cards that can be used in Scars of Mirrodin block tournament format
[Scars of Mirrodin block]
Scars of Mirrodin
Mirrodin Besieged
# This cube contains all implemented cards
[All]
*

View File

@ -1,67 +0,0 @@
# List of allowed editions, used to filter which cards can be automatically imported by a script
# One edition per line, comments start with hash, empty lines are ignored
# Base sets
Seventh Edition
Eighth Edition
Ninth Edition
Tenth Edition
Magic 2010
Magic 2011
# Invasion block
Invasion
Planeshift
Apocalypse
# Odyssey block
Odyssey
Torment
Judgment
# Onslaught block
Onslaught
Legions
Scourge
# Mirrodin block
Mirrodin
Darksteel
Fifth Dawn
# Kamigawa block
Champions of Kamigawa
Betrayers of Kamigawa
Saviors of Kamigawa
# Ravnica block
Ravnica: City of Guilds
Guildpact
Dissension
# Time Spiral block
Time Spiral
Planar Chaos
Future Sight
# Lorwyn block
Lorwyn
Morningtide
# Shadowmoor block
Shadowmoor
Eventide
# Shards of Alara block
Shards of Alara
Conflux
Alara Reborn
# Zendikar block
Zendikar
Worldwake
Rise of the Eldrazi
# Scars of Mirrodin block
Scars of Mirrodin
Mirrodin Besieged

View File

@ -1,173 +0,0 @@
use strict;
#This module contains common function
# List of allowed editions
my %eds=();
# Load list of allowed editions
# Parameter 1: filename - list of allowed editions
sub load_editions {
my $filename=shift;
open P,"<$filename";
while (<P>) {
s/[\r\n]+//gm;
next if (/^#/); # Comment
next if (/^\s+$/); # Empty line
$eds{$_}=1;
}
close P;
}
# Check if the set/rarity of a card contains at least one allowed edition
# Parameter 1: set/rarity of a card (for example "Mirrodin common, Ninth Rare")
# Returns: True if at least one of the editions is allowed
sub allowed_edition {
my $ed=shift;
my @edl=split(/,\s+/,$ed);
foreach my $e (@edl) {
$e=~s/ (Mythic Rare|Rare|Uncommon|Common)$//;
if ($eds{$e}) {return 1;}
}
return 0;
}
# Return list of editions having this card
# Parameter 1: Name of card
# Returns: Array with all editions containing the card
sub edition_list {
my $ed=shift;
my @edl=split(/,\s+/,$ed);
my @out=();
foreach my $e (@edl) {
$e=~s/ (Mythic Rare|Rare|Uncommon|Common)$//;
push @out,$e;
}
return @out;
}
# Load list of cards and return them in an associative array
# Parameter 1: Name of file with card list
# Returns: List as associative array
sub load_list {
my $filename=shift;
my %lst=();
open P,"<$filename";
while (<P>) {
s/[\r\n]+//gm;
$lst{$_}=1;
}
close P;
return %lst;
}
# Return default configuration
sub default_config {
my %config=();
# Root of repository relative to directory with tools
$config{'root'}='../';
# File with card data
$config{'cardfile'}=$config{'root'}.'resources/magic/data/cards.txt';
# File with images (cards, HQ cards and others)
$config{'imagefile'}=$config{'root'}.'resources/magic/data/images.txt';
# List of all cards from gatherer, in text spoiler format. Available from url:
# http://gatherer.wizards.com/Pages/Search/Default.aspx?output=spoiler&method=text&action=advanced&type=%7c%5b%22Creature%22%5d%7c%5b%22Artifact%22%5d%7c%5b%22Land%22%5d%7c%5b%22Instant%22%5d%7c%5b%22Legendary%22%5d%7c%5b%22Basic%22%5d%7c%5b%22Enchantment%22%5d%7c%5b%22Ongoing%22%5d%7c%5b%22Plane%22%5d%7c%5b%22Planeswalker%22%5d%7c%5b%22Scheme%22%5d%7c%5b%22Snow%22%5d%7c%5b%22Sorcery%22%5d%7c%5b%22Tribal%22%5d%7c%5b%22Vanguard%22%5d%7c%5b%22World%22%5d
$config{'cardhtml'}='lists/mtg_all_list.html';
# List of cards from magiccards.info. There is no way to get all cards as single list,
# so this list have to be created by several requests (all common creatures, all uncommon creatures, etc ...) and then concatenating results together
# http://magiccards.info
$config{'hqhtml'}='lists/hq_creatures.html';
# Data for automatic cube generation
$config{'cubegen_data'}='cube_gen.txt';
# Card edition contents
$config{'edition_contents'}='_editions_contents.txt';
# File with list of names of implemented cards
$config{'cardlist'}='_cardlist.txt';
return %config;
}
# Normalize card type and possibly fills up subtype
# Parameter 1: Reference to hash wuith card data to modify
sub normalize_type {
my ($k)=@_;
my $type=$k->{'Type'};
$type=~s/Legendary Creature/Legendary,Creature/;
$type=~s/Artifact Creature/Artifact,Creature/;
my $subtype='';
if ($type=~/^(.+) — (.+)$/) {
$type=$1;
$subtype=$2;
$k->{'Subtype'}=$subtype;
}
$k->{'Type'}=$type;
}
# Return spell color based on its mana cost
# Parameter 1: Spell mana cost
# Returns: spell color
sub spell_color {
my $cost=shift;
my $c_color='';
if ($cost=~/R/) {$c_color.='r';}
if ($cost=~/G/) {$c_color.='g';}
if ($cost=~/B/) {$c_color.='b';}
if ($cost=~/U/) {$c_color.='u';}
if ($cost=~/W/) {$c_color.='w';}
return $c_color;
}
# Normalize rule text. Mostly remove explanatory comments from it.
# Parameter 1: rule text
# Parameter 2: card name
# Returns: normalized text
sub normalize_ruletext {
my $txt=shift;
my $name=shift;
$txt=~s/Protection from ([a-z]+) and from ([a-z]+)/Protection from $1, Protection from $2/i;
$txt=~s/\(\{\(.\/.\)\} can be paid with either \{.\} or \{.\}\.\)//i;
$txt=~s/Defender, flying \(This creature can't attack, and it can block creatures with flying.\)/Defender, flying/i;
$txt=~s/Intimidate \(This creature can't be blocked except by artifact creatures and\/or creatures that share a color with it.\)/Intimidate/i;
$txt=~s/$name attacks each turn if able\./attacks each turn if able/i;
$txt=~s/$name can't be countered\./can't be countered/i;
$txt=~s/$name can't be blocked except by creatures with flying\./can't be blocked except by creatures with flying/i;
$txt=~s/$name is indestructible\.( \((Lethal damage and effects that say "destroy" don't destroy it. If its toughness is 0 or less, it's still put into its owner's graveyard|"Destroy" effects and lethal damage don't destroy it|Effects that say "destroy" don't destroy it).\))?/indestructible/i;
$txt=~s/$name can't block\./can't block/i;
$txt=~s/$name can't attack or block\./can't attack or block/i;
$txt=~s/$name can block only creatures with flying\./can't block creatures without flying/i;
$txt=~s/$name is unblockable\./unblockable/i;
$txt=~s/Fear \(This creature can't be blocked except by artifact creatures and\/or black creatures.\)/Fear/i;
$txt=~s/First strike \(This creature deals combat damage before creatures without first strike.\)/First strike/i;
$txt=~s/Defender \(This creature can't attack.\)/Defender/;
$txt=~s/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.\)/Banding/i;
$txt=~s/Shadow \(This creature can block or be blocked by only creatures with shadow.\)/Shadow/i;
$txt=~s/Double strike \(This creature deals both first-strike and regular combat damage.\)/Double strike/i;
$txt=~s/Vigilance \(Attacking doesn't cause this creature to tap.\)/Vigilance/i;
$txt=~s/Whenever $name deals damage, you gain that much life./Lifelink/i;
$txt=~s/Deathtouch \(Creatures dealt damage by this creature are destroyed. You can divide this creature's combat damage among any of the creatures blocking or blocked by it\.\)/Deathtouch/i;
$txt=~s/Flash \(You may cast this spell any time you could cast an instant.\)/Flash/i;
$txt=~s/Flying \(This creature can't be blocked except by creatures with flying or reach.\)/Flying/i;
$txt=~s/Persist \(When this creature is put into a graveyard from the battlefield, if it had no -1\/-1 counters on it, return it to the battlefield under its owner's control with a -1\/-1 counter on it.\)/Persist/i;
$txt=~s/Shroud \(This (creature|permanent) can't be the target of spells or abilities.\)/Shroud/i;
$txt=~s/Lifelink \(Damage dealt by this creature also causes you to gain that much life.\)/Lifelink/i;
$txt=~s/Changeling \(This card is every creature type at all times.\)/Changeling/i;
$txt=~s/Exalted \(Whenever a creature you control attacks alone, that creature gets \+1\/\+1 until end of turn.\)/Exalted/i;
$txt=~s/Trample \(If this creature would (deal|assign) enough damage to its blockers to destroy them, you may have it (deal|assign) the rest of its damage to defending player or planeswalker.\)/Trample/i;
$txt=~s/Haste \(This creature can attack and \{T\} as soon as it comes under your control.\)/Haste/i;
$txt=~s/Haste \(This creature can attack the turn it comes under your control.\)/Haste/i;
$txt=~s/reach \(This (creature )?can block creatures with flying.\)/Reach/i;
$txt=~s/Flanking \(Whenever a creature without flanking blocks this creature, the blocking creature gets -1\/-1 until end of turn.\)/Flanking/i;
$txt=~s/Wither \(This deals damage to creatures in the form of -1\/-1 counters.\)/Wither/i;
$txt=~s/Deathtouch \(Any amount of damage this deals to a creature is enough to destroy it\.\)/Deathtouch/i;
$txt=~s/(Swamp|Forest|Island|Plains|Mountain)walk \(This creature is unblockable as long as defending player controls an? \1.\)/${1}walk/i;
$txt=~s/^<br \/>//i;
return $txt;
}
1