From 0dc4966800eb1b9b46e311feeab4e23897c9ff60 Mon Sep 17 00:00:00 2001 From: jendave Date: Sun, 7 Aug 2011 01:40:07 +0000 Subject: [PATCH] - Updated the changes.txt file. Not finished at this time. --- CHANGES.txt | 700 ++++++++++++++++++++++++++-------------------------- 1 file changed, 347 insertions(+), 353 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index ead625e7d28..a2c69f25a34 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,15 +1,29 @@ -Forge 05/31/2011 (unofficial BETA) version +Forge 06/13/2011 (unofficial BETA) version (Quest icons used created by Teekatas, from his Legendora set http://raindropmemory.deviantart.com) -8131 cards in total. +#### cards in total. -This version is based upon the revision # 9116 which is found on our SVN. +This version is based upon the revision # #### which is found on our SVN. -We have fixed some bugs, added some new cards, improved the AI in the draft mode, revised existing quest opponent decks and added new opponents, improved the AI's attacking and blocking code and improved the border around card images displayed in the new GUI battlefield. +This version includes some new cards, bug fixes and a few new quest opponent decks. The developer mode at the new game window gives us a few new features to this option. These new features will primarily interest the devs as it will now help to test out specific cards while testing combat code changes. + +We are working on a new Maven system of building the project and the OS specific archives that we release with each beta. The Maven script will help to automate the process and should require less time to prepare the beta releases. + +We have added a new section to the readme.txt file and it states: + +"The server which contained the high quality card pictures is now off line and these high quality card pictures are no longer available as a download from within the forge application. We apologize, but the current dev team do not maintain this server and this matter is out of our control. + +Some people are choosing to re-download all of the low quality card and card set pictures when they install the next version of forge. This consumes large amounts of bandwidth needlessly. + +The server containing the set pictures is limited to 30 gigs per month. At the current rate the server will hit the maximum of 30 gigs per month long before we reach the end of the month. Please be careful! + +When you install the new version of forge find the forge/res/pics/ folder. Either move it or copy and paste the pics folder over to the recently installed new version of forge. This way you will only have to download the pictures for the new cards. + +This should save enough bandwidth that everyone will be able to download the new set pictures from the cardforge server. We do appreciate your efforts to save bandwidth." I found a utility to remove the hidden Mac-related files. I removed the ".SVN" and the /res/lib/ folders from this archive as they are not needed. We have changed the archiving format to ".tar.bz2" since this may help to store the file permissions for the Mac OS X launcher. There are utilities for Windows, Mac OS and the various *nix's that can be used to decompress these archives. @@ -28,367 +42,347 @@ Your decks can be placed in the decks folder, your pics can be placed in the pic Fixes/Features: -- Updated the mana base of some decks. -- Fixed some more instances of First Strike with a lower case "s" -- Added a Drawback to AF_Regenerate. -- Fixed a couple of Java warnings. -- Added a DB$UntapAll. -- Fixed Sword of Feast and Famine. -- Added the decks Demon 3, Green Arrow 2 and Optimus Prime 3 by Corwin. -- The AI will no longer cast permanents with flash before the humans Declare Attackers step. Surprise! -- Fixed Morbid Bloom, it will now "put X 1/1 green Saproling creature tokens onto the battlefield, where X is the exiled card's toughness." -- The AI will equip equipment earlier. -- Added AF_FlipACoin (put in AbilityFactory_Clash.java for now; maybe these all go to an AbilityFactory_Chance.java or something like that) -- Converted Bottle of Suleiman to AF. -- Converted Stitch in Time to AF. -- Removed old-style drawback checking in a few places. -- Minor AI improvement in AF_Animate. -- Made types and power/toughness overwritable in stAnimate. Two steps closer to Lignify actually being an aura. -- Added Tom Bombadil 3 deck by Corwin. -- Fixed Dormant Sliver. -- Added Ezio 3 deck by Corwin. -- Converted Dauntless Escort to AF_Effect. -- Cleanup in Phase and MagicStack. -- Removed WheneverKeyword code. -- Converted Overwhelming Intellect to AF_Counter. -- Addidtional WheneverKeyword cleanup. -- Fixed Lavamancer's Skill. -- The AI will now play pump abilities on attackers after blockers have been declared. The AI has still a long way to go to pump correctly. -- Bigger update of the AF Pump AI. -- Fixed Psionic Sliver. (Again) -- Generic aura code now filters out things it can't target for the AI. -- Added newlines to the end of the easy.txt medium.txt and hard.txt quest files. -- Fixed Caltrops and probably others that use certain triggered-variables. -- Fixed the stack description of AF_Destroy. -- Code simplifications in CF_Auras. -- Code simplifications in Spell_Permanent.java. -- Converted Mirri the Cursed to triggers. -- Added Redwall 2 deck. -- Converted Opt to AF_Dig. -- Replaced the Superman 1 and 2 decks with a non-Sliver Superman 3 deck. +- Completed the initial implementation of the Setup Battlefield dev command (it uses an external file dev_battle.txt in the root folder of MTG Forge as data for how to set up the battlefield situation). +- Removed Chronicles (CHR) from the list of possible block drafts for now (see the discussion at the forum). +- Added a possibility to preserve human/AI life amount in the Setup Battlefield dev command. +- Changed the initialization of the number of each rarity in a pack. This fixes pack files that do not explicitly state the card count for a particular rarity causing the draft to crash. +- Maven build files. Can create Mac App bundle. +- Fixed Drafting Alpha and Beta - incorrect set codes in SetInfoUtil and the pack files. +- The AI will now anticipate regeneration abilities. +- Improved the AI of curse pump etb abilities. +- Improved the AI of untap triggers. +- Added "SVar:RemAIDeck:True" to Blaze. +- Fixed some Java warnings. +- Removed SVar:RemAIDeck:True from Blaze (and several other AF_DealDamage Cost$ X spells) since the AI can infact pay the X portion to damage a creature or the human. +- Small Tweak to AF_Damage to not allow AI to pay more than max mana. +- Converted Dawnglare Invoker to Ability_Activated. +- Ran Set Info Script. +- Deleted an unneeded file that accidentally went into the last commit. +- Updated the Setup Battlefield functionality: made the dev_battle.txt format more intuitive, added an ability to add cards into the human and computer graveyards. +- Fixes, Updates and Ordering in CombatUtil and ComputerUtil. +- Added AI checks for regeneration in AF Destroy and DealDamage. +- Added an easy version of the Fin Fang Foom deck. +- Converted Jackal Pup and Shinka Gatekeeper to script. +- The Setup Battlefield command now allows to open a file through a standard file open dialog, so you're no longer limited to the file name dev_battle.txt. +- dev_battle.txt is no longer required for Setup Battlefield because the facility allows to open a custom-named text file through a standard file open dialog now (since r9136). +- Added P/T to Walker of Secret Ways. +- Added some SVars. +- Converted a few Instants to the standard Spell/Target/Cost system. +- Cost was passing wrong param for Instants. +- Fixed the LQ pic URLs for Coral Fighters, Cruel Fate and Eye Spy. - Ran set info script. -- Code simplifications in CF_Instants. -- Added ValidTarget$ Opponent to Snake Umbra. -- Finished the plumbing in stAnimate for Lignify to become an Aura. -- Opdated stAnimate cards with the new parameter for stAnimate keyword. -- Converted Lignify to an Aura with a little script-fu! -- Added option to "keep supertypes" in the stAnimate keyword. -- Made sure that state-based effects are checked when a land is played by either player, not just the computer. -- Fixed the type of Reaper of Sheoldred. -- Fixed Defined$ for Fervent Charge. -- Fixed Type for Sensor Splicer. -- Cleaned up some unused functions. +- Refactored the Setup Battlefield dev command: moved the code to GuiDisplayUtil.java. +- Code simplification in Wall of Reverence. +- Added Player and Activator objects to SpellCast trigger; convert Forced Fruition to triggers. +- Some code fixes. +- Removed a couple un-needed imports. +- Several code simplifications in CF_Sorceries. +- Fixed logic change bug in Pulse of the Tangle. +- Added the requirements "OppPoisoned" and "OppNotPoisoned" to stPump. +- More code simplification in CF_Sorceries. +- Several code simplifications in CardFactoryUtil.java. +- Maven build. Can create Mac dmg and bzip, Windows exe file, bzip for Windows and Linux. +- Converted some etb "Put -1/-1 Counter on target" AF's to DB's. +- War Report will now count artifact creatures twice. +- Fixed rarity of Postmortem Lunge. +- Ran set info script. +- Code simplification in CF_Creatures and CF_Instants +- Maven build - fix plugin repo. +- Fixed the TableSorter.getRarity() method and it should now be compatible with the new set info. As a bonus, the new cards won in quest mode may now appear at the top of the list rather than requiring you to scroll down to the bottom of the listing. +- Corrected the rarity typo found in the SetInfo line for the cards Backlash and Rabble-Rouser as they were sorting to the very end of the card list with the table sorter fix. - Code simplifications in CF_Creatures. -- Deleted some unused files. -- Similar clean up. -- Made some code improvements. -- Converted Energy Tap to script. -- Small step towards being able to script-only Mana Drain. -- Updated the Betty Rubble 3 quest deck. +- Converted some hardcoded cards to Cost/Target. +- Added an optional condition and description to etbCounter. +- Converted cards with "If CARDNAME was kicked, it enters the battlefield with X +1/+1 counters on it." to etbCounter. +- Maven build: moved OSX build into profile so it does not build under Linux/Windows. Fixed permissions on executable files. +- Cleanup in GameActionUtil. +- The AI will now also anticipate targeted regeneration abilities. +- Added 4 cards with "If CARDNAME was kicked, it enters the battlefield with X +1/+1 counters on it.". +- The AI will no longer play legendary lands if it controls one with the same name already. +- Converted Infernal Kirin to script. +- Fixed Celestial Kirin. - Ran set info script. -- Fixed Promise of Power. -- Added the missing "SVar:RemAIDeck:True" to a few charm like spells. -- Converted Phyrexian Rebirth to script. -- Fixed the token name created by Hunted Dragon. -- Converted Lorthos the Tidemaker to script. -- Converted March of Souls to script. -- Converted Goblin Guide to script. -- Doomgape is not correct. It can not be scripted at this time. -- Fixed a couple java warnings. -- Fixed duplicate text in Mindculling. -- Fixed Akki Coalflinger. -- Improved AI of Pyrohemia and Swans of Bryn Argoll. -- Make use of AbilityFactory.playReusable in AF AlterLife. -- Code simplification in CF_Sorceries. -- Another small step towards Mana Drain script-only. -- The AI will use ZoneAffecting more often at the end of human turn. -- Converted Overwhelming Forces to script. -- Work towrds getting Haunting Wind scriptable. -- Let AF_CounterMagic use Remember. -- Added barebones beginnings of AF_DelayedTrigger. Only usable as a subability, no AI. Nothing uses it yet. -- Older Core Set cards (Unlimited-9th), Portal, Chronicles, and Starter cards are now displayed with white borders. -- Updated James Bond decks. -- Added Riddler 3 deck. -- Fixed Overgrown Battlement. -- Added SVar:RemAIDeck:True to Saltfield Recluse. -- Added Coiling Oracle to some quest decks. -- Fixed Amulet of Vigor triggering from the library. -- Added stPreventDamage keyword. Only Player/You supported at the moment. -- Converted some cards. -- Converted Urza's Armor and Guardian Seraph to stPreventDamage. -- Added a parameter to stPreventDamage keyword for creature protection. -- Converted some cards. -- Completed conversion of Energy Storm. -- Fixed Hobble. -- Reverted Portal and Portal Three Kingdoms to black border because authoritative sources say they are black-bordered editions. -- Updated the white borders patch yet again - PTK is a white-bordered edition (source: magiccards.info) -- Converted Invincible Hymn to script. -- Added Fin Fang Foom decks by Corwin. -- Added AbilityFactory_PreventDamage. Works only on creatures at the moment. -- Added Anoint. -- Converted Conqueror's Pledge to script. -- Added Hans 3 deck. -- Added King Goldemar 1 deck. -- Added player targeting support to AbilityFactory_PreventDamage. -- Converted Traumatize to script. -- Improved the AI and stack description of AF PreventDamage. -- Converted Acidic Soil to script. -- Renamed Anoint. -- Converted Nature's Resurgence to script. -- Adjusted the card Invincible Hymn. -- Converted All Hollow's Eve to script. -- Removed extra spaces. -- Converted Decree of Justice to script. -- Converted Biorhythm to script. -- The AI will no longer tap creatures as ability costs before blocking enemy creatures (for certain AFs). -- Converted Flamebreak to script. -- Added Conditions to AF. Currently only for Damage, and the AI does not take Conditions into consideration. -- Convert Molten Rain to Condition. -- Convert Hexmage to Modern Cost/Target. -- The AI will no longer chump block when he controls cards like Ali from Cairo, Platinum Angel or Platinum Emperion. -- Convert a few cards to Modern Cost/Targeting. -- Converted Doomsday to script. -- Another little update to lifeInDanger. -- Converted Cruel Ultimatum to script. Thank the gods for SubAbility. -- Added Condition to AF Draw. -- Converted Choking Sands to script. +- Fixed AF GainControl setting summoning sickness when control doesn't actually change. +- Fixed some AF GainControl cards. +- Some cleanup of modified classes. +- The AI will now only use sacrifice costs, if the card itself will be sacrificed (for cards like Seal of Removal) or a preferred sacrifice is present (Hatching Plans). +- Added Shrek 1 deck. +- Updated sacrifice cost AI in more AF's. +- Added special AI for Skullclamp. +- Converted Oubliette to script (its implementation was and still is incomplete) and removed its rarity. +- Fixed spell description in Vaevictis Asmandi. +- Fixed Nihil Spellbomb. +- Fixed Cumulative upkeep for the AI. +- Fixed the -1/-1 counter theme. +- Fixed activation cost for Minotaur Illusionist +- Ran set info script. +- Fixed Perish the Thought. +- Maven build - Windows icon matches Mac icon. Tokenized forge.sh. +- Converted Reiterate to script. +- Some more converting to Cost/Target classes. +- Remember can now handle Targeted Players. +- Converted Laquatus's Champion to Script. +- Converted the CF_Planeswalker stuff to Cost/Target; some improvements; some code simplifications. +- Some more prep work for United Targeting front. +- Converted Goblin Skycutter to Cost/Target system. +- Code simplifications in Cost_Payment.java. +- Code simplifications in CombatUtil and ComputerUtil. +- Converted Plague Rats to script. +- The AI will now anticipate DamagePrevention abilities. +- Removed rarity of Do or Die. +- Ran set info script. +- Little improvement of equipping AI. +- Added basic AI checks to AF PumpAll. +- Code simplifications for getting various CardLists. +- Eased the runaway safety measures of the AF Token AI (for Thopter Foundry and other reusable token generators). +- Minor simplifications in GameAction.java. +- More AI improvements in AF Token. +- Converted Sorcerer's Strongbox to script. +- Converted Fork, Reverberate, and Twincast to script. Note that Fork keeps the same functionality it had in the code. +- Maven build, fix version number. +- Added the option "UntilEndOfCombat" to AF Pump. +- Maven build, ignore some files generated by release plugin. +- Fixed LQ pic for Murk Dwellers. +- Various code simplifications relating to CardLists in GameActionUtil and CardFactoryUtil. +- Fixed the non-functional CardFactoryUtil.enPumpCurse_Enchant.canPlayAI(). The list.filter was failing to remove cards from the list that are inappropriate targets for the cursed aura. +- Ran set info script. +- Little AI update for AF Untap. +- Converted Tithe to script. +- Added the code for Hidetsugu's Second Rite back into CF_Instants. +- Converted Gift of Estates to script. +- Various code simplifications in CardFactoryUtil.java. +- Converted Identity Crisis to script. +- Minor code improvements. +- Some code cleanup in ComputerAI_General. +- Ran set info script. +- Small fix Vendilion Clique. +- Code simplifications in GameActionUtil.java. +- Text update for Standstill. +- Simplified the enPumpCurse canPlayAI bug fix code. +- Some card.txt fixes. +- Small fix Dread. +- Added Condition to AF ChangeZone. +- Converted Gift of Estates. +- Fixed power of Scalding Salamander. +- Added the ability to specify library content to the Setup Battlefield Dev Mode option. +- Simplified the code found in forge.card.cardFactory.CardFactory_Auras. +- Code simplifications in GameAction.java. +- Simplified the code found in forge.card.cardFactory.CardFactory_Creatures. +- Simplified the code found in forge.card.cardFactory.CardFactory_Equipment. +- Simplified the code found in forge.card.cardFactory.CardFactory_Planeswalkers. +- Simplified the code found in forge.card.cardFactory. +- Simplified the code found in forge.card.cardFactory.CardFactoryUtil. +- Improved the AI of PutCounter AF. +- Made the Setup Game State text file format not dependent on the line order, now the format is more free and allows only certain lines to be present in the file. The lines that are absent in the file will be set to the default value that makes no changes. +- Renamed Setup Battlefield to Setup Game State as the function slowly outgrows its initial usage. +- Fixed a bug in the graveyard and library processing in Setup Game State that caused the cards added to human library and graveyard be registered as AI cards that caused a number of weird side effects. +- Made the way Setup Game State modifies the graveyard consistent with that of the hand and the library (now the graveyard gets replaced with the cards specified in the game state setup file). +- Added the ActivePlayer option to Setup Game State, it supports two values: Human and AI. It immediately switches control to the given player. Note that it does not change the current phase for now. +- A little cleanup in GuiDisplayUtil after making modifications to Setup Game State. +- Category names in Setup Game State are now case-insensitive. +- Setup Game State will now look for text files in the Forge directory instead of the system user directory (maybe it's worth creating the "tests" folder or something like that where to pile up test cases for various cards?) +- Simplified the code found in forge.gui.game.cardDetailPanel and forge.gui.input.Input_Attack. +- Simplified the code found in forge.gui.game.cardDetailPanel and forge.AllZoneUtil. +- Simplified the code found in forge.Card. +- Simplified the code found in forge.CardList. +- Simplified the code found in forge.CardListUtil. +- Simplified the code found in forge.Combat. +- Simplified the code found in forge.CombatUtil. +- Simplified the code found in forge.ComputerAI_General and forge.ComputerUtil_Attack2. +- Simplified the code found in forge.ComputerUtil_Block2 and forge.ComputerUtil and forge.DefaultPlayerZone. +- Simplified the code found in forge.EndOfTurn and forge.GameAction. +- Fixed Rarity of Scorched Ruins. +- Simplified the code found in forge.GameActionUtil. +- Text fix for Timetwister. +- Simplified the code found in forge.GuiDisplay3 and forge.GuiDisplay4 and forge.PhaseUtil and forge.Player and forge.ComesIntoPlay. +- Setup Game State now supports changing the current phase via the ActivePhase option (valid values are Untap, Upkeep, Draw, Main1, Declare Attackers, Declare Blockers, Main2, End of Turn, Cleanup). +- Fixed description of Sylvok Lifestaff. +- Maven build: fix release and deploy goals. +- Improved the AI of AF PumpAll. +- Setup Game State no longer requires the "END" tag in the end of the state setup files. +- Added an ability to add comments (preceded with "#") to the state setup files. +- Removed duplicate descriptions from some auras. +- Added Atomic Robo 3 deck. +- Fixed logic error in the AI part of unless cost counterspells. +- Reverted last commit. +- Simplified the code found in forge.Card and forge.CombatUtil. This should finish the conversion of getKeyword().contains(string) to hasKeyword(string). +- Fixed Titan's Revenge. +- Added the option DestinationAlternative to AF ChangeZone. +- Converted Dream Cache to new style DB. +- Removed doDrawBack function. +- Converted Teferi's Puzzle Box to Script. +- Added the ability to change Exile areas through Setup Game State (option names are HumanCardsInExile and AICardsInExile). +- Added some observer update commands to Setup Game State to make sure that the actual data about the number of cards in all areas are shown after the game state is modified. +- Cleanup after doDrawBack. +- Added the optional ability to specify a set for each card spawned through Setup Game State - for example, just Forest will spawn a "Forest" card using the last set available for it, while Forest@4ED will spawn a "Forest" card from the 4th Edition. +- Refactored the Setup Game State code (moved the repetitive code block out into a separate function, simplified the code). +- Moved SetInfo lists to external files. +- Bugfix in reading data files. +- Fixed triggers acting oddly when Setup Game State moves cards around. +- Fixed indexes. +- Fixed tokens vs ChangesZone triggers. +- Added some previously missed observer update calls to Setup Game State. +- Added RememberChanged in ChangeZoneHidden for Jeff. +- Centralized condition check and calling subabilities in AF resolve. +- Fixed misspelled method call in new Booster Draft generation code. +- Added NPH booster pack definition. +- Small fix. +- Code cleanups. +- Simplified the code found in forge.card.cardFactory.CardFactory_Auras and forge.card.cardFactory.CardFactory_Creatures. Updating c.getType().contains(string) to c.isType(string). +- Simplified the code found in forge.card.cardFactory.CardFactory_Lands and forge.card.cardFactory.CardFactory_Planeswalkers. Updating c.getType().contains(string) to c.isType(string). +- Simplified the code found in forge.card.cardFactory.CardFactory_Soceries and forge.card.cardFactory.CardFactory. Updating c.getType().contains(string) to c.isType(string). +- Defining the set code for Setup Game State is now consistent with the deck file format (e.g. Forest|4ED instead of the previously used Forest@4ED). +- Fixed issue with GainControl. +- Small fix. +- A little cleanup in a couple AFs. +- Ran Set Info script. +- Added AWAKENING counters. +- Added M1M1/P1P1 counters exchange to addCounterFromNonEffect. +- Changed damage from a source with Wither/Infect to use addCounter and not addCounterFromNonEffect. +- Little cleanup in AF GainControl. +- Fixed Pith Driller. +- Converted Rootwater Thief to script. +- Moved Unless cost to AbilityFactory making it available for all AFs. +- Added text to Drake Umbra. +- Cleanup in AF_CounterMagic. +- Fixed the duplicate text issue on a number of cards. - Updated some SVars. -- Fixed AI of Echoing Courage. -- Added some text. -- Fixed Surge Node. -- Fixed Type of Sage Aven. -- Fixed Khalni Gem. -- Fixed Show and Tell. -- Ran Set Info Script for new cards. -- Fixes for Auras not running LeavesPlayCommand. -- Fixes the "LastKnownInfo" bug we were having. -- Adding NPH temporarily into the Standard until Rob gets the super generic version of it working. -- Bugfix: Fix Logic in when to copy a Card. -- Replaced the older Jack Sparrow decks with the new Jack Sparrow 2 deck. -- Added Condition to AF Discard, Mill, Shuffle, DestroyAll. -- Fixed Bogardan Hellkite. -- Added SVar:RemAIDeck:True to cards with sacrifice as a cost for an triggered ability. -- Fix related to ChangeZone for Lands not ETB tapped. -- Added Condition to AF Destroy. -- Non-creatures can now use Sacrifice costs in AF_Destroy. -- Fixed Mortarpod until I figure out the big picture with Living Weapons and static equipment pumps. -- Added Condition to AF Sacrifice. -- Updated a subability of Cruel Ultimatum. -- Fixed Dark Temper. -- Fixed Sarkhan the Mad, the dragon token should now be red. -- Ran Set Info Script. -- Updated some tribal quest decks. -- Added a medium version of Samwise Gamgee. -- Fixed Ragged Veins. -- Ran Set Info Script. -- Fixed a Bug with Lead the Stampede being played by AI. -- Fixed Imperial Hellkite. -- Improved clarity of Dire Undercurrents' abilities. -- Updated Silver Surfer 3 deck. -- Added Sun Quan 2 by Corwin. -- Updated Wolverine 3 deck. -- Fixed Hannah, Ship's Navigator. -- Fixed Excommunicate being a Sorcery. -- Added Electro 2 by Corwin. -- Added Condition to AF GainLife, LoseLife, Poison and SetLife. -- Tokens are now briefly added to non-battlefield zones in order for cards like Fresh Meat or Asmira, Holy Avenger to work correctly with them. -- Amended the Zuberas. -- Gave Sprouting Phytohydra Defender back. -- Made Sprouting Phytohydra's trigger optional. Pretty sure that's the last thing I forgot to do to that card. -- Converted Ancient Runes to script. -- Ran Set Info Script. -- Updated Twitch's mana cost. -- Fixed Hagrid 2 deck. Thanks Corwin. -- Updated Electro 3 deck. -- Converted The Tabernacle at Pendrell Vale and Magus of the Tabernacle to stPump. -- Fixed Upkeep costs for the AI + some restructuring. -- The AI will no longer pay for "At the beginning of your upkeep, destroy CARDNAME unless you pay " if the creature is indestructible. -- Added a hard version of the Gimli deck. -- Made Gimli 2 a little less powerful. -- Added AI to AF Dig. -- Added some text. -- Added SVar:PlayMain1:TRUE to Jund Hackblade. -- Removed SVar:RemAIDeck:True from Faerie Mechanist. -- Improved prompt of AF Dig. -- Improved AI of AF Dig. -- Converted Lurking Informant to script. -- Ran Set Info Script. -- Fixed Epic Struggle. -- Added a deck description for Spiderman 3. -- Modified Thran Forge. -- Removed most artifact lands from Seabiscuit 1. -- Added Condition to PutCounter, PutCounterAll, RemoveCounter, LosesGame, WinsGame. -- Added SVar:RemAIDeck:True to the five lair lands and to Gemstone Mine. -- Ran Set Info Script. -- Added a new Jack Sparrow 1. -- Added filtering for cards the AI shouldn't draft or build into the deck. -- Removed unused functions. -- Added the SVar NeedsToPlay. The AI won't play cards with it unless a valid card is on the battlefield. -- Updated the Lairs to use it. -- Added NeedsToPlay SVars to Heart of Yavimaya and Kjeldoran Outpost. -- Added SVar:NeedsToPlay to 18 more cards with "if you control no ..., sacrifice CARDNAME". -- Fixed AF ChangeZone Hidden targeting for human. -- Removed SVar:RemAIDeck:True from Prophetic Bolt. -- The AI will no longer reveal the picked card in AF Dig if every card is valid. -- The AI will no longer use Unearth after Main1. -- Fixed spells with AF FlipACoin. -- Moved ChangesZone trigger point to new zonechanging code. Fixes Mitotic Slime tokens. -- Ran Set Info Script. -- Added Dilbert 3. -- Removed Burnout. -- Fix for Suspend related to ChangeZone fixes. -- Fixed Apocalypse Hydra. -- Tweaked Spell Permanent to use Cost, and added a Constructor to take a Target for later use with Auras. -- Added some text. -- Added Conditional to CounterMagic. -- Fixed some incorrect SetInfos. -- Ran SetInfo Script. -- Fixing some errors -- Deprecated the old Targeting methods to make it easier to find all of the ones that need to be converted. -- Fixed Living Weapons not retaining equipped or equipping-info after copying. -- Corrected my Zubera amendment. -- Updated some decks with new cards, removed Gemstone Mine. -- Converted Wings of Velis Vel to script. -- Moved NeedsToPlay from SpellPermanent to Spell. -- Converted Gatekeeper of Malakir to script. -- Converted all cards with ETBLoselife to trigger. -- Commented out the ETBLoselife keyword and the AI things related to it. -- Fixed description of Strandwalker. -- Improved the AI of Flametongue Kavu. -- Added SVar:RemRandomDeck:True to Quest for the Goblin Lord. -- Improved the AI of more cards by converting etb AF's to DB's. -- Added more AI SVar's. -- Improved the Drawback AI of AF DealDamage. -- Fixed ExileFromTop and ExileFromHand costs for the AI. -- Updated some card text files. -- Added a copy of Mayael's Aria to Electro 3. -- Added some text. -- Fixed Astrolabe's text. -- Fixed Stoneforge Mystic. -- Fixed more cards like Stoneforge Mystic. -- Fixed Lurking Informant. -- Removed Ashnod's Cylix. -- Fixed more cards like Stoneforge Mystic (-G). -- Fixed more cards like Stoneforge Mystic (-P). -- Fixed more cards like Stoneforge Mystic (rest). -- Fixed more cards like Stoneforge Mystic (with Card.Self -B). -- Fixed more cards like Stoneforge Mystic (with Card.Self -G). -- Fixed more cards like Stoneforge Mystic (with Card.Self -K). -- Added some semblance of AI to AF_DelayedTrigger. Not sure how correct it is though. -- Fixed more cards like Stoneforge Mystic (with Card.Self -M). -- Fixed more cards like Stoneforge Mystic (with Card.Self -R). -- Fixed more cards like Stoneforge Mystic (with Card.Self -T). -- Fixed more cards like Stoneforge Mystic (with Card.Self rest). -- Fixed AI of AF DelayedTrigger. -- Fixed AI of Thawing Glaciers. -- Added Thawing Glaciers to two decks. -- Ran set info script. -- Rescripted Undergrowth. Used static effect this time. -- Added "IsTriggered" to hasProperty. -- Added an extra check to IsTriggeredX. -- Fixed some ETB destroy cards. -- Fixed the Pump on Barbed Sliver. -- Fixing Gitaxian Probe type. -- Ran Set Info Script. -- Cards' EnchantedBy and Enchanting info is now copied. Fixes Festering Wound NPE. -- Converted Mana Drain to script. -- Fixed two more changeszone self cards. -- Improved the AI of more cards by converting etb AF's to DB's. -- Added Scry to Condescend. -- Removed duplicate text for Mana Drain. -- Fixed two more changeszone self cards. -- More ManaDrain Cleanup. -- Improved the AI of Conquering Manticore by converting its etb AF to DB. -- Fixed some lost functionalities of AI blocking. -- Added another possible gang block to the AI's repertoire (to be expanded). -- Fixed Blood Moon and similar cards not removing the lands abilities. -- Trying to fix a crash in r9045-9046, feel free to revert/refix if I read the code wrong. -- Fixed clearAllButFirstSpellAbility and getAllButFirstSpellAbility if no abilities are present. -- Converted Jugan the Rising Star to script. -- Fixed several flaws in stAnimate. Now Blood Moon and friends will only change subtypes and leave land creatures their type and power/toughness. -- Converted Leyline of Singularity to script. -- Fixed Conversion and Glaciers. -- Convert Kaervek's Spite to script. We should probably add code in LoseLife to handle this card if we expect the AI to use it. -- Updated the Indiana Jones decks. -- Fixed Blood Moon and friends not removing keywords. -- Added the option OverwriteColors to stAnimate. -- Updated Ambush Commander. -- Updated Kormus Bell. -- Fixed CopyPermanent not setting the controller and owner of the token to the activator. -- More fixes in AF copyPermanent. -- Updated some card text files. -- Fixed Presence of Gond token types. -- Ran set info script. -- Little fix in the stack description of AF tap. -- Converted Level Up into an Activated Ability. -- Fixed Multikicker. -- CostPayment now handles SunBurst since Spell_Permanents now use Cost. -- More little improvements in AI blocking decisions. -- Reverted Conquering Manticore to AB. -- Updated the Data 3 deck. -- Added Coldsnap (CSP/CSP/CSP) to the list of possible block drafts. -- Experimental: Modified the classification of Snow-Covered lands in the ICE set to be Common. This may not be an accurate classification per magic-cards.info, but it allows Snow-Covered lands to be drafted in CSP/ICE/ICE, CSP/ALL/ICE, and ICE/ICE/ICE block drafts without having to give the player free access to large quantities of snow-covered lands (which would not be authentic either), and there is some information found online that some Ice Age boosters had snow-covered lands printed on Common sheets. If further discussion proves that this is too wrong or is not a good idea, feel free to revert/change as you see fit. -- Ran Set Info script for new cards. -- AI will use pump abilities of non-creatures that require a Sacrifice. -- Fixed a bug ComputerUtil_Block2. -- Fixed triggers being flushed too late when casting spells or proliferating. -- Made Flourishing Defenses' trigger optional. -- Added the conversion of Valakut, the Molten Pinnacle by jeffwadsworth. -- Converted Vendilion Clique to script. -- Added SVar:RemAIDeck:True to several cards. -- Ran set info script. -- Added SVar:RemAIDeck:True to some cards. -- Added the new quest decks Cave Troll 2 and Cave Troll 3. -- Ran set info script. -- Small text addition. -- Added Mandatory$ True to Stonecloaker. -- checkETBEffects will now check requirements (like Metalcraft). -- Converted some etb AF's to DB's. -- Added the decks: Hermione Granger 3, Princess Selenia 1, Ratbert 2 and Riddler 4. -- Fixed Warning and text of Panic. +- Little fix. +- Simplified code for Singe-Minded Ogre. +- Code tweak in CardFactoryUtil. +- Ran Set Info script. +- Code simplifications in Target.java. +- CardList.add -> addAll in a couple places. +- CardList.add -> addAll in a couple of more places. +- CardList.add -> addAll in a couple of more places. +- CardList.add -> addAll in a couple of more places. +- Code simplification in Player.java. +- Code simplifications in GuiDisplay classes. +- Fixed missing function in AllZoneUtil. +- Maven now creates a DMG file for OSX that has a background and drag-n-drop installation. +- Ignore *.tmp files in base directory. +- Fixed Soul Barrier. +- Ran Set Info script. +- Fixed to give AF_GainControl creature to original controller instead of automatically donating it to the opponent. +- Fixed creatures copied via Clone not having abilities. +- Update Google download labels. +- Code rearrangement out of AllZoneUtil. +- Ran Set Info script. +- Standardized the targeting part of AF_Counter to make it more closely match other AFs and prevent NPEs. +- Added some comments in AllZoneUtil. +- Converted Presence of the Master to script. +- Added Card.getCurSetURL method. +- Enabled use of SetInfo URL - if a card only has one picture then apply a 35% probability to download from provided URL, to cut down on cardforge.org traffic. +- Moved setDealtDmgToHumanThisTurn() and setDealtDmgToComputerThisTurn() to Cleanup in Phase.java. +- Incremental updates to Ant build.xml (still not fully working.) +- Ran Set Info script. +- Added AF_RegenerateAll. +- Converted Loxodon Hierarch and Wrap in Vigor to AF. - Updated some SVars. -- Updated evaluateCreature. -- Removed the menu command to download HQ pics since the HQ pics server appears to be offline. -- Ran set info script. -- Wistful Thinking should probably have both "SVar:RemAIDeck:True" and "SVar:RemRandomDeck:True" SVars. -- Fixing SetInfo for Soldevi Heretic and Undergrowth to account for multiple pics. -- Fix for a crash in Coldsnap draft (CSP/CSP/CSP) caused by the absence of standard basic lands in the CSP set (currently the basic lands are added from the 9th Edition core set, the set that was historically current at the moment when Coldsnap was released). -- Added RevealDiscardAll to AF_Discard. -- Converted Amnesia. -- Updated Wandering Goblins text. -- Converted Leeches to Cost/Target. -- Converted MercSearch to AFs. -- Corrected the rarity for Gelatinous Genesis. -- Gave Rage Nimbus an "IsCurse$ True" and it will now only target the human's creatures. Unfortunately, this still needs more work as the AI activates the Rage Nimbus ability during it's own turn. Card already has a remAI SVar. -- Added an "OptionalDecider$ You" to Angelic Benediction. -- Fixed the token image name for Gelatinous Genesis. -- A better and more universal fix for sets with no basic lands crashing after the draft is over. I added the fifth parameter to the set info in SetInfoUtil which defines where to take the basic lands from, the early sets which had no basic lands in them, such as Legends, will use the core set which was historically the latest at the moment of the set release; also, the Coldsnap draft will still use the 9th Edition lands since 9ED was the closest to Coldsnap. -- Lingering Delayed triggers are now removed at new game. -- Added a "Setup Battlefield" menu item to the Developer menu, currently doing nothing - to be expanded later for use to set up the battlefield for my AI experiments and improvement project. -- [WIP] More updates to the Setup Battlefield dev command, now allows to set specific cards for the human and AI hand, set up the specific human and AI life, and place specific cards on the battlefield. Not finished yet, does not yet register the cards on the battlefield properly for some reason. Will be fixed and updated ASAP. -- Minor documentation update for the Setup Battlefield dev command. -- Fixed state effects not being checked after Flameblast Dragons trigger as well as similar ones. -- Refactored the current Setup Battlefield code. Moved it to a separate method to clean up the menu creation function. -- Added some missing Legendary supertypes. +- "How To Play" is now part of the "Help" menu item. Fixes an issue on OSX. +- Fix "Help" menu in German. +- Changed the default of UnlessPlayer to TargetedController. +- Ran Set Info script. +- Added Flood counters. +- Added the option "Unique" to AF Effect. +- Improved implementation of Liege of the Tangle. +- Added a NumCopies param to AF_CopyPermanent. +- Converted Rite of Replication to AF. +- Fixed SubAbility stuff in Jolt and Muscle Burst. +- Made the "SVar=" part optional for SubAbility$ (now that all old-style drawbacks have been removed.) +- Fixed unix permissions. +- Added AF_AnimateAll. +- Fixed Nightcreep to use SP$AnimateAll. +- Updated SVar for Nightcreep. +- Updated Starting Quest Pool to have more cards. +- Ran Set Info script. +- Since the cardforge SVN repo has a non-standard layout (no trunk dir), had to add a tagbase to the release plugin. +- Converted Mirror Entity to AF_AnimateAll. +- Improved selection message for exileFromGraveType. +- Converted Scarblade Elite to AF_Destroy. +- Converted Venerated Teacher to triggers. +- Added AI mana pool. You can see its contents by mousing over the AI life. The AI still won't use the mana though. +- Added trunk directory. +- Moved googlecode upload profile. +- Fixed rarity of Graveborn Muse. +- Little fixes to card text files. +- Ran Set Info script. +- The AI will now use mana from the mana pool. +- Removed SVar:RemAIDeck:True from some cards. +- Fixed Goblin Tunneler's pump ability. +- Simplified the code found in forge.card.cardFactory.CardFactoryUtil and forge.card.abilityFactory.AbilityFactory_Animate. Updating c.getType().contains(string) to c.isType(string). +- Simplified the code found in forge.card.cardFactory.CardFactoryUtil and forge.card.spellability.Ability_Mana and forge.card.spellability.Spell_Permanent. Updating c.getType().contains(string) to c.isType(string). +- Simplified the code found in forge.AIPlayer and forge.CardListUtil and forge.CombatUtil. Updating c.getType().contains(string) to c.isType(string). +- Added targeting and Defined parameters to AF Mana. +- Fixed some cards with TapsForMana triggers. +- Fixed missing SVar on Jackal Pup. +- Fixed Elspeth, Knight-Errant pump ability lasting past EOT. +- Converted Gauntlet of Might, Overgrowth and Wild Growth to script. +- Removed extra pipe in Manabarbs. +- Converted Pit Scorpion to triggers. +- Tweak stack description for AF_Poison and code cleanup in AbilityFactory_AlterLife class. +- Simplified the code found in forge.GameAction and forge.ComputerAI_General and forge.ComputerUtil. Updating c.getType().contains(string) to c.isType(string). +- Simplified the code found in forge.GameActionUtil and forge.PlayerZone_ComesIntoPlay and forge.RunTest. Updating c.getType().contains(string) to c.isType(string). +- Updated isType("Aura") to isAura(). +- Moved window/linux build into profile to make the Maven install goal less time-consuming. +- Updated isType("Creature") to isCreature(). +- Updated isType("Enchantment") to isEnchantment(). +- Updated isType("Equipment") to isEquipment(). +- Updated isType("Instant") to isInstant(). +- Updated isType("Land") to isLand(). +- Gave googlecode upload tasks different name for each platform. +- Fixed AF_Token adding triggers to the created token. I was getting errors testing changes to Serpent Generator. Tested with Mitotic Slime and Skirk Ridge Exhumer, which are the only cards using this. They still work as expected. +- Converted Serpent Generator tokens to triggers. +- Retired the keyword "Whenever this creature deals damage to a player, that player gets a poison counter." +- Converted Dovescape to triggers. +- Updated isType("Planeswalker") to isPlaneswalker(). +- Updated isType("Snow") to isSnow(). +- Updated isType("Sorcery") to isSorcery(). +- Updated isType("Wall") to isWall(). +- Updated isType("Basic") to isBasicLand(). +- Little fixes in the AI mana paying. +- Converted Forbidden Orchard to script. +- Added AF_RemoveCounterAll. +- Converted Heartmender to triggers. +- A few xcount additions. +- Several small tweaks in AF_Counters. +- Cleanup in Ability_Mana.java. +- Ran Set Info script. +- Removed misnamed card. +- Small fix to Eladamris Vineyard. +- Small fix. +- Ran Set Info script. +- Added TriggerZones$ Battlefield to Gauntlet of Might. +- Removed two unneeded functions. +- Added TriggerZones$ Battlefield to two more cards. +- Added the option to use Y instead of X in hasProperty. +- Some preparations for triggered counter abilities with defined controlled by the AI. +- Fixed a regression that caused the booster draft mode to crash when a block with only one or two sets was chosen. +- Fixed Phyrexian Rebirth, it should only give you one X/X token. +- Fixed casting cost of Forced Worship. +- Fixed java warning in QuestStallPurchasable.java. +- Incremental changes toward Vesuva. +- Added a section to the readme file pertaining to card picture issues. +- Improved Clash stack description. +- Fixed Pulling Teeth and Springjack Knight. +- The AI will now check checkETBEffects before playing evoked creatures. +- Converted Counterbalance to script. +- Fixed a bug in the AI of AF Dig. +- Method name tweaking in AF_Pump for clarity. +- Small tweak in AF_Choose. +- Proper fix for drafting sets since the externalized set data. +- Ran Set Info script. +- Allowed the AI to play sorceries without PlayMain1 SVar in Main1 (timing should be handled by canPlayAI in the AF's). +- Added AF_Unpump for things like "target creature loses flying until end of turn". I will be tweaking the AI today. Many people helped with this version. A special thank you goes out to them: -Sloth -Rob Cashwalker -Slapshot5 -Friar Sol -Hellfish -Agetian -Jeff Wadsworth -Jaedayr -SoulStorm -Night Shadow -Chris H + Added many cards, including: -Abuna Acolyte Alabaster Wall Amulet of Kroog Anoint Argivian Blacksmith Aurora Eidolon Aven Redeemer Beast Hunt Benevolent Ancestor Blood Moon Call of the Wild Calming Verse Cerulean Wisps Chromescale Drake Clergy en-Vec Coiling Oracle Conservator Contaminated Ground Conversion Coral Fighters Cruel Fate Dark Temper Darkest Hour Dormant Sliver Dralnu's Crusade Edge of Autumn Energy Field Essence Flare Eye Spy Feast of Worms Filigree Fracture Ghostflame Sliver Giant's Ire Glaciers Gloomlance Goblin Grenadiers Goblin Vandal Godhead of Awe Iceberg Icequake Indigo Faerie Kithkin Healer Life and Limb Lush Growth Maddening Wind Magus of the Moon Mayael's Aria Momentary Blink Nature's Chosen Nature's Wrath Neurok Familiar Noble Benefactor Palliation Accord Parasitic Bond Peppersmoke Plumes of Peace Powerstone Minefield Precognition Ransack Rootgrapple Sage's Dousing Samite Healer Second Wind Skyscribing Soldevi Excavations Soldevi Heretic Soul Ren Spitemare Stream of Unconsciousness Stronghold Rats Surge of Thoughtweft Thawing Glaciers Thermokarst Thran Forge Thran Lens Titania's Song Undergrowth Viridescent Wisps Winter's Night Wu Spy Zoologist + end