Page 1 of 2

Forge 03/18/2011 (unofficial BETA) version

PostPosted: 18 Mar 2011, 12:46
by Chris H.
Forge 03/18/2011 (unofficial BETA) version

(Quest icons used created by Teekatas, from his Legendora set
http://raindropmemory.deviantart.com)

7594 cards in total.

This version is based upon the revision # 7720 which is found on our SVN.

Work continues on Ability Factory and Trigger. Hellfish and Slapshot have added additional code which allows additional cards using the Ability Factory code. Over 5200 cards now use the Ability Factory code via scripting. The forge JAR file has decreased in size over the last several months. Cards that used to require their own section of code to implement and now handled via scripting.

Rob continues to improve and bug fix the set info portion of Forge. You should now be able to download all of the various set pics via the menu command found at the new game window.

There are plans to include drafting by block/set and custom card pool. The deck errors seen in draft mode should be fixed in due course, once this groundwork is done.

We have a number of new cards and bug fixes with this new beta release. The quest portion of the project does not include any substantial changes to the quest mode. Several improvements to the computer's attacking and/or blocking code were made to this version. The AI will now predict the interaction of first strike and wither/infect. The AI should also block much better now if attacked for lethal damage.

Fnoed moved the source code files for the quest mode into packages over the last several beta release. This should help to make the project more organized. Sol moved additional non-quest source code files into organized packages for this release.

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.


Many people helped with this version. A special thank you goes out to them:

Rob Cashwalker
Slapshot5
Friar Sol
Hellfish
Sloth
Jeff Wadsworth
SoulStorm
ZzzzSleep
Zirbert
Jaedayr
jhhh
Replika
Chris H


Added many cards, including:

NEW CARD LIST | Open
Adder-Staff Boggart
Altar of Shadows
Ambush
Amphibious Kavu
Angelheart Vial
Angelic Shield
Aphetto Exterminator
Aphetto Vulture
Arbiter of Knollridge
Arc Trail
Atogatog
Balduvian Conjurer
Balduvian Frostwaker
Balduvian Rage
Bane of the Living
Bear Umbra
Bellowing Fiend
Biting Tether
Black Market
Blessed Wind
Blightsoil Druid
Blizzard
Bloodstoke Howler
Bog Hoodlums
Bog Serpent
Boggart Shenanigans
Brood Sliver
Bull Aurochs
Burden of Green
Cache Raiders
Call to the Grave
Caltrops
Captivating Vampire
Carnival of Souls
Cauldron Haze
Cauldron of Souls
Celestial Gatekeeper
Cenn's Heir
Chainbreaker
Chime of Night
Chimeric Egg
Chimeric Idol
Chimeric Mass
Chimeric Staff
Chronatog Totem
Chronosavant
Compost
Conjurer's Bauble
Coral Trickster
Cosi's Trickster
Crab Umbra
Crookclaw Transmuter
Crown of Flames
Cryoclasm
Cunning
Daily Regimen
Darksteel Brute
Daru Mender
Dauthi Mindripper
Deep-Slumber Titan
Defender of the Order
Destructive Flow
Detonate
Din of the Fireherd
Domestication
Dominus of Fealty
Doomgape
Dormant Gomazoa
Dreamborn Muse
Drowner Initiate
Drudge Spell
Dying Wail
Earthbrawn
Elder Mastery
Elvish Branchbender
Elvish Guidance
Elvish Promenade
Enslave
Esper Sojourners
Exile into Darkness
Fang Skulkin
Fatal Frenzy
Fatal Mutation
Fathom Seer
Fendeep Summoner
Festercreep
Final Revels
Fire at Will
Firewake Sliver
Fissure Vent
Fistful of Force
Flicker
Flint Golem
Form of the Dragon
Frontline Strategist
Fumiko the Lowblood
Funeral March
Gathan Raiders
Gaze of Adamaro
Genju of the Realm
Ghost Hounds
Gift of the Woods
Glint Hawk Idol
Glitterfang
Goblin Caves
Goblin Elite Infantry
Goblin Firebug
Goblin Shrine
Goblin Turncoat
Grafted Exoskeleton
Graveborn Muse
Grazing Kelpie
Greatbow Doyen
Grollub
Gruul War Plow
Guardian of Solitude
Hatchet Bully
Haunted Cadaver
Havoc Demon
Helm of the Ghastlord
Hidded Herd
Hidden Ancients
Hidden Gibbons
Hidden Guerrillas
Hidden Spider
Higure, the Still Wind
Hissing Miasma
Hoarder's Greed
Hobble
Hollowborn Barghest
Hoof Skulkin
Hostile Realm
Hunting Triad
Illuminated Wings
Ink-Eyes, Servant of Oni
Inner Fire
Intimidator Initiate
Iron Maiden
Jade Idol
Jawbone Skulkin
Jolt
Kamahl, Fist of Krosa
Kami of the Honored Dead
Kami of the Waning Moon
Karn's Touch
Kavu Predator
Kezzerdrix
Kiku's Shadow
Kiku, Night's Flower
Kinsbaile Balloonist
Kodama of the Center Tree
Kodama of the South Tree
Labyrinth Minotaur
Laccolith Grunt
Laccolith Titan
Laccolith Warrior
Laccolith Whelp
Lash Out
Leechridden Swamp
Leering Emblem
Liege of the Axe
Lingering Death
Lord of Shatterskull Pass
Luminous Wake
Lunk Errant
Lurking Skirge
Lust for War
Lys Alana Bowmaster
Magister Sphinx
Mark of Fury
Marker Beetles
Marshdrinker Giant
Martyred Rusalka
Matsu-Tribe Sniper
Merfolk Skyscout
Merrow Reejerey
Merrow Witsniper
Mind Swords
Mindlash Sliver
Mindwhip Sliver
Mishra's Groundbreaker
Mistblade Shinobi
Mitotic Slime
Mnemonic Sliver
Mogg Maniac
Morselhoarder
Mossdog
Nagao, Bound by Honor
Nantuko Tracer
Narcolepsy
Nath's Elite
Necrogen Mists
Necropolis
Needle Specter
Nefashu
Netter en-Dal
Neurok Prodigy
Nightmare Incursion
Nightscape Apprentice
Nim Abomination
Nim Devourer
Nim Replica
Noble Stand
Noggle Ransacker
Noxious Ghoul
Null Profusion
Nulltread Gargantuan
Oaken Brawler
Odylic Wraith
Off Balance
Okiba-Gang Shinobi
Omnibian
Opal Archangel
Opal Caryatid
Opal Champion
Opal Gargoyle
Opal Guardian
Orcish Veteran
Orim's Prayer
Orzhov Guildmage
Pain Kami
Paperfin Rascal
Pardic Arsonist
Patron of the Wild
Pattern of Rebirth
Pemmin's Aura
Phyrexian Driver
Phyrexian Negator
Pit Keeper
Plague Dogs
Poisonbelly Ogre
Pollen Lullaby
Presence of Gond
Primal Order
Pulling Teeth
Puppeteer Clique
Put Away
Putrid Raptor
Pygmy Kavu
Pyrostatic Pillar
Quicksilver Behemoth
Quilled Sliver
Rackling
Raid Bombardment
Rakdos the Defiler
Raking Canopy
Rank and File
Rashka the Slayer
Raven Guild Initiate
Raving Oni-Slave
Razing Snidd
Razor Hippogriff
Razorclaw Bear
Rebuking Ceremony
Recycle
Regal Force
Reito Lantern
Rekindled Flame
Reknit
Release the Ants
Repentance
Repercussion
Rescue
Revive the Fallen
Reward the Faithful
Riftwing Cloudskate
Righteous Cause
Rimewind Taskmage
Ringskipper
Rise of the Hobgoblins
Ritual of Steel
Roaring Slagwurm
Root Spider
Rupture
Rush of Knowledge
Rusting Golem
Saprazzan Bailiff
Sarcomancy
Savage Conception
Sawtooth Loon
Scarscale Ritual
Scion of Darkness
Scourge of Numai
Scourge of the Nobilis
Screeching Drake
Screeching Sliver
Scuttling Death
Sea Drake
Selkie Hedge-Mage
Serra Advocate
Serra Inquisitors
Serrated Arrows
Servant of Volrath
Shell Skulkin
Shepherd of Rot
Shifting Sliver
Shinka, the Bloodsoaked Keep
Shrieking Mogg
Sick and Tired
Skirk Marauder
Skirk Volcanist
Skittering Horror
Sky Hussar
Skyshroud War Beast
Slashing Tiger
Sleeping Potion
Slobad, Goblin Tinkerer
Slumbering Tora
Soilshaper
Soot Imp
Soratami Mirror-Guard
Soratami Mirror-Mage
Soratami Rainshaper
Soul Collector
Soul Link
Soul of Magma
Souls of the Faultless
Sparkcaster
Specter's Shroud
Spellgorger Barbarian
Spike Soldier
Spike Tiller
Spiritual Asylum
Spiteful Bully
Spring Cleaning
Springjack Knight
Stabilizer
Starved Rusalka
Stormfront Riders
Strength of Night
Subterranean Shambler
Sunstrike Legionnaire
Sword of Kaldra
Sword of the Paruns
Sylvan Safekeeper
Synapse Sliver
Tahngarth, Talruum Hero
Taj-Nar Swordsmith
Takenuma Bleeder
Tattermunge Witch
Tel-Jilad Wolf
Telekinetic Bonds
Teller of Tales
Temple of the False God
Teroh's Vanguard
Terrain Generator
Tethered Skirge
Thalakos Deceiver
Thoughtweft Gambit
Thran Foundry
Thunderblust
Thundercloud Shaman
Tidal Bore
Titan's Revenge
Toils of Night and Day
Tolarian Serpent
Torrent of fire
Toymaker
Tracker
Trained Cheetah
Traitorous Instinct
Treva's Charm
Tribal Golem
Triclopean Sight
Turnabout
Unstable Hulk
Vertigo Spawn
Viashino Bladescout
Vile Deacon
Viseling
Wall of Essence
Wall of Hope
Wall of Souls
Wanderwine Prophets
Warbreak Trumpeter
Warmonger's Chariot
Wicker Warcrawler
Windscouter
Wingbeat Warrior
Wirewood Channeler
Woodcloaker
Woodland Guidance
Wormfang Newt
Wormfang Turtle
Worry Beads
Xanthic Statue
Zombie Cannibal
Zombie Cutthroat


The links to the various archives:

The Forge 03/18/2011 archive (requires java 5, possibly java 6):

forge03182011.tar.bz2 (at MediaFire)

forge03182011.zip (13 MB) (at cardforge.org)


Forge 03/18/2011 BETA packaged as a Mac OS application:

Mac Forge 03182011.7z (at MediaFire)


The quest opponent icons (Same as the previous betas, unchanged):

Quest_Opponent_icons_02-14-2011.7z (at MediaFire)
.

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 18 Mar 2011, 12:46
by Chris H.
Fixes/Features:

FIXES / FEATURES | Open
- Added mode specific trigger parameters. They are: (Explanations in parenthesis)
AttackerBlocked = Attacker,Blocker
AttackerUnblocked = Attacker
Attacks = Attacker
Blocks = Attacker,Blocker
ChangesZone = Card(The card that was moved)
CounterAdded = Card(The card that got the counter(s))
Cycled = Card(The card that was cycled)
DamageDone = Source(The card that dealt the damage),Target(The card or player who recieved the damage),DamageAmount(The amount of damage that was dealt) [BEWARE: Since Target can be both a card or a player object, you must take care to match it with your ValidTarget parameter!]
Discarded = Card(The card that was discarded)
Drawn = Card(The card that was drawn)
LandPlayed = Card(The card that was played)
LifeGained = Player(The player who gained life),LifeAmount(The amount of life that was gained)
LifeLost = Player(The player who lost life),LifeAmount(The amount of life that was lost)
Phase = Player(The player whose turn it is)
Sacrificed = Card(The card that was sacrificed)
SpellAbilityCast = Card(The card of the spell or ability)
Taps = Card(The card that was tapped)
TurnFaceUp = Card(The card that was turned face up)
Untaps = Card(The card that was untapped)
To use a parameter, simply call it like this: "Triggered<Parameter Name>". To get the controller or owner of a card parameter, append Controller or Owner. For example: "TriggeredAttackerController".
Parameters that don't return an integer (i.e. the ones that have "Amount" in their name) can be used for Defined$ parameters or to get additional info from, a'la "SVar:X:TriggeredBlocker$CardPower".
Parameters that DO return an integer can only be accessed via Count$ like this: "Count$TriggeredLifeAmount".
- Updated all cards that use Triggered to their new respective parameters.
- Fixed four of "The Clockworks" not triggering on blocking.
- Fixed Cinder Wall. Should be destroyed at end of combat after blocking, not sacrificed.
- Added stack description for Tormod's Crypt and fix the canPlayAI.
- Converted Guan Yu, Sainted Warrior to triggers.
- Removed the "Triggered" accessor functions and storage from SpellAbility. It's no longer needed.
- Converted Doubtless One, El-Hajjaj, Horned Cheetah, Kjeldoran Gargoyle, Phantom Nishoba, Warrior Angel, and Zebra Unicorn to triggers.
- Forgot one case of trying to get a defined player with the new Triggered-variables.
- Converted Essence Sliver to triggers.
- Retired the keyword "Whenever CARDNAME deals damage, you gain that much life." Everything is converted to triggers.
- Converted Noble Purpose to triggers.
- Converted Sunhome Enforcer to triggers.
- Retired the keyword "Whenever CARDNAME deals combat damage, you gain that much life."
- Converted Armadillo Cloak, Spirit Link, Spirit Loop and Vampiric Link to triggers.
- Retired the keyword "Whenever enchanted creature deals damage, you gain that much life."
- Converted Guilty Conscience to triggers.
- Fixed the spell description for Sunken Ruins, now displays the correct mana colors that are produced.
- Ninjutsu abilities come into play being unblocked.
- Added AttackerUnblocked trigger back in.
- Permanents with alternative cost will now display their altCost in the CardDetailPanel.
- Minor fix to stPumpAll for Kashi-Tribe Elite.
- Simplified Battle Strain.
- Corrected Entropic Specter and Order of Yawgmoth.
- Ran set info script.
- Small text fixes.
- Converted Kashi-Tribe Elite, Kashi-Tribe Reaver, Kashi-Tribe Warriors, Matsu-Tribe Birdstalker, Mercurial Kite, and Orochi Ranger to triggers.
- Retired the keyword "Whenever CARDNAME deals combat damage to a creature, tap that creature and it doesn't untap during its controller's next untap step."
- Converted Filthy Cur, Ragged Veins, and Thrashing Mudspawn to triggers.
- Retired the keyword "Whenever CARDNAME is dealt damage, you lose that much life."
- Fixed spell cost for Unmask.
- Added a hacky option to Optional$ in TriggerHandler for TriggeredControllerDecides. convert Fecundity to triggers.
- Elixir of Immortality should only be shuffling my graveyard.
- Fixed a bug in ComputerUtil_Attack2.
- Fixed Channel UnlessCost$ for Ghost-Lit Warder.
- Updated some comments in AF_CounterMagic.
- Converted Anowon, the Ruin Sage to triggers.
- Converted Seizan, Perverter of Truth to triggers.
- Fixed double text on Seizan.
- Ran set info script.
- Converted Cunning Lethemancer to triggers.
- Converted Spiteful Visions to triggers.
- Fix for Defined$ in ChangeZoneKnown triggers not being properly checked for.
- Converted Font of Mythos, Howling Mine, Kami of the Crescent Moon, and Rites of Flourishing to triggers.
- Converted Overbeing of Myth to triggers.
- Added TriggerZones to Blade of the Bloodchief.
- Converted Mycoloth to triggers.
- Converted Verdant Force to triggers.
- Simplified and corrected some card text files.
- The AI will now take triggered abilities of the blocked creatures into account to predict P/T.
- The Trigger "AttackerBlocked" will now trigger only once no matter how many creatures block it (rule 509.4b). Triggered abilities with "becomes blocked by a creature" should use "Blocks" as trigger mode!
- Ran set info script.
- Fixed a NPE for triggers that belong to tokens.
- Fixed the DamageAll drawback of Volcanic Eruption.
- Fixed Twiddle and Twitch tap or untap decision to occur during resolution.
- Fixed a slight logic error in MagicStack concerning triggers.
- Added a TapOrUntap AbilityFactory where the decision is made on resolution.
- Converted Twitch and Twiddle to AF.
- Converted Tideforce Elemental and Trickster Mage to new TapOrUntap AF.
- Converted Teardrop Kami to proper AF.
- Converted Elder Druid to proper AF.
- Lifelink is a static ability and thus, should not use the stack.
- Converted Stonybrook Angler to proper AF.
- Converted Puppet Strings and Puppeteer to proper AF.
- Converted Pestermite to triggers.
- Converted Mind Over Matter to proper AF.
- Converted Hyperion Blacksmith to proper AF.
- Converted Fatestitcher to proper AF.
- Updated Vedalken Anatomist to use proper AF.
- Converted Ageless Entity to triggers.
- Converted Sword of Body and Mind to triggers.
- Changed visibility for some methods in AF_PermState for TapOrUntap.
- Converted Noggle Bridgebreaker and Orzhov Basilica to trigger.
- Retired the keyword "When CARDNAME enters the battlefield, return a land you control to its owner's hand.".
- Ran set info script.
- Converted Sword of Light and Shadow to eqPump. The trigger part doesn't work due to a suspected Input bug. The code is here, just commented out.
- Converted the "becomes blocked by a creature" triggers from AttackerBlocked to Blocks.
- The AI will now take more combat triggered abilities into account to predict P/T.
- Fixed Puppet Conjurer token type.
- Converted Crumble to newer style drawbacks.
- Converted Sword of the Meek to eqPump.
- Converted Avenger en-Dal, Clutch of the Undercity, Death Bomb, and Despoil to newer style drawbacks.
- Converted Hideous End, Last Breath, Nature's Claim, and Rakdos Ickspitter to newer style drawbacks.
- Added eqPump 2:0/0 to Umezawa's Jitte so it is completely scripted.
- Converted Sanguine Bond to triggers. Don't fire LifeGained trigger if Lich is in play for that player.
- Ran set info script.
- Converted Glint-Eye Nephilim and Cold-Eyed Selkie to triggers.
- Converted Cloudhoof Kirin to triggers.
- "Optional$" parameter for triggers is now "OptionalDecider$" which works as "Defined$" for players. Old "Optional$ True" is equivalent to "OptionalDecider$ You", old "Optional$ OpponentDecides" = "OptionalDecider$ Opponent" of course and instead of "Optional$ TriggeredControllerDecides" you can use any of the Triggered-variables that return a player.
- AF_Token's "TokenOwner$" parameter is now also a "Defined$"-like.
- Updated all cards that used either, 637 of them!
- Converted Anvil of Bogardan to triggers.
- Phyrexian Dreadnought is now Stifle-able. It's triggered ability hits the stack.
- Updated Cloudhoof Kirin and Cold-Eyed Selkie to OptionalDecider.
- Added the missing LQ picture URL for Wall of Souls.
- Tweaked Din of the Fireherd for the new TokenOwner parameter.
- Converted the last of the cards which use the keyword "When CARDNAME enters the battlefield, draw a card." to trigger.
- Commented out the code block for the keyword "When CARDNAME enters the battlefield, draw a card."
- The AI will value untapped creatures a little bit higher than tapped ones.
- Removed several strange characters appearing in the card text for several cards.
- Cleanup in ComputerUtil_Attack2.
- Fixed three cards that I broke.
- Fixed the LQ pic URL for Mnemonic Sliver.
- Converted Adventuring Gear to trigger.
- Fixed Adventuring Gear.
- Fixed Carrion Feeder.
- Added the missing description to Mind Ravel.
- Ran set info script.
- Added SVar:RemAIDeck:True to Raving Oni-Slave.
- Added a SetLife AbilityFactory. Mostly done by Sol, but I added a little more AI smarts. Add Blessed Wind and Magister Sphinx as an example.
- Fixed missing ability of Greater Forgeling.
- Fixed possible Indexing Exception in AI scrying.
- Added "Shuffled" trigger mode. Only Cosi's Trickster uses it in all of Magic atm, but you never know with those crafty wizards.
- Fixed Banshee's Blade not triggering on all combat damage dealt.
- Fixed Zhang Liao, Hero of Hefei. The discard ability was set up as a drawback rather than as a triggered ability.
- Added PicCount to SetInfo for Spore Cloud.
- First pass at an Animate AbilityFactory.
Remaining TODOs:
1. support X in power/toughness.
2. allow AI to target things for animate, 90% or more of cards would use Defined$ instead of targeting anyway.
3. some moderately advanced AI combat decisions.
4. enhance to be able to give abilities/triggers like AF_Token can.
- Converted Celestial Colonnade (most complete example) and Mishra's Factory as examples of AF_Animate.
- Improved AI blocking.
- Converted Horn of Greed to script.
- Simplified some card text files.
- Converted Halcyon Glaze to triggers.
- Converted Faerie Conclave, Forbidding Watchtower, Ghitu Encampment, and Treetop Village to AF_Animate.
- Simplified some card text files.
- Converted Stirring Wildwood and Stalking Stones to AF_Animate.
- Converted Jade statue to AF_Animate.
- Converted Blinkmoth Nexus, Creeping Tar Pit, and Inkmoth Nexus to AF_Animate.
- Converted Dread Statuary to AF_Animate.
- Converted Mutavault to AF_Animate.
- Tweaked Living Weapon's equipping their germs.
- Fixed Clashing during opponent's turn.
- Added AF_Clash. AI doesn't put much thought into it yet,though.
- Updated Research the Deep to AF.
- Added an Abilities$ Parameter to AF_Animate. It will look up an SVar, and give the animated being that ability as long as it is animated.
- Converted Spawning Pool to AF_Animate.
- Converted Howling Wolf, Nesting Wurm, Skyshroud Sentinel and Squadron Hawk to trigger + AF.
- Retired the keyword: "When CARDNAME enters the battlefield, you may search your library for up to three cards named CARDNAME, reveal them, and put them into your hand. If you do, shuffle your library."
- Added rudimentary stack description to AF_Clash.
- Fixed Captured Sunlight, Elemental Augury, Gilt-Leaf Seer and Otarian Juggernaut.
- Converted Lavaclaw Reaches to AF_Animate.
- Added ability to give triggers in AF_Animate.
- Converted Raging Ravine to AF_Animate.
- Converted Animate Land to AF_Animate.
- Fixed Wall of Souls pic URL.
- Added support for X power and toughness in AF_Animate. Also, made the Types param optional.
- Fixed Jackalope Herd triggered ability.
- Converted Karn, Silver Golem to AF_Animate.
- Fixed Recover keyword to only trigger if origin is battlefield.
- Fixed Grim Harvest.
- Fixed Crawlspace and similar cards.
- Fixed Warped Researcher.
- Ran set info script.
- Added "SVar:RemAIDeck:True" to some cards.
- Added PicCount to SetInfo for Guerilla Tactics, Mindstab Thrull, Necrite and Orcish Veteran.
- EndCombat Phase will always happen, allowing Jade Statue to revert properly.
- Added check for Shuffle Parameter to ChangeZoneHidden. Fixes See Beyond and possibly others.
- Cleanup for Ertai the Corrupted.
- Added code to check for folder existence and create if necessary.
- Added a 2.5 second pause to the download loop to alleviate the server a bit.
- Added a parameter to specify over-riding of types to AF_Animate.
- Added DamageSource$ parameter for AF_DealDamage. Added Repentance as an example.
- Fixed duplicate parameter in Halcyon Glaze.
- Converted Seed the Land to script.
- Fixed Sedraxis Alchemist.
- Added SVar:RemAIDeck:True to Carnival of Souls.
- Fixed Living Weapon, the tweak was backwards.
- Fixed combat damage distribution if damage is less than zero.
- Updated some card text files.
- Ran set info script.
- Updated some themes.
- Fixed PumpAll for Kodama of the South Tree.
- The AI will no longer use gain life abilities if the amount is zero or less.
- Fixed Evil Eye of Urborg.
- Fixed Caustic Crawler and Abduction.
- Fixed Dirge of Dread and Necroskitter.
- Fixed Hornet Cannon.
- Fixed Reveille Squad.
- Fixed Celestial Ancient.
- Converted Repay in Kind to SP$SetLife.
- Fixed mandatory triggers, when all valid targets have shroud etc.
- Fixed Stoic Champion, Esper Sojourners and Invigorating Boon.
- Converted Eternity Vessel Landfall ability to triggers.
- Added LQ pic URL and rarity to Angelheart Vial.
- Converted Svogthos, the Restless Tomb to AF_Animate.
- Converted Battlegate Mimic, Nightsky Mimic, Riverfall Mimic, Shorecrasher Mimic and Woodlurker Mimic to triggers.
- Converted Lifespark Spellbomb to AF_Animate.
- Tweaked in AF_Animate to only unequip if the animated being is no longer a creature after un-animation.
- Ran set info script.
- Added a new trigger mode for "Unequip".
- Added the actual thing to trip the trigger for Unequip.
- Retired the keyword "Whenever this creature attacks, put a +1/+1 counter on it."
- Converted Zhang He, Wei General to triggers.
- Converted Flowstone Charger, Goblin General, Pianna Nomad Captain, and Soltari Champion to triggers.
- Converted Nemesis of Reason to triggers.
- Converted Novablast Wurm and Pulse Tracker to triggers.
- Fixed Fizzling code for circumstances where MinTargets == 0 and NumTargeted == 0.
- Converted Jedit Ojanen of Efrava, Meglonoth, Perimeter Captain, and Shield Sphere to triggers.
- Converted Quagmire Lamprey to triggers.
- Fixed getDefinedX methods for Triggered-Variables to make sure Player objects don't get passed to places that expect Card objects and vice versa.
- Fixed AI attack hangup if all possible attackers would deal no damage.
- Ran set info script.
- Small correction in AF ChangeZone.
- Excluded Auras from Tempting Wurm and added a note to the trigger text.
- Fixed Electropotence.
- Fixed Rebel_Search to only grab permanents.
- Added checkStateEffects to addManaToFloating.
- Fixed AI for ExileFromHandCost.
- Made power/toughness not required for AF_Animate. This makes it useful as a drawback to change types or colors or stuff like that.
- Moved a bunch of the src files into organized packages.
- Added back in Sloth's changes that were missed during package creation.
- Added missing P/T to Outrage Shaman.
- Reverted time delay on Set Pictures so Rob's server doesn't asplode.
- Triggered abilities are no longer affected by costchangers.
- Added PicCount to SetInfo for Dwarven Soldier, Elvish Scout, Gift of the Woods, Homarid Warrior and Orcish Spy.
- Fixed a bug with building filenames with picture counts. Added time remaining estimation to progress bar. Pause is now random from .5 seconds to 1.5 seconds.
- Ran set info script.
- Fixed Lingering Mirage, now when cast the choose dialog will display the text for both the cycling ability and the enchant land ability.
- Converted AEther Membrane, Kaijin of the Vanishing Touch, and Wall of Tears to delayed triggers.
- Converted AF_Destroy to use Defined for Resolve. It was already using Defined for stackDescription. Add a note to Parallax Dementia.
- Converted Dread and No Mercy to triggers.
- Fixed minor error in combatTriggerWillTrigger().
- Converted Thicket Basilisk to triggers.
- copyCard() now also copies a card's triggeringObjects. Fixes delayed triggers that uses Triggered-Variables.
- Reorganized AF_Destroy's resolve slightly to prevent an NPE when used with Defined$.
- Added a checkStateEffects() call from Card.AddCounters(). Fixes Chimeric Mass's P/T not changing if,say, you proliferate while it's a creature. Probably fixes others that depend on non-Plus/Minus counters.
- Ran set info script.
- I did not forget a checkstateeffects call in subtractcounters before. You're just imagining things.
- Fixed NumDef$ in Raging Gorilla trigger.
- Fixed P/T and spell description for Spectral Shield.
- PerSetTracking.py was replacing "AE" with "Ae" when parsing Forge, but not when parsing mtg-data resulting is falsely missing cards.
- Fixed Miraculous Recovery, the counter should now be placed on the ruturned creature.
- AIs ChangeZoneKnown should now not give extra consideration to Tokens when Destination is Exile.
- The AI will now take "Attacks" triggers into account when planning attacks.
- Reseed Random before Shuffling in an effort to improve Card rewards in Quest mode. Was noticing many repeat rares being generated.
- Fixed text for Triskelavus.
- Ran set info script.
- Converted Morph costs to use Cost (new name of Ability_Cost).
- Converted Fervent Charge to script.
- Converted Charging Bandits, Fervent Charge, Hollow Dogs, Lurking Nightstalker, Ravenous Skirge, Vicious Kavu and Wei Ambush Force.
- Ran set info script.
- Added SVar:RemAIDeck:True to Barbarian Outcast.
- Added a way to count things about a targeted player like CardsInHand, LifeTotal, etc. More things can be added as the need arises. This would be for things like Storm Seeker, et al. Only hooked up in AbilityFactory right now.
- Added SetInfo to a few things.
- piggyback ExileFromHand and ExileFromGrave on getExiledCost() for purposes of calculateAmount().
- Updated some card text files.
- Ran set info script.
- Added a NumBlockers param to AttackersBlocked trigger.
- Fixed LQ pic for Screeching Drake.
- Converted Sparring Golem to triggers.
- Converted Elvish Berserker to triggers.
- Converted Berserk Murlodont and Spined Sliver to triggers.
- Converted Beastmaster's Magemark to triggers.
- Retired keyword "Whenever CARDNAME becomes blocked, it gets +1/+1 until end of turn for each creature blocking it."
- Added Defined$AttackingPlayer and Defined$DefendingPlayer.
- Converted Storm Seeker and Sudden Impact to SP$DealDamage.
- You can now count valid things for a "targeted Player" instead of just You. Basically, this implementation changes the context of "YouCtrl" SVar:X:TargetedPlayer$Valid Artifact.tapped+YouCtrl. I'm not sure if it's better implemented this way or if it should be implemented as Count$Valid Artifact.tapped+TgtCtrl (and be done right inside Card.isValid(...) ). Comments/other implementations welcome. Check Burden of Greed for an example.
- Fixed stack description for PutCounters not always displaying the correct target card names.
- Ran set info script.
- Vampire type from Captivating Vampire should be permanent.
- Triggers are now tracked by an integer ID so that the correct trigger object can be removed even after copying it, if need be. Fixes Raging Ravine.
- Fixed LandPlayed triggers not copying any OverridingAbility info. (not that we used any hardcoded LandPlayed triggers but still.)
- AF_GainControl now uses Defined$ Also fixed up the stack descriptions.
- Added AttacksAlone trigger with 1 TriggeringObject "Attacker".
- Reverted r7548 (Attacks can use Alone$ True).
- Converted Lunk Errant to Attacks trigger Alone$ True.
- Ran set info script.
- Updated and fixed some card text files.
- Fixed Fathom Seer's PT.
- Removed space in script.
- Small text addition.
- Added OverwriteTypes$ True to Lurking Skirge.
- Ran set info script.
- Fixed the LQ pic URL for Nagao, Bound by Honor.
- Fixed a bug in AF_Animate where colors were getting overwritten with nothing (colorless) if colors were not specified.
- Removed hardcoded stuff of Jedit Ojanen of Efrava.
- Fixed Psychotic Haze, the damage all cost is now 2 B B.
- Minor text edit to See Beyond, this may fix the reported bug, but I may just be half awake. :)
- Converted Silkenfist Fighter and Silkenfist Order to triggers.
- Converted Sacred Prey and Deepwood Tantiv to triggers.
- Converted Vedalken Ghoul to triggers.
- Converted Loyal Sentry and Alaborn Zealot to triggers.
- Fixed duplicate text on Spitting Hydra.
- Corrected the level up cost for Brimstone Mage.
- Ran set info script.
- Fixed Kezzerdrix.
- Added PicCount to SetInfo for Tahngarth, Talruum Hero.
- Added SVar:PlayMain1:TRUE to a couple of cards. Thank you Replika.
- Cleanup and Updates in ComputerUtil_Attack2 (AI will not waste attacks against creatures with wither or infect).
- Converted Beastmaster Ascension to triggers.
- Reimplemented the ordering of attackers in ComputerUtil_Block2.
- Retired keyword "Whenever CARDNAME attacks alone, it gets +1/+0 until end of turn."
- Added TriggerZones$ Battlefield to Synapse Sliver and Brood Sliver. They were triggering from the library.
- Fixed Attacks-triggers with Alone$.
- Converted Hound Pet level 4 to triggers.
- Retired keyword "Whenever this creature attacks alone, it gets +2/+0 until end of turn."
- Updated AI damage predictions.
- Removed code again.
- Converted Goblin Piledriver, Knotvine Paladin, and Timbermaw Larva to triggers.
- Converted Battlegrace Angel and Rafiq of the Many to triggers.
- Converted Yore-Tiller Nephilim to triggers.
- Removed Yore-Tiller Nephilim code from CombatUtil.java.
- Gave Storm Herd tokens Flying.
- Ran set info script.
- Fixed animated lands with the same name so that they can both be declared as attackers.
- Fixed AB$Destroy stack description a bit.
- Added hardcoded part of Forsaken Wastes.
- Fecundity was converted to triggers. The hard-coded stuff was never removed or commented. Now, it is removed.
- Moved code for Nissa's Chosen from sacrificeDestroy to moveToGraveyard.
- Removed Skullclamp code. It was already converted to triggers.
- Added keywords "CARDNAME can't attack unless defending player controls a Mountain." and "CARDNAME can't attack unless defending player controls a snow land."
- Restructured the AI blocking code.
- Little improvements to AI attacking.
- The AI will now predict the interaction of first strike and wither/infect.
- Ran set info script.
- Converted Abomination, Cockatrice, Deathgazer, Dread Specter, Gorgon Recluse, Infernal Medusa, Rock Basilisk, Tangle Asp, and Venomous Dragonfly to delayed triggers.
- Converted Evil Eye of Urborg to triggers.
- Retired keywords: "Whenever CARDNAME blocks a creature, destroy that creature at end of combat" and "Whenever CARDNAME becomes blocked by a creature, destroy that creature at end of combat"
- Converted Sylvan Basilisk to triggers.
- Fixed a NPE in predictAttacker stuff.
- Cards with SVar:RemRandomDeck:True will not appear in random decks.
- Small text addition to Scion of Darkness.
- Updated some SVars. (Letters A)
- Updated some SVars. (Letters B)
- Converted Dripping Dead, Grotesque Hybrid, Mephitic Ooze, Sosuke, Son of Seshiro, and Toxin Sliver to triggers.
- Converted Ohran Viper, Serpentine Basilisk, Stinkweed Imp, Stone-Tongued Basilisk, and Voracious Cobra to triggers.
- Retired keyword: "Whenever CARDNAME deals combat damage to a creature, destroy that creature"
- Ran set info script.
- Added Mana Symbols to Mana Pool image.
- Commented-out debugging line.
- Fixed HIDDEN keywords in AbilityFactory_Animate.
- Changed occurrences of "clearSpellAbility()" to "clearFirstSpellAbility()" that are located in CardFactory_Creatures.
- Added Arrowhead and Ore counter types.
- Ran set info script.
- Updated some SVars. (Letters Y and Z)
- Updated some themes.
- Small text addition.
- Updated some SVars. (Letters C)
- Updated some SVars. (Letters W)
- Updated some SVars. (Letters V)
- We should now get both set pics for Labyrinth Minotaur.
- Added "TapsForMana" trigger. Converted Manabarbs to trigger.
- Fixed LQ pic URL for Lys Alana Bowmaster.
- Updated some SVars. (Letters D)
- Updated some SVars. (Letters U)
- Updated some SVars. (Allies as a group)
- Fixed the card name for Temple of the False God.
- Fixed Soul Stair Expedition, it should now be limited to your own graveyard.
- Ran set info script.

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 18 Mar 2011, 13:46
by DemoneNero
thanks :D

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 18 Mar 2011, 14:08
by Chris H.
The archives are now being uploaded to MediaFire. At modem dial up speed so it will take a while. :)

I have noticed something while uploading the last several betas. It normally takes about 45 min for me to upload a file of this size. I get to watch as the thermometer on the browser screen slowly moves from 1% to 100%.

Once the thermometer reaches 100% it is now going back to 1% and when this happens it displays a flashing message which states:

Continuing large file upload

The upload now takes twice as long as it used to as it re-uploads from the very start of the file a second time. Hmm.

Make me wonder if the .tar.bz2 double archiving is giving MediaFire some sort of a fit. This never happened back when I was using 7z as an archive format.

Once the .tar.bz2 double archive is uploaded I will then upload the Mac version for those who are interested. From what I can tell, we have about 50 to 60 people using the Mac version found on Rares google site and my copy at MediaFire.

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 18 Mar 2011, 14:21
by Chris H.
The all OS capable version is now ready to download.

I will need about an hour before the Mac only version is ready to download.

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 18 Mar 2011, 15:10
by Chris H.
Chris H. wrote:The all OS capable version is now ready to download.

I will need about an hour before the Mac only version is ready to download.
`
OK, the Mac only version is ready.


Enjoy. :D

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 19 Mar 2011, 03:12
by Xitax
For some reason Mediafire refuses to send me the file... anyone else?

EDIT: Now 20 minutes later it works. Whatever. :?

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 19 Mar 2011, 04:20
by Rob Cashwalker
Just got the upload posted on cardforge.org.

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 19 Mar 2011, 16:02
by Chris H.
Rob Cashwalker wrote:Just got the upload posted on cardforge.org.
`
Thank you Rob. :D

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 19 Mar 2011, 17:37
by slapshot5
In this version, please pay special attention to cards that get animated (i.e. become creatures), like:

Chimeric Idol
Svogthos, the Restless Tomb
Creeping Tar Pit
Hidden Gibbons
etc.

-slapshot5

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 23 Mar 2011, 01:29
by Night Shadow
Excelent update, keep it up, there are a few cards that need some corrections.

Exalted Angel lifelink not working.
Brion Stoutarm card text ability not showing R
if you put 2 or more tokens at once (Conqueror's Pledge, Captain of the Watch, Flurry of Wings) onto the battlefield, Sigil Captain puts all counters to same token.
Magosi, the Waterveil has card text "return it to its owner's hand" repeated.
Thran Quarry card text says artifacts instead of creatures.
Reveille Squad card text says "no text."
Dissipation Field shows on the resolve stack it's returning sorceries and instants to controllers hand (Incinerate, Lava Axe, Lightning Helix) although you don't get the card back.
Gratuitous Violence doubling the damage from any source instead from only creatures

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 23 Mar 2011, 10:17
by Sloth
Night Shadow wrote:Excelent update, keep it up, there are a few cards that need some corrections.

Exalted Angel lifelink not working.
Brion Stoutarm card text ability not showing R
Magosi, the Waterveil has card text "return it to its owner's hand" repeated.
Thran Quarry card text says artifacts instead of creatures.
Reveille Squad card text says "no text."
Dissipation Field shows on the resolve stack it's returning sorceries and instants to controllers hand (Incinerate, Lava Axe, Lightning Helix) although you don't get the card back.
Gratuitous Violence doubling the damage from any source instead from only creatures
These are fixed now. Thanks Night Shadow.

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 23 Mar 2011, 22:46
by Caranthol
When I tried to open one of my constructed decks with the editor, I got this error:

Code: Select all
An error has occured. You can copy/paste this message or save it to a file.
Please report this, plus what you tried to do, to:
   http://www.slightlymagic.net/forum/viewforum.php?f=26
If you don't want to register an account, you can mail it directly to
   mtgerror@yahoo.com


null


Version:
Forge -- official beta: $Date: 2011-01-06 11:34:48 -0500 (Thu, 06 Jan 2011) $, SVN revision: $Revision: 4891 $

OS: Windows XP Version: 5.1 Architecture: x86

Java Version: 1.6.0_20 Vendor: Sun Microsystems Inc.

Detailed error trace:
java.lang.NullPointerException
   at forge.Gui_DeckEditor.updateDisplay(Gui_DeckEditor.java:233)
   at forge.Gui_DeckEditor_Menu.showConstructedDeck(Gui_DeckEditor_Menu.java:868)
   at forge.Gui_DeckEditor_Menu.openConstructed(Gui_DeckEditor_Menu.java:841)
   at forge.Gui_DeckEditor_Menu.access$8(Gui_DeckEditor_Menu.java:826)
   at forge.Gui_DeckEditor_Menu$21$1.run(Gui_DeckEditor_Menu.java:1343)
   at java.awt.event.InvocationEvent.dispatch(Unknown Source)
   at java.awt.EventQueue.dispatchEvent(Unknown Source)
   at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
   at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
   at java.awt.EventDispatchThread.run(Unknown Source)
Thoughts?

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 24 Mar 2011, 01:54
by Night Shadow
About that error i would say that deck has a card no longer in forge's database like Klaas Elf Friend, but of course i could be wrong.

Floodbringer is 1/1 should be 1/2.

When playing cards with "When CARDNAME enters the battlefield, return a land you control to its owner's hand." show a sub-window with a list of your current lands, this sub-window has 2 buttons "OK" and "CANCEL" if you click OK you get back the selected land, but if you click CANCEL you can play the card without returning selected land; here's the list of those cards:

Noggle Bridgebreaker
Azorius Chancery
Rakdos Carnarium
Orzhov Basilica
Boros Garrison
Golgari Rot Farm
Selesnya Sanctuary
Izzet Boilerworks
Gruul Turf
Simic Growth Chamber
Dimir Aqueduct

Re: Forge 03/18/2011 (unofficial BETA) version

PostPosted: 24 Mar 2011, 02:10
by Chris H.
Caranthol wrote:When I tried to open one of my constructed decks with the editor, I got this error:

Thoughts?
`
Could you attach the deck as a .zip file to a message? This would allow people to look at the deck and someone may be able to figure out the problem.