diff --git a/.gitattributes b/.gitattributes index b5a11617f27..c23e23c1554 100644 --- a/.gitattributes +++ b/.gitattributes @@ -14810,10 +14810,6 @@ forge-gui/src/main/java/forge/card/CardCharacteristics.java -text forge-gui/src/main/java/forge/card/CardEditionPredicates.java -text forge-gui/src/main/java/forge/card/MetaSet.java -text forge-gui/src/main/java/forge/card/UnOpenedMeta.java -text -forge-gui/src/main/java/forge/card/cardfactory/CardFactory.java svneol=native#text/plain -forge-gui/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java svneol=native#text/plain -forge-gui/src/main/java/forge/card/cardfactory/CardFactoryUtil.java svneol=native#text/plain -forge-gui/src/main/java/forge/card/cardfactory/package-info.java svneol=native#text/plain forge-gui/src/main/java/forge/card/package-info.java svneol=native#text/plain forge-gui/src/main/java/forge/control/ChatArea.java -text forge-gui/src/main/java/forge/control/FControl.java -text @@ -14974,6 +14970,8 @@ forge-gui/src/main/java/forge/game/ability/package-info.java svneol=native#text/ forge-gui/src/main/java/forge/game/card/Card.java svneol=native#text/plain forge-gui/src/main/java/forge/game/card/CardColor.java svneol=native#text/plain forge-gui/src/main/java/forge/game/card/CardDamageHistory.java -text +forge-gui/src/main/java/forge/game/card/CardFactory.java svneol=native#text/plain +forge-gui/src/main/java/forge/game/card/CardFactoryUtil.java svneol=native#text/plain forge-gui/src/main/java/forge/game/card/CardKeywords.java svneol=native#text/plain forge-gui/src/main/java/forge/game/card/CardLists.java svneol=native#text/plain forge-gui/src/main/java/forge/game/card/CardPowerToughness.java svneol=native#text/plain @@ -15629,7 +15627,6 @@ forge-gui/src/main/java/forge/util/maps/EnumMapToAmount.java -text forge-gui/src/main/java/forge/util/maps/HashMapOfLists.java -text forge-gui/src/main/java/forge/util/maps/MapOfLists.java -text forge-gui/src/main/java/forge/util/maps/MapToAmount.java -text -forge-gui/src/main/java/forge/util/maps/TreeMapToAmount.java -text forge-gui/src/main/java/forge/util/maps/package-info.java -text forge-gui/src/main/java/forge/util/package-info.java -text forge-gui/src/main/java/forge/util/storage/StorageImmediatelySerialized.java svneol=native#text/plain diff --git a/forge-gui/src/main/java/forge/ai/AiController.java b/forge-gui/src/main/java/forge/ai/AiController.java index befcbd779c0..7235636e796 100644 --- a/forge-gui/src/main/java/forge/ai/AiController.java +++ b/forge-gui/src/main/java/forge/ai/AiController.java @@ -30,13 +30,13 @@ import com.google.common.collect.Iterables; import forge.card.CardType; import forge.card.MagicColor; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.GameActionUtil; import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.ApiType; import forge.game.ai.AiProps; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardPredicates; import forge.game.card.CardPredicates.Presets; diff --git a/forge-gui/src/main/java/forge/ai/ComputerUtilCard.java b/forge-gui/src/main/java/forge/ai/ComputerUtilCard.java index ef782d7394e..cc7827d323e 100644 --- a/forge-gui/src/main/java/forge/ai/ComputerUtilCard.java +++ b/forge-gui/src/main/java/forge/ai/ComputerUtilCard.java @@ -20,11 +20,11 @@ import com.google.common.collect.Iterables; import forge.card.CardType; import forge.card.ColorSet; import forge.card.MagicColor; -import forge.card.cardfactory.CardFactoryUtil; import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardPredicates; import forge.game.card.CardUtil; diff --git a/forge-gui/src/main/java/forge/ai/ComputerUtilCombat.java b/forge-gui/src/main/java/forge/ai/ComputerUtilCombat.java index 16839636f02..792f382e9f8 100644 --- a/forge-gui/src/main/java/forge/ai/ComputerUtilCombat.java +++ b/forge-gui/src/main/java/forge/ai/ComputerUtilCombat.java @@ -24,7 +24,6 @@ import java.util.Map; import com.google.common.base.Predicate; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.GameEntity; import forge.game.GlobalRuleChange; @@ -33,6 +32,7 @@ import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CounterType; import forge.game.combat.Combat; diff --git a/forge-gui/src/main/java/forge/ai/ability/AttachAi.java b/forge-gui/src/main/java/forge/ai/ability/AttachAi.java index 1efc54c9417..7899a0663d4 100644 --- a/forge-gui/src/main/java/forge/ai/ability/AttachAi.java +++ b/forge-gui/src/main/java/forge/ai/ability/AttachAi.java @@ -15,12 +15,12 @@ import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCost; import forge.ai.ComputerUtilMana; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.GameObject; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.ability.SpellAbilityAi; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardPredicates; import forge.game.card.CardUtil; diff --git a/forge-gui/src/main/java/forge/ai/ability/CounterAi.java b/forge-gui/src/main/java/forge/ai/ability/CounterAi.java index b9e26802d75..3b2aeee7fb5 100644 --- a/forge-gui/src/main/java/forge/ai/ability/CounterAi.java +++ b/forge-gui/src/main/java/forge/ai/ability/CounterAi.java @@ -2,11 +2,11 @@ package forge.ai.ability; import forge.ai.ComputerUtilCost; import forge.ai.ComputerUtilMana; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityAi; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.cost.Cost; import forge.game.player.Player; import forge.game.spellability.SpellAbility; diff --git a/forge-gui/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java b/forge-gui/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java deleted file mode 100644 index 0aa9d59a2bc..00000000000 --- a/forge-gui/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Forge: Play Magic: the Gathering. - * Copyright (C) 2011 Forge Team - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package forge.card.cardfactory; - -import java.util.ArrayList; -import java.util.List; - -import forge.card.mana.ManaCost; -import forge.game.card.Card; -import forge.game.card.CounterType; -import forge.game.cost.Cost; -import forge.game.phase.PhaseType; -import forge.game.player.Player; -import forge.game.spellability.AbilityActivated; -import forge.game.spellability.AbilityStatic; -import forge.game.spellability.SpellAbility; -import forge.game.zone.PlayerZone; -import forge.game.zone.ZoneType; -import forge.gui.GuiChoose; - -/** - *

- * CardFactory_Creatures class. - *

- * - * @author Forge - * @version $Id$ - */ -public class CardFactoryCreatures { - - private static void getCard_SphinxJwar(final Card card) { - final SpellAbility ability1 = new AbilityStatic(card, ManaCost.ZERO) { - @Override - public void resolve() { - final Player player = card.getController(); - final PlayerZone lib = player.getZone(ZoneType.Library); - - if (lib.size() < 1 || !this.getActivatingPlayer().equals(card.getController())) { - return; - } - - final List cl = new ArrayList(); - cl.add(lib.get(0)); - - GuiChoose.oneOrNone("Top card", cl); - } - - @Override - public boolean canPlayAI() { - return false; - } - }; // SpellAbility - - final StringBuilder sb1 = new StringBuilder(); - sb1.append(card.getName()).append(" - look at top card of library."); - ability1.setStackDescription(sb1.toString()); - - ability1.setDescription("You may look at the top card of your library."); - card.addSpellAbility(ability1); - } - - public static void buildCard(final Card card, final String cardName) { - - if (cardName.equals("Sphinx of Jwar Isle")) { - getCard_SphinxJwar(card); - } - - // *************************************************** - // end of card specific code - // *************************************************** - - final int iLvlUp = CardFactoryUtil.hasKeyword(card, "Level up"); - final int iLvlMax = CardFactoryUtil.hasKeyword(card, "maxLevel"); - - if (iLvlUp != -1 && iLvlMax != -1) { - final String parse = card.getKeyword().get(iLvlUp); - final String parseMax = card.getKeyword().get(iLvlMax); - card.addSpellAbility(makeLevellerAbility(card, parse, parseMax)); - card.setLevelUp(true); - } // level up - } - - - private static SpellAbility makeLevellerAbility(final Card card, final String strLevelCost, final String strMaxLevel) { - card.removeIntrinsicKeyword(strLevelCost); - card.removeIntrinsicKeyword(strMaxLevel); - - final String[] k = strLevelCost.split(":"); - final String manacost = k[1]; - - final String[] l = strMaxLevel.split(":"); - final int maxLevel = Integer.parseInt(l[1]); - - class LevelUpAbility extends AbilityActivated { - public LevelUpAbility(final Card ca, final String s) { - super(ca, new Cost(manacost, true), null); - } - - @Override - public AbilityActivated getCopy() { - AbilityActivated levelUp = new LevelUpAbility(getSourceCard(), getPayCosts().toString()); - levelUp.getRestrictions().setSorcerySpeed(true); - return levelUp; - } - - private static final long serialVersionUID = 3998280279949548652L; - - @Override - public void resolve() { - card.addCounter(CounterType.LEVEL, 1, true); - } - - @Override - public boolean canPlayAI() { - // creatures enchanted by curse auras have low priority - if (card.getGame().getPhaseHandler().getPhase().isBefore(PhaseType.MAIN2)) { - for (Card aura : card.getEnchantedBy()) { - if (aura.getController().isOpponentOf(card.getController())) { - return false; - } - } - } - return card.getCounters(CounterType.LEVEL) < maxLevel; - } - - @Override - public String getDescription() { - final StringBuilder sbDesc = new StringBuilder(); - sbDesc.append("Level up ").append(manacost).append(" (").append(manacost); - sbDesc.append(": Put a level counter on this. Level up only as a sorcery.)"); - return sbDesc.toString(); - } - } - final SpellAbility levelUp = new LevelUpAbility(card, manacost); - levelUp.getRestrictions().setSorcerySpeed(true); - final StringBuilder sbStack = new StringBuilder(); - sbStack.append(card).append(" - put a level counter on this."); - levelUp.setStackDescription(sbStack.toString()); - return levelUp; - } -} diff --git a/forge-gui/src/main/java/forge/card/cardfactory/package-info.java b/forge-gui/src/main/java/forge/card/cardfactory/package-info.java deleted file mode 100644 index 0d74d3d088e..00000000000 --- a/forge-gui/src/main/java/forge/card/cardfactory/package-info.java +++ /dev/null @@ -1,3 +0,0 @@ -/** Forge Card Game. */ -package forge.card.cardfactory; - diff --git a/forge-gui/src/main/java/forge/game/GameAction.java b/forge-gui/src/main/java/forge/game/GameAction.java index 19e3afb63f2..937372134d7 100644 --- a/forge-gui/src/main/java/forge/game/GameAction.java +++ b/forge-gui/src/main/java/forge/game/GameAction.java @@ -37,12 +37,12 @@ import forge.Command; import forge.FThreads; import forge.card.CardCharacteristicName; import forge.card.CardType; -import forge.card.cardfactory.CardFactory; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.ability.AbilityFactory; import forge.game.ability.ApiType; import forge.game.ability.effects.AttachEffect; import forge.game.card.Card; +import forge.game.card.CardFactory; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardPredicates; import forge.game.card.CardUtil; diff --git a/forge-gui/src/main/java/forge/game/TriggerReplacementBase.java b/forge-gui/src/main/java/forge/game/TriggerReplacementBase.java index 75a22e65c45..38d074b01d8 100644 --- a/forge-gui/src/main/java/forge/game/TriggerReplacementBase.java +++ b/forge-gui/src/main/java/forge/game/TriggerReplacementBase.java @@ -6,9 +6,9 @@ import java.util.List; import java.util.Map; import forge.card.MagicColor; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.ability.AbilityUtils; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardUtil; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/game/ability/AbilityApiBased.java b/forge-gui/src/main/java/forge/game/ability/AbilityApiBased.java index 4d16c153013..047539ab314 100644 --- a/forge-gui/src/main/java/forge/game/ability/AbilityApiBased.java +++ b/forge-gui/src/main/java/forge/game/ability/AbilityApiBased.java @@ -2,12 +2,12 @@ package forge.game.ability; import java.util.Map; -import forge.card.cardfactory.CardFactory; import forge.game.ability.effects.ChangeZoneAllEffect; import forge.game.ability.effects.ChangeZoneEffect; import forge.game.ability.effects.ManaEffect; import forge.game.ability.effects.ManaReflectedEffect; import forge.game.card.Card; +import forge.game.card.CardFactory; import forge.game.cost.Cost; import forge.game.player.Player; import forge.game.spellability.AbilityActivated; diff --git a/forge-gui/src/main/java/forge/game/ability/AbilityUtils.java b/forge-gui/src/main/java/forge/game/ability/AbilityUtils.java index a68cbb1116d..1aeeb117809 100644 --- a/forge-gui/src/main/java/forge/game/ability/AbilityUtils.java +++ b/forge-gui/src/main/java/forge/game/ability/AbilityUtils.java @@ -12,10 +12,10 @@ import org.apache.commons.lang3.StringUtils; import com.google.common.collect.Iterables; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.GameObject; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardUtil; import forge.game.card.CounterType; diff --git a/forge-gui/src/main/java/forge/game/ability/SpellAbilityEffect.java b/forge-gui/src/main/java/forge/game/ability/SpellAbilityEffect.java index f0bc3b8116d..3785575ec04 100644 --- a/forge-gui/src/main/java/forge/game/ability/SpellAbilityEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/SpellAbilityEffect.java @@ -7,7 +7,7 @@ import java.util.StringTokenizer; import org.apache.commons.lang3.StringUtils; -import forge.card.cardfactory.CardFactoryUtil; +import forge.game.card.CardFactoryUtil; import forge.game.spellability.AbilitySub; import forge.game.spellability.SpellAbility; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java index 900191cb3ca..77f20dbe6d4 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/BecomesBlockedEffect.java @@ -6,10 +6,10 @@ import java.util.List; import org.apache.commons.lang3.StringUtils; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; import forge.game.trigger.TriggerType; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/ChooseCardEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/ChooseCardEffect.java index 85654af4ee0..03afbad6231 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/ChooseCardEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/ChooseCardEffect.java @@ -6,10 +6,10 @@ import java.util.List; import org.apache.commons.lang3.StringUtils; import forge.card.CardType; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardPredicates.Presets; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/ChooseNumberEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/ChooseNumberEffect.java index ec090a82746..2e55288ba9b 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/ChooseNumberEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/ChooseNumberEffect.java @@ -5,9 +5,9 @@ import java.util.Random; import org.apache.commons.lang3.StringUtils; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.player.Player; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java index 3e900fc53d1..62af7e3e716 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/ChooseSourceEffect.java @@ -8,13 +8,13 @@ import com.google.common.base.Predicate; import forge.ai.ComputerUtilCard; import forge.ai.ComputerUtilCombat; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.GameObject; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.combat.Combat; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/CloneEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/CloneEffect.java index cf2d46f2f8f..deb17778a17 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/CloneEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/CloneEffect.java @@ -8,12 +8,12 @@ import java.util.Map; import forge.Command; import forge.Singletons; import forge.card.CardCharacteristicName; -import forge.card.cardfactory.CardFactory; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactory; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardUtil; import forge.game.spellability.SpellAbility; import forge.game.spellability.TargetRestrictions; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java index 284b9e4ed4e..3cec69bd6ee 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/CopyPermanentEffect.java @@ -15,14 +15,14 @@ import forge.Command; import forge.Singletons; import forge.card.CardCharacteristicName; import forge.card.CardRulesPredicates; -import forge.card.cardfactory.CardFactory; -import forge.card.cardfactory.CardFactoryUtil; import forge.card.mana.ManaCost; import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactory; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.player.Player; import forge.game.spellability.Ability; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java index 779a026f6dc..aedc7c29fe0 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/CopySpellAbilityEffect.java @@ -6,11 +6,11 @@ import java.util.List; import com.google.common.collect.Iterables; -import forge.card.cardfactory.CardFactory; import forge.game.GameObject; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactory; import forge.game.card.CardLists; import forge.game.player.Player; import forge.game.spellability.SpellAbility; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/CounterEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/CounterEffect.java index e9e97270857..37f8b1947bc 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/CounterEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/CounterEffect.java @@ -4,10 +4,10 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.replacement.ReplacementResult; import forge.game.spellability.SpellAbility; import forge.game.spellability.SpellAbilityStackInstance; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/DamageEachEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/DamageEachEffect.java index 2423dd96559..18b5ca87e61 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/DamageEachEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/DamageEachEffect.java @@ -2,11 +2,11 @@ package forge.game.ability.effects; import java.util.List; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.GameObject; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.player.Player; import forge.game.spellability.SpellAbility; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/DiscardEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/DiscardEffect.java index cfa8c66df49..1a26e0abccb 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/DiscardEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/DiscardEffect.java @@ -7,10 +7,10 @@ import org.apache.commons.lang3.StringUtils; import com.google.common.collect.Lists; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardPredicates.Presets; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/PumpAllEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/PumpAllEffect.java index aca6f822b5e..436f43f53fd 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/PumpAllEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/PumpAllEffect.java @@ -5,11 +5,11 @@ import java.util.Arrays; import java.util.List; import forge.Command; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.event.GameEventCardStatsChanged; import forge.game.player.Player; import forge.game.spellability.SpellAbility; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/PumpEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/PumpEffect.java index 44fbf83e9e4..5b10b3f8a34 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/PumpEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/PumpEffect.java @@ -6,12 +6,12 @@ import java.util.List; import forge.Command; import forge.card.CardType; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardUtil; import forge.game.event.GameEventCardStatsChanged; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/RepeatEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/RepeatEffect.java index 16b3f6fb89c..2789d18f214 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/RepeatEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/RepeatEffect.java @@ -3,12 +3,12 @@ package forge.game.ability.effects; import java.util.ArrayList; import java.util.List; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.player.Player; import forge.game.spellability.AbilitySub; diff --git a/forge-gui/src/main/java/forge/game/ability/effects/StoreSVarEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/StoreSVarEffect.java index 710d55d3e17..6fcba546132 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/StoreSVarEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/StoreSVarEffect.java @@ -1,9 +1,9 @@ package forge.game.ability.effects; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.spellability.SpellAbility; public class StoreSVarEffect extends SpellAbilityEffect { diff --git a/forge-gui/src/main/java/forge/game/ability/effects/TokenEffect.java b/forge-gui/src/main/java/forge/game/ability/effects/TokenEffect.java index 7341a822a6a..51471879ed6 100644 --- a/forge-gui/src/main/java/forge/game/ability/effects/TokenEffect.java +++ b/forge-gui/src/main/java/forge/game/ability/effects/TokenEffect.java @@ -21,13 +21,13 @@ import java.util.Arrays; import java.util.List; -import forge.card.cardfactory.CardFactory; import forge.game.Game; import forge.game.GameEntity; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.SpellAbilityEffect; import forge.game.card.Card; +import forge.game.card.CardFactory; import forge.game.combat.Combat; import forge.game.event.GameEventTokenCreated; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/game/card/Card.java b/forge-gui/src/main/java/forge/game/card/Card.java index c254d820c8c..9e54dfa1bd1 100644 --- a/forge-gui/src/main/java/forge/game/card/Card.java +++ b/forge-gui/src/main/java/forge/game/card/Card.java @@ -50,8 +50,6 @@ import forge.card.CardRarity; import forge.card.CardRules; import forge.card.ColorSet; import forge.card.MagicColor; -import forge.card.cardfactory.CardFactory; -import forge.card.cardfactory.CardFactoryUtil; import forge.card.mana.ManaCost; import forge.card.mana.ManaCostParser; import forge.game.Game; diff --git a/forge-gui/src/main/java/forge/card/cardfactory/CardFactory.java b/forge-gui/src/main/java/forge/game/card/CardFactory.java similarity index 85% rename from forge-gui/src/main/java/forge/card/cardfactory/CardFactory.java rename to forge-gui/src/main/java/forge/game/card/CardFactory.java index 247003a42ff..6bb5f22c719 100644 --- a/forge-gui/src/main/java/forge/card/cardfactory/CardFactory.java +++ b/forge-gui/src/main/java/forge/game/card/CardFactory.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.card.cardfactory; +package forge.game.card; import java.util.ArrayList; import java.util.Arrays; @@ -33,13 +33,12 @@ import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; import forge.game.ability.effects.CharmEffect; -import forge.game.card.Card; -import forge.game.card.CardColor; -import forge.game.card.CardUtil; import forge.game.cost.Cost; +import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.replacement.ReplacementHandler; import forge.game.spellability.AbilityActivated; +import forge.game.spellability.AbilityStatic; import forge.game.spellability.AbilitySub; import forge.game.spellability.OptionalCost; import forge.game.spellability.SpellAbility; @@ -48,6 +47,9 @@ import forge.game.spellability.TargetRestrictions; import forge.game.trigger.Trigger; import forge.game.trigger.TriggerHandler; import forge.game.trigger.WrappedAbility; +import forge.game.zone.PlayerZone; +import forge.game.zone.ZoneType; +import forge.gui.GuiChoose; import forge.item.PaperCard; import forge.item.IPaperCard; @@ -339,7 +341,7 @@ public class CardFactory { // ************** Link to different CardFactories ******************* if (card.isCreature()) { - CardFactoryCreatures.buildCard(card, cardName); + buildCard(card, cardName); } else if (card.isPlaneswalker()) { buildPlaneswalkerAbilities(card); } else if (card.isType("Plane")) { @@ -660,4 +662,114 @@ public class CardFactory { return wrapperAbility; } + private static void getCard_SphinxJwar(final Card card) { + final SpellAbility ability1 = new AbilityStatic(card, ManaCost.ZERO) { + @Override + public void resolve() { + final Player player = card.getController(); + final PlayerZone lib = player.getZone(ZoneType.Library); + + if (lib.size() < 1 || !this.getActivatingPlayer().equals(card.getController())) { + return; + } + + final List cl = new ArrayList(); + cl.add(lib.get(0)); + + GuiChoose.oneOrNone("Top card", cl); + } + + @Override + public boolean canPlayAI() { + return false; + } + }; // SpellAbility + + final StringBuilder sb1 = new StringBuilder(); + sb1.append(card.getName()).append(" - look at top card of library."); + ability1.setStackDescription(sb1.toString()); + + ability1.setDescription("You may look at the top card of your library."); + card.addSpellAbility(ability1); + } + + public static void buildCard(final Card card, final String cardName) { + + if (cardName.equals("Sphinx of Jwar Isle")) { + getCard_SphinxJwar(card); + } + + // *************************************************** + // end of card specific code + // *************************************************** + + final int iLvlUp = CardFactoryUtil.hasKeyword(card, "Level up"); + final int iLvlMax = CardFactoryUtil.hasKeyword(card, "maxLevel"); + + if (iLvlUp != -1 && iLvlMax != -1) { + final String parse = card.getKeyword().get(iLvlUp); + final String parseMax = card.getKeyword().get(iLvlMax); + card.addSpellAbility(makeLevellerAbility(card, parse, parseMax)); + card.setLevelUp(true); + } // level up + } + + + private static SpellAbility makeLevellerAbility(final Card card, final String strLevelCost, final String strMaxLevel) { + card.removeIntrinsicKeyword(strLevelCost); + card.removeIntrinsicKeyword(strMaxLevel); + + final String[] k = strLevelCost.split(":"); + final String manacost = k[1]; + + final String[] l = strMaxLevel.split(":"); + final int maxLevel = Integer.parseInt(l[1]); + + class LevelUpAbility extends AbilityActivated { + public LevelUpAbility(final Card ca, final String s) { + super(ca, new Cost(manacost, true), null); + } + + @Override + public AbilityActivated getCopy() { + AbilityActivated levelUp = new LevelUpAbility(getSourceCard(), getPayCosts().toString()); + levelUp.getRestrictions().setSorcerySpeed(true); + return levelUp; + } + + private static final long serialVersionUID = 3998280279949548652L; + + @Override + public void resolve() { + card.addCounter(CounterType.LEVEL, 1, true); + } + + @Override + public boolean canPlayAI() { + // creatures enchanted by curse auras have low priority + if (card.getGame().getPhaseHandler().getPhase().isBefore(PhaseType.MAIN2)) { + for (Card aura : card.getEnchantedBy()) { + if (aura.getController().isOpponentOf(card.getController())) { + return false; + } + } + } + return card.getCounters(CounterType.LEVEL) < maxLevel; + } + + @Override + public String getDescription() { + final StringBuilder sbDesc = new StringBuilder(); + sbDesc.append("Level up ").append(manacost).append(" (").append(manacost); + sbDesc.append(": Put a level counter on this. Level up only as a sorcery.)"); + return sbDesc.toString(); + } + } + final SpellAbility levelUp = new LevelUpAbility(card, manacost); + levelUp.getRestrictions().setSorcerySpeed(true); + final StringBuilder sbStack = new StringBuilder(); + sbStack.append(card).append(" - put a level counter on this."); + levelUp.setStackDescription(sbStack.toString()); + return levelUp; + } } // end class AbstractCardFactory diff --git a/forge-gui/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/forge-gui/src/main/java/forge/game/card/CardFactoryUtil.java similarity index 99% rename from forge-gui/src/main/java/forge/card/cardfactory/CardFactoryUtil.java rename to forge-gui/src/main/java/forge/game/card/CardFactoryUtil.java index efbd7d751eb..4938e6d6c60 100644 --- a/forge-gui/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/forge-gui/src/main/java/forge/game/card/CardFactoryUtil.java @@ -15,7 +15,7 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge.card.cardfactory; +package forge.game.card; import java.util.*; import java.util.Map.Entry; @@ -42,11 +42,6 @@ import forge.game.GameLogEntryType; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.ability.ApiType; -import forge.game.card.Card; -import forge.game.card.CardLists; -import forge.game.card.CardPredicates; -import forge.game.card.CardUtil; -import forge.game.card.CounterType; import forge.game.card.CardPredicates.Presets; import forge.game.cost.Cost; import forge.game.event.GameEventCardStatsChanged; diff --git a/forge-gui/src/main/java/forge/game/combat/CombatUtil.java b/forge-gui/src/main/java/forge/game/combat/CombatUtil.java index dc84cb15787..464f4da432c 100644 --- a/forge-gui/src/main/java/forge/game/combat/CombatUtil.java +++ b/forge-gui/src/main/java/forge/game/combat/CombatUtil.java @@ -28,7 +28,6 @@ import com.google.common.collect.Lists; import forge.card.CardType; import forge.card.MagicColor; -import forge.card.cardfactory.CardFactoryUtil; import forge.card.mana.ManaCost; import forge.game.Game; import forge.game.GameEntity; @@ -36,6 +35,7 @@ import forge.game.GlobalRuleChange; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardPredicates; import forge.game.cost.Cost; diff --git a/forge-gui/src/main/java/forge/game/phase/PhaseHandler.java b/forge-gui/src/main/java/forge/game/phase/PhaseHandler.java index 14c5748d3dd..82212c10686 100644 --- a/forge-gui/src/main/java/forge/game/phase/PhaseHandler.java +++ b/forge-gui/src/main/java/forge/game/phase/PhaseHandler.java @@ -29,7 +29,6 @@ import com.google.common.collect.Multimap; import forge.FThreads; import forge.Singletons; -import forge.card.cardfactory.CardFactoryUtil; import forge.card.mana.ManaCost; import forge.game.GameEntity; import forge.game.GameStage; @@ -38,6 +37,7 @@ import forge.game.GameType; import forge.game.GlobalRuleChange; import forge.game.ability.AbilityFactory; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardPredicates.Presets; import forge.game.combat.Combat; diff --git a/forge-gui/src/main/java/forge/game/phase/Upkeep.java b/forge-gui/src/main/java/forge/game/phase/Upkeep.java index aa1eeb10006..71d2e83a281 100644 --- a/forge-gui/src/main/java/forge/game/phase/Upkeep.java +++ b/forge-gui/src/main/java/forge/game/phase/Upkeep.java @@ -21,11 +21,11 @@ import java.util.HashMap; import java.util.List; import com.google.common.base.Predicate; -import forge.card.cardfactory.CardFactoryUtil; import forge.card.mana.ManaCost; import forge.game.Game; import forge.game.ability.AbilityFactory; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CounterType; import forge.game.cost.Cost; diff --git a/forge-gui/src/main/java/forge/game/player/HumanPlay.java b/forge-gui/src/main/java/forge/game/player/HumanPlay.java index a345fe6ad6a..9173acbe541 100644 --- a/forge-gui/src/main/java/forge/game/player/HumanPlay.java +++ b/forge-gui/src/main/java/forge/game/player/HumanPlay.java @@ -10,7 +10,6 @@ import com.google.common.base.Predicate; import forge.FThreads; import forge.Singletons; -import forge.card.cardfactory.CardFactoryUtil; import forge.card.mana.ManaCost; import forge.game.GameActionUtil; import forge.game.Game; @@ -20,6 +19,7 @@ import forge.game.ability.ApiType; import forge.game.ability.effects.CharmEffect; import forge.game.ability.effects.FlipCoinEffect; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardPredicates; import forge.game.card.CounterType; diff --git a/forge-gui/src/main/java/forge/game/replacement/ReplaceDamage.java b/forge-gui/src/main/java/forge/game/replacement/ReplaceDamage.java index 6ea42c6243d..90d452eb3e7 100644 --- a/forge-gui/src/main/java/forge/game/replacement/ReplaceDamage.java +++ b/forge-gui/src/main/java/forge/game/replacement/ReplaceDamage.java @@ -19,8 +19,8 @@ package forge.game.replacement; import java.util.Map; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.spellability.SpellAbility; import forge.util.Expressions; diff --git a/forge-gui/src/main/java/forge/game/replacement/ReplacementEffect.java b/forge-gui/src/main/java/forge/game/replacement/ReplacementEffect.java index 5446b856cb5..5e3d78bd945 100644 --- a/forge-gui/src/main/java/forge/game/replacement/ReplacementEffect.java +++ b/forge-gui/src/main/java/forge/game/replacement/ReplacementEffect.java @@ -20,11 +20,11 @@ package forge.game.replacement; import java.util.List; import java.util.Map; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.TriggerReplacementBase; import forge.game.ability.AbilityUtils; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.spellability.SpellAbility; diff --git a/forge-gui/src/main/java/forge/game/spellability/AbilitySub.java b/forge-gui/src/main/java/forge/game/spellability/AbilitySub.java index 9894e8ee062..ecaa59747f9 100644 --- a/forge-gui/src/main/java/forge/game/spellability/AbilitySub.java +++ b/forge-gui/src/main/java/forge/game/spellability/AbilitySub.java @@ -19,7 +19,6 @@ package forge.game.spellability; import java.util.Map; -import forge.card.cardfactory.CardFactory; import forge.game.ability.AbilityFactory; import forge.game.ability.ApiType; import forge.game.ability.SpellAbilityAi; @@ -29,6 +28,7 @@ import forge.game.ability.effects.ChangeZoneEffect; import forge.game.ability.effects.ManaEffect; import forge.game.ability.effects.ManaReflectedEffect; import forge.game.card.Card; +import forge.game.card.CardFactory; import forge.game.cost.Cost; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/game/spellability/Spell.java b/forge-gui/src/main/java/forge/game/spellability/Spell.java index 224d8dab310..3eed2015da2 100644 --- a/forge-gui/src/main/java/forge/game/spellability/Spell.java +++ b/forge-gui/src/main/java/forge/game/spellability/Spell.java @@ -20,10 +20,10 @@ package forge.game.spellability; import java.util.ArrayList; import java.util.List; -import forge.card.cardfactory.CardFactoryUtil; import forge.error.BugReporter; import forge.game.Game; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.cost.Cost; import forge.game.cost.CostPayment; diff --git a/forge-gui/src/main/java/forge/game/spellability/SpellAbilityCondition.java b/forge-gui/src/main/java/forge/game/spellability/SpellAbilityCondition.java index 7a2590f5ed9..2ea76961eb3 100644 --- a/forge-gui/src/main/java/forge/game/spellability/SpellAbilityCondition.java +++ b/forge-gui/src/main/java/forge/game/spellability/SpellAbilityCondition.java @@ -24,11 +24,11 @@ import java.util.Map; import org.apache.commons.lang3.StringUtils; import forge.card.MagicColor; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.GameObject; import forge.game.ability.AbilityUtils; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.phase.PhaseType; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/game/spellability/SpellAbilityRestriction.java b/forge-gui/src/main/java/forge/game/spellability/SpellAbilityRestriction.java index f9d5d66b5a5..26ec65dff4a 100644 --- a/forge-gui/src/main/java/forge/game/spellability/SpellAbilityRestriction.java +++ b/forge-gui/src/main/java/forge/game/spellability/SpellAbilityRestriction.java @@ -21,10 +21,10 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.ability.AbilityUtils; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.phase.PhaseType; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java b/forge-gui/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java index d51f9949b34..90ba0fdfdc9 100644 --- a/forge-gui/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java +++ b/forge-gui/src/main/java/forge/game/staticability/StaticAbilityCantAttackBlock.java @@ -19,9 +19,9 @@ package forge.game.staticability; import java.util.HashMap; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.GameEntity; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.cost.Cost; /** diff --git a/forge-gui/src/main/java/forge/game/staticability/StaticAbilityContinuous.java b/forge-gui/src/main/java/forge/game/staticability/StaticAbilityContinuous.java index 559b408981d..9ac23c2366b 100644 --- a/forge-gui/src/main/java/forge/game/staticability/StaticAbilityContinuous.java +++ b/forge-gui/src/main/java/forge/game/staticability/StaticAbilityContinuous.java @@ -27,7 +27,6 @@ import org.apache.commons.lang3.StringUtils; import com.google.common.collect.Lists; import forge.card.CardType; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.StaticEffect; @@ -36,6 +35,7 @@ import forge.game.TriggerReplacementBase; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardUtil; import forge.game.player.Player; diff --git a/forge-gui/src/main/java/forge/game/staticability/StaticAbilityCostChange.java b/forge-gui/src/main/java/forge/game/staticability/StaticAbilityCostChange.java index 09da2d6bf35..eb10ca7ec9e 100644 --- a/forge-gui/src/main/java/forge/game/staticability/StaticAbilityCostChange.java +++ b/forge-gui/src/main/java/forge/game/staticability/StaticAbilityCostChange.java @@ -20,9 +20,9 @@ package forge.game.staticability; import java.util.HashMap; import java.util.List; -import forge.card.cardfactory.CardFactoryUtil; import forge.card.mana.ManaCostShard; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.mana.ManaCostBeingPaid; import forge.game.player.Player; import forge.game.spellability.AbilityActivated; diff --git a/forge-gui/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java b/forge-gui/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java index 459c0ec0e1a..6ee428cff60 100644 --- a/forge-gui/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java +++ b/forge-gui/src/main/java/forge/game/staticability/StaticAbilityPreventDamage.java @@ -19,9 +19,9 @@ package forge.game.staticability; import java.util.HashMap; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.GameEntity; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; /** * The Class StaticAbility_PreventDamage. diff --git a/forge-gui/src/main/java/forge/game/trigger/TriggerChangesZone.java b/forge-gui/src/main/java/forge/game/trigger/TriggerChangesZone.java index 81fe0746047..f108767f865 100644 --- a/forge-gui/src/main/java/forge/game/trigger/TriggerChangesZone.java +++ b/forge-gui/src/main/java/forge/game/trigger/TriggerChangesZone.java @@ -19,9 +19,9 @@ package forge.game.trigger; import java.util.Map; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.ability.AbilityUtils; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.spellability.SpellAbility; import forge.util.Expressions; diff --git a/forge-gui/src/main/java/forge/game/zone/MagicStack.java b/forge-gui/src/main/java/forge/game/zone/MagicStack.java index 1002e0fa111..ecd35256aad 100644 --- a/forge-gui/src/main/java/forge/game/zone/MagicStack.java +++ b/forge-gui/src/main/java/forge/game/zone/MagicStack.java @@ -35,8 +35,6 @@ import forge.FThreads; import forge.Singletons; import forge.ai.ComputerUtil; import forge.ai.ComputerUtilCard; -import forge.card.cardfactory.CardFactory; -import forge.card.cardfactory.CardFactoryUtil; import forge.card.mana.ManaCost; import forge.game.Game; import forge.game.GameLogEntryType; @@ -44,6 +42,8 @@ import forge.game.GameObject; import forge.game.ability.AbilityFactory; import forge.game.ability.AbilityUtils; import forge.game.card.Card; +import forge.game.card.CardFactory; +import forge.game.card.CardFactoryUtil; import forge.game.card.CardLists; import forge.game.card.CardPredicates; import forge.game.card.CardPredicates.Presets; diff --git a/forge-gui/src/main/java/forge/gui/match/nonsingleton/ZoneAction.java b/forge-gui/src/main/java/forge/gui/match/nonsingleton/ZoneAction.java index 7a679a534eb..7a3ce7a526d 100644 --- a/forge-gui/src/main/java/forge/gui/match/nonsingleton/ZoneAction.java +++ b/forge-gui/src/main/java/forge/gui/match/nonsingleton/ZoneAction.java @@ -6,8 +6,8 @@ import java.util.List; import forge.Singletons; import forge.card.CardCharacteristicName; -import forge.card.cardfactory.CardFactory; import forge.game.card.Card; +import forge.game.card.CardFactory; import forge.game.zone.PlayerZone; import forge.gui.ForgeAction; import forge.gui.GuiChoose; diff --git a/forge-gui/src/main/java/forge/gui/match/views/VPlayers.java b/forge-gui/src/main/java/forge/gui/match/views/VPlayers.java index 937b0583869..4184d6e45f6 100644 --- a/forge-gui/src/main/java/forge/gui/match/views/VPlayers.java +++ b/forge-gui/src/main/java/forge/gui/match/views/VPlayers.java @@ -26,10 +26,10 @@ import javax.swing.JLabel; import javax.swing.JPanel; import net.miginfocom.swing.MigLayout; import forge.Singletons; -import forge.card.cardfactory.CardFactoryUtil; import forge.game.Game; import forge.game.GameType; import forge.game.card.Card; +import forge.game.card.CardFactoryUtil; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.gui.framework.DragCell; diff --git a/forge-gui/src/main/java/forge/util/maps/TreeMapToAmount.java b/forge-gui/src/main/java/forge/util/maps/TreeMapToAmount.java deleted file mode 100644 index 9cd967a4bbb..00000000000 --- a/forge-gui/src/main/java/forge/util/maps/TreeMapToAmount.java +++ /dev/null @@ -1,85 +0,0 @@ -package forge.util.maps; - -import java.util.Comparator; -import java.util.Map; -import java.util.SortedMap; -import java.util.TreeMap; - -public class TreeMapToAmount extends TreeMap implements MapToAmount { - private static final long serialVersionUID = 5001205073403776022L; - - public TreeMapToAmount() { - super(); - } - - public TreeMapToAmount(Comparator comparator) { - super(comparator); - } - - public TreeMapToAmount(Map m) { - super(m); - } - - public TreeMapToAmount(SortedMap m) { - super(m); - } - - - @Override - public void add(T item) { - add(item, 1); - } - - @Override - public void add(T item, int amount) { - if (amount <= 0) return; // throw an exception maybe? - Integer cur = get(item); - int newVal = cur == null ? amount : amount + cur.intValue(); - put(item, Integer.valueOf(newVal)); - } - - @Override - public void addAll(Iterable item) { - for(T i : item) add(i, 1); - } - - @Override - public boolean substract(T item) { - return substract(item, 1); - } - - - @Override - public boolean substract(T item, int amount) { - Integer cur = get(item); - if( cur == null ) return false; - int newVal = cur.intValue() - amount; - if(newVal > 0) - put(item, Integer.valueOf(newVal)); - else - remove(item); - return true; - } - - - @Override - public void substractAll(Iterable item) { - for(T i : item) substract(i); - } - - @Override - public int countAll() { - int c = 0; - for(java.util.Map.Entry kv : this.entrySet()) { - c += kv.getValue().intValue(); - } - return c; - } - - - @Override - public int count(T item) { - Integer cur = get(item); - return cur == null ? 0 : cur.intValue(); - } -}