From d8e5a8011cb6fe44006aa2e20e09122f2e94889c Mon Sep 17 00:00:00 2001 From: Maxmtg Date: Sat, 7 Apr 2012 08:32:53 +0000 Subject: [PATCH] Gathered phase-related classes in a package --- .gitattributes | 22 +- src/main/java/arcane/ui/CardPanel.java | 2 +- src/main/java/forge/AllZone.java | 12 +- src/main/java/forge/Card.java | 4 +- src/main/java/forge/ComputerAIGeneral.java | 1 + src/main/java/forge/ComputerAIInput.java | 2 +- src/main/java/forge/ComputerUtil.java | 6 +- src/main/java/forge/ComputerUtilAttack.java | 12 +- src/main/java/forge/ComputerUtilBlock.java | 42 ++-- src/main/java/forge/GameAction.java | 1 + src/main/java/forge/GuiDisplayUtil.java | 2 +- src/main/java/forge/GuiMultipleBlockers.java | 1 + src/main/java/forge/MagicStack.java | 1 + src/main/java/forge/Player.java | 1 + .../card/abilityfactory/AbilityFactory.java | 2 +- .../AbilityFactoryAlterLife.java | 2 +- .../abilityfactory/AbilityFactoryAnimate.java | 2 +- .../abilityfactory/AbilityFactoryAttach.java | 4 +- .../AbilityFactoryChangeZone.java | 4 +- .../abilityfactory/AbilityFactoryCombat.java | 4 +- .../abilityfactory/AbilityFactoryCopy.java | 2 +- .../AbilityFactoryCounters.java | 4 +- .../AbilityFactoryDealDamage.java | 2 +- .../abilityfactory/AbilityFactoryDebuff.java | 4 +- .../abilityfactory/AbilityFactoryEffect.java | 6 +- .../AbilityFactoryGainControl.java | 2 +- .../AbilityFactoryPermanentState.java | 4 +- .../AbilityFactoryPreventDamage.java | 4 +- .../AbilityFactoryProtection.java | 4 +- .../abilityfactory/AbilityFactoryPump.java | 6 +- .../AbilityFactoryRegenerate.java | 4 +- .../abilityfactory/AbilityFactoryReveal.java | 2 +- .../abilityfactory/AbilityFactoryToken.java | 2 +- .../abilityfactory/AbilityFactoryTurns.java | 2 +- .../AbilityFactoryZoneAffecting.java | 2 +- .../card/cardfactory/CardFactoryInstants.java | 2 +- .../card/cardfactory/CardFactoryLands.java | 2 +- .../cardfactory/CardFactoryPlaneswalkers.java | 208 +----------------- .../card/cardfactory/CardFactoryUtil.java | 6 +- src/main/java/forge/card/cost/CostMana.java | 2 +- .../java/forge/card/spellability/Spell.java | 2 +- .../spellability/SpellAbilityCondition.java | 4 +- .../spellability/SpellAbilityRestriction.java | 4 +- .../spellability/SpellAbilityVariables.java | 2 +- .../card/spellability/SpellPermanent.java | 2 +- .../card/staticability/StaticAbility.java | 2 +- .../StaticAbilityCantBeCast.java | 2 +- src/main/java/forge/card/trigger/Trigger.java | 2 +- .../forge/card/trigger/TriggerHandler.java | 8 +- .../java/forge/control/ControlMatchUI.java | 4 +- .../java/forge/control/input/InputAttack.java | 2 +- .../java/forge/control/input/InputBlock.java | 2 +- .../forge/control/input/InputCleanup.java | 2 +- .../forge/control/input/InputControl.java | 4 +- .../forge/control/input/InputMulligan.java | 4 +- .../control/input/InputPassPriority.java | 2 +- .../forge/control/input/InputPayManaCost.java | 2 +- src/main/java/forge/game/GameNew.java | 2 +- src/main/java/forge/game/GameState.java | 12 +- .../java/forge/{ => game/phase}/Combat.java | 11 +- .../forge/{ => game/phase}/CombatUtil.java | 56 +++-- .../forge/{ => game/phase}/EndOfCombat.java | 2 +- .../forge/{ => game/phase}/EndOfTurn.java | 11 +- .../java/forge/{ => game/phase}/Phase.java | 7 +- .../forge/{ => game/phase}/PhaseHandler.java | 13 +- .../forge/{ => game/phase}/PhaseType.java | 2 +- .../forge/{ => game/phase}/PhaseUtil.java | 11 +- .../java/forge/{ => game/phase}/Untap.java | 15 +- .../java/forge/{ => game/phase}/Upkeep.java | 20 +- .../java/forge/{ => gui}/CardContainer.java | 4 +- .../java/forge/gui/game/CardDetailPanel.java | 2 +- src/main/java/forge/gui/game/CardPanel.java | 2 +- .../java/forge/gui/game/CardPicturePanel.java | 2 +- .../java/forge/view/match/ViewWinLose.java | 2 +- src/test/java/forge/RunTest.java | 1 + 75 files changed, 261 insertions(+), 361 deletions(-) rename src/main/java/forge/{ => game/phase}/Combat.java (99%) rename src/main/java/forge/{ => game/phase}/CombatUtil.java (98%) rename src/main/java/forge/{ => game/phase}/EndOfCombat.java (97%) rename src/main/java/forge/{ => game/phase}/EndOfTurn.java (98%) rename src/main/java/forge/{ => game/phase}/Phase.java (96%) rename src/main/java/forge/{ => game/phase}/PhaseHandler.java (98%) rename src/main/java/forge/{ => game/phase}/PhaseType.java (96%) rename src/main/java/forge/{ => game/phase}/PhaseUtil.java (98%) rename src/main/java/forge/{ => game/phase}/Untap.java (97%) rename src/main/java/forge/{ => game/phase}/Upkeep.java (99%) rename src/main/java/forge/{ => gui}/CardContainer.java (96%) diff --git a/.gitattributes b/.gitattributes index f882ef5b3f9..d7fc14f0878 100644 --- a/.gitattributes +++ b/.gitattributes @@ -11353,7 +11353,6 @@ src/main/java/forge/ButtonUtil.java svneol=native#text/plain src/main/java/forge/Card.java svneol=native#text/plain src/main/java/forge/CardCharactersticName.java -text src/main/java/forge/CardColor.java svneol=native#text/plain -src/main/java/forge/CardContainer.java svneol=native#text/plain src/main/java/forge/CardDamageHistory.java -text src/main/java/forge/CardKeywords.java -text svneol=native#text/plain src/main/java/forge/CardList.java svneol=native#text/plain @@ -11365,8 +11364,6 @@ src/main/java/forge/CardType.java svneol=native#text/plain src/main/java/forge/CardUtil.java svneol=native#text/plain src/main/java/forge/Color.java svneol=native#text/plain src/main/java/forge/ColorChanger.java -text -src/main/java/forge/Combat.java svneol=native#text/plain -src/main/java/forge/CombatUtil.java svneol=native#text/plain src/main/java/forge/Command.java svneol=native#text/plain src/main/java/forge/CommandArgs.java svneol=native#text/plain src/main/java/forge/CommandList.java svneol=native#text/plain @@ -11381,8 +11378,6 @@ src/main/java/forge/Constant.java svneol=native#text/plain src/main/java/forge/ConstantStringArrayList.java svneol=native#text/plain src/main/java/forge/Counters.java svneol=native#text/plain src/main/java/forge/DefaultPlayerZone.java svneol=native#text/plain -src/main/java/forge/EndOfCombat.java svneol=native#text/plain -src/main/java/forge/EndOfTurn.java svneol=native#text/plain src/main/java/forge/ExternalPanel.java svneol=native#text/plain src/main/java/forge/GameAction.java svneol=native#text/plain src/main/java/forge/GameActionUtil.java svneol=native#text/plain @@ -11403,10 +11398,6 @@ src/main/java/forge/MagicStack.java svneol=native#text/plain src/main/java/forge/Move.java svneol=native#text/plain src/main/java/forge/MyObservable.java svneol=native#text/plain src/main/java/forge/NameChanger.java svneol=native#text/plain -src/main/java/forge/Phase.java svneol=native#text/plain -src/main/java/forge/PhaseHandler.java -text -src/main/java/forge/PhaseType.java -text -src/main/java/forge/PhaseUtil.java svneol=native#text/plain src/main/java/forge/Player.java svneol=native#text/plain src/main/java/forge/PlayerType.java svneol=native#text/plain src/main/java/forge/PlayerUtil.java svneol=native#text/plain @@ -11417,8 +11408,6 @@ src/main/java/forge/Singletons.java svneol=native#text/plain src/main/java/forge/StaticEffect.java svneol=native#text/plain src/main/java/forge/StaticEffects.java svneol=native#text/plain src/main/java/forge/UndoCommand.java svneol=native#text/plain -src/main/java/forge/Untap.java -text -src/main/java/forge/Upkeep.java svneol=native#text/plain src/main/java/forge/ZCTrigger.java svneol=native#text/plain src/main/java/forge/card/BoosterData.java -text src/main/java/forge/card/BoosterGenerator.java svneol=native#text/plain @@ -11661,6 +11650,17 @@ src/main/java/forge/game/limited/IBoosterDraft.java svneol=native#text/plain src/main/java/forge/game/limited/SealedDeck.java svneol=native#text/plain src/main/java/forge/game/limited/package-info.java svneol=native#text/plain src/main/java/forge/game/package-info.java -text +src/main/java/forge/game/phase/Combat.java svneol=native#text/plain +src/main/java/forge/game/phase/CombatUtil.java svneol=native#text/plain +src/main/java/forge/game/phase/EndOfCombat.java svneol=native#text/plain +src/main/java/forge/game/phase/EndOfTurn.java svneol=native#text/plain +src/main/java/forge/game/phase/Phase.java svneol=native#text/plain +src/main/java/forge/game/phase/PhaseHandler.java -text +src/main/java/forge/game/phase/PhaseType.java -text +src/main/java/forge/game/phase/PhaseUtil.java svneol=native#text/plain +src/main/java/forge/game/phase/Untap.java -text +src/main/java/forge/game/phase/Upkeep.java svneol=native#text/plain +src/main/java/forge/gui/CardContainer.java svneol=native#text/plain src/main/java/forge/gui/CardListViewer.java -text src/main/java/forge/gui/ForgeAction.java svneol=native#text/plain src/main/java/forge/gui/GuiUtils.java svneol=native#text/plain diff --git a/src/main/java/arcane/ui/CardPanel.java b/src/main/java/arcane/ui/CardPanel.java index 8a0f1db0c16..b7d9e63a1cf 100644 --- a/src/main/java/arcane/ui/CardPanel.java +++ b/src/main/java/arcane/ui/CardPanel.java @@ -41,10 +41,10 @@ import arcane.ui.ScaledImagePanel.ScalingType; import arcane.ui.util.GlowText; import forge.AllZoneUtil; import forge.Card; -import forge.CardContainer; import forge.Counters; import forge.ImageCache; import forge.Singletons; +import forge.gui.CardContainer; import forge.gui.toolbox.CardFaceSymbols; import forge.properties.ForgePreferences.FPref; diff --git a/src/main/java/forge/AllZone.java b/src/main/java/forge/AllZone.java index 86ac07016d9..64740115314 100644 --- a/src/main/java/forge/AllZone.java +++ b/src/main/java/forge/AllZone.java @@ -27,6 +27,8 @@ import forge.card.replacement.ReplacementHandler; import forge.card.trigger.TriggerHandler; import forge.control.input.InputControl; import forge.game.GameState; +import forge.game.phase.Combat; +import forge.game.phase.EndOfTurn; import forge.properties.ForgeProps; import forge.properties.NewConstants; import forge.quest.QuestController; @@ -148,7 +150,7 @@ public final class AllZone { * * Will eventually be marked deprecated. * - * @return a {@link forge.EndOfTurn} object. + * @return a {@link forge.game.phase.EndOfTurn} object. * @since 1.0.15 */ public static EndOfTurn getEndOfTurn() { @@ -162,10 +164,10 @@ public final class AllZone { * * Will eventually be marked deprecated. * - * @return a {@link forge.EndOfCombat} object. + * @return a {@link forge.game.phase.EndOfCombat} object. * @since 1.0.15 */ - public static forge.EndOfCombat getEndOfCombat() { + public static forge.game.phase.EndOfCombat getEndOfCombat() { return Singletons.getModel().getGameState().getEndOfCombat(); } @@ -300,7 +302,7 @@ public final class AllZone { * * Will eventually be marked deprecated. * - * @return a {@link forge.Combat} object. + * @return a {@link forge.game.phase.Combat} object. * @since 1.0.15 */ public static Combat getCombat() { @@ -315,7 +317,7 @@ public final class AllZone { * Will eventually be marked deprecated. * * @param attackers - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @since 1.0.15 */ public static void setCombat(final Combat attackers) { diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 23a8f528a19..262feb726f0 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -932,7 +932,7 @@ public class Card extends GameEntity implements Comparable { * clearBlockedThisTurn. *

*/ - void clearBlockedThisTurn() { + public void clearBlockedThisTurn() { this.blockedThisTurn.clear(); } @@ -955,7 +955,7 @@ public class Card extends GameEntity implements Comparable { * clearBlockedByThisTurn. *

*/ - void clearBlockedByThisTurn() { + public void clearBlockedByThisTurn() { this.blockedByThisTurn.clear(); } diff --git a/src/main/java/forge/ComputerAIGeneral.java b/src/main/java/forge/ComputerAIGeneral.java index 469a0e4f6f5..74d86e1fc13 100644 --- a/src/main/java/forge/ComputerAIGeneral.java +++ b/src/main/java/forge/ComputerAIGeneral.java @@ -30,6 +30,7 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellPermanent; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerType; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/ComputerAIInput.java b/src/main/java/forge/ComputerAIInput.java index af059dfbaf1..4973c5f437e 100644 --- a/src/main/java/forge/ComputerAIInput.java +++ b/src/main/java/forge/ComputerAIInput.java @@ -19,8 +19,8 @@ package forge; import com.esotericsoftware.minlog.Log; -import forge.PhaseType; import forge.control.input.Input; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/ComputerUtil.java b/src/main/java/forge/ComputerUtil.java index e725644cdc6..3e37a83715d 100644 --- a/src/main/java/forge/ComputerUtil.java +++ b/src/main/java/forge/ComputerUtil.java @@ -38,6 +38,8 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.control.input.InputPayManaCostUtil; import forge.error.ErrorViewer; +import forge.game.phase.Combat; +import forge.game.phase.CombatUtil; /** *

@@ -1623,7 +1625,7 @@ public class ComputerUtil { * getAttackers. *

* - * @return a {@link forge.Combat} object. + * @return a {@link forge.game.phase.Combat} object. */ public static Combat getAttackers() { final ComputerUtilAttack att = new ComputerUtilAttack(AllZone.getComputerPlayer().getCardsIn(Zone.Battlefield), @@ -1637,7 +1639,7 @@ public class ComputerUtil { * getBlockers. *

* - * @return a {@link forge.Combat} object. + * @return a {@link forge.game.phase.Combat} object. */ public static Combat getBlockers() { final CardList blockers = AllZone.getComputerPlayer().getCardsIn(Zone.Battlefield); diff --git a/src/main/java/forge/ComputerUtilAttack.java b/src/main/java/forge/ComputerUtilAttack.java index cf116038fbe..d7f9955ae1a 100644 --- a/src/main/java/forge/ComputerUtilAttack.java +++ b/src/main/java/forge/ComputerUtilAttack.java @@ -24,6 +24,8 @@ import forge.Constant.Zone; import forge.card.cardfactory.CardFactoryUtil; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerType; +import forge.game.phase.Combat; +import forge.game.phase.CombatUtil; import forge.util.MyRandom; //doesHumanAttackAndWin() uses the global variable AllZone.getComputerPlayer() @@ -110,7 +112,7 @@ public class ComputerUtilAttack { * @param attacker * a {@link forge.Card} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public final boolean isEffectiveAttacker(final Card attacker, final Combat combat) { @@ -202,7 +204,7 @@ public class ComputerUtilAttack { * @param attackers * a {@link forge.CardList} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a {@link forge.CardList} object. */ public final CardList notNeededAsBlockers(final CardList attackers, final Combat combat) { @@ -375,7 +377,7 @@ public class ComputerUtilAttack { *

* * @param c - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @param bAssault * a boolean. */ @@ -414,7 +416,7 @@ public class ComputerUtilAttack { * Getter for the field attackers. *

* - * @return a {@link forge.Combat} object. + * @return a {@link forge.game.phase.Combat} object. */ public final Combat getAttackers() { // if this method is called multiple times during a turn, @@ -757,7 +759,7 @@ public class ComputerUtilAttack { * @param defenders * a {@link forge.CardList} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public final boolean shouldAttack(final Card attacker, final CardList defenders, final Combat combat) { diff --git a/src/main/java/forge/ComputerUtilBlock.java b/src/main/java/forge/ComputerUtilBlock.java index 063f5e7332d..8c2ea601ebd 100644 --- a/src/main/java/forge/ComputerUtilBlock.java +++ b/src/main/java/forge/ComputerUtilBlock.java @@ -20,6 +20,8 @@ package forge; import java.util.List; import forge.card.cardfactory.CardFactoryUtil; +import forge.game.phase.Combat; +import forge.game.phase.CombatUtil; /** *

@@ -178,7 +180,7 @@ public class ComputerUtilBlock { * @param blockersLeft * a {@link forge.CardList} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a {@link forge.CardList} object. */ private static CardList getPossibleBlockers(final Card attacker, final CardList blockersLeft, final Combat combat) { @@ -206,7 +208,7 @@ public class ComputerUtilBlock { * @param blockersLeft * a {@link forge.CardList} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a {@link forge.CardList} object. */ private static CardList getSafeBlockers(final Card attacker, final CardList blockersLeft, final Combat combat) { @@ -232,7 +234,7 @@ public class ComputerUtilBlock { * @param blockersLeft * a {@link forge.CardList} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a {@link forge.CardList} object. */ private static CardList getKillingBlockers(final Card attacker, final CardList blockersLeft, final Combat combat) { @@ -253,7 +255,7 @@ public class ComputerUtilBlock { *

* * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a {@link forge.CardList} object. */ public static CardList sortPotentialAttackers(final Combat combat) { @@ -312,8 +314,8 @@ public class ComputerUtilBlock { *

* * @param combat - * a {@link forge.Combat} object. - * @return a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. + * @return a {@link forge.game.phase.Combat} object. */ private static Combat makeGoodBlocks(final Combat combat) { @@ -381,8 +383,8 @@ public class ComputerUtilBlock { *

* * @param combat - * a {@link forge.Combat} object. - * @return a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. + * @return a {@link forge.game.phase.Combat} object. */ private static Combat makeGangBlocks(final Combat combat) { @@ -510,8 +512,8 @@ public class ComputerUtilBlock { *

* * @param combat - * a {@link forge.Combat} object. - * @return a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. + * @return a {@link forge.game.phase.Combat} object. */ private static Combat makeTradeBlocks(final Combat combat) { @@ -545,8 +547,8 @@ public class ComputerUtilBlock { *

* * @param combat - * a {@link forge.Combat} object. - * @return a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. + * @return a {@link forge.game.phase.Combat} object. */ private static Combat makeChumpBlocks(final Combat combat) { @@ -582,8 +584,8 @@ public class ComputerUtilBlock { *

* * @param combat - * a {@link forge.Combat} object. - * @return a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. + * @return a {@link forge.game.phase.Combat} object. */ private static Combat reinforceBlockersAgainstTrample(final Combat combat) { @@ -634,8 +636,8 @@ public class ComputerUtilBlock { *

* * @param combat - * a {@link forge.Combat} object. - * @return a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. + * @return a {@link forge.game.phase.Combat} object. */ private static Combat reinforceBlockersToKill(final Combat combat) { @@ -707,10 +709,10 @@ public class ComputerUtilBlock { *

* * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @param possibleBlockers * a {@link forge.CardList} object. - * @return a {@link forge.Combat} object. + * @return a {@link forge.game.phase.Combat} object. */ private static Combat resetBlockers(final Combat combat, final CardList possibleBlockers) { @@ -746,10 +748,10 @@ public class ComputerUtilBlock { *

* * @param originalCombat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @param possibleBlockers * a {@link forge.CardList} object. - * @return a {@link forge.Combat} object. + * @return a {@link forge.game.phase.Combat} object. */ public static Combat getBlockers(final Combat originalCombat, final CardList possibleBlockers) { diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/GameAction.java index a3263586d79..4241d03b992 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/GameAction.java @@ -49,6 +49,7 @@ import forge.control.input.InputPayManaCostAbility; import forge.control.input.InputPayManaCostUtil; import forge.game.GameEndReason; import forge.game.GameSummary; +import forge.game.phase.PhaseHandler; import forge.gui.GuiUtils; import forge.view.match.ViewWinLose; diff --git a/src/main/java/forge/GuiDisplayUtil.java b/src/main/java/forge/GuiDisplayUtil.java index 257ffdff5e1..fc74a01aa17 100644 --- a/src/main/java/forge/GuiDisplayUtil.java +++ b/src/main/java/forge/GuiDisplayUtil.java @@ -1303,7 +1303,7 @@ public final class GuiDisplayUtil { } if (!tChangePhase.trim().toLowerCase().equals("none")) { - Singletons.getModel().getGameState().getPhaseHandler().setDevPhaseState(forge.PhaseType.smartValueOf(tChangePhase)); + Singletons.getModel().getGameState().getPhaseHandler().setDevPhaseState(forge.game.phase.PhaseType.smartValueOf(tChangePhase)); } if (!tHumanSetupCardsInPlay.trim().toLowerCase().equals("none")) { diff --git a/src/main/java/forge/GuiMultipleBlockers.java b/src/main/java/forge/GuiMultipleBlockers.java index 4c2b8b6e742..2284d05a4ff 100644 --- a/src/main/java/forge/GuiMultipleBlockers.java +++ b/src/main/java/forge/GuiMultipleBlockers.java @@ -30,6 +30,7 @@ import javax.swing.JScrollPane; import javax.swing.SwingConstants; import forge.error.ErrorViewer; +import forge.gui.CardContainer; import forge.gui.game.CardPanel; /** diff --git a/src/main/java/forge/MagicStack.java b/src/main/java/forge/MagicStack.java index 80fa26f3690..f44462ee287 100644 --- a/src/main/java/forge/MagicStack.java +++ b/src/main/java/forge/MagicStack.java @@ -44,6 +44,7 @@ import forge.card.trigger.Trigger; import forge.card.trigger.TriggerType; import forge.control.input.Input; import forge.control.input.InputPayManaCostAbility; +import forge.game.phase.PhaseType; import forge.gui.GuiUtils; /** diff --git a/src/main/java/forge/Player.java b/src/main/java/forge/Player.java index 2f883be7f3e..bf1595bea55 100644 --- a/src/main/java/forge/Player.java +++ b/src/main/java/forge/Player.java @@ -36,6 +36,7 @@ import forge.card.spellability.SpellAbility; import forge.card.staticability.StaticAbility; import forge.card.trigger.TriggerType; import forge.game.GameLossReason; +import forge.game.phase.PhaseHandler; import forge.gui.GuiUtils; import forge.util.MyRandom; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactory.java b/src/main/java/forge/card/abilityfactory/AbilityFactory.java index 6c1b3b9eac2..d778148744c 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactory.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactory.java @@ -30,7 +30,6 @@ import forge.ComputerUtil; import forge.Constant; import forge.Constant.Zone; import forge.GameActionUtil; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -43,6 +42,7 @@ import forge.card.spellability.SpellAbilityCondition; import forge.card.spellability.SpellAbilityRestriction; import forge.card.spellability.SpellPermanent; import forge.card.spellability.Target; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryAlterLife.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryAlterLife.java index ec16e09a8b9..51a187f8c63 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryAlterLife.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryAlterLife.java @@ -27,7 +27,6 @@ import forge.AllZoneUtil; import forge.Card; import forge.ComputerUtil; import forge.Counters; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cost.Cost; @@ -37,6 +36,7 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.phase.PhaseType; import forge.util.MyRandom; /** diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java index c72027493a2..77b06504bb6 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryAnimate.java @@ -31,7 +31,6 @@ import forge.CardUtil; import forge.Command; import forge.ComputerUtil; import forge.Constant.Zone; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.replacement.ReplacementEffect; @@ -43,6 +42,7 @@ import forge.card.spellability.Target; import forge.card.staticability.StaticAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java index ba8be66aed2..413dac274b5 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryAttach.java @@ -29,13 +29,11 @@ import forge.Card; import forge.CardList; import forge.CardListFilter; import forge.CardUtil; -import forge.CombatUtil; import forge.Command; import forge.ComputerUtil; import forge.Constant.Zone; import forge.GameActionUtil; import forge.GameEntity; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -47,6 +45,8 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellPermanent; import forge.card.spellability.Target; import forge.card.staticability.StaticAbility; +import forge.game.phase.CombatUtil; +import forge.game.phase.PhaseType; import forge.gui.GuiUtils; import forge.util.MyRandom; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java index 1cb54bdf9a2..31f1cf1660b 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryChangeZone.java @@ -30,13 +30,11 @@ import forge.CardList; import forge.CardListFilter; import forge.CardListUtil; import forge.CardUtil; -import forge.CombatUtil; import forge.ComputerUtil; import forge.Constant; import forge.Constant.Zone; import forge.GameActionUtil; import forge.GameEntity; -import forge.PhaseType; import forge.Player; import forge.PlayerZone; import forge.Singletons; @@ -50,6 +48,8 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityStackInstance; import forge.card.spellability.SpellPermanent; import forge.card.spellability.Target; +import forge.game.phase.CombatUtil; +import forge.game.phase.PhaseType; import forge.gui.GuiUtils; import forge.util.MyRandom; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java index 45a1dd16921..4068a3bebd4 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCombat.java @@ -24,10 +24,8 @@ import forge.AllZone; import forge.Card; import forge.CardList; import forge.CardListFilter; -import forge.CombatUtil; import forge.ComputerUtil; import forge.Constant.Zone; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -36,6 +34,8 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.phase.CombatUtil; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java index 58159d7bed8..aff9e07fb31 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCopy.java @@ -32,7 +32,6 @@ import forge.CardListFilter; import forge.Command; import forge.ComputerUtil; import forge.Constant.Zone; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -43,6 +42,7 @@ import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.card.trigger.TriggerType; +import forge.game.phase.PhaseType; import forge.gui.GuiUtils; import forge.util.MyRandom; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java index 430bedaed9c..c18d53fd260 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryCounters.java @@ -33,8 +33,6 @@ import forge.ComputerUtil; import forge.Constant; import forge.Constant.Zone; import forge.Counters; -import forge.PhaseHandler; -import forge.PhaseType; import forge.Player; import forge.PlayerZone; import forge.Singletons; @@ -47,6 +45,8 @@ import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.control.input.Input; +import forge.game.phase.PhaseHandler; +import forge.game.phase.PhaseType; import forge.gui.GuiUtils; import forge.util.MyRandom; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryDealDamage.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryDealDamage.java index af82d8fd301..8ee3ca1a3cd 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryDealDamage.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryDealDamage.java @@ -29,7 +29,6 @@ import forge.CardListFilter; import forge.CardUtil; import forge.ComputerUtil; import forge.Constant.Zone; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -41,6 +40,7 @@ import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.card.spellability.TargetSelection; +import forge.game.phase.PhaseType; import forge.util.MyRandom; /** diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryDebuff.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryDebuff.java index ecc73b994e4..dbb5b4340fb 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryDebuff.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryDebuff.java @@ -28,11 +28,9 @@ import forge.AllZoneUtil; import forge.Card; import forge.CardList; import forge.CardListFilter; -import forge.CombatUtil; import forge.Command; import forge.ComputerUtil; import forge.Constant.Zone; -import forge.PhaseType; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; import forge.card.cost.Cost; @@ -43,6 +41,8 @@ import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityRestriction; import forge.card.spellability.Target; +import forge.game.phase.CombatUtil; +import forge.game.phase.PhaseType; import forge.util.MyRandom; /** diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryEffect.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryEffect.java index 2fefeb1fcfb..de02290e380 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryEffect.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryEffect.java @@ -25,12 +25,9 @@ import forge.AllZoneUtil; import forge.Card; import forge.CardList; import forge.CardListFilter; -import forge.CombatUtil; import forge.Command; import forge.ComputerUtil; import forge.Constant.Zone; -import forge.PhaseHandler; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.replacement.ReplacementEffect; @@ -43,6 +40,9 @@ import forge.card.spellability.Target; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerType; +import forge.game.phase.CombatUtil; +import forge.game.phase.PhaseHandler; +import forge.game.phase.PhaseType; import forge.util.MyRandom; /** diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryGainControl.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryGainControl.java index 39169f1becf..d013495c3fc 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryGainControl.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryGainControl.java @@ -32,7 +32,6 @@ import forge.ComputerUtil; import forge.Constant; import forge.Constant.Zone; import forge.GameEntity; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -42,6 +41,7 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.phase.PhaseType; //AB:GainControl|ValidTgts$Creature|TgtPrompt$Select target legendary creature|LoseControl$Untap,LoseControl|SpellDescription$Gain control of target xxxxxxx diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java index fa393e498b6..c7470465f48 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPermanentState.java @@ -29,8 +29,6 @@ import forge.CardList; import forge.CardListFilter; import forge.ComputerUtil; import forge.Constant.Zone; -import forge.PhaseHandler; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -41,6 +39,8 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.phase.PhaseHandler; +import forge.game.phase.PhaseType; import forge.gui.GuiUtils; import forge.util.MyRandom; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java index 632084e2f71..c66c392a8fa 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPreventDamage.java @@ -26,10 +26,8 @@ import forge.Card; import forge.CardList; import forge.CardListUtil; import forge.CardUtil; -import forge.CombatUtil; import forge.ComputerUtil; import forge.Constant.Zone; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -40,6 +38,8 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.phase.CombatUtil; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java index 7938679b319..4aff2d27bce 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryProtection.java @@ -30,12 +30,10 @@ import forge.Card; import forge.CardList; import forge.CardListFilter; import forge.CardUtil; -import forge.CombatUtil; import forge.Command; import forge.ComputerUtil; import forge.Constant; import forge.Constant.Zone; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -46,6 +44,8 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.phase.CombatUtil; +import forge.game.phase.PhaseType; import forge.gui.GuiUtils; /** diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java index 33a2927cab3..72203043d37 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryPump.java @@ -27,13 +27,10 @@ import forge.Card; import forge.CardList; import forge.CardListFilter; import forge.CardUtil; -import forge.CombatUtil; import forge.Command; import forge.ComputerUtil; import forge.Constant.Zone; import forge.GameEntity; -import forge.PhaseHandler; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -45,6 +42,9 @@ import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityRestriction; import forge.card.spellability.Target; +import forge.game.phase.CombatUtil; +import forge.game.phase.PhaseHandler; +import forge.game.phase.PhaseType; import forge.util.MyRandom; /** diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryRegenerate.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryRegenerate.java index e40963e6b67..9ee4fc2c5ec 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryRegenerate.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryRegenerate.java @@ -26,11 +26,9 @@ import forge.AllZoneUtil; import forge.Card; import forge.CardList; import forge.CardListUtil; -import forge.CombatUtil; import forge.Command; import forge.ComputerUtil; import forge.Constant.Zone; -import forge.PhaseType; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; import forge.card.cost.Cost; @@ -40,6 +38,8 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.phase.CombatUtil; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java index 4f8d3bbbd81..41be1229b9b 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryReveal.java @@ -35,7 +35,6 @@ import forge.ComputerUtil; import forge.Constant; import forge.Constant.Zone; import forge.GameActionUtil; -import forge.PhaseType; import forge.Player; import forge.PlayerZone; import forge.Singletons; @@ -46,6 +45,7 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.phase.PhaseType; import forge.gui.GuiUtils; import forge.util.MyRandom; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java index ea431a0bf7b..3b4673cfb54 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryToken.java @@ -27,7 +27,6 @@ import forge.Card; import forge.CardList; import forge.ComputerUtil; import forge.Constant.Zone; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -40,6 +39,7 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; +import forge.game.phase.PhaseType; import forge.util.MyRandom; /** diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryTurns.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryTurns.java index 90ea14391ba..51c243b1ac6 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryTurns.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryTurns.java @@ -23,7 +23,6 @@ import java.util.HashMap; import forge.AllZone; import forge.Card; import forge.ComputerUtil; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.spellability.AbilityActivated; @@ -31,6 +30,7 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java b/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java index 1f3ba62bdf0..a3cc9d689b2 100644 --- a/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java +++ b/src/main/java/forge/card/abilityfactory/AbilityFactoryZoneAffecting.java @@ -31,7 +31,6 @@ import forge.ComputerUtil; import forge.Constant; import forge.Constant.Zone; import forge.GameActionUtil; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -42,6 +41,7 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.phase.PhaseType; import forge.gui.GuiUtils; import forge.util.MyRandom; diff --git a/src/main/java/forge/card/cardfactory/CardFactoryInstants.java b/src/main/java/forge/card/cardfactory/CardFactoryInstants.java index 5c12b3db681..7baa633f45e 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryInstants.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryInstants.java @@ -26,7 +26,6 @@ import forge.Command; import forge.ComputerUtil; import forge.Constant; import forge.Constant.Zone; -import forge.PhaseUtil; import forge.Player; import forge.PlayerZone; import forge.Singletons; @@ -36,6 +35,7 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; +import forge.game.phase.PhaseUtil; import forge.gui.GuiUtils; import forge.util.MyRandom; diff --git a/src/main/java/forge/card/cardfactory/CardFactoryLands.java b/src/main/java/forge/card/cardfactory/CardFactoryLands.java index d1798ab5d09..2a7d5770692 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryLands.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryLands.java @@ -32,7 +32,6 @@ import forge.Counters; import forge.GameActionUtil; import forge.Player; import forge.PlayerZone; -import forge.PhaseType; import forge.Singletons; import forge.card.cost.Cost; import forge.card.spellability.Ability; @@ -40,6 +39,7 @@ import forge.card.spellability.AbilityActivated; import forge.card.spellability.AbilityMana; import forge.card.spellability.SpellAbility; import forge.control.input.Input; +import forge.game.phase.PhaseType; import forge.gui.GuiUtils; import forge.util.MyRandom; diff --git a/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java b/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java index 61eade7f1cf..56837d0fc33 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryPlaneswalkers.java @@ -17,27 +17,9 @@ */ package forge.card.cardfactory; -import com.esotericsoftware.minlog.Log; - -import forge.AllZone; -import forge.AllZoneUtil; import forge.Card; -import forge.CardList; -import forge.CardListFilter; -import forge.CardUtil; -import forge.Constant; -import forge.Constant.Zone; +import forge.Command; import forge.Counters; -import forge.PhaseHandler; -import forge.Player; -import forge.PlayerZone; -import forge.Singletons; -import forge.card.cost.Cost; -import forge.card.spellability.Ability; -import forge.card.spellability.AbilityActivated; -import forge.card.spellability.SpellAbility; -import forge.card.spellability.Target; -import forge.gui.GuiUtils; /** *

@@ -63,194 +45,10 @@ public class CardFactoryPlaneswalkers { public static Card getCard(final Card card, final String cardName) { // All Planeswalkers set their loyality in the beginning if (card.getBaseLoyalty() > 0) { - card.addComesIntoPlayCommand(CardFactoryUtil.entersBattleFieldWithCounters(card, Counters.LOYALTY, - card.getBaseLoyalty())); + Command cmd = CardFactoryUtil.entersBattleFieldWithCounters(card, Counters.LOYALTY, card.getBaseLoyalty()); + card.addComesIntoPlayCommand(cmd); } - // *************** START *********** START ************************** - /*if (cardName.equals("Sarkhan the Mad")) { - - // Planeswalker book-keeping - final int[] turn = new int[1]; - turn[0] = -1; - - // ability1 - /* - * 0: Reveal the top card of your library and put it into your hand. - * Sarkhan the Mad deals damage to himself equal to that card's - * converted mana cost. - */ - /*final SpellAbility ability1 = new Ability(card, "0") { - @Override - public void resolve() { - card.addCounterFromNonEffect(Counters.LOYALTY, 0); - turn[0] = Singletons.getModel().getGameState().getPhaseHandler().getTurn(); - - final Player player = card.getController(); - final PlayerZone lib = player.getZone(Constant.Zone.Library); - - final Card topCard = lib.get(0); - final int convertedManaTopCard = CardUtil.getConvertedManaCost(topCard.getManaCost()); - final CardList showTop = new CardList(); - showTop.add(topCard); - GuiUtils.chooseOneOrNone("Revealed top card: ", showTop.toArray()); - - // now, move it to player's hand - Singletons.getModel().getGameAction().moveToHand(topCard); - - // now, do X damage to Sarkhan - card.addDamage(convertedManaTopCard, card); - - } // resolve() - - @Override - public boolean canPlayAI() { - // the computer isn't really smart enough to play this - // effectively, and it doesn't really - // help unless there are no cards in his hand - return false; - } - - @Override - public boolean canPlay() { - // looks like standard Planeswalker stuff... - // maybe should check if library is empty, or 1 card? - return AllZone.getZoneOf(card).is(Constant.Zone.Battlefield) - && (turn[0] != Singletons.getModel().getGameState().getPhaseHandler().getTurn()) && PhaseHandler.canCastSorcery(card.getController()); - } // canPlay() - }; - final StringBuilder ab1 = new StringBuilder(); - ab1.append("0: Reveal the top card of your library and put it "); - ab1.append("into your hand. Sarkhan the Mad deals damage "); - ab1.append("to himself equal to that card's converted mana cost."); - ability1.setDescription(ab1.toString()); - - final StringBuilder stack1 = new StringBuilder(); - stack1.append(card.getName()).append(" - Reveal top card and do damage."); - ability1.setStackDescription(stack1.toString()); - - // ability2 - /* - * -2: Target creature's controller sacrifices it, then that player - * puts a 5/5 red Dragon creature token with flying onto the - * battlefield. - */ - /*final Target target2 = new Target(card, "TgtC"); - final Cost cost2 = new Cost(card, "SubCounter<2/LOYALTY>", true); - final SpellAbility ability2 = new AbilityActivated(card, cost2, target2) { - private static final long serialVersionUID = 4322453486268967722L; - - @Override - public void resolve() { - // card.subtractCounter(Counters.LOYALTY, 2); - turn[0] = Singletons.getModel().getGameState().getPhaseHandler().getTurn(); - - final Card target = this.getTargetCard(); - Singletons.getModel().getGameAction().sacrifice(target); - // in makeToken, use target for source, so it goes into the - // correct Zone - CardFactoryUtil.makeToken("Dragon", "R 5 5 Dragon", target.getController(), "R", new String[] { - "Creature", "Dragon" }, 5, 5, new String[] { "Flying" }); - - } // resolve() - - @Override - public boolean canPlayAI() { - CardList creatures = AllZoneUtil.getCreaturesInPlay(AllZone.getComputerPlayer()); - creatures = creatures.filter(new CardListFilter() { - @Override - public boolean addCard(final Card c) { - return !(c.isToken() && c.isType("Dragon")); - } - }); - return creatures.size() >= 1; - } - - @Override - public void chooseTargetAI() { - CardList cards = AllZone.getComputerPlayer().getCardsIn(Zone.Battlefield); - // avoid targeting the dragon tokens we just put in play... - cards = cards.filter(new CardListFilter() { - @Override - public boolean addCard(final Card c) { - return !(c.isToken() && c.isType("Dragon")); - } - }); - this.setTargetCard(CardFactoryUtil.getCheapestCreatureAI(cards, this, true)); - final StringBuilder sb = new StringBuilder(); - sb.append("Sarkhan the Mad caused sacrifice of: "); - sb.append(CardFactoryUtil.getCheapestCreatureAI(cards, this, true)); - Log.debug("Sarkhan the Mad", sb.toString()); - } - - @Override - public boolean canPlay() { - return AllZone.getZoneOf(card).is(Constant.Zone.Battlefield) - && (card.getCounters(Counters.LOYALTY) >= 2) && (turn[0] != Singletons.getModel().getGameState().getPhaseHandler().getTurn()) - && PhaseHandler.canCastSorcery(card.getController()); - } // canPlay() - }; - final StringBuilder ab2 = new StringBuilder(); - ab2.append("-2: Target creature's controller sacrifices it, "); - ab2.append("then that player puts a 5/5 red Dragon creature "); - ab2.append("token with flying onto the battlefield."); - ability2.setDescription(ab2.toString()); - - // ability3 - /* - * -4: Each Dragon creature you control deals damage equal to its - * power to target player. - */ - /*final Target target3 = new Target(card, "Select target player", "Player"); - final Cost cost3 = new Cost(card, "SubCounter<4/LOYALTY>", true); - final SpellAbility ability3 = new AbilityActivated(card, cost3, target3) { - private static final long serialVersionUID = -5488579738767048060L; - - @Override - public void resolve() { - // card.subtractCounter(Counters.LOYALTY, 4); - turn[0] = Singletons.getModel().getGameState().getPhaseHandler().getTurn(); - - final Player target = this.getTargetPlayer(); - final Player player = card.getController(); - final CardList dragons = player.getCardsIn(Zone.Battlefield).getType("Dragon"); - for (int i = 0; i < dragons.size(); i++) { - final Card dragon = dragons.get(i); - final int damage = dragon.getNetAttack(); - target.addDamage(damage, dragon); - } - - } // resolve() - - @Override - public boolean canPlayAI() { - this.setTargetPlayer(AllZone.getHumanPlayer()); - final CardList dragons = AllZone.getComputerPlayer().getCardsIn(Zone.Battlefield).getType("Dragon"); - return (card.getCounters(Counters.LOYALTY) >= 4) && (dragons.size() >= 1); - } - - @Override - public boolean canPlay() { - return AllZone.getZoneOf(card).is(Constant.Zone.Battlefield) - && (card.getCounters(Counters.LOYALTY) >= 4) && (turn[0] != Singletons.getModel().getGameState().getPhaseHandler().getTurn()) - && PhaseHandler.canCastSorcery(card.getController()); - } // canPlay() - }; - final StringBuilder ab3 = new StringBuilder(); - ab3.append("-4: Each Dragon creature you control "); - ab3.append("deals damage equal to its power to target player."); - ability3.setDescription(ab3.toString()); - - card.addSpellAbility(ability1); - card.addSpellAbility(ability2); - card.addSpellAbility(ability3); - - card.setSVars(card.getSVars()); - card.setSets(card.getSets()); - - return card; - }*/ // *************** END ************ END ************************** - return card; } diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index 45bcd338639..d38a15f51de 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -36,17 +36,14 @@ import forge.CardCharactersticName; import forge.CardList; import forge.CardListFilter; import forge.CardUtil; -import forge.CombatUtil; import forge.Command; import forge.CommandArgs; import forge.ComputerUtil; import forge.Constant; -import forge.PhaseType; import forge.Constant.Zone; import forge.Counters; import forge.GameActionUtil; import forge.HandSizeOp; -import forge.PhaseHandler; import forge.Player; import forge.PlayerZone; import forge.Singletons; @@ -68,6 +65,9 @@ import forge.card.trigger.TriggerType; import forge.control.input.Input; import forge.control.input.InputPayManaCost; import forge.control.input.InputPayManaCostUtil; +import forge.game.phase.CombatUtil; +import forge.game.phase.PhaseHandler; +import forge.game.phase.PhaseType; import forge.gui.GuiUtils; import forge.util.MyRandom; diff --git a/src/main/java/forge/card/cost/CostMana.java b/src/main/java/forge/card/cost/CostMana.java index ded2d972806..5368eed4121 100644 --- a/src/main/java/forge/card/cost/CostMana.java +++ b/src/main/java/forge/card/cost/CostMana.java @@ -24,7 +24,6 @@ import forge.ButtonUtil; import forge.Card; import forge.ComputerUtil; import forge.Constant.Zone; -import forge.PhaseHandler; import forge.Player; import forge.PlayerZone; import forge.Singletons; @@ -35,6 +34,7 @@ import forge.card.trigger.TriggerType; import forge.control.input.Input; import forge.control.input.InputMana; import forge.control.input.InputPayManaCostUtil; +import forge.game.phase.PhaseHandler; /** * The Class CostMana. diff --git a/src/main/java/forge/card/spellability/Spell.java b/src/main/java/forge/card/spellability/Spell.java index 3c0915fc491..6caacc6180d 100644 --- a/src/main/java/forge/card/spellability/Spell.java +++ b/src/main/java/forge/card/spellability/Spell.java @@ -25,13 +25,13 @@ import forge.Card; import forge.CardList; import forge.Constant; import forge.Constant.Zone; -import forge.PhaseHandler; import forge.Player; import forge.card.cardfactory.CardFactoryUtil; import forge.card.cost.Cost; import forge.card.cost.CostPayment; import forge.card.staticability.StaticAbility; import forge.error.ErrorViewer; +import forge.game.phase.PhaseHandler; /** *

diff --git a/src/main/java/forge/card/spellability/SpellAbilityCondition.java b/src/main/java/forge/card/spellability/SpellAbilityCondition.java index aa3df2a81f8..512f0811e05 100644 --- a/src/main/java/forge/card/spellability/SpellAbilityCondition.java +++ b/src/main/java/forge/card/spellability/SpellAbilityCondition.java @@ -21,13 +21,13 @@ import java.util.HashMap; import forge.AllZoneUtil; import forge.CardList; -import forge.PhaseType; import forge.Constant.Zone; -import forge.PhaseHandler; import forge.Player; import forge.Singletons; import forge.card.abilityfactory.AbilityFactory; import forge.card.cardfactory.CardFactoryUtil; +import forge.game.phase.PhaseHandler; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/card/spellability/SpellAbilityRestriction.java b/src/main/java/forge/card/spellability/SpellAbilityRestriction.java index 2dbea2d902c..29a092ad57e 100644 --- a/src/main/java/forge/card/spellability/SpellAbilityRestriction.java +++ b/src/main/java/forge/card/spellability/SpellAbilityRestriction.java @@ -23,14 +23,14 @@ import forge.AllZone; import forge.AllZoneUtil; import forge.Card; import forge.CardList; -import forge.PhaseType; import forge.Constant.Zone; -import forge.PhaseHandler; import forge.Player; import forge.PlayerZone; import forge.Singletons; import forge.card.abilityfactory.AbilityFactory; import forge.card.cardfactory.CardFactoryUtil; +import forge.game.phase.PhaseHandler; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/card/spellability/SpellAbilityVariables.java b/src/main/java/forge/card/spellability/SpellAbilityVariables.java index 03cad21b19b..76a13c9d144 100644 --- a/src/main/java/forge/card/spellability/SpellAbilityVariables.java +++ b/src/main/java/forge/card/spellability/SpellAbilityVariables.java @@ -21,7 +21,7 @@ import java.util.ArrayList; import java.util.List; import forge.Constant; -import forge.PhaseType; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/card/spellability/SpellPermanent.java b/src/main/java/forge/card/spellability/SpellPermanent.java index fd3f978d8b2..f8067f066ee 100644 --- a/src/main/java/forge/card/spellability/SpellPermanent.java +++ b/src/main/java/forge/card/spellability/SpellPermanent.java @@ -31,7 +31,6 @@ import forge.ComputerAIGeneral; import forge.ComputerUtil; import forge.Constant; import forge.Constant.Zone; -import forge.PhaseType; import forge.Player; import forge.Singletons; import forge.card.abilityfactory.AbilityFactory; @@ -40,6 +39,7 @@ import forge.card.cost.Cost; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerType; import forge.control.input.Input; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/card/staticability/StaticAbility.java b/src/main/java/forge/card/staticability/StaticAbility.java index 0263b874674..7c5b47c6b73 100644 --- a/src/main/java/forge/card/staticability/StaticAbility.java +++ b/src/main/java/forge/card/staticability/StaticAbility.java @@ -24,13 +24,13 @@ import java.util.Map; import forge.AllZone; import forge.AllZoneUtil; import forge.Card; -import forge.PhaseType; import forge.Constant.Zone; import forge.GameEntity; import forge.Player; import forge.Singletons; import forge.card.abilityfactory.AbilityFactory; import forge.card.spellability.SpellAbility; +import forge.game.phase.PhaseType; /** * The Class StaticAbility. diff --git a/src/main/java/forge/card/staticability/StaticAbilityCantBeCast.java b/src/main/java/forge/card/staticability/StaticAbilityCantBeCast.java index a0fdebef910..441b56680fa 100644 --- a/src/main/java/forge/card/staticability/StaticAbilityCantBeCast.java +++ b/src/main/java/forge/card/staticability/StaticAbilityCantBeCast.java @@ -22,11 +22,11 @@ import java.util.List; import forge.AllZone; import forge.Card; -import forge.PhaseHandler; import forge.Player; import forge.Constant.Zone; import forge.card.spellability.AbilityMana; import forge.card.spellability.SpellAbility; +import forge.game.phase.PhaseHandler; /** * The Class StaticAbility_CantBeCast. diff --git a/src/main/java/forge/card/trigger/Trigger.java b/src/main/java/forge/card/trigger/Trigger.java index 881be72a1d6..4c8b06f8cbb 100644 --- a/src/main/java/forge/card/trigger/Trigger.java +++ b/src/main/java/forge/card/trigger/Trigger.java @@ -26,7 +26,6 @@ import forge.AllZoneUtil; import forge.Card; import forge.CardList; import forge.CardUtil; -import forge.PhaseType; import forge.Constant.Zone; import forge.PlayerZone; import forge.Singletons; @@ -34,6 +33,7 @@ import forge.card.TriggerReplacementBase; import forge.card.abilityfactory.AbilityFactory; import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.SpellAbility; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/card/trigger/TriggerHandler.java b/src/main/java/forge/card/trigger/TriggerHandler.java index 501e6f54224..08d20eac5ac 100644 --- a/src/main/java/forge/card/trigger/TriggerHandler.java +++ b/src/main/java/forge/card/trigger/TriggerHandler.java @@ -29,7 +29,6 @@ import forge.Command; import forge.CommandArgs; import forge.ComputerUtil; import forge.Constant; -import forge.PhaseType; import forge.Constant.Zone; import forge.GameActionUtil; import forge.Player; @@ -44,6 +43,7 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityRestriction; import forge.card.spellability.Target; import forge.control.input.Input; +import forge.game.phase.PhaseType; import forge.util.TextUtil; /** @@ -280,9 +280,9 @@ public class TriggerHandler { return; } - if( 0 == 1 ) { - System.out.println("T:" + mode.toString() + " > " + TextUtil.mapToString(runParams) ); - } +// if( 0 == 1 ) { +// System.out.println("T:" + mode.toString() + " > " + TextUtil.mapToString(runParams) ); +// } // This is done to allow the list of triggers to be modified while // triggers are running. diff --git a/src/main/java/forge/control/ControlMatchUI.java b/src/main/java/forge/control/ControlMatchUI.java index befebceb8ab..3e327acbce1 100644 --- a/src/main/java/forge/control/ControlMatchUI.java +++ b/src/main/java/forge/control/ControlMatchUI.java @@ -26,10 +26,8 @@ import javax.swing.ImageIcon; import forge.AllZone; import forge.Card; -import forge.CardContainer; import forge.CardList; import forge.Constant; -import forge.PhaseType; import forge.Constant.Zone; import forge.GuiMultipleBlockers; import forge.Player; @@ -42,6 +40,8 @@ import forge.control.match.ControlMessage; import forge.control.match.ControlPicture; import forge.control.match.ControlTabber; import forge.game.GameType; +import forge.game.phase.PhaseType; +import forge.gui.CardContainer; import forge.gui.toolbox.FLabel; import forge.gui.toolbox.FSkin; import forge.properties.ForgePreferences.FPref; diff --git a/src/main/java/forge/control/input/InputAttack.java b/src/main/java/forge/control/input/InputAttack.java index 59bfb496f18..2c789678b04 100644 --- a/src/main/java/forge/control/input/InputAttack.java +++ b/src/main/java/forge/control/input/InputAttack.java @@ -21,9 +21,9 @@ import forge.AllZone; import forge.ButtonUtil; import forge.Card; import forge.CardList; -import forge.CombatUtil; import forge.Constant; import forge.Constant.Zone; +import forge.game.phase.CombatUtil; import forge.PlayerZone; import forge.Singletons; diff --git a/src/main/java/forge/control/input/InputBlock.java b/src/main/java/forge/control/input/InputBlock.java index 21574497edd..1eb0727a392 100644 --- a/src/main/java/forge/control/input/InputBlock.java +++ b/src/main/java/forge/control/input/InputBlock.java @@ -22,10 +22,10 @@ import java.util.ArrayList; import forge.AllZone; import forge.ButtonUtil; import forge.Card; -import forge.CombatUtil; import forge.Constant; import forge.PlayerZone; import forge.Singletons; +import forge.game.phase.CombatUtil; /** *

diff --git a/src/main/java/forge/control/input/InputCleanup.java b/src/main/java/forge/control/input/InputCleanup.java index 5813c4ecfaf..10eebe3ed30 100644 --- a/src/main/java/forge/control/input/InputCleanup.java +++ b/src/main/java/forge/control/input/InputCleanup.java @@ -20,9 +20,9 @@ package forge.control.input; import forge.AllZone; import forge.ButtonUtil; import forge.Card; -import forge.CombatUtil; import forge.Constant; import forge.Constant.Zone; +import forge.game.phase.CombatUtil; import forge.PlayerZone; import forge.Singletons; diff --git a/src/main/java/forge/control/input/InputControl.java b/src/main/java/forge/control/input/InputControl.java index d9c8168dc16..54364bd8520 100644 --- a/src/main/java/forge/control/input/InputControl.java +++ b/src/main/java/forge/control/input/InputControl.java @@ -21,11 +21,11 @@ import java.util.LinkedList; import java.util.Stack; import forge.ComputerAIInput; -import forge.PhaseType; import forge.MyObservable; -import forge.PhaseHandler; import forge.Player; import forge.Singletons; +import forge.game.phase.PhaseHandler; +import forge.game.phase.PhaseType; import forge.model.FModel; /** diff --git a/src/main/java/forge/control/input/InputMulligan.java b/src/main/java/forge/control/input/InputMulligan.java index 6d6fc2ecc5d..694cb7adbb4 100644 --- a/src/main/java/forge/control/input/InputMulligan.java +++ b/src/main/java/forge/control/input/InputMulligan.java @@ -29,14 +29,14 @@ import forge.Constant; import forge.Constant.Zone; import forge.GameAction; import forge.GameActionUtil; -import forge.PhaseHandler; -import forge.PhaseUtil; import forge.Player; import forge.PlayerZone; import forge.Singletons; import forge.card.abilityfactory.AbilityFactory; import forge.card.spellability.SpellAbility; import forge.game.GamePlayerRating; +import forge.game.phase.PhaseHandler; +import forge.game.phase.PhaseUtil; import forge.quest.QuestController; import forge.quest.bazaar.QuestItemType; /** diff --git a/src/main/java/forge/control/input/InputPassPriority.java b/src/main/java/forge/control/input/InputPassPriority.java index 562eaf6aa2f..d3a53f3408f 100644 --- a/src/main/java/forge/control/input/InputPassPriority.java +++ b/src/main/java/forge/control/input/InputPassPriority.java @@ -20,11 +20,11 @@ package forge.control.input; import forge.AllZone; import forge.ButtonUtil; import forge.Card; -import forge.PhaseType; import forge.GuiDisplayUtil; import forge.Player; import forge.PlayerZone; import forge.Singletons; +import forge.game.phase.PhaseType; /** *

diff --git a/src/main/java/forge/control/input/InputPayManaCost.java b/src/main/java/forge/control/input/InputPayManaCost.java index 90b2a666979..152a90c8193 100644 --- a/src/main/java/forge/control/input/InputPayManaCost.java +++ b/src/main/java/forge/control/input/InputPayManaCost.java @@ -21,13 +21,13 @@ import forge.AllZone; import forge.ButtonUtil; import forge.Card; import forge.Constant.Zone; -import forge.PhaseHandler; import forge.Player; import forge.PlayerZone; import forge.Singletons; import forge.card.mana.ManaCost; import forge.card.spellability.SpellAbility; import forge.card.trigger.TriggerType; +import forge.game.phase.PhaseHandler; //pays the cost of a card played from the player's hand //the card is removed from the players hand if the cost is paid diff --git a/src/main/java/forge/game/GameNew.java b/src/main/java/forge/game/GameNew.java index 6feec1292ed..b28b58ffab4 100644 --- a/src/main/java/forge/game/GameNew.java +++ b/src/main/java/forge/game/GameNew.java @@ -16,13 +16,13 @@ import forge.CardUtil; import forge.Constant; import forge.Constant.Zone; import forge.GameAction; -import forge.PhaseHandler; import forge.Player; import forge.Singletons; import forge.card.trigger.TriggerType; import forge.control.FControl; import forge.control.input.InputMulligan; import forge.deck.Deck; +import forge.game.phase.PhaseHandler; import forge.gui.toolbox.FLabel; import forge.item.CardPrinted; import forge.properties.ForgePreferences.FPref; diff --git a/src/main/java/forge/game/GameState.java b/src/main/java/forge/game/GameState.java index 1c3375b9988..2832bf983d0 100644 --- a/src/main/java/forge/game/GameState.java +++ b/src/main/java/forge/game/GameState.java @@ -18,22 +18,22 @@ package forge.game; import forge.AIPlayer; -import forge.Combat; import forge.Constant; import forge.DefaultPlayerZone; -import forge.EndOfCombat; -import forge.EndOfTurn; import forge.GameLog; import forge.HumanPlayer; import forge.MagicStack; -import forge.PhaseHandler; import forge.Player; import forge.PlayerZone; import forge.StaticEffects; -import forge.Untap; -import forge.Upkeep; import forge.card.replacement.ReplacementHandler; import forge.card.trigger.TriggerHandler; +import forge.game.phase.Combat; +import forge.game.phase.EndOfCombat; +import forge.game.phase.EndOfTurn; +import forge.game.phase.PhaseHandler; +import forge.game.phase.Untap; +import forge.game.phase.Upkeep; /** * Represents the state of a single game and is diff --git a/src/main/java/forge/Combat.java b/src/main/java/forge/game/phase/Combat.java similarity index 99% rename from src/main/java/forge/Combat.java rename to src/main/java/forge/game/phase/Combat.java index 668cd88560e..e810f5b11f8 100644 --- a/src/main/java/forge/Combat.java +++ b/src/main/java/forge/game/phase/Combat.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; +package forge.game.phase; import java.util.ArrayList; import java.util.Collection; @@ -28,6 +28,15 @@ import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; +import forge.AllZone; +import forge.AllZoneUtil; +import forge.Card; +import forge.CardList; +import forge.CardUtil; +import forge.GameActionUtil; +import forge.GameEntity; +import forge.Player; +import forge.Singletons; import forge.Constant.Zone; import forge.card.trigger.TriggerType; diff --git a/src/main/java/forge/CombatUtil.java b/src/main/java/forge/game/phase/CombatUtil.java similarity index 98% rename from src/main/java/forge/CombatUtil.java rename to src/main/java/forge/game/phase/CombatUtil.java index 3d485c2e686..83dc834ad5a 100644 --- a/src/main/java/forge/CombatUtil.java +++ b/src/main/java/forge/game/phase/CombatUtil.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; +package forge.game.phase; import java.util.ArrayList; import java.util.HashMap; @@ -25,7 +25,23 @@ import java.util.regex.Pattern; import com.esotericsoftware.minlog.Log; -import forge.PhaseType; +import forge.AllZone; +import forge.AllZoneUtil; +import forge.Card; +import forge.CardList; +import forge.CardListFilter; +import forge.Command; +import forge.ComputerUtil; +import forge.Constant; +import forge.Counters; +import forge.GameAction; +import forge.GameActionUtil; +import forge.GameEntity; +import forge.Player; +import forge.PlayerUtil; +import forge.PlayerZone; +import forge.Singletons; +import forge.Constant.Color; import forge.Constant.Zone; import forge.card.TriggerReplacementBase; import forge.card.abilityfactory.AbilityFactory; @@ -57,7 +73,7 @@ public class CombatUtil { * @param blocker * a {@link forge.Card} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public static boolean canBlock(final Card blocker, final Combat combat) { @@ -134,7 +150,7 @@ public class CombatUtil { * @param attacker * a {@link forge.Card} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public static boolean canBeBlocked(final Card attacker, final Combat combat) { @@ -388,7 +404,7 @@ public class CombatUtil { *

* * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public static boolean finishedMandatoryBlocks(final Combat combat) { @@ -444,7 +460,7 @@ public class CombatUtil { * @param blocker * a {@link forge.Card} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public static boolean mustBlockAnAttacker(final Card blocker, final Combat combat) { @@ -515,7 +531,7 @@ public class CombatUtil { * @param blocker * a {@link forge.Card} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public static boolean canBlock(final Card attacker, final Card blocker, final Combat combat) { @@ -708,7 +724,7 @@ public class CombatUtil { * @param c * a {@link forge.Card} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public static boolean canAttack(final Card c, final Combat combat) { @@ -960,7 +976,7 @@ public class CombatUtil { * @param attacked * a {@link forge.Player} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a int. */ public static int damageIfUnblocked(final Card attacker, final Player attacked, final Combat combat) { @@ -987,7 +1003,7 @@ public class CombatUtil { * @param attacked * a {@link forge.Player} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a int. */ public static int poisonIfUnblocked(final Card attacker, final Player attacked, final Combat combat) { @@ -1053,7 +1069,7 @@ public class CombatUtil { *

* * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a int. */ public static int lifeThatWouldRemain(final Combat combat) { @@ -1095,7 +1111,7 @@ public class CombatUtil { *

* * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a int. */ public static int resultingPoison(final Combat combat) { @@ -1136,7 +1152,7 @@ public class CombatUtil { *

* * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public static boolean lifeInDanger(final Combat combat) { @@ -1175,7 +1191,7 @@ public class CombatUtil { *

* * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public static boolean wouldLoseLife(final Combat combat) { @@ -1190,7 +1206,7 @@ public class CombatUtil { *

* * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public static boolean lifeInSeriousDanger(final Combat combat) { @@ -1417,7 +1433,7 @@ public class CombatUtil { * @param trigger * a {@link forge.card.trigger.Trigger} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a boolean. */ public static boolean combatTriggerWillTrigger(final Card attacker, final Card defender, final Trigger trigger, @@ -1710,7 +1726,7 @@ public class CombatUtil { * @param defender * a {@link forge.Card} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a int. */ public static int predictPowerBonusOfAttacker(final Card attacker, final Card defender, final Combat combat) { @@ -1837,7 +1853,7 @@ public class CombatUtil { * @param defender * a {@link forge.Card} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @return a int. */ public static int predictToughnessBonusOfAttacker(final Card attacker, final Card defender, final Combat combat) { @@ -2077,7 +2093,7 @@ public class CombatUtil { * @param defender * a {@link forge.Card} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @param withoutAbilities * a boolean. * @return a boolean. @@ -2219,7 +2235,7 @@ public class CombatUtil { * @param attacker * a {@link forge.Card} object. * @param combat - * a {@link forge.Combat} object. + * a {@link forge.game.phase.Combat} object. * @param withoutAbilities * a boolean. * @return a boolean. diff --git a/src/main/java/forge/EndOfCombat.java b/src/main/java/forge/game/phase/EndOfCombat.java similarity index 97% rename from src/main/java/forge/EndOfCombat.java rename to src/main/java/forge/game/phase/EndOfCombat.java index c5fe664782e..a3ca8c707a1 100644 --- a/src/main/java/forge/EndOfCombat.java +++ b/src/main/java/forge/game/phase/EndOfCombat.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; +package forge.game.phase; /** *

diff --git a/src/main/java/forge/EndOfTurn.java b/src/main/java/forge/game/phase/EndOfTurn.java similarity index 98% rename from src/main/java/forge/EndOfTurn.java rename to src/main/java/forge/game/phase/EndOfTurn.java index 3d15150cf0b..944e16af958 100644 --- a/src/main/java/forge/EndOfTurn.java +++ b/src/main/java/forge/game/phase/EndOfTurn.java @@ -15,8 +15,17 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge; +package forge.game.phase; +import forge.AllZone; +import forge.AllZoneUtil; +import forge.Card; +import forge.CardList; +import forge.CardListFilter; +import forge.CardListUtil; +import forge.Counters; +import forge.Player; +import forge.Singletons; import forge.Constant.Zone; import forge.card.spellability.Ability; import forge.card.spellability.SpellAbility; diff --git a/src/main/java/forge/Phase.java b/src/main/java/forge/game/phase/Phase.java similarity index 96% rename from src/main/java/forge/Phase.java rename to src/main/java/forge/game/phase/Phase.java index ada5e57c976..a27841652eb 100644 --- a/src/main/java/forge/Phase.java +++ b/src/main/java/forge/game/phase/Phase.java @@ -15,10 +15,15 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge; +package forge.game.phase; import java.util.HashMap; +import forge.Command; +import forge.CommandList; +import forge.Player; +import forge.Singletons; + /** *

diff --git a/src/main/java/forge/PhaseHandler.java b/src/main/java/forge/game/phase/PhaseHandler.java similarity index 98% rename from src/main/java/forge/PhaseHandler.java rename to src/main/java/forge/game/phase/PhaseHandler.java index d95a1154ede..7b37c577f23 100644 --- a/src/main/java/forge/PhaseHandler.java +++ b/src/main/java/forge/game/phase/PhaseHandler.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; +package forge.game.phase; import java.util.HashMap; import java.util.Observer; @@ -23,6 +23,15 @@ import java.util.Stack; import com.esotericsoftware.minlog.Log; +import forge.AllZone; +import forge.AllZoneUtil; +import forge.Card; +import forge.CardList; +import forge.CardListFilter; +import forge.GameActionUtil; +import forge.MyObservable; +import forge.Player; +import forge.Singletons; import forge.Constant.Zone; import forge.card.trigger.TriggerType; import forge.properties.ForgePreferences.FPref; @@ -938,7 +947,7 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { *

* * @param phase - * a {@link java.lang.PhaseType} object. + * a {@link java.forge.game.phase.PhaseType} object. */ public final void setDevPhaseState(final PhaseType phase) { this.phaseIndex = phase.Index; diff --git a/src/main/java/forge/PhaseType.java b/src/main/java/forge/game/phase/PhaseType.java similarity index 96% rename from src/main/java/forge/PhaseType.java rename to src/main/java/forge/game/phase/PhaseType.java index ce40cbe411d..233cbd23a98 100644 --- a/src/main/java/forge/PhaseType.java +++ b/src/main/java/forge/game/phase/PhaseType.java @@ -1,4 +1,4 @@ -package forge; +package forge.game.phase; import java.security.InvalidParameterException; import java.util.ArrayList; diff --git a/src/main/java/forge/PhaseUtil.java b/src/main/java/forge/game/phase/PhaseUtil.java similarity index 98% rename from src/main/java/forge/PhaseUtil.java rename to src/main/java/forge/game/phase/PhaseUtil.java index 526ab85ee7b..457deab8dc4 100644 --- a/src/main/java/forge/PhaseUtil.java +++ b/src/main/java/forge/game/phase/PhaseUtil.java @@ -15,14 +15,21 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge; +package forge.game.phase; import java.util.HashMap; -import forge.PhaseType; +import forge.AllZone; +import forge.AllZoneUtil; +import forge.Card; +import forge.CardList; +import forge.CardListFilter; +import forge.Player; +import forge.Singletons; import forge.Constant.Zone; import forge.card.trigger.TriggerType; import forge.control.ControlMatchUI; +import forge.game.phase.PhaseType; import forge.view.match.ViewField.PhaseLabel; /** diff --git a/src/main/java/forge/Untap.java b/src/main/java/forge/game/phase/Untap.java similarity index 97% rename from src/main/java/forge/Untap.java rename to src/main/java/forge/game/phase/Untap.java index 4efcf084bf2..abbab3e2332 100644 --- a/src/main/java/forge/Untap.java +++ b/src/main/java/forge/game/phase/Untap.java @@ -15,10 +15,23 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge; +package forge.game.phase; import java.util.ArrayList; +import forge.AllZone; +import forge.AllZoneUtil; +import forge.ButtonUtil; +import forge.Card; +import forge.CardList; +import forge.CardListFilter; +import forge.Constant; +import forge.Counters; +import forge.GameActionUtil; +import forge.GameEntity; +import forge.Player; +import forge.PlayerZone; +import forge.Singletons; import forge.Constant.Zone; import forge.card.cardfactory.CardFactoryUtil; import forge.control.input.Input; diff --git a/src/main/java/forge/Upkeep.java b/src/main/java/forge/game/phase/Upkeep.java similarity index 99% rename from src/main/java/forge/Upkeep.java rename to src/main/java/forge/game/phase/Upkeep.java index 06f178ade52..e5212b39fca 100644 --- a/src/main/java/forge/Upkeep.java +++ b/src/main/java/forge/game/phase/Upkeep.java @@ -15,10 +15,28 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ -package forge; +package forge.game.phase; import java.util.ArrayList; +import forge.AllZone; +import forge.AllZoneUtil; +import forge.ButtonUtil; +import forge.Card; +import forge.CardCharactersticName; +import forge.CardList; +import forge.CardListFilter; +import forge.CardListUtil; +import forge.Command; +import forge.ComputerUtil; +import forge.Constant; +import forge.Counters; +import forge.GameAction; +import forge.GameActionUtil; +import forge.Player; +import forge.PlayerUtil; +import forge.PlayerZone; +import forge.Singletons; import forge.Constant.Zone; import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.Ability; diff --git a/src/main/java/forge/CardContainer.java b/src/main/java/forge/gui/CardContainer.java similarity index 96% rename from src/main/java/forge/CardContainer.java rename to src/main/java/forge/gui/CardContainer.java index 5be3d077e1a..e9194dbca05 100644 --- a/src/main/java/forge/CardContainer.java +++ b/src/main/java/forge/gui/CardContainer.java @@ -16,7 +16,9 @@ * along with this program. If not, see . */ -package forge; +package forge.gui; + +import forge.Card; /** * The class CardContainer. A card container is an object that references a diff --git a/src/main/java/forge/gui/game/CardDetailPanel.java b/src/main/java/forge/gui/game/CardDetailPanel.java index 07b89b36683..e6bd377122a 100644 --- a/src/main/java/forge/gui/game/CardDetailPanel.java +++ b/src/main/java/forge/gui/game/CardDetailPanel.java @@ -35,9 +35,9 @@ import javax.swing.border.EtchedBorder; import forge.AllZone; import forge.Card; -import forge.CardContainer; import forge.Constant; import forge.Constant.Zone; +import forge.gui.CardContainer; import forge.Counters; import forge.GameEntity; import forge.GuiDisplayUtil; diff --git a/src/main/java/forge/gui/game/CardPanel.java b/src/main/java/forge/gui/game/CardPanel.java index a4613f566f8..be29fbce3ef 100644 --- a/src/main/java/forge/gui/game/CardPanel.java +++ b/src/main/java/forge/gui/game/CardPanel.java @@ -26,9 +26,9 @@ import javax.swing.JLabel; import javax.swing.JPanel; import forge.Card; -import forge.CardContainer; import forge.GuiDisplayUtil; import forge.ImageCache; +import forge.gui.CardContainer; /** * The class CardPanel. A card panel stores a card to display it on the diff --git a/src/main/java/forge/gui/game/CardPicturePanel.java b/src/main/java/forge/gui/game/CardPicturePanel.java index c942a7d3806..2990767d91b 100644 --- a/src/main/java/forge/gui/game/CardPicturePanel.java +++ b/src/main/java/forge/gui/game/CardPicturePanel.java @@ -30,8 +30,8 @@ import arcane.ui.ScaledImagePanel; import arcane.ui.ScaledImagePanel.MultipassType; import arcane.ui.ScaledImagePanel.ScalingType; import forge.Card; -import forge.CardContainer; import forge.ImageCache; +import forge.gui.CardContainer; import forge.item.CardPrinted; import forge.item.InventoryItem; diff --git a/src/main/java/forge/view/match/ViewWinLose.java b/src/main/java/forge/view/match/ViewWinLose.java index d59d13e41da..957fbedac7d 100644 --- a/src/main/java/forge/view/match/ViewWinLose.java +++ b/src/main/java/forge/view/match/ViewWinLose.java @@ -12,11 +12,11 @@ import javax.swing.SwingConstants; import net.miginfocom.swing.MigLayout; import forge.AllZone; import forge.Constant; -import forge.PhaseHandler; import forge.Player; import forge.Singletons; import forge.control.match.ControlWinLose; import forge.game.GameType; +import forge.game.phase.PhaseHandler; import forge.gui.OverlayUtils; import forge.gui.toolbox.FButton; import forge.gui.toolbox.FLabel; diff --git a/src/test/java/forge/RunTest.java b/src/test/java/forge/RunTest.java index c8483615a74..c413690a7ec 100644 --- a/src/test/java/forge/RunTest.java +++ b/src/test/java/forge/RunTest.java @@ -10,6 +10,7 @@ import org.testng.annotations.Test; import forge.card.cardfactory.CardFactoryInterface; import forge.card.mana.ManaCost; import forge.control.input.InputPayManaCostUtil; +import forge.game.phase.CombatUtil; /** *