From 3642d5c5d19381e66faed208bc4159bb8b074878 Mon Sep 17 00:00:00 2001 From: Sloth Date: Fri, 30 Nov 2012 18:48:55 +0000 Subject: [PATCH] - Removed CardFactoryEquipment. - Cleanup. --- .gitattributes | 1 - .../forge/card/cardfactory/CardFactory.java | 2 - .../cardfactory/CardFactoryArtifacts.java | 1 - .../card/cardfactory/CardFactoryAuras.java | 3 +- .../cardfactory/CardFactoryCreatures.java | 8 -- .../cardfactory/CardFactoryEquipment.java | 74 ------------------- .../card/cardfactory/CardFactoryLands.java | 12 +-- .../card/cardfactory/CardFactoryUtil.java | 27 +++++++ 8 files changed, 29 insertions(+), 99 deletions(-) delete mode 100644 src/main/java/forge/card/cardfactory/CardFactoryEquipment.java diff --git a/.gitattributes b/.gitattributes index b377cea58be..21ee57d0ba3 100644 --- a/.gitattributes +++ b/.gitattributes @@ -12840,7 +12840,6 @@ src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java -text src/main/java/forge/card/cardfactory/CardFactoryAuras.java svneol=native#text/plain src/main/java/forge/card/cardfactory/CardFactoryCreatures.java svneol=native#text/plain src/main/java/forge/card/cardfactory/CardFactoryEnchantments.java -text -src/main/java/forge/card/cardfactory/CardFactoryEquipment.java svneol=native#text/plain src/main/java/forge/card/cardfactory/CardFactoryLands.java svneol=native#text/plain src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java svneol=native#text/plain src/main/java/forge/card/cardfactory/CardFactorySorceries.java svneol=native#text/plain diff --git a/src/main/java/forge/card/cardfactory/CardFactory.java b/src/main/java/forge/card/cardfactory/CardFactory.java index 4af7dd4b76b..de97eb032d5 100644 --- a/src/main/java/forge/card/cardfactory/CardFactory.java +++ b/src/main/java/forge/card/cardfactory/CardFactory.java @@ -304,8 +304,6 @@ public class CardFactory { CardFactoryCreatures.buildCard(card, cardName); } else if (card.isAura()) { CardFactoryAuras.buildCard(card, cardName); - } else if (card.isEquipment()) { - CardFactoryEquipment.buildCard(card, cardName); } else if (card.isPlaneswalker()) { CardFactoryPlaneswalkers.buildCard(card); } else if (card.isLand()) { diff --git a/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java b/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java index 7a633748146..7d4a3fd775d 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryArtifacts.java @@ -527,5 +527,4 @@ class CardFactoryArtifacts { card.addSpellAbility(ability); } // *************** END ************ END ************************** } - } diff --git a/src/main/java/forge/card/cardfactory/CardFactoryAuras.java b/src/main/java/forge/card/cardfactory/CardFactoryAuras.java index c3bf86c6034..a4c43b9198c 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryAuras.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryAuras.java @@ -120,8 +120,7 @@ class CardFactoryAuras { newType[0] = landTypes[minAt]; List list = opp.getLandsInPlay(); list = CardLists.getNotType(list, newType[0]); // Don't enchant lands - // that already have the - // type + // that already have the type if (list.isEmpty()) { return false; } diff --git a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java index 4dc91884099..4bbdc5a708c 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java @@ -433,7 +433,6 @@ public class CardFactoryCreatures { } } final AbilityActivated ability = new MasterOfTheWildHuntAbility(card, abCost, abTgt); - card.addSpellAbility(ability); } @@ -441,11 +440,6 @@ public class CardFactoryCreatures { final SpellAbility spell = new SpellPermanent(card) { private static final long serialVersionUID = -11489323313L; - /* - * @Override public boolean canPlayAI() { return super.canPlay() - * && (5 <= (ComputerUtil.getAvailableMana().size() - 2)); } - */ - @Override public void resolve() { int xCounters = card.getXManaCostPaid(); @@ -469,8 +463,6 @@ public class CardFactoryCreatures { @Override public void resolve() { card.addCounter(CounterType.P1P1, this.countKithkin(), true); - // System.out.println("all counters: " - // +card.sumAllCounters()); } // resolve() public int countKithkin() { diff --git a/src/main/java/forge/card/cardfactory/CardFactoryEquipment.java b/src/main/java/forge/card/cardfactory/CardFactoryEquipment.java deleted file mode 100644 index cb5913eb652..00000000000 --- a/src/main/java/forge/card/cardfactory/CardFactoryEquipment.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Forge: Play Magic: the Gathering. - * Copyright (C) 2011 Forge Team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package forge.card.cardfactory; - -import forge.Card; -import forge.card.trigger.Trigger; -import forge.card.trigger.TriggerHandler; - -/** - *

- * CardFactoryEquipment class. - *

- * - * @author Forge - * @version $Id$ - */ -class CardFactoryEquipment { - - /** - *

- * getCard. - *

- * - * @param card - * a {@link forge.Card} object. - * @param cardName - * a {@link java.lang.String} object. - * @return a {@link forge.Card} object. - */ - public static void buildCard(final Card card, final String cardName) { - // TODO: Move Living Weapon to main Keyword generator, and delete this file - if (card.hasKeyword("Living Weapon")) { - card.removeIntrinsicKeyword("Living Weapon"); - - final StringBuilder sbTrig = new StringBuilder(); - sbTrig.append("Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | "); - sbTrig.append("ValidCard$ Card.Self | Execute$ TrigGerm | TriggerDescription$ "); - sbTrig.append("Living Weapon (When this Equipment enters the battlefield, "); - sbTrig.append("put a 0/0 black Germ creature token onto the battlefield, then attach this to it.)"); - - final StringBuilder sbGerm = new StringBuilder(); - sbGerm.append("DB$ Token | TokenAmount$ 1 | TokenName$ Germ | TokenTypes$ Creature,Germ | RememberTokens$ True | "); - sbGerm.append("TokenOwner$ You | TokenColors$ Black | TokenPower$ 0 | TokenToughness$ 0 | TokenImage$ B 0 0 Germ | SubAbility$ DBGermAttach"); - - final StringBuilder sbAttach = new StringBuilder(); - sbAttach.append("DB$ Attach | Defined$ Remembered | SubAbility$ DBGermClear"); - - final StringBuilder sbClear = new StringBuilder(); - sbClear.append("DB$ Cleanup | ClearRemembered$ True"); - - card.setSVar("TrigGerm", sbGerm.toString()); - card.setSVar("DBGermAttach", sbAttach.toString()); - card.setSVar("DBGermClear", sbClear.toString()); - - final Trigger etbTrigger = TriggerHandler.parseTrigger(sbTrig.toString(), card, true); - card.addTrigger(etbTrigger); - } - } -} diff --git a/src/main/java/forge/card/cardfactory/CardFactoryLands.java b/src/main/java/forge/card/cardfactory/CardFactoryLands.java index bc83cef7632..3af770442bd 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryLands.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryLands.java @@ -17,26 +17,18 @@ */ package forge.card.cardfactory; -import java.util.ArrayList; import java.util.List; import javax.swing.JOptionPane; -import com.google.common.base.Predicate; - import forge.Card; import forge.CardLists; import forge.Command; -import forge.CounterType; import forge.GameActionUtil; import forge.Singletons; -import forge.card.cost.Cost; -import forge.card.spellability.AbilityActivated; -import forge.card.spellability.Target; import forge.control.input.Input; import forge.control.input.InputSelectManyCards; -import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.zone.Zone; import forge.game.zone.ZoneType; @@ -74,7 +66,6 @@ class CardFactoryLands { || cardName.equals("Stomping Ground") || cardName.equals("Temple Garden") || cardName.equals("Watery Grave")) { // if this isn't done, computer plays more than 1 copy - // card.clearSpellAbility(); card.clearSpellKeepManaAbility(); card.addComesIntoPlayCommand(new Command() { @@ -125,8 +116,7 @@ class CardFactoryLands { } // execute() private void tapCard() { - // it enters the battlefield this way, and should not fire - // triggers + // it enters the battlefield this way, and should not fire triggers card.setTapped(true); } }); diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index b58ea8059c8..e1089b898df 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -4043,6 +4043,33 @@ public class CardFactoryUtil { card.setSVar("DBUntap", dbString); } + if (card.hasKeyword("Living Weapon")) { + card.removeIntrinsicKeyword("Living Weapon"); + + final StringBuilder sbTrig = new StringBuilder(); + sbTrig.append("Mode$ ChangesZone | Origin$ Any | Destination$ Battlefield | "); + sbTrig.append("ValidCard$ Card.Self | Execute$ TrigGerm | TriggerDescription$ "); + sbTrig.append("Living Weapon (When this Equipment enters the battlefield, "); + sbTrig.append("put a 0/0 black Germ creature token onto the battlefield, then attach this to it.)"); + + final StringBuilder sbGerm = new StringBuilder(); + sbGerm.append("DB$ Token | TokenAmount$ 1 | TokenName$ Germ | TokenTypes$ Creature,Germ | RememberTokens$ True | "); + sbGerm.append("TokenOwner$ You | TokenColors$ Black | TokenPower$ 0 | TokenToughness$ 0 | TokenImage$ B 0 0 Germ | SubAbility$ DBGermAttach"); + + final StringBuilder sbAttach = new StringBuilder(); + sbAttach.append("DB$ Attach | Defined$ Remembered | SubAbility$ DBGermClear"); + + final StringBuilder sbClear = new StringBuilder(); + sbClear.append("DB$ Cleanup | ClearRemembered$ True"); + + card.setSVar("TrigGerm", sbGerm.toString()); + card.setSVar("DBGermAttach", sbAttach.toString()); + card.setSVar("DBGermClear", sbClear.toString()); + + final Trigger etbTrigger = TriggerHandler.parseTrigger(sbTrig.toString(), card, true); + card.addTrigger(etbTrigger); + } + if (card.hasKeyword("Epic")) { final SpellAbility origSA = card.getSpellAbilities().get(0);