Forge 01/01 (unofficial BETA) version

This version has a lot of bug fixes, but also loads of new stuff!
I still haven't figured out how to fix the memory leak problem completely though. I made a few improvements, but JPanels still get created and destroyed like crazy, anyway I'm curious to see if there are any improvements you guys notice.
2624 cards in total now.
Features/Fixes:
- Treva, the Renewer, Rith, the Awakener and Oros, the Avenger are usable by the AI now, and fixed a bug involving Control Magic and either of these cards.
- Phytohydra should be fixed.
- Lands shouldn't be playable at opponent's EOT anymore.
- Checking attack triggers should happen only once, after all attackers have been declared.
- Fixed a bunch of bugs with Mox Diamond.
- Guiltfeeder should only trigger when it's unblocked (previously it would trigger when trampling over also).
- Fixed Elvish Piper (not sure how it broke?).
- Added Poison Counters.
- AI shouldn't play Cognivore, Terravore, Cantivore, Magnivore, Mortivore anymore if there are no cards in any graveyard keeping them alive.
- Radiant, Archangel is a 3/3 now.
- Discarding when controlling Necropotence should exile the card.
- Fixed a bug in the combat code where if a 1/1 creature has 1 damage, it will die no matter what.
- Umezawa's Jitte should trigger now when attacking a planeswalker.
- Cathartic Adept should tap when using its ability.
- Added Rob's abPumpTgt keyword, including a bunch of new cards supported by it.
- Rob updated spDamageTgt to include TgtOpp.
- Rob updated doDrawBack to include doXMath.
- Fixed some Memnarch targeting code.
- Changing cardSizes (in the main menu -> Menu -> Specify Card Size) after games have been played should actually have an effect now.
- Fixed Nantuko Elder creature type.
- Fixed AEther Web and other Auras with Flash (it was actually possible to cast them as they were in play already - getting infinitely more copies).
- Fixed Shadowmage Infiltrator, Thieving Magpie, Lu Xun, Scholar General, Augury Adept, Hypnotic Specter, (when control changes, the correct player should draw/discard cards).
- Fixed a bug where lands could be played with other spells/abilities on the stack.
- Gaining control of a creature equipped with Umezawa's Jitte and attacking with it shouldn't crash the game anymore. However, if you use this on the AI, you can use its abilities (gain life ability will give the AI life though).
- Added some kind of caching algorithm, hopefully it will actually make a difference.
- Rebel / Merc searches shouldn't fetch non-permanents (with Changeling) anymore.
- Untap should happen before the AIs upkeep phase now (I hope changing that didn't break anything).
- Added Echo, Upkeep and Cumulative Upkeep functionality.
- Thelonite Hermit should also give +1/+1 to creatures with Changeling.
- Fixed Iona, Shield of Emeria.
- Fixed Bog Initiate Manacost.
- Some slight performance improvements for displaying cards (not sure if it helps much).
- A bunch of Adarkar Valkyrie bugs should be fixed now.
- Fixed Merfolk Sovereign (should only pump controlled creatures).
- Fixed Eternity Snare manacost.
- Removed some old commented out code of cards that have been replaced by keywords.
- Boreal Centaur and Knight of the Skyward Eye abilities can only be used once per turn now.
- Chris converted quite a few cards from code to keyword: Ice Storm; Lay Waste; Sinkhole; Stone Rain; Demystify; Disenchant; Naturalize; Shatter; Dark Banishing; Saltblast; Terminate; Vindicate; Angelic Blessing; Brute Force; Riding the Dilu Horse; Wildsize; Aggressive Urge; Guided Strike; Might of Oaks and Spark Spray.
- Vasiliy added sound to Forge! When tapping lands, a sound will play (found in res/sound/, tap.mp3).
- Chris fixed Kinsbaile Borderguard and Lockjaw Snapper.
- Vasiliy added Import picture functionality (allowing importing of pictures into Forge from a local drive) more details on: viewtopic.php?f=52&t=1920&start=45
- Vasiliy added a mirror for the HQ pics.
- Vasiliy added probability of drawing a card in the Deck Analysis menu.
- Chris updated Disciple of Kangee.
- Chris added Snow-Covered lands to the Quest starting pool.
New cards:
Some of the highlights:
- The Tabernacle at Pendrell Vale and Magus of the Tabernacle.
- Arid Mesa, Marsh Flats, Misty Rainforest, Scalding Tarn, Verdant Catacombs, Bloodstained Mire, Flooded Strand, Polluted Delta, Windswept Heath, Wooded Foothills (I used Terramorphic Expanse to code these cards: they are unfortunately not usable by the AI as a result).
- Goblin Piledriver, Flame Rift,
- Spectral Bears, Spectral Force.
- Pianna, Nomad Captain.
- Crypt Cobra, Swamp Mosquito, Suq'Ata Assassin.
- Donate, Illusions of Grandeur.
- Karmic Guide
- Avalanche Riders
- Vaevictis Asmadi, Palladia-Mors, Nicol Bolas.
- Goblin Patrol, Goblin Marshal, Mogg War Marshal.
- Deranged Hermit.
- Albino Troll, Pouncing Jaguar, Multani's Acolyte, Lightning Dragon, Herald of Serra, Henchfiend of Ukor, Goblin War Buggy, Cradle Guard, Citanul Centaurs, Albino Troll, Acridian.
- Stasis, Gush, Chronatog, Kismet, Frozen AEther, Loxodon Gatekeeper.
- Thwart, Force of Will, Ensnare.
- Force of Nature, Cosmic Horror.
Rob extended some of his keyword functionality, which allowed for a lot of extra cards also.
Triadasoul added:
- Carnophage and Sangrophage.
- Prowess of the Fair, Bridge from Below.
Special thanks to Marek for compiling the Echo/Upkeep card list!
I still haven't figured out how to fix the memory leak problem completely though. I made a few improvements, but JPanels still get created and destroyed like crazy, anyway I'm curious to see if there are any improvements you guys notice.
2624 cards in total now.
Features/Fixes:
- Treva, the Renewer, Rith, the Awakener and Oros, the Avenger are usable by the AI now, and fixed a bug involving Control Magic and either of these cards.
- Phytohydra should be fixed.
- Lands shouldn't be playable at opponent's EOT anymore.
- Checking attack triggers should happen only once, after all attackers have been declared.
- Fixed a bunch of bugs with Mox Diamond.
- Guiltfeeder should only trigger when it's unblocked (previously it would trigger when trampling over also).
- Fixed Elvish Piper (not sure how it broke?).
- Added Poison Counters.
- AI shouldn't play Cognivore, Terravore, Cantivore, Magnivore, Mortivore anymore if there are no cards in any graveyard keeping them alive.
- Radiant, Archangel is a 3/3 now.
- Discarding when controlling Necropotence should exile the card.
- Fixed a bug in the combat code where if a 1/1 creature has 1 damage, it will die no matter what.
- Umezawa's Jitte should trigger now when attacking a planeswalker.
- Cathartic Adept should tap when using its ability.
- Added Rob's abPumpTgt keyword, including a bunch of new cards supported by it.
- Rob updated spDamageTgt to include TgtOpp.
- Rob updated doDrawBack to include doXMath.
- Fixed some Memnarch targeting code.
- Changing cardSizes (in the main menu -> Menu -> Specify Card Size) after games have been played should actually have an effect now.
- Fixed Nantuko Elder creature type.
- Fixed AEther Web and other Auras with Flash (it was actually possible to cast them as they were in play already - getting infinitely more copies).
- Fixed Shadowmage Infiltrator, Thieving Magpie, Lu Xun, Scholar General, Augury Adept, Hypnotic Specter, (when control changes, the correct player should draw/discard cards).
- Fixed a bug where lands could be played with other spells/abilities on the stack.
- Gaining control of a creature equipped with Umezawa's Jitte and attacking with it shouldn't crash the game anymore. However, if you use this on the AI, you can use its abilities (gain life ability will give the AI life though).
- Added some kind of caching algorithm, hopefully it will actually make a difference.
- Rebel / Merc searches shouldn't fetch non-permanents (with Changeling) anymore.
- Untap should happen before the AIs upkeep phase now (I hope changing that didn't break anything).
- Added Echo, Upkeep and Cumulative Upkeep functionality.
- Thelonite Hermit should also give +1/+1 to creatures with Changeling.
- Fixed Iona, Shield of Emeria.
- Fixed Bog Initiate Manacost.
- Some slight performance improvements for displaying cards (not sure if it helps much).
- A bunch of Adarkar Valkyrie bugs should be fixed now.
- Fixed Merfolk Sovereign (should only pump controlled creatures).
- Fixed Eternity Snare manacost.
- Removed some old commented out code of cards that have been replaced by keywords.
- Boreal Centaur and Knight of the Skyward Eye abilities can only be used once per turn now.
- Chris converted quite a few cards from code to keyword: Ice Storm; Lay Waste; Sinkhole; Stone Rain; Demystify; Disenchant; Naturalize; Shatter; Dark Banishing; Saltblast; Terminate; Vindicate; Angelic Blessing; Brute Force; Riding the Dilu Horse; Wildsize; Aggressive Urge; Guided Strike; Might of Oaks and Spark Spray.
- Vasiliy added sound to Forge! When tapping lands, a sound will play (found in res/sound/, tap.mp3).
- Chris fixed Kinsbaile Borderguard and Lockjaw Snapper.
- Vasiliy added Import picture functionality (allowing importing of pictures into Forge from a local drive) more details on: viewtopic.php?f=52&t=1920&start=45
- Vasiliy added a mirror for the HQ pics.
- Vasiliy added probability of drawing a card in the Deck Analysis menu.
- Chris updated Disciple of Kangee.
- Chris added Snow-Covered lands to the Quest starting pool.
New cards:
Some of the highlights:
- The Tabernacle at Pendrell Vale and Magus of the Tabernacle.
- Arid Mesa, Marsh Flats, Misty Rainforest, Scalding Tarn, Verdant Catacombs, Bloodstained Mire, Flooded Strand, Polluted Delta, Windswept Heath, Wooded Foothills (I used Terramorphic Expanse to code these cards: they are unfortunately not usable by the AI as a result).
- Goblin Piledriver, Flame Rift,
- Spectral Bears, Spectral Force.
- Pianna, Nomad Captain.
- Crypt Cobra, Swamp Mosquito, Suq'Ata Assassin.
- Donate, Illusions of Grandeur.
- Karmic Guide
- Avalanche Riders
- Vaevictis Asmadi, Palladia-Mors, Nicol Bolas.
- Goblin Patrol, Goblin Marshal, Mogg War Marshal.
- Deranged Hermit.
- Albino Troll, Pouncing Jaguar, Multani's Acolyte, Lightning Dragon, Herald of Serra, Henchfiend of Ukor, Goblin War Buggy, Cradle Guard, Citanul Centaurs, Albino Troll, Acridian.
- Stasis, Gush, Chronatog, Kismet, Frozen AEther, Loxodon Gatekeeper.
- Thwart, Force of Will, Ensnare.
- Force of Nature, Cosmic Horror.
Rob extended some of his keyword functionality, which allowed for a lot of extra cards also.
Triadasoul added:
- Carnophage and Sangrophage.
- Prowess of the Fair, Bridge from Below.
Special thanks to Marek for compiling the Echo/Upkeep card list!