From 0f38763762f7ba0ed10d7f74572ad8ddd57a779a Mon Sep 17 00:00:00 2001 From: Sloth Date: Fri, 15 Mar 2013 12:05:08 +0000 Subject: [PATCH 1/7] - Fixed Energy Field. --- res/cardsfolder/e/energy_field.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/cardsfolder/e/energy_field.txt b/res/cardsfolder/e/energy_field.txt index 02df96acd45..935ce3c5a00 100644 --- a/res/cardsfolder/e/energy_field.txt +++ b/res/cardsfolder/e/energy_field.txt @@ -1,7 +1,7 @@ Name:Energy Field ManaCost:1 U Types:Enchantment -T:Mode$ ChangesZone | Origin$ Any | Destination$ Graveyard | ValidCard$ Card.YouOwn | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ When a card is put into your graveyard from anywhere, sacrifice CARDNAME. +T:Mode$ ChangesZone | Origin$ Any | Destination$ Graveyard | ValidCard$ Card.nonToken+YouOwn | Execute$ TrigSac | TriggerZones$ Battlefield | TriggerDescription$ When a card is put into your graveyard from anywhere, sacrifice CARDNAME. SVar:TrigSac:AB$ Sacrifice | Cost$ 0 | Defined$ Self S:Mode$ PreventDamage | Target$ You | Source$ Card.YouDontCtrl | Description$ Prevent all damage that would be dealt to you by sources you don't control. SVar:RemAIDeck:True From ea4b9840f43b07be2d276d0a8d000a8bbbfae24a Mon Sep 17 00:00:00 2001 From: Sloth Date: Fri, 15 Mar 2013 12:12:15 +0000 Subject: [PATCH 2/7] - Added a few missing "nonToken" properties. --- res/cardsfolder/f/forbidden_crypt.txt | 2 +- res/cardsfolder/w/wheel_of_sun_and_moon.txt | 2 +- res/cardsfolder/y/yawgmoths_agenda.txt | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/res/cardsfolder/f/forbidden_crypt.txt b/res/cardsfolder/f/forbidden_crypt.txt index 6894db4c3d0..50f118e5483 100644 --- a/res/cardsfolder/f/forbidden_crypt.txt +++ b/res/cardsfolder/f/forbidden_crypt.txt @@ -5,7 +5,7 @@ R:Event$ Draw | ActiveZones$ Battlefield | ValidPlayer$ You | ReplaceWith$ Check SVar:CheckLoseCondition:DB$ LosesGame | Defined$ You | ConditionCheckSVar$ CardsInGrave | ConditionSVarCompare$ EQ0 | SubAbility$ ForbiddenPractice SVar:ForbiddenPractice:DB$ ChangeZone | Hidden$ True | Mandatory$ True | ChangeType$ Card.YouOwn | ChangeNum$ 1 | Origin$ Graveyard | Destination$ Hand SVar:CardsInGrave:Count$InYourYard -R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.YouOwn | ReplaceWith$ CryptExile | Description$ If a card would be put into your graveyard from anywhere, exile that card instead. +R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.nonToken+YouOwn | ReplaceWith$ CryptExile | Description$ If a card would be put into your graveyard from anywhere, exile that card instead. SVar:CryptExile:AB$ ChangeZone | Cost$ 0 | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard SVar:RemAIDeck:True SVar:RemRandomDeck:True diff --git a/res/cardsfolder/w/wheel_of_sun_and_moon.txt b/res/cardsfolder/w/wheel_of_sun_and_moon.txt index af405f05e61..df6a7eb22e2 100644 --- a/res/cardsfolder/w/wheel_of_sun_and_moon.txt +++ b/res/cardsfolder/w/wheel_of_sun_and_moon.txt @@ -3,7 +3,7 @@ ManaCost:GW GW Types:Enchantment Aura K:Enchant player A:SP$ Attach | Cost$ GW GW | ValidTgts$ Player -R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.OwnedBy Player.EnchantedBy | ReplaceWith$ Reveal | Description$ If a card would be put into enchanted player's graveyard from anywhere, instead that card is revealed and put on the bottom of that player's library. +R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.nonToken+OwnedBy Player.EnchantedBy | ReplaceWith$ Reveal | Description$ If a card would be put into enchanted player's graveyard from anywhere, instead that card is revealed and put on the bottom of that player's library. SVar:Reveal:AB$ ChangeZone | Cost$ 0 | Hidden$ True | Origin$ All | Destination$ Library | Defined$ ReplacedCard | LibraryPosition$ -1 | Reveal$ True SVar:RemRandomDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/wheel_of_sun_and_moon.jpg diff --git a/res/cardsfolder/y/yawgmoths_agenda.txt b/res/cardsfolder/y/yawgmoths_agenda.txt index 552b35eda9a..cc261f0784d 100644 --- a/res/cardsfolder/y/yawgmoths_agenda.txt +++ b/res/cardsfolder/y/yawgmoths_agenda.txt @@ -4,7 +4,7 @@ Types:Enchantment S:Mode$ CantBeCast | ValidCard$ Card | Caster$ You | CheckSVar$ X | Description$ You can't cast more than one spell each turn. SVar:X:Count$ThisTurnCast_Card.YouOwn S:Mode$ Continuous | Affected$ Card.YouCtrl | AffectedZone$ Graveyard | AddHiddenKeyword$ May be played | Description$ You may play cards from your graveyard. -R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.YouOwn | ReplaceWith$ Exile | Description$ If a card would be put into your graveyard from anywhere, exile it instead. +R:Event$ Moved | ActiveZones$ Battlefield | Destination$ Graveyard | ValidCard$ Card.nonToken+YouOwn | ReplaceWith$ Exile | Description$ If a card would be put into your graveyard from anywhere, exile it instead. SVar:Exile:AB$ ChangeZone | Cost$ 0 | Hidden$ True | Origin$ All | Destination$ Exile | Defined$ ReplacedCard SVar:RemRandomDeck:True SVar:Picture:http://www.wizards.com/global/images/magic/general/yawgmoths_agenda.jpg From c783b322301d6b5c31df9728c1076ae88140cd1a Mon Sep 17 00:00:00 2001 From: Sloth Date: Fri, 15 Mar 2013 12:22:58 +0000 Subject: [PATCH 3/7] - Fixed possible NPE in checkETBEffects caused by getPossibleETBCounters. --- src/main/java/forge/card/spellability/SpellPermanent.java | 6 +----- src/main/java/forge/game/ai/AiController.java | 5 +---- 2 files changed, 2 insertions(+), 9 deletions(-) diff --git a/src/main/java/forge/card/spellability/SpellPermanent.java b/src/main/java/forge/card/spellability/SpellPermanent.java index ed875842c93..38422672d12 100644 --- a/src/main/java/forge/card/spellability/SpellPermanent.java +++ b/src/main/java/forge/card/spellability/SpellPermanent.java @@ -387,15 +387,11 @@ public class SpellPermanent extends Spell { return super.canPlayAI(); } - public static boolean checkETBEffects(final Card card, final SpellAbility sa, final ApiType api) { - return checkETBEffects(card, sa, api, null); - } - public static boolean checkETBEffects(final Card card, final AIPlayer ai) { return checkETBEffects(card, null, null, ai); } - private static boolean checkETBEffects(final Card card, final SpellAbility sa, final ApiType api, final AIPlayer ai) { + public static boolean checkETBEffects(final Card card, final SpellAbility sa, final ApiType api, final AIPlayer ai) { boolean rightapi = false; if (card.isCreature() diff --git a/src/main/java/forge/game/ai/AiController.java b/src/main/java/forge/game/ai/AiController.java index 82615150ef1..1d098e6e27a 100644 --- a/src/main/java/forge/game/ai/AiController.java +++ b/src/main/java/forge/game/ai/AiController.java @@ -145,11 +145,8 @@ public class AiController { for (final Card c : all) { for (final SpellAbility sa : c.getNonManaSpellAbilities()) { if (sa instanceof SpellPermanent) { - // TODO ArsenalNut (13 Oct 2012) added line to set activating player to fix NPE problem - // in checkETBEffects. There is SpellPermanent.checkETBEffects where the player can be - // directly input but it is currently a private method. sa.setActivatingPlayer(player); - if (SpellPermanent.checkETBEffects(c, sa, ApiType.Counter)) { + if (SpellPermanent.checkETBEffects(c, sa, ApiType.Counter, player)) { spellAbilities.add(sa); } } From 15bbc564cf27bf11c2c3cf4230afd0c3f1c1fdb7 Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 15 Mar 2013 12:29:07 +0000 Subject: [PATCH 4/7] - Preparing the changes.txt file for the next beta build and release. --- CHANGES.txt | 113 ++++++++++++++++++++++++++-------------------------- 1 file changed, 57 insertions(+), 56 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index 1b0b0ba1941..da10f40c55a 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,7 +1,7 @@ -Forge Beta: 03-##-2013 ver 1.3.10 +Forge Beta: 03-15-2013 ver 1.3.10 -12### cards in total. +12247 cards in total. Release Notes: @@ -21,60 +21,55 @@ Forge should now be the Magic rules enforcing program with the most supported ca New Cards: -Dimensional Breach -Lim-Dul's Vault -Eureka -Hypergenesis -Death by Dragons -Carpet of Flowers -Goblin Welder -Delaying Shield -Fatal Lore -Library of Lat-Nam -Misfortune +Ashling the Pilgrim Assault // Battery -Fire // Ice -Night // Day -Trial // Error -Wax // Wane -Dead // Gone -Illusion // Reality -Life // Death -Pure // Simple -Rough // Tumble -Supply // Demand -Hide // Seek -Order // Chaos -Pain // Suffering -Spite // Malice -Stand // Deliver -Boom // Bust -Crime // Punishment -Rise // Fall -Bound // Determined -Hit // Run -Taniwha -Natural Balance Balancing Act -Odds // Ends -Mana Clash -Goblin Assassin +Boom // Bust +Bound // Determined +Carpet of Flowers Chain Lightning Chain of Vapor -Vision Charm -Ooze Flux -Simic Manipulator -Ashling the Pilgrim +Crime // Punishment +Dead // Gone +Death by Dragons +Delaying Shield +Dimensional Breach +Eureka +Fatal Lore +Fire // Ice +Goblin Assassin +Goblin Welder +Hide // Seek +Hit // Run +Hypergenesis +Illusion // Reality Inner-Flame Igniter -Novijen Sages -Trickbind -Yare +Library of Lat-Nam +Life // Death +Lim-Dul's Vault +Mana Clash Mercadian Atlas - - -New Phenomenons: - - +Misfortune +Natural Balance +Night // Day +Novijen Sages +Odds // Ends +Ooze Flux +Order // Chaos +Pain // Suffering +Pure // Simple +Rise // Fall +Rough // Tumble +Simic Manipulator +Spite // Malice +Stand // Deliver +Supply // Demand +Taniwha +Trial // Error +Trickbind +Vision Charm +Wax // Wane +Yare New Planes: @@ -88,11 +83,6 @@ New Schemes: All in Good Time -New Vanguard Avatars: - - - - Known Issues: A small number of cards including Wall of Corpses, Abu Ja'far and others with a similar ability are not functional. The common issue here is actually that they check the blocker/attacker after being removed from the battlefield. Probably need to use LKI. Regular destroy/destroy all effects work just fine. The problem cards are caring about battlefield specific properties, that no longer apply when the base card is no longer on the battlefield. @@ -121,7 +111,18 @@ Some people use the Windows application 7zip. This utility can be found at http: Contributors to This Release: - +Agetian +AlexV +Gos +Marc +Max +Myk +RumbleBBU +Sloth +Sol +Serrasmurf +Swordshine +Chris H (Quest icons used created by Teekatas, from his Legendora set http://raindropmemory.deviantart.com) From a9d8ba0b83c0dace4845fe20e9e45d43c7279e1b Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 15 Mar 2013 12:40:40 +0000 Subject: [PATCH 5/7] [maven-release-plugin] prepare release forge-1.3.10 --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 349137aef61..188bdaaf902 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ forge jar Forge - 1.3.10-SNAPSHOT + 1.3.10 Forge lets you play the card game Magic: The Gathering against a computer opponent using all of the rules. @@ -145,9 +145,9 @@ - scm:svn:http://svn.slightlymagic.net/forge/trunk - scm:svn:http://svn.slightlymagic.net/forge/trunk - http://svn.slightlymagic.net/websvn/listing.php?repname=forge + scm:svn:http://svn.slightlymagic.net/forge/tags/forge-1.3.10 + scm:svn:http://svn.slightlymagic.net/forge/tags/forge-1.3.10 + http://svn.slightlymagic.net/websvn/listing.php/tags/forge-1.3.10?repname=forge From 0657a700459f01987b22bc190ffacd26da9aa2b4 Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 15 Mar 2013 12:40:55 +0000 Subject: [PATCH 6/7] [maven-release-plugin] prepare for next development iteration --- pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pom.xml b/pom.xml index 188bdaaf902..038714dc54e 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ forge jar Forge - 1.3.10 + 1.3.11-SNAPSHOT Forge lets you play the card game Magic: The Gathering against a computer opponent using all of the rules. @@ -145,9 +145,9 @@ - scm:svn:http://svn.slightlymagic.net/forge/tags/forge-1.3.10 - scm:svn:http://svn.slightlymagic.net/forge/tags/forge-1.3.10 - http://svn.slightlymagic.net/websvn/listing.php/tags/forge-1.3.10?repname=forge + scm:svn:http://svn.slightlymagic.net/forge/trunk + scm:svn:http://svn.slightlymagic.net/forge/trunk + http://svn.slightlymagic.net/websvn/listing.php?repname=forge From 2bbefe18e4795f4181fd377a0490be394a0e9318 Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 15 Mar 2013 13:30:22 +0000 Subject: [PATCH 7/7] - Cleared out the changes.txt file, now ready for new material. --- CHANGES.txt | 86 ++--------------------------------------------------- 1 file changed, 3 insertions(+), 83 deletions(-) diff --git a/CHANGES.txt b/CHANGES.txt index da10f40c55a..bc465235b9e 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -1,87 +1,18 @@ -Forge Beta: 03-15-2013 ver 1.3.10 +Forge Beta: 03-##-2013 ver 1.3.11 -12247 cards in total. +12### cards in total. Release Notes: -A new quest world by Serrasmurf based on Ravinca has been added. -An effort is being made to implement the split cards (e.g. Fire/Ice) in Forge. The initial effort to add support for split cards may be considered complete and the relevant branch has reen reintegrated to trunk. Expect some rough edges and incompatibilities along the way. - -The fat packs should now be available for purchase in the quest mode card shop. - -Information for non-card items in spell shop are now shown in the card details panel. - -Multiple problems with Convoke have been fixed. - -Forge should now be the Magic rules enforcing program with the most supported cards! That means we finally beat MtGO! MtGO is missing 828 cards. Even subtracting the Power Nine, which were available in the MtGO cube for some time, that's more than we are missing (805) at the time this was written. New Cards: -Ashling the Pilgrim -Assault // Battery -Balancing Act -Boom // Bust -Bound // Determined -Carpet of Flowers -Chain Lightning -Chain of Vapor -Crime // Punishment -Dead // Gone -Death by Dragons -Delaying Shield -Dimensional Breach -Eureka -Fatal Lore -Fire // Ice -Goblin Assassin -Goblin Welder -Hide // Seek -Hit // Run -Hypergenesis -Illusion // Reality -Inner-Flame Igniter -Library of Lat-Nam -Life // Death -Lim-Dul's Vault -Mana Clash -Mercadian Atlas -Misfortune -Natural Balance -Night // Day -Novijen Sages -Odds // Ends -Ooze Flux -Order // Chaos -Pain // Suffering -Pure // Simple -Rise // Fall -Rough // Tumble -Simic Manipulator -Spite // Malice -Stand // Deliver -Supply // Demand -Taniwha -Trial // Error -Trickbind -Vision Charm -Wax // Wane -Yare -New Planes: - -Feeding Grounds -Horizon Boughs - - -New Schemes: - -All in Good Time - Known Issues: @@ -111,18 +42,7 @@ Some people use the Windows application 7zip. This utility can be found at http: Contributors to This Release: -Agetian -AlexV -Gos -Marc -Max -Myk -RumbleBBU -Sloth -Sol -Serrasmurf -Swordshine -Chris H + (Quest icons used created by Teekatas, from his Legendora set http://raindropmemory.deviantart.com)