diff --git a/.gitattributes b/.gitattributes index 07f53160a70..388f2e35b5b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -13440,8 +13440,6 @@ src/main/java/forge/Command.java svneol=native#text/plain src/main/java/forge/CommandList.java svneol=native#text/plain src/main/java/forge/Constant.java svneol=native#text/plain src/main/java/forge/CounterType.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 src/main/java/forge/GameEntity.java -text src/main/java/forge/GameLog.java -text src/main/java/forge/ImageCache.java svneol=native#text/plain @@ -13859,6 +13857,8 @@ src/main/java/forge/error/BugzReporter.java svneol=native#text/plain src/main/java/forge/error/ErrorViewer.java svneol=native#text/plain src/main/java/forge/error/ExceptionHandler.java svneol=native#text/plain src/main/java/forge/error/package-info.java svneol=native#text/plain +src/main/java/forge/game/GameAction.java svneol=native#text/plain +src/main/java/forge/game/GameActionUtil.java svneol=native#text/plain src/main/java/forge/game/GameEndReason.java -text src/main/java/forge/game/GameFormat.java -text src/main/java/forge/game/GameLossReason.java -text diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index e1b54f1ab9b..e55b90a5083 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -55,6 +55,7 @@ import forge.card.staticability.StaticAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerType; import forge.card.trigger.ZCTrigger; +import forge.game.GameActionUtil; import forge.game.GlobalRuleChange; import forge.game.event.CounterAddedEvent; import forge.game.event.CardEquippedEvent; diff --git a/src/main/java/forge/card/abilityfactory/AbilityFactory.java b/src/main/java/forge/card/abilityfactory/AbilityFactory.java index ebd1ce8fba3..56b0374951b 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.CardUtil; import forge.Command; import forge.Constant; import forge.CounterType; -import forge.GameActionUtil; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; import forge.card.cost.Cost; @@ -41,6 +40,7 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityCondition; import forge.card.spellability.SpellAbilityRestriction; import forge.card.spellability.Target; +import forge.game.GameActionUtil; import forge.game.GameState; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCost; diff --git a/src/main/java/forge/card/abilityfactory/effects/ManaEffect.java b/src/main/java/forge/card/abilityfactory/effects/ManaEffect.java index ab40e63101e..e0a317c26f4 100644 --- a/src/main/java/forge/card/abilityfactory/effects/ManaEffect.java +++ b/src/main/java/forge/card/abilityfactory/effects/ManaEffect.java @@ -5,7 +5,6 @@ import java.util.List; import forge.Card; import forge.Constant; import forge.CounterType; -import forge.GameActionUtil; import forge.Singletons; import forge.card.abilityfactory.AbilityFactory; import forge.card.abilityfactory.SpellEffect; @@ -14,6 +13,7 @@ import forge.card.spellability.AbilityManaPart; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.control.input.InputPayManaCostUtil; +import forge.game.GameActionUtil; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.gui.GuiChoose; diff --git a/src/main/java/forge/control/input/InputMulligan.java b/src/main/java/forge/control/input/InputMulligan.java index a6f8c07a4a0..2e089ab0181 100644 --- a/src/main/java/forge/control/input/InputMulligan.java +++ b/src/main/java/forge/control/input/InputMulligan.java @@ -26,10 +26,10 @@ import forge.Card; import forge.CardLists; import forge.CardPredicates; -import forge.GameAction; import forge.Singletons; import forge.card.abilityfactory.AbilityFactory; import forge.card.spellability.SpellAbility; +import forge.game.GameAction; import forge.game.GameState; import forge.game.GameType; import forge.game.ai.ComputerUtil; diff --git a/src/main/java/forge/GameAction.java b/src/main/java/forge/game/GameAction.java similarity index 99% rename from src/main/java/forge/GameAction.java rename to src/main/java/forge/game/GameAction.java index e3b63e7b515..09484efbf33 100644 --- a/src/main/java/forge/GameAction.java +++ b/src/main/java/forge/game/GameAction.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; import java.util.ArrayList; import java.util.Collections; @@ -29,6 +29,15 @@ import com.google.common.base.Predicates; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import forge.Card; +import forge.CardCharacteristicName; +import forge.CardLists; +import forge.CardPredicates; +import forge.CardUtil; +import forge.Command; +import forge.CounterType; +import forge.GameEntity; +import forge.Singletons; import forge.card.CardType; import forge.card.SpellManaCost; import forge.card.abilityfactory.AbilityFactory; @@ -55,11 +64,6 @@ import forge.card.trigger.Trigger; import forge.card.trigger.TriggerType; import forge.control.input.InputPayManaCost; import forge.control.input.InputPayManaCostUtil; -import forge.game.GameEndReason; -import forge.game.GameLossReason; -import forge.game.GameState; -import forge.game.GlobalRuleChange; -import forge.game.MatchController; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCost; import forge.game.event.CardDestroyedEvent; @@ -195,7 +199,7 @@ public class GameAction { ReplacementResult repres = game.getReplacementHandler().run(repParams); if (repres != ReplacementResult.NotReplaced) { if (game.getStack().isResolving(c) && !zoneTo.is(ZoneType.Graveyard) && repres == ReplacementResult.Prevented) { - return Singletons.getModel().getGame().getAction().moveToGraveyard(c); + return GameAction.this.moveToGraveyard(c); } return c; } diff --git a/src/main/java/forge/GameActionUtil.java b/src/main/java/forge/game/GameActionUtil.java similarity index 99% rename from src/main/java/forge/GameActionUtil.java rename to src/main/java/forge/game/GameActionUtil.java index 1a3b592833e..96b56b8aa74 100644 --- a/src/main/java/forge/GameActionUtil.java +++ b/src/main/java/forge/game/GameActionUtil.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; import java.util.ArrayList; import java.util.HashMap; @@ -25,6 +25,14 @@ import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists; +import forge.Card; +import forge.CardLists; +import forge.CardPredicates; +import forge.CardUtil; +import forge.Command; +import forge.Constant; +import forge.CounterType; +import forge.Singletons; import forge.CardPredicates.Presets; import forge.card.SpellManaCost; import forge.card.abilityfactory.AbilityFactory; @@ -51,7 +59,6 @@ import forge.control.input.Input; import forge.control.input.InputPayDiscardCost; import forge.control.input.InputPayManaCostAbility; import forge.control.input.InputPayReturnCost; -import forge.game.GameState; import forge.game.ai.ComputerUtil; import forge.game.event.CardDamagedEvent; import forge.game.event.LifeLossEvent; diff --git a/src/main/java/forge/game/GameNew.java b/src/main/java/forge/game/GameNew.java index c6d470a4693..d7b0187f23a 100644 --- a/src/main/java/forge/game/GameNew.java +++ b/src/main/java/forge/game/GameNew.java @@ -22,7 +22,6 @@ import forge.Card; import forge.CardLists; import forge.CardPredicates; import forge.CardUtil; -import forge.GameAction; import forge.Singletons; import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerType; diff --git a/src/main/java/forge/game/GameState.java b/src/main/java/forge/game/GameState.java index f8ae8c2acd5..a126cabb9b0 100644 --- a/src/main/java/forge/game/GameState.java +++ b/src/main/java/forge/game/GameState.java @@ -29,8 +29,6 @@ import forge.Card; import forge.CardLists; import forge.CardPredicates.Presets; import forge.ColorChanger; -import forge.GameAction; -import forge.GameActionUtil; import forge.GameLog; import forge.Singletons; import forge.StaticEffects; diff --git a/src/main/java/forge/game/ai/AiController.java b/src/main/java/forge/game/ai/AiController.java index 92659d9bf26..2604bf401c7 100644 --- a/src/main/java/forge/game/ai/AiController.java +++ b/src/main/java/forge/game/ai/AiController.java @@ -31,7 +31,6 @@ import forge.CardLists; import forge.CardPredicates; import forge.CardPredicates.Presets; import forge.Constant; -import forge.GameActionUtil; import forge.Singletons; import forge.card.abilityfactory.ApiType; @@ -40,6 +39,7 @@ import forge.card.cost.CostDiscard; import forge.card.cost.CostPart; import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellPermanent; +import forge.game.GameActionUtil; import forge.game.GameState; import forge.game.player.AIPlayer; import forge.game.player.Player; diff --git a/src/main/java/forge/game/ai/ComputerUtilMana.java b/src/main/java/forge/game/ai/ComputerUtilMana.java index cb2bd932c08..5a1124a1442 100644 --- a/src/main/java/forge/game/ai/ComputerUtilMana.java +++ b/src/main/java/forge/game/ai/ComputerUtilMana.java @@ -10,7 +10,6 @@ import com.google.common.base.Predicate; import forge.Card; import forge.CardLists; -import forge.GameActionUtil; import forge.Singletons; import forge.card.SpellManaCost; import forge.card.abilityfactory.AbilityFactory; @@ -23,6 +22,7 @@ import forge.card.mana.ManaPool; import forge.card.spellability.AbilityManaPart; import forge.card.spellability.SpellAbility; import forge.control.input.InputPayManaCostUtil; +import forge.game.GameActionUtil; import forge.game.GameState; import forge.game.player.AIPlayer; import forge.game.player.Player; diff --git a/src/main/java/forge/game/phase/CombatUtil.java b/src/main/java/forge/game/phase/CombatUtil.java index 9c4bb190c82..51b0525d683 100644 --- a/src/main/java/forge/game/phase/CombatUtil.java +++ b/src/main/java/forge/game/phase/CombatUtil.java @@ -34,7 +34,6 @@ import forge.CardLists; import forge.CardPredicates; import forge.Command; import forge.Constant; -import forge.GameActionUtil; import forge.GameEntity; import forge.Singletons; import forge.card.SpellManaCost; @@ -46,6 +45,7 @@ import forge.card.spellability.Ability; import forge.card.spellability.AbilityStatic; import forge.card.staticability.StaticAbility; import forge.card.trigger.TriggerType; +import forge.game.GameActionUtil; import forge.game.GameState; import forge.game.GlobalRuleChange; import forge.game.ai.ComputerUtil; diff --git a/src/main/java/forge/game/phase/Upkeep.java b/src/main/java/forge/game/phase/Upkeep.java index cfee534d83f..880987e26c6 100644 --- a/src/main/java/forge/game/phase/Upkeep.java +++ b/src/main/java/forge/game/phase/Upkeep.java @@ -32,7 +32,6 @@ import forge.CardPredicates; import forge.CardPredicates.Presets; import forge.Command; import forge.CounterType; -import forge.GameActionUtil; import forge.Singletons; import forge.card.SpellManaCost; import forge.card.cardfactory.CardFactoryUtil; @@ -44,6 +43,7 @@ import forge.card.spellability.AbilityStatic; import forge.card.spellability.SpellAbility; import forge.control.input.Input; import forge.control.input.InputSelectManyCards; +import forge.game.GameActionUtil; import forge.game.GameState; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCost; diff --git a/src/main/java/forge/game/player/Player.java b/src/main/java/forge/game/player/Player.java index 5ef798d5de8..1a8f2b3dd46 100644 --- a/src/main/java/forge/game/player/Player.java +++ b/src/main/java/forge/game/player/Player.java @@ -41,7 +41,6 @@ import forge.CardPredicates.Presets; import forge.CardUtil; import forge.Constant.Preferences; import forge.CounterType; -import forge.GameActionUtil; import forge.GameEntity; import forge.Singletons; import forge.card.cardfactory.CardFactoryUtil; @@ -52,6 +51,7 @@ import forge.card.spellability.Ability; import forge.card.spellability.SpellAbility; import forge.card.staticability.StaticAbility; import forge.card.trigger.TriggerType; +import forge.game.GameActionUtil; import forge.game.GameLossReason; import forge.game.GameState; import forge.game.GlobalRuleChange; diff --git a/src/main/java/forge/game/zone/MagicStack.java b/src/main/java/forge/game/zone/MagicStack.java index 923bbb2970e..43378200cc6 100644 --- a/src/main/java/forge/game/zone/MagicStack.java +++ b/src/main/java/forge/game/zone/MagicStack.java @@ -31,7 +31,6 @@ import forge.CardLists; import forge.CardPredicates; import forge.CardPredicates.Presets; import forge.Command; -import forge.GameActionUtil; import forge.Singletons; import forge.card.SpellManaCost; import forge.card.abilityfactory.AbilityFactory; @@ -51,6 +50,7 @@ import forge.card.trigger.Trigger; import forge.card.trigger.TriggerType; import forge.control.input.Input; import forge.control.input.InputPayManaCostAbility; +import forge.game.GameActionUtil; import forge.game.GameState; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCost; diff --git a/src/main/java/forge/game/zone/PlayerZoneBattlefield.java b/src/main/java/forge/game/zone/PlayerZoneBattlefield.java index dbd000188ab..784ba6e6fed 100644 --- a/src/main/java/forge/game/zone/PlayerZoneBattlefield.java +++ b/src/main/java/forge/game/zone/PlayerZoneBattlefield.java @@ -30,12 +30,12 @@ import forge.CardLists; import forge.CardPredicates; import forge.CardPredicates.Presets; import forge.Command; -import forge.GameActionUtil; import forge.Singletons; import forge.card.SpellManaCost; import forge.card.spellability.Ability; import forge.card.spellability.SpellAbility; import forge.card.staticability.StaticAbility; +import forge.game.GameActionUtil; import forge.game.player.Player; /**