mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 12:18:00 +00:00
- Removed CardFactoryEquipment.
- Cleanup.
This commit is contained in:
1
.gitattributes
vendored
1
.gitattributes
vendored
@@ -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
|
||||||
|
|||||||
@@ -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()) {
|
||||||
|
|||||||
@@ -527,5 +527,4 @@ class CardFactoryArtifacts {
|
|||||||
card.addSpellAbility(ability);
|
card.addSpellAbility(ability);
|
||||||
} // *************** END ************ END **************************
|
} // *************** END ************ END **************************
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -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);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user