From 013ddee250c0872e13367fe37e8661911b49a8d3 Mon Sep 17 00:00:00 2001
From: Maxmtg
Date: Mon, 1 Oct 2012 23:32:48 +0000
Subject: [PATCH] CardList class replaced by java.util.(Array)List
---
.gitattributes | 1 -
src/main/java/forge/AllZoneUtil.java | 66 +++---
src/main/java/forge/Card.java | 62 +++---
src/main/java/forge/CardList.java | 39 ----
src/main/java/forge/CardListUtil.java | 68 ++++---
src/main/java/forge/CardUtil.java | 24 +--
src/main/java/forge/GameAction.java | 45 +++--
src/main/java/forge/GameActionUtil.java | 60 +++---
src/main/java/forge/NameChanger.java | 6 +-
src/main/java/forge/StaticEffect.java | 7 +-
src/main/java/forge/StaticEffects.java | 5 +-
src/main/java/forge/card/DeckHints.java | 4 +-
.../card/abilityfactory/AbilityFactory.java | 48 ++---
.../abilityfactory/AbilityFactoryAnimate.java | 4 +-
.../abilityfactory/AbilityFactoryAttach.java | 41 ++--
.../abilityfactory/AbilityFactoryBond.java | 6 +-
.../AbilityFactoryChangeZone.java | 66 +++---
.../abilityfactory/AbilityFactoryChoose.java | 16 +-
.../abilityfactory/AbilityFactoryClash.java | 20 +-
.../abilityfactory/AbilityFactoryClone.java | 2 +-
.../abilityfactory/AbilityFactoryCombat.java | 5 +-
.../abilityfactory/AbilityFactoryCopy.java | 5 +-
.../AbilityFactoryCounters.java | 44 ++--
.../AbilityFactoryDealDamage.java | 31 +--
.../abilityfactory/AbilityFactoryDebuff.java | 21 +-
.../abilityfactory/AbilityFactoryDestroy.java | 21 +-
.../abilityfactory/AbilityFactoryEffect.java | 11 +-
.../AbilityFactoryGainControl.java | 17 +-
.../abilityfactory/AbilityFactoryMana.java | 11 +-
.../AbilityFactoryPermanentState.java | 59 +++---
.../abilityfactory/AbilityFactoryPlay.java | 13 +-
.../AbilityFactoryPreventDamage.java | 19 +-
.../AbilityFactoryProtection.java | 21 +-
.../abilityfactory/AbilityFactoryPump.java | 46 ++---
.../AbilityFactoryRegenerate.java | 21 +-
.../abilityfactory/AbilityFactoryRepeat.java | 6 +-
.../abilityfactory/AbilityFactoryReveal.java | 42 ++--
.../AbilityFactorySacrifice.java | 43 ++--
.../AbilityFactorySetState.java | 5 +-
.../abilityfactory/AbilityFactoryToken.java | 5 +-
.../AbilityFactoryZoneAffecting.java | 29 +--
.../cardfactory/CardFactoryArtifacts.java | 31 +--
.../card/cardfactory/CardFactoryAuras.java | 19 +-
.../cardfactory/CardFactoryCreatures.java | 70 +++----
.../cardfactory/CardFactoryEnchantments.java | 20 +-
.../card/cardfactory/CardFactoryInstants.java | 31 +--
.../card/cardfactory/CardFactoryLands.java | 25 ++-
.../cardfactory/CardFactorySorceries.java | 96 ++++-----
.../card/cardfactory/CardFactoryUtil.java | 190 +++++++++---------
.../java/forge/card/cost/CostDiscard.java | 14 +-
src/main/java/forge/card/cost/CostExile.java | 13 +-
src/main/java/forge/card/cost/CostMill.java | 5 +-
.../forge/card/cost/CostPartWithList.java | 13 +-
.../java/forge/card/cost/CostPutCounter.java | 10 +-
.../forge/card/cost/CostRemoveCounter.java | 10 +-
src/main/java/forge/card/cost/CostReturn.java | 10 +-
src/main/java/forge/card/cost/CostReveal.java | 14 +-
.../java/forge/card/cost/CostSacrifice.java | 14 +-
.../java/forge/card/cost/CostTapType.java | 14 +-
.../java/forge/card/cost/CostUntapType.java | 14 +-
src/main/java/forge/card/cost/CostUtil.java | 12 +-
.../card/replacement/ReplacementEffect.java | 12 +-
.../card/spellability/AbilityActivated.java | 5 +-
.../java/forge/card/spellability/Spell.java | 7 +-
.../forge/card/spellability/SpellAbility.java | 37 ++--
.../spellability/SpellAbilityCondition.java | 7 +-
.../spellability/SpellAbilityRestriction.java | 6 +-
.../SpellAbilityStackInstance.java | 7 +-
.../card/spellability/SpellPermanent.java | 23 ++-
.../card/spellability/TargetSelection.java | 26 +--
.../card/staticability/StaticAbility.java | 2 +-
.../StaticAbilityContinuous.java | 21 +-
src/main/java/forge/card/trigger/Trigger.java | 11 +-
.../trigger/TriggerAttackersDeclared.java | 6 +-
.../forge/card/trigger/TriggerAttacks.java | 6 +-
.../forge/card/trigger/TriggerHandler.java | 19 +-
.../java/forge/control/input/InputAttack.java | 6 +-
.../java/forge/control/input/InputBlock.java | 10 +-
.../forge/control/input/InputMulligan.java | 13 +-
.../control/input/InputPayDiscardCost.java | 6 +-
.../control/input/InputPayReturnCost.java | 6 +-
.../forge/control/input/InputPaySacCost.java | 6 +-
src/main/java/forge/deck/DeckSection.java | 5 +-
src/main/java/forge/game/GameNew.java | 11 +-
.../java/forge/game/limited/BoosterDraft.java | 5 +-
.../java/forge/game/limited/LimitedDeck.java | 2 +-
src/main/java/forge/game/phase/Combat.java | 87 ++++----
.../java/forge/game/phase/CombatUtil.java | 128 ++++++------
src/main/java/forge/game/phase/EndOfTurn.java | 10 +-
.../java/forge/game/phase/PhaseHandler.java | 13 +-
src/main/java/forge/game/phase/PhaseUtil.java | 22 +-
src/main/java/forge/game/phase/Untap.java | 23 ++-
src/main/java/forge/game/phase/Upkeep.java | 117 +++++------
src/main/java/forge/game/player/AIPlayer.java | 21 +-
.../forge/game/player/ComputerAIGeneral.java | 20 +-
.../java/forge/game/player/ComputerUtil.java | 150 +++++++-------
.../forge/game/player/ComputerUtilAttack.java | 65 +++---
.../forge/game/player/ComputerUtilBlock.java | 143 ++++++-------
.../java/forge/game/player/HumanPlayer.java | 15 +-
src/main/java/forge/game/player/Player.java | 130 ++++++------
.../java/forge/game/player/PlayerUtil.java | 14 +-
.../forge/game/zone/DefaultPlayerZone.java | 8 +-
src/main/java/forge/game/zone/MagicStack.java | 22 +-
.../game/zone/PlayerZoneComesIntoPlay.java | 18 +-
.../java/forge/gui/GuiAssignDamageFrame.java | 7 +-
src/main/java/forge/gui/GuiDisplayUtil.java | 32 +--
src/main/java/forge/gui/match/CMatchUI.java | 4 +-
.../java/forge/gui/match/ControlWinLose.java | 6 +-
.../forge/gui/match/QuestWinLoseHandler.java | 11 +-
.../forge/gui/match/nonsingleton/CField.java | 4 +-
.../java/forge/gui/match/views/VPlayers.java | 5 +-
src/main/java/forge/item/ItemPoolView.java | 7 +-
src/main/java/forge/model/FMatchState.java | 10 +-
src/main/java/forge/quest/QuestUtil.java | 19 +-
src/test/java/forge/BoosterDraftTest.java | 6 +-
src/test/java/forge/RunTest.java | 6 +-
116 files changed, 1583 insertions(+), 1495 deletions(-)
delete mode 100644 src/main/java/forge/CardList.java
diff --git a/.gitattributes b/.gitattributes
index 94d1fc1b840..97621a0b445 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -12339,7 +12339,6 @@ src/main/java/forge/CardCharacteristicName.java -text
src/main/java/forge/CardColor.java svneol=native#text/plain
src/main/java/forge/CardDamageHistory.java -text
src/main/java/forge/CardKeywords.java svneol=native#text/plain
-src/main/java/forge/CardList.java svneol=native#text/plain
src/main/java/forge/CardListUtil.java svneol=native#text/plain
src/main/java/forge/CardPowerToughness.java svneol=native#text/plain
src/main/java/forge/CardPredicates.java svneol=native#text/plain
diff --git a/src/main/java/forge/AllZoneUtil.java b/src/main/java/forge/AllZoneUtil.java
index 9e90328c26b..b7f0091a741 100644
--- a/src/main/java/forge/AllZoneUtil.java
+++ b/src/main/java/forge/AllZoneUtil.java
@@ -44,15 +44,15 @@ public abstract class AllZoneUtil {
*
* @param zone
* Constant.Zone
- * @return a CardList with all cards currently in a graveyard
+ * @return a List with all cards currently in a graveyard
*/
- public static CardList getCardsIn(final ZoneType zone) {
- final CardList cards = new CardList();
+ public static List getCardsIn(final ZoneType zone) {
+ final List cards = new ArrayList();
getCardsIn(zone, cards);
return cards;
}
- private static void getCardsIn(final ZoneType zone, final CardList cards) {
+ private static void getCardsIn(final ZoneType zone, final List cards) {
if (zone == ZoneType.Stack) {
cards.addAll(AllZone.getStackZone().getCards());
} else {
@@ -62,16 +62,16 @@ public abstract class AllZoneUtil {
}
}
- public static CardList getCardsIn(final Iterable zones) {
- final CardList cards = new CardList();
+ public static List getCardsIn(final Iterable zones) {
+ final List cards = new ArrayList();
for (final ZoneType z : zones) {
getCardsIn(z, cards);
}
return cards;
}
- public static CardList getCardsIn(final ZoneType[] zones) {
- final CardList cards = new CardList();
+ public static List getCardsIn(final ZoneType[] zones) {
+ final List cards = new ArrayList();
for (final ZoneType z : zones) {
getCardsIn(z, cards);
}
@@ -86,22 +86,22 @@ public abstract class AllZoneUtil {
* a Constant.Zone
* @param cardName
* a String
- * @return a CardList with all cards currently in a graveyard
+ * @return a List with all cards currently in a graveyard
*/
- public static CardList getCardsIn(final ZoneType zone, final String cardName) {
+ public static List getCardsIn(final ZoneType zone, final String cardName) {
return CardListUtil.filter(AllZoneUtil.getCardsIn(zone), CardPredicates.nameEquals(cardName));
}
// ////////// Creatures
/**
- * use to get a CardList of all creatures on the battlefield for both.
+ * use to get a List of all creatures on the battlefield for both.
* players
*
- * @return a CardList of all creatures on the battlefield on both sides
+ * @return a List of all creatures on the battlefield on both sides
*/
- public static CardList getCreaturesInPlay() {
- final CardList creats = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
+ public static List getCreaturesInPlay() {
+ final List creats = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
return CardListUtil.filter(creats, Presets.CREATURES);
}
@@ -110,10 +110,10 @@ public abstract class AllZoneUtil {
*
* @param player
* the player to get creatures for
- * @return a CardList containing all creatures a given player has in play
+ * @return a List containing all creatures a given player has in play
*/
- public static CardList getCreaturesInPlay(final Player player) {
- final CardList creats = player.getCardsIn(ZoneType.Battlefield);
+ public static List getCreaturesInPlay(final Player player) {
+ final List creats = player.getCardsIn(ZoneType.Battlefield);
return CardListUtil.filter(creats, Presets.CREATURES);
}
@@ -124,18 +124,18 @@ public abstract class AllZoneUtil {
*
* @param player
* the player whose lands we want to get
- * @return a CardList containing all lands the given player has in play
+ * @return a List containing all lands the given player has in play
*/
- public static CardList getPlayerLandsInPlay(final Player player) {
+ public static List getPlayerLandsInPlay(final Player player) {
return CardListUtil.filter(player.getCardsIn(ZoneType.Battlefield), Presets.LANDS);
}
/**
* gets a list of all lands in play.
*
- * @return a CardList of all lands on the battlefield
+ * @return a List of all lands on the battlefield
*/
- public static CardList getLandsInPlay() {
+ public static List getLandsInPlay() {
return CardListUtil.filter(AllZoneUtil.getCardsIn(ZoneType.Battlefield), Presets.LANDS);
}
@@ -215,10 +215,10 @@ public abstract class AllZoneUtil {
*
* @param color
* the color of cards to get
- * @return a CardList of all cards in play of a given color
+ * @return a List of all cards in play of a given color
*/
- public static CardList getColorInPlay(final String color) {
- final CardList cards = AllZoneUtil.getPlayerColorInPlay(AllZone.getComputerPlayer(), color);
+ public static List getColorInPlay(final String color) {
+ final List cards = AllZoneUtil.getPlayerColorInPlay(AllZone.getComputerPlayer(), color);
cards.addAll(AllZoneUtil.getPlayerColorInPlay(AllZone.getHumanPlayer(), color));
return cards;
}
@@ -231,10 +231,10 @@ public abstract class AllZoneUtil {
* the player's cards to get
* @param color
* the color of cards to get
- * @return a CardList of all cards in play of a given color
+ * @return a List of all cards in play of a given color
*/
- public static CardList getPlayerColorInPlay(final Player player, final String color) {
- CardList cards = player.getCardsIn(ZoneType.Battlefield);
+ public static List getPlayerColorInPlay(final Player player, final String color) {
+ List cards = player.getCardsIn(ZoneType.Battlefield);
cards = CardListUtil.filter(cards, new Predicate() {
@Override
public boolean apply(final Card c) {
@@ -279,8 +279,8 @@ public abstract class AllZoneUtil {
public static int compareTypeAmountInPlay(final Player player, final String type) {
// returns the difference between player's
final Player opponent = player.getOpponent();
- final CardList playerList = CardListUtil.getType(player.getCardsIn(ZoneType.Battlefield), type);
- final CardList opponentList = CardListUtil.getType(opponent.getCardsIn(ZoneType.Battlefield), type);
+ final List playerList = CardListUtil.getType(player.getCardsIn(ZoneType.Battlefield), type);
+ final List opponentList = CardListUtil.getType(opponent.getCardsIn(ZoneType.Battlefield), type);
return (playerList.size() - opponentList.size());
}
@@ -298,8 +298,8 @@ public abstract class AllZoneUtil {
public static int compareTypeAmountInGraveyard(final Player player, final String type) {
// returns the difference between player's
final Player opponent = player.getOpponent();
- final CardList playerList = CardListUtil.getType(player.getCardsIn(ZoneType.Graveyard), type);
- final CardList opponentList = CardListUtil.getType(opponent.getCardsIn(ZoneType.Graveyard), type);
+ final List playerList = CardListUtil.getType(player.getCardsIn(ZoneType.Graveyard), type);
+ final List opponentList = CardListUtil.getType(opponent.getCardsIn(ZoneType.Graveyard), type);
return (playerList.size() - opponentList.size());
}
@@ -309,8 +309,8 @@ public abstract class AllZoneUtil {
* @return a {@link forge.CardList} with all cards in all Battlefields,
* Hands, Graveyards, Libraries, and Exiles.
*/
- public static CardList getCardsInGame() {
- final CardList all = new CardList();
+ public static List getCardsInGame() {
+ final List all = new ArrayList();
for (final Player player : AllZone.getPlayersInGame()) {
all.addAll(player.getZone(ZoneType.Graveyard).getCards());
all.addAll(player.getZone(ZoneType.Hand).getCards());
diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java
index 4978a905c2e..9534e1f24f8 100644
--- a/src/main/java/forge/Card.java
+++ b/src/main/java/forge/Card.java
@@ -113,14 +113,14 @@ public class Card extends GameEntity implements Comparable {
private final ArrayList
*/
public final void resetActivationsPerTurn() {
- final CardList all = AllZoneUtil.getCardsInGame();
+ final List all = AllZoneUtil.getCardsInGame();
// Reset Activations per Turn
for (final Card card : all) {
@@ -246,7 +247,7 @@ public class GameAction {
}
// Handle unequipping creatures
if (copied.isEquipped()) {
- final CardList equipments = new CardList(copied.getEquippedBy());
+ final List equipments = new ArrayList(copied.getEquippedBy());
for (final Card equipment : equipments) {
if (AllZoneUtil.isCardInPlay(equipment)) {
equipment.unEquipCard(copied);
@@ -255,7 +256,7 @@ public class GameAction {
}
// Handle unequipping creatures
if (copied.isEquipped()) {
- final CardList equipments = new CardList(copied.getEquippedBy());
+ final List equipments = new ArrayList(copied.getEquippedBy());
for (final Card equipment : equipments) {
if (AllZoneUtil.isCardInPlay(equipment)) {
equipment.unEquipCard(copied);
@@ -271,7 +272,7 @@ public class GameAction {
}
// remove enchantments from creatures
if (copied.isEnchanted()) {
- final CardList auras = new CardList(copied.getEnchantedBy());
+ final List auras = new ArrayList(copied.getEnchantedBy());
for (final Card aura : auras) {
aura.unEnchantEntity(copied);
}
@@ -455,8 +456,8 @@ public class GameAction {
final Player owner = c.getOwner();
final PlayerZone grave = owner.getZone(ZoneType.Graveyard);
final PlayerZone exile = owner.getZone(ZoneType.Exile);
- final CardList ownerBoard = owner.getCardsIn(ZoneType.Battlefield);
- final CardList opponentsBoard = owner.getOpponent().getCardsIn(ZoneType.Battlefield);
+ final List ownerBoard = owner.getCardsIn(ZoneType.Battlefield);
+ final List opponentsBoard = owner.getOpponent().getCardsIn(ZoneType.Battlefield);
if (c.getName().equals("Nissa's Chosen") && origZone.is(ZoneType.Battlefield)) {
return this.moveToLibrary(c, -1);
@@ -949,7 +950,7 @@ public class GameAction {
AllZone.getStaticEffects().clearStaticEffects();
// search for cards with static abilities
- final CardList allCards = AllZoneUtil.getCardsInGame();
+ final List allCards = AllZoneUtil.getCardsInGame();
final ArrayList staticAbilities = new ArrayList();
for (final Card card : allCards) {
for (StaticAbility sa : card.getStaticAbilities()) {
@@ -1036,7 +1037,7 @@ public class GameAction {
final HashMap runParams = new HashMap();
AllZone.getTriggerHandler().runTrigger(TriggerType.Always, runParams);
- final CardList list = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
+ final List list = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
Card c;
final Iterator it = list.iterator();
@@ -1045,7 +1046,7 @@ public class GameAction {
c = it.next();
if (c.isEquipped()) {
- final CardList equipments = new CardList(c.getEquippedBy());
+ final List equipments = new ArrayList(c.getEquippedBy());
for (final Card equipment : equipments) {
if (!AllZoneUtil.isCardInPlay(equipment)) {
equipment.unEquipCard(c);
@@ -1169,13 +1170,13 @@ public class GameAction {
} // for q=0;q<2
/*
//Experiment Kraj experiment
- CardList krajs = AllZoneUtil.getCardsIn(ZoneType.Battlefield).filter(new Predicate() {
+ List krajs = AllZoneUtil.getCardsIn(ZoneType.Battlefield).filter(new Predicate() {
@Override
public boolean addCard(Card c) {
return c.getName().equals("Experiment Kraj");
}
});
- CardList P1P1s = AllZoneUtil.getCardsIn(ZoneType.Battlefield).filter(new Predicate() {
+ List P1P1s = AllZoneUtil.getCardsIn(ZoneType.Battlefield).filter(new Predicate() {
@Override
public boolean addCard(Card c) {
return c.getCounters(Counters.P1P1) > 0;
@@ -1217,7 +1218,7 @@ public class GameAction {
*/
private void destroyPlaneswalkers() {
// get all Planeswalkers
- final CardList list = CardListUtil.filter(AllZoneUtil.getCardsIn(ZoneType.Battlefield), CardPredicates.Presets.PLANEWALKERS);
+ final List list = CardListUtil.filter(AllZoneUtil.getCardsIn(ZoneType.Battlefield), CardPredicates.Presets.PLANEWALKERS);
Card c;
for (int i = 0; i < list.size(); i++) {
@@ -1233,7 +1234,7 @@ public class GameAction {
continue;
}
- final CardList cl = CardListUtil.getType(list, type);
+ final List cl = CardListUtil.getType(list, type);
if (cl.size() > 1) {
for (final Card crd : cl) {
@@ -1250,13 +1251,13 @@ public class GameAction {
*
*/
private void destroyLegendaryCreatures() {
- final CardList a = CardListUtil.getType(AllZoneUtil.getCardsIn(ZoneType.Battlefield), "Legendary");
+ final List a = CardListUtil.getType(AllZoneUtil.getCardsIn(ZoneType.Battlefield), "Legendary");
if (a.isEmpty() || AllZoneUtil.isCardInPlay("Mirror Gallery")) {
return;
}
while (!a.isEmpty()) {
- CardList b = AllZoneUtil.getCardsIn(ZoneType.Battlefield, a.get(0).getName());
+ List b = AllZoneUtil.getCardsIn(ZoneType.Battlefield, a.get(0).getName());
b = CardListUtil.getType(b, "Legendary");
b = CardListUtil.filter(b, new Predicate() {
@Override
@@ -1319,7 +1320,7 @@ public class GameAction {
}
if (c.isEnchanted()) {
- CardList list = new CardList(c.getEnchantedBy());
+ List list = new ArrayList(c.getEnchantedBy());
list = CardListUtil.filter(list, new Predicate() {
@Override
public boolean apply(final Card crd) {
@@ -1502,7 +1503,7 @@ public class GameAction {
}
if (c.isEnchanted()) {
- CardList list = new CardList(c.getEnchantedBy());
+ List list = new ArrayList(c.getEnchantedBy());
list = CardListUtil.filter(list, new Predicate() {
@Override
public boolean apply(final Card crd) {
@@ -1710,8 +1711,8 @@ public class GameAction {
final Integer chosenAmount = (Integer) GuiChoose.one("Exile how many cards?", cntChoice);
System.out.println("Delve for " + chosenAmount);
- final CardList choices = AllZone.getHumanPlayer().getCardsIn(ZoneType.Graveyard);
- final CardList chosen = new CardList();
+ final List choices = AllZone.getHumanPlayer().getCardsIn(ZoneType.Graveyard);
+ final List chosen = new ArrayList();
for (int i = 0; i < chosenAmount; i++) {
final Card nowChosen = GuiChoose.oneOrNone("Exile which card?", choices);
@@ -1743,7 +1744,7 @@ public class GameAction {
}
for (int i = 0; i < numToExile; i++) {
- final CardList grave = new CardList(AllZone.getComputerPlayer().getZone(ZoneType.Graveyard)
+ final List grave = new ArrayList(AllZone.getComputerPlayer().getZone(ZoneType.Graveyard)
.getCards());
Card chosen = null;
for (final Card c : grave) { // Exile noncreatures first
@@ -1772,7 +1773,7 @@ public class GameAction {
manaCost.decreaseColorlessMana(numToExile);
}
} else if (spell.getSourceCard().hasKeyword("Convoke")) {
- CardList untappedCreats = CardListUtil.filter(spell.getActivatingPlayer().getCardsIn(ZoneType.Battlefield), CardPredicates.Presets.CREATURES);
+ List untappedCreats = CardListUtil.filter(spell.getActivatingPlayer().getCardsIn(ZoneType.Battlefield), CardPredicates.Presets.CREATURES);
untappedCreats = CardListUtil.filter(untappedCreats, CardPredicates.Presets.UNTAPPED);
if (untappedCreats.size() != 0) {
@@ -1859,7 +1860,7 @@ public class GameAction {
}
} // isSpell
- CardList cardsOnBattlefield = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
+ List cardsOnBattlefield = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
cardsOnBattlefield.add(originalCard);
final ArrayList raiseAbilities = new ArrayList();
final ArrayList reduceAbilities = new ArrayList();
diff --git a/src/main/java/forge/GameActionUtil.java b/src/main/java/forge/GameActionUtil.java
index 5afdb79a55f..58b18834103 100644
--- a/src/main/java/forge/GameActionUtil.java
+++ b/src/main/java/forge/GameActionUtil.java
@@ -104,12 +104,12 @@ public final class GameActionUtil {
public void execute() {
if (!c.isCopiedSpell()) {
- final CardList humanNexus = AllZone.getHumanPlayer()
+ final List humanNexus = AllZone.getHumanPlayer()
.getCardsIn(ZoneType.Battlefield, "Maelstrom Nexus");
- final CardList computerNexus = AllZone.getComputerPlayer().getCardsIn(ZoneType.Battlefield,
+ final List computerNexus = AllZone.getComputerPlayer().getCardsIn(ZoneType.Battlefield,
"Maelstrom Nexus");
- final CardList maelstromNexii = new CardList();
+ final List maelstromNexii = new ArrayList();
maelstromNexii.addAll(humanNexus);
maelstromNexii.addAll(computerNexus);
@@ -133,8 +133,8 @@ public final class GameActionUtil {
final Ability ability = new Ability(c, "0") {
@Override
public void resolve() {
- final CardList topOfLibrary = controller.getCardsIn(ZoneType.Library);
- final CardList revealed = new CardList();
+ final List topOfLibrary = controller.getCardsIn(ZoneType.Library);
+ final List revealed = new ArrayList();
if (topOfLibrary.size() == 0) {
return;
@@ -229,9 +229,9 @@ public final class GameActionUtil {
@Override
public void execute() {
- final CardList humanThrummingStone = AllZone.getHumanPlayer().getCardsIn(ZoneType.Battlefield,
+ final List humanThrummingStone = AllZone.getHumanPlayer().getCardsIn(ZoneType.Battlefield,
"Thrumming Stone");
- final CardList computerThrummingStone = AllZone.getComputerPlayer().getCardsIn(ZoneType.Battlefield,
+ final List computerThrummingStone = AllZone.getComputerPlayer().getCardsIn(ZoneType.Battlefield,
"Thrumming Stone");
for (int i = 0; i < humanThrummingStone.size(); i++) {
@@ -264,8 +264,8 @@ public final class GameActionUtil {
final Ability ability = new Ability(c, "0") {
@Override
public void resolve() {
- final CardList topOfLibrary = controller.getCardsIn(ZoneType.Library);
- final CardList revealed = new CardList();
+ final List topOfLibrary = controller.getCardsIn(ZoneType.Library);
+ final List revealed = new ArrayList();
int rippleNumber = rippleCount;
if (topOfLibrary.size() == 0) {
return;
@@ -856,14 +856,14 @@ public final class GameActionUtil {
return;
}
- final CardList playerLiches = player.getCardsIn(ZoneType.Battlefield, "Lich");
+ final List playerLiches = player.getCardsIn(ZoneType.Battlefield, "Lich");
for (final Card lich : playerLiches) {
final SpellAbility ability = new Ability(lich, "0") {
@Override
public void resolve() {
for (int i = 0; i < damage; i++) {
- CardList nonTokens = player.getCardsIn(ZoneType.Battlefield);
+ List nonTokens = player.getCardsIn(ZoneType.Battlefield);
nonTokens = CardListUtil.filter(nonTokens, Presets.NON_TOKEN);
if (nonTokens.size() == 0) {
player.loseConditionMet(GameLossReason.SpellEffect, lich.getName());
@@ -916,7 +916,7 @@ public final class GameActionUtil {
}
if (c.isCreature() && AllZoneUtil.isCardInPlay("Contested War Zone", player)) {
- final CardList zones = player.getCardsIn(ZoneType.Battlefield, "Contested War Zone");
+ final List zones = player.getCardsIn(ZoneType.Battlefield, "Contested War Zone");
for (final Card zone : zones) {
final Ability ability = new Ability(zone, "0") {
@Override
@@ -1069,7 +1069,7 @@ public final class GameActionUtil {
@Override
public void resolve() {
- final CardList libList = opponent.getCardsIn(ZoneType.Library);
+ final List libList = opponent.getCardsIn(ZoneType.Library);
int count = 0;
int broken = 0;
for (int i = 0; i < libList.size(); i = i + 4) {
@@ -1158,7 +1158,7 @@ public final class GameActionUtil {
produces.put("Plains", "W");
produces.put("Swamp", "B");
- CardList lands = AllZoneUtil.getCardsInGame();
+ List lands = AllZoneUtil.getCardsInGame();
lands = CardListUtil.filter(lands, Presets.LANDS);
// remove all abilities granted by this Command
@@ -1217,11 +1217,11 @@ public final class GameActionUtil {
private static Command coatOfArms = new Command() {
private static final long serialVersionUID = 583505612126735693L;
- private final CardList gloriousAnthemList = new CardList();
+ private final List gloriousAnthemList = new ArrayList();
@Override
public void execute() {
- final CardList list = this.gloriousAnthemList;
+ final List list = this.gloriousAnthemList;
// reset all cards in list - aka "old" cards
for (int i2 = 0; i2 < list.size(); i2++) {
list.get(i2).addSemiPermanentAttackBoost(-1);
@@ -1249,14 +1249,14 @@ public final class GameActionUtil {
private static Command alphaStatus = new Command() {
private static final long serialVersionUID = -3213793711304934358L;
- private final CardList previouslyPumped = new CardList();
+ private final List previouslyPumped = new ArrayList();
private final ArrayList previouslyPumpedValue = new ArrayList();
@Override
public void execute() {
- final CardList alphaStatuses = AllZoneUtil.getCardsIn(ZoneType.Battlefield, "Alpha Status");
+ final List alphaStatuses = AllZoneUtil.getCardsIn(ZoneType.Battlefield, "Alpha Status");
- final CardList allCreatures = AllZoneUtil.getCreaturesInPlay();
+ final List allCreatures = AllZoneUtil.getCreaturesInPlay();
for (int i = 0; i < this.previouslyPumped.size(); i++) {
this.previouslyPumped.get(i).addSemiPermanentAttackBoost(0 - this.previouslyPumpedValue.get(i));
@@ -1291,10 +1291,10 @@ public final class GameActionUtil {
@Override
public void execute() {
// get all creatures
- final CardList cards = AllZoneUtil.getCardsIn(ZoneType.Battlefield, "Umbra Stalker");
+ final List cards = AllZoneUtil.getCardsIn(ZoneType.Battlefield, "Umbra Stalker");
for (final Card c : cards) {
final Player player = c.getController();
- final CardList grave = player.getCardsIn(ZoneType.Graveyard);
+ final List grave = player.getCardsIn(ZoneType.Graveyard);
final int pt = CardFactoryUtil.getNumberOfManaSymbolsByColor("B", grave);
c.setBaseAttack(pt);
c.setBaseDefense(pt);
@@ -1308,7 +1308,7 @@ public final class GameActionUtil {
@Override
public void execute() {
- CardList list = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
+ List list = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
list = CardListUtil.filter(list, new Predicate() {
@Override
@@ -1331,7 +1331,7 @@ public final class GameActionUtil {
@Override
public void execute() {
- final CardList list = AllZoneUtil.getCardsIn(ZoneType.Battlefield, "Old Man of the Sea");
+ final List list = AllZoneUtil.getCardsIn(ZoneType.Battlefield, "Old Man of the Sea");
for (final Card oldman : list) {
if (!oldman.getGainControlTargets().isEmpty()) {
if (oldman.getNetAttack() < oldman.getGainControlTargets().get(0).getNetAttack()) {
@@ -1352,7 +1352,7 @@ public final class GameActionUtil {
@Override
public void execute() {
- final CardList list = AllZoneUtil.getCardsIn(ZoneType.Battlefield, "Liu Bei, Lord of Shu");
+ final List list = AllZoneUtil.getCardsIn(ZoneType.Battlefield, "Liu Bei, Lord of Shu");
if (list.size() > 0) {
for (int i = 0; i < list.size(); i++) {
@@ -1371,7 +1371,7 @@ public final class GameActionUtil {
} // execute()
private boolean getsBonus(final Card c) {
- CardList list = c.getController().getCardsIn(ZoneType.Battlefield);
+ List list = c.getController().getCardsIn(ZoneType.Battlefield);
list = CardListUtil.filter(list, new Predicate() {
@Override
public boolean apply(final Card c) {
@@ -1391,7 +1391,7 @@ public final class GameActionUtil {
@Override
public void execute() {
- CardList list = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
+ List list = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
list = CardListUtil.filter(list, new Predicate() {
@Override
public boolean apply(final Card c) {
@@ -1409,7 +1409,7 @@ public final class GameActionUtil {
}
private int countSoundTheCalls() {
- CardList list = AllZoneUtil.getCardsIn(ZoneType.Graveyard, "Sound the Call");
+ List list = AllZoneUtil.getCardsIn(ZoneType.Graveyard, "Sound the Call");
return list.size();
}
@@ -1422,7 +1422,7 @@ public final class GameActionUtil {
@Override
public void execute() {
// get all creatures
- final CardList list = AllZoneUtil.getCardsIn(ZoneType.Battlefield, "Tarmogoyf");
+ final List list = AllZoneUtil.getCardsIn(ZoneType.Battlefield, "Tarmogoyf");
for (int i = 0; i < list.size(); i++) {
final Card c = list.get(i);
@@ -1433,7 +1433,7 @@ public final class GameActionUtil {
} // execute()
private int countDiffTypes() {
- final CardList list = AllZoneUtil.getCardsIn(ZoneType.Graveyard);
+ final List list = AllZoneUtil.getCardsIn(ZoneType.Graveyard);
int count = 0;
for (int q = 0; q < list.size(); q++) {
@@ -1521,7 +1521,7 @@ public final class GameActionUtil {
*/
public static void doPowerSink(final Player p) {
// get all lands with mana abilities
- CardList lands = AllZoneUtil.getPlayerLandsInPlay(p);
+ List lands = AllZoneUtil.getPlayerLandsInPlay(p);
lands = CardListUtil.filter(lands, new Predicate() {
@Override
public boolean apply(final Card c) {
diff --git a/src/main/java/forge/NameChanger.java b/src/main/java/forge/NameChanger.java
index e58fc68ac73..00040fb53dc 100644
--- a/src/main/java/forge/NameChanger.java
+++ b/src/main/java/forge/NameChanger.java
@@ -19,6 +19,8 @@ package forge;
import java.io.BufferedReader;
import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.StringTokenizer;
@@ -154,9 +156,9 @@ public class NameChanger {
* @return either list itself or a new list (possibly wasteful) containing
* the side effected cards
*/
- public final CardList changeCardsIfNeeded(CardList list) {
+ public final List changeCardsIfNeeded(List list) {
if (this.shouldChangeCardName()) {
- list = new CardList( Lists.transform(list, fnTransformCard) );
+ list = new ArrayList( Lists.transform(list, fnTransformCard) );
}
return list;
}
diff --git a/src/main/java/forge/StaticEffect.java b/src/main/java/forge/StaticEffect.java
index 2a6ffdd719f..4a18fe8e58c 100644
--- a/src/main/java/forge/StaticEffect.java
+++ b/src/main/java/forge/StaticEffect.java
@@ -19,6 +19,7 @@ package forge;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import forge.card.spellability.SpellAbility;
import forge.game.player.Player;
@@ -34,7 +35,7 @@ import forge.game.player.Player;
public class StaticEffect {
private Card source = new Card();
private int keywordNumber = 0;
- private CardList affectedCards = new CardList();
+ private List affectedCards = new ArrayList();
private ArrayList affectedPlayers = new ArrayList();
private int xValue = 0;
private int yValue = 0;
@@ -739,7 +740,7 @@ public class StaticEffect {
*
* @return a {@link forge.CardList} object.
*/
- public final CardList getAffectedCards() {
+ public final List getAffectedCards() {
return this.affectedCards;
}
@@ -751,7 +752,7 @@ public class StaticEffect {
* @param list
* a {@link forge.CardList} object.
*/
- public final void setAffectedCards(final CardList list) {
+ public final void setAffectedCards(final List list) {
this.affectedCards = list;
}
diff --git a/src/main/java/forge/StaticEffects.java b/src/main/java/forge/StaticEffects.java
index dc932c99933..f60137383e8 100644
--- a/src/main/java/forge/StaticEffects.java
+++ b/src/main/java/forge/StaticEffects.java
@@ -20,6 +20,7 @@ package forge;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
+import java.util.List;
import com.esotericsoftware.minlog.Log;
@@ -75,7 +76,7 @@ public class StaticEffects {
* a StaticEffect
*/
final void removeStaticEffect(final StaticEffect se) {
- final CardList affectedCards = se.getAffectedCards();
+ final List affectedCards = se.getAffectedCards();
final ArrayList affectedPlayers = se.getAffectedPlayers();
final HashMap params = se.getParams();
@@ -317,7 +318,7 @@ public class StaticEffects {
public final void rePopulateStateBasedList() {
this.reset();
- final CardList cards = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
+ final List cards = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
Log.debug("== Start add state effects ==");
for (int i = 0; i < cards.size(); i++) {
diff --git a/src/main/java/forge/card/DeckHints.java b/src/main/java/forge/card/DeckHints.java
index 2e47372f1ee..206f5e157a4 100644
--- a/src/main/java/forge/card/DeckHints.java
+++ b/src/main/java/forge/card/DeckHints.java
@@ -63,12 +63,12 @@ public class DeckHints {
}
/**
- * Returns a list of Cards from the given CardList that match this
+ * Returns a list of Cards from the given List that match this
* DeckHints. I.e., other cards that this Card needs in its deck.
*
* @param cardList
* list of cards to be filtered
- * @return CardList of Cards that match this DeckHints.
+ * @return List of Cards that match this DeckHints.
*/
public List filter(Iterable cardList) {
List ret;
diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactory.java b/src/main/java/forge/card/abilityfactory/AbilityFactory.java
index 64a6bb011eb..ed91d2def49 100644
--- a/src/main/java/forge/card/abilityfactory/AbilityFactory.java
+++ b/src/main/java/forge/card/abilityfactory/AbilityFactory.java
@@ -19,11 +19,12 @@ package forge.card.abilityfactory;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
-import forge.CardList;
+
import forge.CardListUtil;
import forge.CardUtil;
import forge.Command;
@@ -1627,7 +1628,7 @@ public class AbilityFactory {
* multiplier;
} else if (calcX[0].startsWith("Remembered")) {
// Add whole Remembered list to handlePaid
- final CardList list = new CardList();
+ final List list = new ArrayList();
if (card.getRemembered().isEmpty()) {
final Card newCard = AllZoneUtil.getCardState(card);
for (final Object o : newCard.getRemembered()) {
@@ -1654,7 +1655,7 @@ public class AbilityFactory {
return CardFactoryUtil.handlePaid(list, calcX[1], card) * multiplier;
} else if (calcX[0].startsWith("Imprinted")) {
// Add whole Imprinted list to handlePaid
- final CardList list = new CardList();
+ final List list = new ArrayList();
for (final Card c : card.getImprinted()) {
list.add(AllZoneUtil.getCardState(c));
}
@@ -1662,7 +1663,7 @@ public class AbilityFactory {
return CardFactoryUtil.handlePaid(list, calcX[1], card) * multiplier;
} else if (calcX[0].matches("Enchanted")) {
// Add whole Enchanted list to handlePaid
- final CardList list = new CardList();
+ final List list = new ArrayList();
if (card.isEnchanting()) {
Object o = card.getEnchanting();
if (o instanceof Card) {
@@ -1722,7 +1723,7 @@ public class AbilityFactory {
}
*/
- CardList list = new CardList();
+ List list = new ArrayList();
if (calcX[0].startsWith("Sacrificed")) {
list = AbilityFactory.findRootAbility(ability).getPaidList("Sacrificed");
} else if (calcX[0].startsWith("Discarded")) {
@@ -1743,14 +1744,14 @@ public class AbilityFactory {
final ArrayList all = t.getTargets();
if (!all.isEmpty() && (all.get(0) instanceof SpellAbility)) {
final SpellAbility saTargeting = AbilityFactory.findParentsTargetedSpellAbility(ability);
- list = new CardList();
+ list = new ArrayList();
final ArrayList sas = saTargeting.getTarget().getTargetSAs();
for (final SpellAbility sa : sas) {
list.add(sa.getSourceCard());
}
} else {
final SpellAbility saTargeting = AbilityFactory.findParentsTargetedCard(ability);
- list = new CardList(saTargeting.getTarget().getTargetCards());
+ list = new ArrayList(saTargeting.getTarget().getTargetCards());
}
} else {
final SpellAbility parent = AbilityFactory.findParentsTargetedCard(ability);
@@ -1758,20 +1759,20 @@ public class AbilityFactory {
if (parent != null) {
final ArrayList all = parent.getTarget().getTargets();
if (!all.isEmpty() && (all.get(0) instanceof SpellAbility)) {
- list = new CardList();
+ list = new ArrayList();
final ArrayList sas = parent.getTarget().getTargetSAs();
for (final SpellAbility sa : sas) {
list.add(sa.getSourceCard());
}
} else {
final SpellAbility saTargeting = AbilityFactory.findParentsTargetedCard(ability);
- list = new CardList(saTargeting.getTarget().getTargetCards());
+ list = new ArrayList(saTargeting.getTarget().getTargetCards());
}
}
}
} else if (calcX[0].startsWith("Triggered")) {
final SpellAbility root = ability.getRootSpellAbility();
- list = new CardList();
+ list = new ArrayList();
list.add((Card) root.getTriggeringObject(calcX[0].substring(9)));
} else if (calcX[0].startsWith("TriggerCount")) {
// TriggerCount is similar to a regular Count, but just
@@ -1784,7 +1785,7 @@ public class AbilityFactory {
return CardFactoryUtil.doXMath(count, m, card) * multiplier;
} else if (calcX[0].startsWith("Replaced")) {
final SpellAbility root = ability.getRootSpellAbility();
- list = new CardList();
+ list = new ArrayList();
list.add((Card) root.getReplacingObject(calcX[0].substring(8)));
} else if (calcX[0].startsWith("ReplaceCount")) {
// ReplaceCount is similar to a regular Count, but just
@@ -1852,6 +1853,7 @@ public class AbilityFactory {
* a {@link forge.card.spellability.SpellAbility} object.
* @return a {@link java.util.ArrayList} object.
*/
+ @SuppressWarnings("unchecked")
public static ArrayList getDefinedCards(final Card hostCard, final String def, final SpellAbility sa) {
final ArrayList cards = new ArrayList();
final String defined = (def == null) ? "Self" : def; // default to Self
@@ -1886,7 +1888,7 @@ public class AbilityFactory {
}
else if (defined.equals("TopOfLibrary")) {
- final CardList lib = hostCard.getController().getCardsIn(ZoneType.Library);
+ final List lib = hostCard.getController().getCardsIn(ZoneType.Library);
if (lib.size() > 0) {
c = lib.get(0);
} else {
@@ -1915,8 +1917,8 @@ public class AbilityFactory {
if (crd instanceof Card) {
c = AllZoneUtil.getCardState((Card) crd);
c = (Card) crd;
- } else if (crd instanceof CardList) {
- for (final Card cardItem : (CardList) crd) {
+ } else if (crd instanceof List>) {
+ for (final Card cardItem : (List) crd) {
cards.add(cardItem);
}
}
@@ -1926,8 +1928,8 @@ public class AbilityFactory {
final Object crd = root.getReplacingObject(defined.substring(8));
if (crd instanceof Card) {
c = AllZoneUtil.getCardState((Card) crd);
- } else if (crd instanceof CardList) {
- for (final Card cardItem : (CardList) crd) {
+ } else if (crd instanceof List>) {
+ for (final Card cardItem : (List) crd) {
cards.add(cardItem);
}
}
@@ -1971,7 +1973,7 @@ public class AbilityFactory {
cards.add(cl);
}
} else {
- CardList list = null;
+ List list = null;
if (defined.startsWith("Sacrificed")) {
list = AbilityFactory.findRootAbility(sa).getPaidList("Sacrificed");
}
@@ -2472,7 +2474,7 @@ public class AbilityFactory {
if (threatParams.containsKey("Defined")) {
objects = AbilityFactory.getDefinedObjects(source, threatParams.get("Defined"), topStack);
} else if (threatParams.containsKey("ValidCards")) {
- CardList cards = CardListUtil.getValidCards(AllZone.getComputerPlayer().getCardsIn(ZoneType.Battlefield), threatParams.get("ValidCards").split(","), source.getController(), source);
+ List cards = CardListUtil.getValidCards(AllZone.getComputerPlayer().getCardsIn(ZoneType.Battlefield), threatParams.get("ValidCards").split(","), source.getController(), source);
for (Card card : cards) {
objects.add(card);
}
@@ -2644,7 +2646,7 @@ public class AbilityFactory {
if (params.containsKey("RememberCostCards")) {
if (params.get("Cost").contains("Exile")) {
- final CardList paidListExiled = sa.getPaidList("Exiled");
+ final List paidListExiled = sa.getPaidList("Exiled");
for (final Card exiledAsCost : paidListExiled) {
host.addRemembered(exiledAsCost);
}
@@ -2663,7 +2665,7 @@ public class AbilityFactory {
* a SpellAbility
* @return a {@link forge.CardList} object.
*/
- public static CardList filterListByType(final CardList list, String type, final SpellAbility sa) {
+ public static List filterListByType(final List list, String type, final SpellAbility sa) {
if (type == null) {
return list;
}
@@ -2685,7 +2687,7 @@ public class AbilityFactory {
}
if (!(o instanceof Card)) {
- return new CardList();
+ return new ArrayList();
}
if (type.equals("Triggered") || (type.equals("TriggeredCard")) || (type.equals("TriggeredAttacker")) || (type.equals("TriggeredBlocker"))) {
@@ -2716,7 +2718,7 @@ public class AbilityFactory {
}
}
if (source == null) {
- return new CardList();
+ return new ArrayList();
}
if (type.startsWith("TargetedCard")) {
@@ -2737,7 +2739,7 @@ public class AbilityFactory {
}
if (!hasRememberedCard) {
- return new CardList();
+ return new ArrayList();
}
} else if (type.equals("Card.AttachedBy")) {
source = source.getEnchantingCard();
diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java
index 30171c88c0e..eb6615a3f60 100644
--- a/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java
+++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java
@@ -28,7 +28,7 @@ import com.google.common.collect.Iterables;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
-import forge.CardList;
+
import forge.CardListUtil;
import forge.CardPredicates;
import forge.CardUtil;
@@ -1282,7 +1282,7 @@ public final class AbilityFactoryAnimate {
valid = params.get("ValidCards");
}
- CardList list;
+ List list;
ArrayList tgtPlayers = null;
final Target tgt = sa.getTarget();
diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java
index 06297179f13..8f7369a52ed 100644
--- a/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java
+++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java
@@ -20,6 +20,7 @@ package forge.card.abilityfactory;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Random;
@@ -29,7 +30,7 @@ import com.google.common.base.Predicates;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
-import forge.CardList;
+
import forge.CardListUtil;
import forge.CardPredicates;
import forge.CardPredicates.Presets;
@@ -347,7 +348,7 @@ public class AbilityFactoryAttach {
return null;
}
- CardList list = AllZoneUtil.getCardsIn(tgt.getZone());
+ List list = AllZoneUtil.getCardsIn(tgt.getZone());
list = CardListUtil.getValidCards(list, tgt.getValidTgts(), sa.getActivatingPlayer(), attachSource);
if (params.containsKey("AITgts")) {
list = CardListUtil.getValidCards(list, params.get("AITgts"), sa.getActivatingPlayer(), attachSource);
@@ -392,7 +393,7 @@ public class AbilityFactoryAttach {
* the logic
* @return the card
*/
- public static Card attachGeneralAI(final SpellAbility sa, final CardList list, final boolean mandatory,
+ public static Card attachGeneralAI(final SpellAbility sa, final List list, final boolean mandatory,
final Card attachSource, final String logic) {
Player prefPlayer = AllZone.getHumanPlayer();
if ("Pump".equals(logic) || "Animate".equals(logic) ) {
@@ -400,7 +401,7 @@ public class AbilityFactoryAttach {
}
// Some ChangeType cards are beneficial, and PrefPlayer should be
// changed to represent that
- final CardList prefList = CardListUtil.filterControlledBy(list, prefPlayer);
+ final List prefList = CardListUtil.filterControlledBy(list, prefPlayer);
// If there are no preferred cards, and not mandatory bail out
if (prefList.size() == 0) {
@@ -436,7 +437,7 @@ public class AbilityFactoryAttach {
* the list
* @return the card
*/
- public static Card chooseUnpreferred(final boolean mandatory, final CardList list) {
+ public static Card chooseUnpreferred(final boolean mandatory, final List list) {
if (!mandatory) {
return null;
}
@@ -453,7 +454,7 @@ public class AbilityFactoryAttach {
* the list
* @return the card
*/
- public static Card chooseLessPreferred(final boolean mandatory, final CardList list) {
+ public static Card chooseLessPreferred(final boolean mandatory, final List list) {
if (!mandatory) {
return null;
}
@@ -499,10 +500,10 @@ public class AbilityFactoryAttach {
* the attach source
* @return the card
*/
- public static Card attachAIAnimatePreference(final SpellAbility sa, final CardList list, final boolean mandatory,
+ public static Card attachAIAnimatePreference(final SpellAbility sa, final List list, final boolean mandatory,
final Card attachSource) {
// AI For choosing a Card to Animate.
- CardList betterList = CardListUtil.getNotType(list, "Creature");
+ List betterList = CardListUtil.getNotType(list, "Creature");
if (sa.getSourceCard().getName().equals("Animate Artifact")) {
betterList = CardListUtil.filter(betterList, new Predicate() {
@Override
@@ -537,7 +538,7 @@ public class AbilityFactoryAttach {
* the attach source
* @return the card
*/
- public static Card attachAIControlPreference(final SpellAbility sa, final CardList list, final boolean mandatory,
+ public static Card attachAIControlPreference(final SpellAbility sa, final List list, final boolean mandatory,
final Card attachSource) {
// AI For choosing a Card to Gain Control of.
@@ -688,11 +689,11 @@ public class AbilityFactoryAttach {
* the attach source
* @return the card
*/
- public static Card attachAIPumpPreference(final SpellAbility sa, final CardList list, final boolean mandatory,
+ public static Card attachAIPumpPreference(final SpellAbility sa, final List list, final boolean mandatory,
final Card attachSource) {
// AI For choosing a Card to Pump
Card c = null;
- CardList magnetList = null;
+ List magnetList = null;
String stCheck = null;
if (attachSource.isAura()) {
stCheck = "EnchantedBy";
@@ -769,7 +770,7 @@ public class AbilityFactoryAttach {
}
}
- CardList prefList = new CardList(list);
+ List prefList = new ArrayList(list);
if (totToughness < 0) {
// Don't kill my own stuff with Negative toughness Auras
final int tgh = totToughness;
@@ -841,7 +842,7 @@ public class AbilityFactoryAttach {
* the attach source
* @return the card
*/
- public static Card attachAICursePreference(final SpellAbility sa, final CardList list, final boolean mandatory,
+ public static Card attachAICursePreference(final SpellAbility sa, final List list, final boolean mandatory,
final Card attachSource) {
// AI For choosing a Card to Curse of.
@@ -887,7 +888,7 @@ public class AbilityFactoryAttach {
}
}
- CardList prefList = null;
+ List prefList = null;
if (totToughness < 0) {
// Kill a creature if we can
final int tgh = totToughness;
@@ -904,7 +905,7 @@ public class AbilityFactoryAttach {
}
Card c = null;
if ((prefList == null) || (prefList.size() == 0)) {
- prefList = new CardList(list);
+ prefList = new ArrayList(list);
} else {
c = CardFactoryUtil.getBestAI(prefList);
if (c != null) {
@@ -948,7 +949,7 @@ public class AbilityFactoryAttach {
* the attach source
* @return the card
*/
- public static Card attachAIChangeTypePreference(final SpellAbility sa, CardList list, final boolean mandatory,
+ public static Card attachAIChangeTypePreference(final SpellAbility sa, List list, final boolean mandatory,
final Card attachSource) {
// AI For Cards like Evil Presence or Spreading Seas
@@ -992,10 +993,10 @@ public class AbilityFactoryAttach {
* the attach source
* @return the card
*/
- public static Card attachAIKeepTappedPreference(final SpellAbility sa, final CardList list,
+ public static Card attachAIKeepTappedPreference(final SpellAbility sa, final List list,
final boolean mandatory, final Card attachSource) {
// AI For Cards like Paralyzing Grasp and Glimmerdust Nap
- final CardList prefList = CardListUtil.filter(list, new Predicate() {
+ final List prefList = CardListUtil.filter(list, new Predicate() {
@Override
public boolean apply(final Card c) {
// Don't do Untapped Vigilance cards
@@ -1417,7 +1418,7 @@ public class AbilityFactoryAttach {
return true;
}
} else {
- CardList list = AllZoneUtil.getCardsIn(tgt.getZone());
+ List list = AllZoneUtil.getCardsIn(tgt.getZone());
list = CardListUtil.getValidCards(list, tgt.getValidTgts(), aura.getActivatingPlayer(), source);
final Object o = GuiChoose.one(source + " - Select a card to attach to.", list);
@@ -1710,7 +1711,7 @@ public class AbilityFactoryAttach {
// If Cast Targets will be checked on the Stack
for (final Object o : targets) {
String valid = params.get("UnattachValid");
- CardList unattachList = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
+ List unattachList = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
unattachList = CardListUtil.getValidCards(unattachList, valid.split(","), source.getController(), source);
for (final Card c : unattachList) {
AbilityFactoryAttach.handleUnattachment(o, c, af);
diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryBond.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryBond.java
index 69f94bde258..86d3bcaa7b1 100644
--- a/src/main/java/forge/card/abilityfactory/AbilityFactoryBond.java
+++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryBond.java
@@ -19,9 +19,11 @@ package forge.card.abilityfactory;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
+
import forge.AllZoneUtil;
import forge.Card;
-import forge.CardList;
+
import forge.card.spellability.AbilityActivated;
import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility;
@@ -322,7 +324,7 @@ public final class AbilityFactoryBond {
}
// find list of valid cards to pair with
- CardList cards = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
+ List cards = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
cards = AbilityFactory.filterListByType(cards, params.get("ValidCards"), sa);
if (cards.isEmpty()) {
return;
diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java
index c0b8cd217fd..34d93b5c544 100644
--- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java
+++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java
@@ -30,7 +30,7 @@ import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardCharacteristicName;
-import forge.CardList;
+
import forge.CardListUtil;
import forge.CardPredicates;
import forge.CardPredicates.Presets;
@@ -499,7 +499,7 @@ public final class AbilityFactoryChangeZone {
//Ninjutsu
if (params.containsKey("Ninjutsu")) {
if (source.isType("Legendary") && !AllZoneUtil.isCardInPlay("Mirror Gallery")) {
- final CardList list = AllZone.getComputerPlayer().getCardsIn(ZoneType.Battlefield);
+ final List list = AllZone.getComputerPlayer().getCardsIn(ZoneType.Battlefield);
if (Iterables.any(list, CardPredicates.nameEquals(source.getName()))) {
return false;
}
@@ -507,7 +507,7 @@ public final class AbilityFactoryChangeZone {
if (Singletons.getModel().getGameState().getPhaseHandler().getPhase().isAfter(PhaseType.COMBAT_DAMAGE)) {
return false;
}
- CardList attackers = new CardList();
+ List attackers = new ArrayList();
attackers.addAll(AllZone.getCombat().getUnblockedAttackers());
boolean lowerCMC = false;
for (Card attacker : attackers) {
@@ -566,7 +566,7 @@ public final class AbilityFactoryChangeZone {
}
for (final Player p : pDefined) {
- CardList list = p.getCardsIn(origin);
+ List list = p.getCardsIn(origin);
if ((type != null) && p.isComputer()) {
// AI only "knows" about his information
@@ -696,7 +696,7 @@ public final class AbilityFactoryChangeZone {
}
for (final Player p : pDefined) {
- CardList list = p.getCardsIn(origin);
+ List list = p.getCardsIn(origin);
// Computer should "know" his deck
if (p.isComputer()) {
@@ -899,7 +899,7 @@ public final class AbilityFactoryChangeZone {
private static void changeHiddenOriginResolveHuman(final AbilityFactory af, final SpellAbility sa, Player player) {
final HashMap params = af.getMapParams();
final Card card = sa.getSourceCard();
- final CardList reveal = new CardList();
+ final List reveal = new ArrayList();
final boolean defined = params.containsKey("Defined");
final Target tgt = sa.getTarget();
@@ -923,7 +923,7 @@ public final class AbilityFactoryChangeZone {
// Currently only used for Mishra, but may be used by other things
// Improve how this message reacts for other cards
final List alt = ZoneType.listValueOf(params.get("OriginAlternative"));
- CardList altFetchList = player.getCardsIn(alt);
+ List altFetchList = player.getCardsIn(alt);
altFetchList = AbilityFactory.filterListByType(altFetchList, params.get("ChangeType"), sa);
final StringBuilder sb = new StringBuilder();
@@ -950,9 +950,9 @@ public final class AbilityFactoryChangeZone {
int changeNum = params.containsKey("ChangeNum") ? AbilityFactory.calculateAmount(card, params.get("ChangeNum"),
sa) : 1;
- CardList fetchList;
+ List fetchList;
if (defined) {
- fetchList = new CardList(AbilityFactory.getDefinedCards(card, params.get("Defined"), sa));
+ fetchList = new ArrayList(AbilityFactory.getDefinedCards(card, params.get("Defined"), sa));
if (!params.containsKey("ChangeNum")) {
changeNum = fetchList.size();
}
@@ -1133,9 +1133,9 @@ public final class AbilityFactoryChangeZone {
int changeNum = params.containsKey("ChangeNum") ? AbilityFactory.calculateAmount(card, params.get("ChangeNum"),
sa) : 1;
- CardList fetchList;
+ List fetchList;
if (defined) {
- fetchList = new CardList(AbilityFactory.getDefinedCards(card, params.get("Defined"), sa));
+ fetchList = new ArrayList(AbilityFactory.getDefinedCards(card, params.get("Defined"), sa));
if (!params.containsKey("ChangeNum")) {
changeNum = fetchList.size();
}
@@ -1149,7 +1149,7 @@ public final class AbilityFactoryChangeZone {
}
final ZoneType destination = ZoneType.smartValueOf(params.get("Destination"));
- final CardList fetched = new CardList();
+ final List fetched = new ArrayList();
final String remember = params.get("RememberChanged");
final String forget = params.get("ForgetChanged");
final String imprint = params.get("Imprint");
@@ -1213,13 +1213,13 @@ public final class AbilityFactoryChangeZone {
c = CardFactoryUtil.getBestAI(fetchList);
} else {
// Don't fetch another tutor with the same name
- CardList sameNamed = CardListUtil.filter(fetchList, Predicates.not(CardPredicates.nameEquals(card.getName())));
+ List sameNamed = CardListUtil.filter(fetchList, Predicates.not(CardPredicates.nameEquals(card.getName())));
if (origin.contains(ZoneType.Library) && !sameNamed.isEmpty()) {
fetchList = sameNamed;
}
Player ai = AllZone.getComputerPlayer();
// Does AI need a land?
- CardList hand = ai.getCardsIn(ZoneType.Hand);
+ List hand = ai.getCardsIn(ZoneType.Hand);
System.out.println("Lands in hand = " + CardListUtil.filter(hand, Presets.LANDS).size() + ", on battlefield = " + CardListUtil.filter(ai.getCardsIn(ZoneType.Battlefield), Presets.LANDS).size());
if (CardListUtil.filter(hand, Presets.LANDS).size() == 0 && CardListUtil.filter(ai.getCardsIn(ZoneType.Battlefield), Presets.LANDS).size() < 4) {
boolean canCastSomething = false;
@@ -1355,10 +1355,10 @@ public final class AbilityFactoryChangeZone {
* a {@link forge.CardList} object.
* @return a {@link forge.Card} object.
*/
- private static Card basicManaFixing(final CardList list) { // Search for a
+ private static Card basicManaFixing(final List list) { // Search for a
// Basic Land
- final CardList combined = AllZone.getComputerPlayer().getCardsIn(ZoneType.Battlefield);
+ final List combined = AllZone.getComputerPlayer().getCardsIn(ZoneType.Battlefield);
combined.addAll(AllZone.getComputerPlayer().getCardsIn(ZoneType.Hand));
final ArrayList basics = new ArrayList();
@@ -1426,11 +1426,11 @@ public final class AbilityFactoryChangeZone {
* @param list
* @return Card
*/
- private static Card chooseCreature(CardList list) {
+ private static Card chooseCreature(List list) {
Card card = null;
Combat combat = new Combat();
combat.initiatePossibleDefenders(AllZone.getComputerPlayer());
- CardList attackers = AllZoneUtil.getCreaturesInPlay(AllZone.getHumanPlayer());
+ List attackers = AllZoneUtil.getCreaturesInPlay(AllZone.getHumanPlayer());
for (Card att : attackers) {
combat.addAttacker(att);
}
@@ -1510,7 +1510,7 @@ public final class AbilityFactoryChangeZone {
}
} else {
// non-targeted retrieval
- final CardList retrieval = AbilityFactoryChangeZone
+ final List retrieval = AbilityFactoryChangeZone
.knownDetermineDefined(sa, params.get("Defined"), origin);
if ((retrieval == null) || retrieval.isEmpty()) {
@@ -1634,7 +1634,7 @@ public final class AbilityFactoryChangeZone {
tgt.resetTargets();
}
- CardList list = AllZoneUtil.getCardsIn(origin);
+ List list = AllZoneUtil.getCardsIn(origin);
list = CardListUtil.getValidCards(list, tgt.getValidTgts(), AllZone.getComputerPlayer(), source);
if (source.isInZone(ZoneType.Hand)) {
list = CardListUtil.filter(list, Predicates.not(CardPredicates.nameEquals(source.getName()))); // Don't get the same card back.
@@ -1648,7 +1648,7 @@ public final class AbilityFactoryChangeZone {
if (origin.equals(ZoneType.Battlefield)) {
// filter out untargetables
list = CardListUtil.getTargetableCards(list, sa);
- CardList aiPermanents = CardListUtil.filterControlledBy(list, AllZone.getComputerPlayer());
+ List aiPermanents = CardListUtil.filterControlledBy(list, AllZone.getComputerPlayer());
// Don't blink cards that will die.
aiPermanents = CardListUtil.filter(aiPermanents, new Predicate() {
@@ -1668,7 +1668,7 @@ public final class AbilityFactoryChangeZone {
if (AllZone.getStack().size() > 0) {
final ArrayList objects = AbilityFactory.predictThreatenedObjects(af);
- final CardList threatenedTargets = new CardList();
+ final List threatenedTargets = new ArrayList();
for (final Card c : aiPermanents) {
if (objects.contains(c)) {
@@ -1684,7 +1684,7 @@ public final class AbilityFactoryChangeZone {
}
// Save combatants
else if (Singletons.getModel().getGameState().getPhaseHandler().is(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY)) {
- final CardList combatants = CardListUtil.filter(aiPermanents, CardPredicates.Presets.CREATURES);
+ final List combatants = CardListUtil.filter(aiPermanents, CardPredicates.Presets.CREATURES);
CardListUtil.sortByEvaluateCreature(combatants);
for (final Card c : combatants) {
@@ -1791,7 +1791,7 @@ public final class AbilityFactoryChangeZone {
choice = mostExpensive;
}
} else if (destination.equals(ZoneType.Hand) || destination.equals(ZoneType.Library)) {
- CardList nonLands = CardListUtil.getNotType(list, "Land");
+ List nonLands = CardListUtil.getNotType(list, "Land");
// Prefer to pull a creature, generally more useful for AI.
choice = chooseCreature(CardListUtil.filter(nonLands, CardPredicates.Presets.CREATURES));
if (choice == null) { // Could not find a creature.
@@ -1866,7 +1866,7 @@ public final class AbilityFactoryChangeZone {
final ZoneType destination = ZoneType.smartValueOf(params.get("Destination"));
final Target tgt = sa.getTarget();
- CardList list = AllZoneUtil.getCardsIn(origin);
+ List list = AllZoneUtil.getCardsIn(origin);
list = CardListUtil.getValidCards(list, tgt.getValidTgts(), AllZone.getComputerPlayer(), source);
// Narrow down the list:
@@ -1904,7 +1904,7 @@ public final class AbilityFactoryChangeZone {
} else if (destination.equals(ZoneType.Battlefield) || origin.equals(ZoneType.Battlefield)) {
choice = CardFactoryUtil.getMostExpensivePermanentAI(list, sa, false);
} else if (destination.equals(ZoneType.Hand) || destination.equals(ZoneType.Library)) {
- CardList nonLands = CardListUtil.getNotType(list, "Land");
+ List nonLands = CardListUtil.getNotType(list, "Land");
// Prefer to pull a creature, generally more useful for AI.
choice = chooseCreature(CardListUtil.filter(nonLands, CardPredicates.Presets.CREATURES));
if (choice == null) { // Could not find a creature.
@@ -2312,8 +2312,8 @@ public final class AbilityFactoryChangeZone {
* a {@link java.lang.String} object.
* @return a {@link forge.CardList} object.
*/
- private static CardList knownDetermineDefined(final SpellAbility sa, final String defined, final ZoneType origin) {
- final CardList ret = new CardList();
+ private static List knownDetermineDefined(final SpellAbility sa, final String defined, final ZoneType origin) {
+ final List ret = new ArrayList();
final ArrayList list = AbilityFactory.getDefinedCards(sa.getSourceCard(), defined, sa);
for (final Card c : list) {
@@ -2574,9 +2574,9 @@ public final class AbilityFactoryChangeZone {
// ex. "Return all Auras attached to target"
// ex. "Return all blocking/blocked by target creature"
- CardList humanType = AllZone.getHumanPlayer().getCardsIn(origin);
+ List humanType = AllZone.getHumanPlayer().getCardsIn(origin);
humanType = AbilityFactory.filterListByType(humanType, params.get("ChangeType"), sa);
- CardList computerType = AllZone.getComputerPlayer().getCardsIn(origin);
+ List computerType = AllZone.getComputerPlayer().getCardsIn(origin);
computerType = AbilityFactory.filterListByType(computerType, params.get("ChangeType"), sa);
final Target tgt = sa.getTarget();
@@ -2739,9 +2739,9 @@ public final class AbilityFactoryChangeZone {
final ZoneType destination = ZoneType.smartValueOf(params.get("Destination"));
final ZoneType origin = ZoneType.smartValueOf(params.get("Origin"));
- CardList humanType = AllZone.getHumanPlayer().getCardsIn(origin);
+ List humanType = AllZone.getHumanPlayer().getCardsIn(origin);
humanType = AbilityFactory.filterListByType(humanType, params.get("ChangeType"), sa);
- CardList computerType = AllZone.getComputerPlayer().getCardsIn(origin);
+ List computerType = AllZone.getComputerPlayer().getCardsIn(origin);
computerType = AbilityFactory.filterListByType(computerType, params.get("ChangeType"), sa);
// TODO improve restrictions on when the AI would want to use this
@@ -2885,7 +2885,7 @@ public final class AbilityFactoryChangeZone {
final ZoneType destination = ZoneType.smartValueOf(params.get("Destination"));
final List origin = ZoneType.listValueOf(params.get("Origin"));
- CardList cards = null;
+ List cards = null;
ArrayList tgtPlayers = null;
diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java
index d0ff1360590..0fc5310ec2d 100644
--- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java
+++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChoose.java
@@ -33,7 +33,7 @@ import com.google.common.collect.HashBiMap;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
-import forge.CardList;
+
import forge.CardListUtil;
import forge.CardPredicates;
import forge.CardPredicates.Presets;
@@ -733,7 +733,7 @@ public final class AbilityFactoryChoose {
chosen = CardFactoryUtil.getMostProminentColor(AllZoneUtil.getCardsInGame());
}
else if (logic.equals("MostProminentHumanCreatures")) {
- CardList list = AllZoneUtil.getCreaturesInPlay(AllZone.getHumanPlayer());
+ List list = AllZoneUtil.getCreaturesInPlay(AllZone.getHumanPlayer());
if (list.isEmpty()) {
list = CardListUtil.filter(CardListUtil.filterControlledBy(AllZoneUtil.getCardsInGame(), AllZone.getHumanPlayer()), CardPredicates.Presets.CREATURES);
}
@@ -744,7 +744,7 @@ public final class AbilityFactoryChoose {
ZoneType.Battlefield));
}
else if (logic.equals("MostProminentPermanent")) {
- final CardList list = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
+ final List list = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
chosen = CardFactoryUtil.getMostProminentColor(list);
}
else if (logic.equals("MostProminentAttackers")) {
@@ -1640,7 +1640,7 @@ public final class AbilityFactoryChoose {
.getCardsIn(ZoneType.Library));
}
} else {
- CardList list = CardListUtil.filterControlledBy(AllZoneUtil.getCardsInGame(), AllZone.getHumanPlayer());
+ List list = CardListUtil.filterControlledBy(AllZoneUtil.getCardsInGame(), AllZone.getHumanPlayer());
list = CardListUtil.filter(list, Predicates.not(Presets.LANDS));
if (!list.isEmpty()) {
chosen = list.get(0).getName();
@@ -1866,7 +1866,7 @@ public final class AbilityFactoryChoose {
if (params.containsKey("ChoiceZone")) {
choiceZone = ZoneType.smartValueOf(params.get("ChoiceZone"));
}
- CardList choices = AllZoneUtil.getCardsIn(choiceZone);
+ List choices = AllZoneUtil.getCardsIn(choiceZone);
if (params.containsKey("Choices")) {
choices = CardListUtil.getValidCards(choices, params.get("Choices"), host.getController(), host);
}
@@ -1932,7 +1932,7 @@ public final class AbilityFactoryChoose {
if (params.containsKey("ChoiceZone")) {
choiceZone = ZoneType.smartValueOf(params.get("ChoiceZone"));
}
- CardList choices = AllZoneUtil.getCardsIn(choiceZone);
+ List choices = AllZoneUtil.getCardsIn(choiceZone);
if (params.containsKey("Choices")) {
choices = CardListUtil.getValidCards(choices, params.get("Choices"), host.getController(), host);
}
@@ -1942,11 +1942,11 @@ public final class AbilityFactoryChoose {
? CardFactoryUtil.xCount(host, host.getSVar(params.get("Amount"))) : Integer.parseInt(numericAmount);
if (params.containsKey("SunderingTitan")) {
- final CardList land = AllZoneUtil.getLandsInPlay();
+ final List land = AllZoneUtil.getLandsInPlay();
final ArrayList basic = CardUtil.getBasicTypes();
for (final String type : basic) {
- final CardList cl = CardListUtil.getType(land, type);
+ final List cl = CardListUtil.getType(land, type);
if (cl.size() > 0) {
final String prompt = "Choose a" + (type.equals("Island") ? "n " : " ") + type;
final Object o = GuiChoose.one(prompt, cl);
diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java
index cd3df97ff50..331ad537f00 100644
--- a/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java
+++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryClash.java
@@ -25,7 +25,7 @@ import javax.swing.JOptionPane;
import forge.AllZone;
import forge.Card;
-import forge.CardList;
+
import forge.CardListUtil;
import forge.GameActionUtil;
import forge.card.cardfactory.CardFactoryUtil;
@@ -703,9 +703,9 @@ public final class AbilityFactoryClash {
}
final Player p = tgtPlayers.get(0);
- CardList pool = new CardList();
+ List pool = new ArrayList();
if (params.containsKey("DefinedCards")) {
- pool = new CardList(AbilityFactory.getDefinedCards(sa.getSourceCard(), params.get("DefinedCards"), sa));
+ pool = new ArrayList(AbilityFactory.getDefinedCards(sa.getSourceCard(), params.get("DefinedCards"), sa));
} else {
pool = p.getCardsIn(zone);
}
@@ -756,9 +756,9 @@ public final class AbilityFactoryClash {
if ((tgt == null) || p.canBeTargetedBy(sa)) {
final ArrayList pile1 = new ArrayList();
final ArrayList pile2 = new ArrayList();
- CardList pool = new CardList();
+ List pool = new ArrayList();
if (params.containsKey("DefinedCards")) {
- pool = new CardList(AbilityFactory.getDefinedCards(sa.getSourceCard(), params.get("DefinedCards"), sa));
+ pool = new ArrayList(AbilityFactory.getDefinedCards(sa.getSourceCard(), params.get("DefinedCards"), sa));
} else {
pool = p.getCardsIn(zone);
}
@@ -845,7 +845,7 @@ public final class AbilityFactoryClash {
} // end twoPiles resolve
private static boolean selectPiles(final HashMap params, final SpellAbility sa, ArrayList pile1, ArrayList pile2,
- Player chooser, Card card, CardList pool) {
+ Player chooser, Card card, List pool) {
boolean pile1WasChosen = true;
// then, the chooser picks a pile
@@ -899,11 +899,11 @@ public final class AbilityFactoryClash {
break;
}
} else {
- int cmc1 = CardFactoryUtil.evaluatePermanentList(new CardList(pile1));
- int cmc2 = CardFactoryUtil.evaluatePermanentList(new CardList(pile2));
+ int cmc1 = CardFactoryUtil.evaluatePermanentList(new ArrayList(pile1));
+ int cmc2 = CardFactoryUtil.evaluatePermanentList(new ArrayList(pile2));
if (CardListUtil.getNotType(pool, "Creature").isEmpty()) {
- cmc1 = CardFactoryUtil.evaluateCreatureList(new CardList(pile1));
- cmc2 = CardFactoryUtil.evaluateCreatureList(new CardList(pile2));
+ cmc1 = CardFactoryUtil.evaluateCreatureList(new ArrayList(pile1));
+ cmc2 = CardFactoryUtil.evaluateCreatureList(new ArrayList(pile2));
System.out.println("value:" + cmc1 + " " + cmc2);
}
diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryClone.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryClone.java
index 21f0f508fd5..8e5fc50776c 100644
--- a/src/main/java/forge/card/abilityfactory/AbilityFactoryClone.java
+++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryClone.java
@@ -257,7 +257,7 @@ public final class AbilityFactoryClone {
boolean useAbility = true;
// if (card.getController().isComputer()) {
-// final CardList creatures = AllZoneUtil.getCreaturesInPlay();
+// final List creatures = AllZoneUtil.getCreaturesInPlay();
// if (!creatures.isEmpty()) {
// cardToCopy = CardFactoryUtil.getBestCreatureAI(creatures);
// }
diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java
index 1a43e421668..ff9b523466c 100644
--- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java
+++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java
@@ -19,12 +19,13 @@ package forge.card.abilityfactory;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import com.google.common.base.Predicate;
import forge.AllZone;
import forge.Card;
-import forge.CardList;
+
import forge.CardListUtil;
import forge.CardPredicates;
import forge.Singletons;
@@ -1061,7 +1062,7 @@ public final class AbilityFactoryCombat {
boolean chance = false;
if (abTgt != null) {
- CardList list = CardListUtil.filter(AllZone.getHumanPlayer().getCardsIn(ZoneType.Battlefield), CardPredicates.Presets.CREATURES);
+ List list = CardListUtil.filter(AllZone.getHumanPlayer().getCardsIn(ZoneType.Battlefield), CardPredicates.Presets.CREATURES);
list = CardListUtil.getTargetableCards(list, sa);
list = CardListUtil.getValidCards(list, abTgt.getValidTgts(), source.getController(), source);
list = CardListUtil.filter(list, new Predicate() {
diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java
index 912a6ddc178..623ba2eb40d 100644
--- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java
+++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java
@@ -21,13 +21,14 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Random;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
import forge.CardCharacteristicName;
-import forge.CardList;
+
import forge.CardListUtil;
import forge.CardPredicates.Presets;
import forge.Command;
@@ -306,7 +307,7 @@ public final class AbilityFactoryCopy {
final Target abTgt = sa.getTarget();
if (abTgt != null) {
- CardList list = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
+ List list = AllZoneUtil.getCardsIn(ZoneType.Battlefield);
list = CardListUtil.getValidCards(list, abTgt.getValidTgts(), source.getController(), source);
list = CardListUtil.getTargetableCards(list, sa);
abTgt.resetTargets();
diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java
index e9f15d466a9..0cafb54975e 100644
--- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java
+++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java
@@ -29,7 +29,7 @@ import com.google.common.base.Predicate;
import forge.AllZone;
import forge.AllZoneUtil;
import forge.Card;
-import forge.CardList;
+
import forge.CardListUtil;
import forge.Counters;
import forge.Singletons;
@@ -305,7 +305,7 @@ public class AbilityFactoryCounters {
final Cost abCost = sa.getPayCosts();
final Target abTgt = sa.getTarget();
final Card source = sa.getSourceCard();
- CardList list;
+ List list;
Card choice = null;
final String type = params.get("CounterType");
final String amountStr = params.get("CounterNum");
@@ -457,7 +457,7 @@ public class AbilityFactoryCounters {
boolean chance = true;
final Target abTgt = sa.getTarget();
final Card source = sa.getSourceCard();
- CardList list;
+ List list;
Card choice = null;
final String type = params.get("CounterType");
final String amountStr = params.get("CounterNum");
@@ -562,7 +562,7 @@ public class AbilityFactoryCounters {
final Card source = sa.getSourceCard();
// boolean chance = true;
boolean preferred = true;
- CardList list;
+ List list;
final Player player = af.isCurse() ? AllZone.getHumanPlayer() : AllZone.getComputerPlayer();
final String type = params.get("CounterType");
final String amountStr = params.get("CounterNum");
@@ -570,7 +570,7 @@ public class AbilityFactoryCounters {
if (abTgt == null) {
// No target. So must be defined
- list = new CardList(AbilityFactory.getDefinedCards(source, params.get("Defined"), sa));
+ list = new ArrayList(AbilityFactory.getDefinedCards(source, params.get("Defined"), sa));
if (!mandatory) {
// TODO - If Trigger isn't mandatory, when wouldn't we want to
@@ -655,11 +655,11 @@ public class AbilityFactoryCounters {
* a int.
* @return a {@link forge.Card} object.
*/
- private static Card chooseCursedTarget(final CardList list, final String type, final int amount) {
+ private static Card chooseCursedTarget(final List list, final String type, final int amount) {
Card choice;
if (type.equals("M1M1")) {
// try to kill the best killable creature, or reduce the best one
- final CardList killable = CardListUtil.filter(list, new Predicate() {
+ final List killable = CardListUtil.filter(list, new Predicate() {
@Override
public boolean apply(final Card c) {
return c.getNetDefense() <= amount;
@@ -688,12 +688,12 @@ public class AbilityFactoryCounters {
* a {@link java.lang.String} object.
* @return a {@link forge.Card} object.
*/
- private static Card chooseBoonTarget(final CardList list, final String type) {
+ private static Card chooseBoonTarget(final List list, final String type) {
Card choice;
if (type.equals("P1P1")) {
choice = CardFactoryUtil.getBestCreatureAI(list);
} else if (type.equals("DIVINITY")) {
- final CardList boon = CardListUtil.filter(list, new Predicate() {
+ final List boon = CardListUtil.filter(list, new Predicate() {
@Override
public boolean apply(final Card c) {
return c.getCounters(Counters.DIVINITY) == 0;
@@ -995,7 +995,7 @@ public class AbilityFactoryCounters {
final Cost abCost = sa.getPayCosts();
Target abTgt = sa.getTarget();
final Card source = sa.getSourceCard();
- // CardList list;
+ // List list;
// Card choice = null;
final HashMap params = af.getMapParams();
@@ -1075,7 +1075,7 @@ public class AbilityFactoryCounters {
// the expected targets could be
// Target abTgt = sa.getTarget();
// final Card source = sa.getSourceCard();
- // CardList list;
+ // List list;
// Card choice = null;
// HashMap params = af.getMapParams();
@@ -1446,8 +1446,8 @@ public class AbilityFactoryCounters {
if (subAb != null && !subAb.chkAIDrawback()) {
return false;
}
- CardList hperms = AllZone.getHumanPlayer().getCardsIn(ZoneType.Battlefield);
- CardList cperms = AllZone.getComputerPlayer().getCardsIn(ZoneType.Battlefield);
+ List