- Removed CardFactoryEquipment.

- Cleanup.
This commit is contained in:
Sloth
2012-11-30 18:48:55 +00:00
parent baecbb1cf7
commit 3642d5c5d1
8 changed files with 29 additions and 99 deletions

1
.gitattributes vendored
View File

@@ -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/CardFactoryAuras.java svneol=native#text/plain
src/main/java/forge/card/cardfactory/CardFactoryCreatures.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/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/CardFactoryLands.java svneol=native#text/plain
src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.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 src/main/java/forge/card/cardfactory/CardFactorySorceries.java svneol=native#text/plain

View File

@@ -304,8 +304,6 @@ public class CardFactory {
CardFactoryCreatures.buildCard(card, cardName); CardFactoryCreatures.buildCard(card, cardName);
} else if (card.isAura()) { } else if (card.isAura()) {
CardFactoryAuras.buildCard(card, cardName); CardFactoryAuras.buildCard(card, cardName);
} else if (card.isEquipment()) {
CardFactoryEquipment.buildCard(card, cardName);
} else if (card.isPlaneswalker()) { } else if (card.isPlaneswalker()) {
CardFactoryPlaneswalkers.buildCard(card); CardFactoryPlaneswalkers.buildCard(card);
} else if (card.isLand()) { } else if (card.isLand()) {

View File

@@ -527,5 +527,4 @@ class CardFactoryArtifacts {
card.addSpellAbility(ability); card.addSpellAbility(ability);
} // *************** END ************ END ************************** } // *************** END ************ END **************************
} }
} }

View File

@@ -120,8 +120,7 @@ class CardFactoryAuras {
newType[0] = landTypes[minAt]; newType[0] = landTypes[minAt];
List<Card> list = opp.getLandsInPlay(); List<Card> list = opp.getLandsInPlay();
list = CardLists.getNotType(list, newType[0]); // Don't enchant lands list = CardLists.getNotType(list, newType[0]); // Don't enchant lands
// that already have the // that already have the type
// type
if (list.isEmpty()) { if (list.isEmpty()) {
return false; return false;
} }

View File

@@ -433,7 +433,6 @@ public class CardFactoryCreatures {
} }
} }
final AbilityActivated ability = new MasterOfTheWildHuntAbility(card, abCost, abTgt); final AbilityActivated ability = new MasterOfTheWildHuntAbility(card, abCost, abTgt);
card.addSpellAbility(ability); card.addSpellAbility(ability);
} }
@@ -441,11 +440,6 @@ public class CardFactoryCreatures {
final SpellAbility spell = new SpellPermanent(card) { final SpellAbility spell = new SpellPermanent(card) {
private static final long serialVersionUID = -11489323313L; private static final long serialVersionUID = -11489323313L;
/*
* @Override public boolean canPlayAI() { return super.canPlay()
* && (5 <= (ComputerUtil.getAvailableMana().size() - 2)); }
*/
@Override @Override
public void resolve() { public void resolve() {
int xCounters = card.getXManaCostPaid(); int xCounters = card.getXManaCostPaid();
@@ -469,8 +463,6 @@ public class CardFactoryCreatures {
@Override @Override
public void resolve() { public void resolve() {
card.addCounter(CounterType.P1P1, this.countKithkin(), true); card.addCounter(CounterType.P1P1, this.countKithkin(), true);
// System.out.println("all counters: "
// +card.sumAllCounters());
} // resolve() } // resolve()
public int countKithkin() { public int countKithkin() {

View File

@@ -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 <http://www.gnu.org/licenses/>.
*/
package forge.card.cardfactory;
import forge.Card;
import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler;
/**
* <p>
* CardFactoryEquipment class.
* </p>
*
* @author Forge
* @version $Id$
*/
class CardFactoryEquipment {
/**
* <p>
* getCard.
* </p>
*
* @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);
}
}
}

View File

@@ -17,26 +17,18 @@
*/ */
package forge.card.cardfactory; package forge.card.cardfactory;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import com.google.common.base.Predicate;
import forge.Card; import forge.Card;
import forge.CardLists; import forge.CardLists;
import forge.Command; import forge.Command;
import forge.CounterType;
import forge.GameActionUtil; import forge.GameActionUtil;
import forge.Singletons; 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.Input;
import forge.control.input.InputSelectManyCards; import forge.control.input.InputSelectManyCards;
import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.Zone; import forge.game.zone.Zone;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -74,7 +66,6 @@ class CardFactoryLands {
|| cardName.equals("Stomping Ground") || cardName.equals("Temple Garden") || cardName.equals("Stomping Ground") || cardName.equals("Temple Garden")
|| cardName.equals("Watery Grave")) { || cardName.equals("Watery Grave")) {
// if this isn't done, computer plays more than 1 copy // if this isn't done, computer plays more than 1 copy
// card.clearSpellAbility();
card.clearSpellKeepManaAbility(); card.clearSpellKeepManaAbility();
card.addComesIntoPlayCommand(new Command() { card.addComesIntoPlayCommand(new Command() {
@@ -125,8 +116,7 @@ class CardFactoryLands {
} // execute() } // execute()
private void tapCard() { private void tapCard() {
// it enters the battlefield this way, and should not fire // it enters the battlefield this way, and should not fire triggers
// triggers
card.setTapped(true); card.setTapped(true);
} }
}); });

View File

@@ -4043,6 +4043,33 @@ public class CardFactoryUtil {
card.setSVar("DBUntap", dbString); 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")) { if (card.hasKeyword("Epic")) {
final SpellAbility origSA = card.getSpellAbilities().get(0); final SpellAbility origSA = card.getSpellAbilities().get(0);