diff --git a/.gitattributes b/.gitattributes index d094fd1848d..9f6c37b61ba 100644 --- a/.gitattributes +++ b/.gitattributes @@ -14216,6 +14216,7 @@ src/main/java/forge/deck/io/package-info.java svneol=native#text/plain src/main/java/forge/deck/package-info.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/Game.java -text 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/GameAge.java -text @@ -14223,10 +14224,9 @@ src/main/java/forge/game/GameEndReason.java -text src/main/java/forge/game/GameFormat.java -text src/main/java/forge/game/GameNew.java -text src/main/java/forge/game/GameOutcome.java -text -src/main/java/forge/game/GameState.java -text src/main/java/forge/game/GameType.java -text src/main/java/forge/game/GlobalRuleChange.java -text -src/main/java/forge/game/MatchState.java -text +src/main/java/forge/game/Match.java -text src/main/java/forge/game/PlanarDice.java -text src/main/java/forge/game/RegisteredPlayer.java -text src/main/java/forge/game/ai/AiAttackController.java svneol=native#text/plain diff --git a/src/main/java/forge/Card.java b/src/main/java/forge/Card.java index 4743c55297a..a40c170e21a 100644 --- a/src/main/java/forge/Card.java +++ b/src/main/java/forge/Card.java @@ -62,7 +62,7 @@ import forge.card.staticability.StaticAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerType; import forge.card.trigger.ZCTrigger; -import forge.game.GameState; +import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.event.GameEventCardDamaged; import forge.game.event.GameEventCardEquipped; @@ -7360,7 +7360,7 @@ public class Card extends GameEntity implements Comparable { additionalLog = String.format("(Removing %d Loyalty Counters)", damageToAdd); } else { - final GameState game = source.getGame(); + final Game game = source.getGame(); final String s = this + " - destroy"; @@ -8111,7 +8111,7 @@ public class Card extends GameEntity implements Comparable { if (getController() == viewer && isInZone(ZoneType.Battlefield)) { return true; } - final GameState game = this.getGame(); + final Game game = this.getGame(); if (getController() == viewer && hasKeyword("You may look at this card.")) { return true; } @@ -8244,7 +8244,7 @@ public class Card extends GameEntity implements Comparable { * Fetch GameState for this card from references to players who may own or control this card. */ @Override - public GameState getGame() { + public Game getGame() { Player controller = getController(); if (null != controller) diff --git a/src/main/java/forge/CardUtil.java b/src/main/java/forge/CardUtil.java index 00c47617f02..0392f6aee06 100644 --- a/src/main/java/forge/CardUtil.java +++ b/src/main/java/forge/CardUtil.java @@ -30,7 +30,7 @@ import forge.card.ability.ApiType; import forge.card.spellability.AbilityManaPart; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.properties.NewConstants; @@ -71,7 +71,7 @@ public final class CardUtil { */ public static List getThisTurnEntered(final ZoneType to, final ZoneType from, final String valid, final Card src) { List res = new ArrayList(); - final GameState game = src.getGame(); + final Game game = src.getGame(); if (to != ZoneType.Stack) { for (Player p : game.getPlayers()) { res.addAll(p.getZone(to).getCardsAddedThisTurn(from)); @@ -87,7 +87,7 @@ public final class CardUtil { public static List getThisTurnCast(final String valid, final Card src) { List res = new ArrayList(); - final GameState game = src.getGame(); + final Game game = src.getGame(); res.addAll(game.getStack().getCardsCastThisTurn()); res = CardLists.getValidCards(res, valid, src.getController(), src); @@ -97,7 +97,7 @@ public final class CardUtil { public static List getLastTurnCast(final String valid, final Card src) { List res = new ArrayList(); - final GameState game = src.getGame(); + final Game game = src.getGame(); res.addAll(game.getStack().getCardsCastLastTurn()); res = CardLists.getValidCards(res, valid, src.getController(), src); @@ -162,7 +162,7 @@ public final class CardUtil { public static List getRadiance(final Card source, final Card origin, final String[] valid) { final List res = new ArrayList(); - final GameState game = source.getGame(); + final Game game = source.getGame(); ColorSet cs = CardUtil.getColors(origin); for (byte color : MagicColor.WUBRG) { if(!cs.hasAnyColor(color)) @@ -233,7 +233,7 @@ public final class CardUtil { if (validCard.startsWith("Defined.")) { cards = AbilityUtils.getDefinedCards(card, validCard.replace("Defined.", ""), abMana); } else { - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); cards = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), validCard, abMana.getActivatingPlayer(), card); } diff --git a/src/main/java/forge/GameEntity.java b/src/main/java/forge/GameEntity.java index 5fcf99c4972..0906cc13a13 100644 --- a/src/main/java/forge/GameEntity.java +++ b/src/main/java/forge/GameEntity.java @@ -20,7 +20,7 @@ package forge; import java.util.ArrayList; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.util.MyObservable; @@ -426,5 +426,5 @@ public abstract class GameEntity extends MyObservable { return this.name; } - public abstract GameState getGame(); + public abstract Game getGame(); } diff --git a/src/main/java/forge/StaticEffects.java b/src/main/java/forge/StaticEffects.java index 97717562583..e9304681405 100644 --- a/src/main/java/forge/StaticEffects.java +++ b/src/main/java/forge/StaticEffects.java @@ -28,7 +28,7 @@ import com.esotericsoftware.minlog.Log; import forge.card.TriggerReplacementBase; import forge.card.spellability.SpellAbility; import forge.card.staticability.StaticAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -370,7 +370,7 @@ public class StaticEffects { *

* @param game */ - public final void rePopulateStateBasedList(GameState game) { + public final void rePopulateStateBasedList(Game game) { this.reset(); final List cards = game.getCardsIn(ZoneType.Battlefield); diff --git a/src/main/java/forge/card/TriggerReplacementBase.java b/src/main/java/forge/card/TriggerReplacementBase.java index 796cd757e39..d689e90e4b5 100644 --- a/src/main/java/forge/card/TriggerReplacementBase.java +++ b/src/main/java/forge/card/TriggerReplacementBase.java @@ -12,7 +12,7 @@ import forge.GameEntity; import forge.card.ability.AbilityUtils; import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.Zone; import forge.game.zone.ZoneType; @@ -156,7 +156,7 @@ public abstract class TriggerReplacementBase { protected boolean meetsCommonRequirements(Map params) { final Player hostController = this.getHostCard().getController(); - final GameState game = hostController.getGame(); + final Game game = hostController.getGame(); if ("True".equalsIgnoreCase(params.get("Metalcraft")) && !hostController.hasMetalcraft()) return false; if ("True".equalsIgnoreCase(params.get("Threshold")) && !hostController.hasThreshold()) return false; diff --git a/src/main/java/forge/card/ability/AbilityUtils.java b/src/main/java/forge/card/ability/AbilityUtils.java index 46e53b8a8ec..4f9e123f518 100644 --- a/src/main/java/forge/card/ability/AbilityUtils.java +++ b/src/main/java/forge/card/ability/AbilityUtils.java @@ -21,7 +21,7 @@ import forge.card.spellability.Ability; import forge.card.spellability.AbilityStatic; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCost; import forge.game.player.HumanPlay; @@ -79,7 +79,7 @@ public class AbilityUtils { public static List getDefinedCards(final Card hostCard, final String def, final SpellAbility sa) { final List cards = new ArrayList(); final String defined = (def == null) ? "Self" : def; // default to Self - final GameState game = hostCard.getGame(); + final Game game = hostCard.getGame(); Card c = null; @@ -287,7 +287,7 @@ public class AbilityUtils { public static int calculateAmount(final Card card, String amount, final SpellAbility ability) { // return empty strings and constants if (StringUtils.isBlank(amount)) { return 0; } - final GameState game = card.getController().getGame(); + final Game game = card.getController().getGame(); // Strip and save sign for calculations final boolean startsWithPlus = amount.charAt(0) == '+'; @@ -696,7 +696,7 @@ public class AbilityUtils { public static List getDefinedPlayers(final Card card, final String def, final SpellAbility sa) { final List players = new ArrayList(); final String defined = (def == null) ? "You" : def; - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); if (defined.equals("Targeted")) { final SpellAbility saTargeting = sa.getSATargetingPlayer(); @@ -943,7 +943,7 @@ public class AbilityUtils { final SpellAbility sa) { final ArrayList sas = new ArrayList(); final String defined = (def == null) ? "Self" : def; // default to Self - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); SpellAbility s = null; @@ -1034,7 +1034,7 @@ public class AbilityUtils { AbilityUtils.resolveApiAbility(sa, usedStack, sa.getActivatingPlayer().getGame()); } - private static void resolveSubAbilities(final SpellAbility sa, boolean usedStack, final GameState game) { + private static void resolveSubAbilities(final SpellAbility sa, boolean usedStack, final Game game) { final AbilitySub abSub = sa.getSubAbility(); if (abSub == null || sa.isWrapper()) { // every resolving spellAbility will end here @@ -1050,7 +1050,7 @@ public class AbilityUtils { AbilityUtils.resolveApiAbility(abSub, usedStack, game); } - private static void resolveApiAbility(final SpellAbility sa, boolean usedStack, final GameState game) { + private static void resolveApiAbility(final SpellAbility sa, boolean usedStack, final Game game) { // check conditions if (sa.getConditions().areMet(sa)) { if (sa.isWrapper() || StringUtils.isBlank(sa.getParam("UnlessCost"))) { @@ -1063,7 +1063,7 @@ public class AbilityUtils { resolveSubAbilities(sa, usedStack, game); } - private static void handleUnlessCost(final SpellAbility sa, final boolean usedStack, final GameState game) { + private static void handleUnlessCost(final SpellAbility sa, final boolean usedStack, final Game game) { final Card source = sa.getSourceCard(); String unlessCost = sa.getParam("UnlessCost"); unlessCost = unlessCost.trim(); diff --git a/src/main/java/forge/card/ability/ai/AnimateAi.java b/src/main/java/forge/card/ability/ai/AnimateAi.java index cda187acf77..58e332b7612 100644 --- a/src/main/java/forge/card/ability/ai/AnimateAi.java +++ b/src/main/java/forge/card/ability/ai/AnimateAi.java @@ -10,7 +10,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -33,7 +33,7 @@ public class AnimateAi extends SpellAbilityAi { protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { final Target tgt = sa.getTarget(); final Card source = sa.getSourceCard(); - final GameState game = aiPlayer.getGame(); + final Game game = aiPlayer.getGame(); // TODO - add some kind of check to answer // "Am I going to attack with this?" diff --git a/src/main/java/forge/card/ability/ai/BecomesBlockedAi.java b/src/main/java/forge/card/ability/ai/BecomesBlockedAi.java index 2d67d7f4b98..b4bd54d56cf 100644 --- a/src/main/java/forge/card/ability/ai/BecomesBlockedAi.java +++ b/src/main/java/forge/card/ability/ai/BecomesBlockedAi.java @@ -8,7 +8,7 @@ import forge.CardLists; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -20,7 +20,7 @@ public class BecomesBlockedAi extends SpellAbilityAi { protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { final Card source = sa.getSourceCard(); final Target tgt = sa.getTarget(); - final GameState game = aiPlayer.getGame(); + final Game game = aiPlayer.getGame(); if (!game.getPhaseHandler().is(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY) || !game.getPhaseHandler().getPlayerTurn().isOpponentOf(aiPlayer)) { diff --git a/src/main/java/forge/card/ability/ai/ChangeZoneAi.java b/src/main/java/forge/card/ability/ai/ChangeZoneAi.java index dcfe7c466a5..17f75b01fe1 100644 --- a/src/main/java/forge/card/ability/ai/ChangeZoneAi.java +++ b/src/main/java/forge/card/ability/ai/ChangeZoneAi.java @@ -27,7 +27,7 @@ import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.card.trigger.TriggerType; -import forge.game.GameState; +import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilBlock; @@ -1065,7 +1065,7 @@ public class ChangeZoneAi extends SpellAbilityAi { final Card card = sa.getSourceCard(); final boolean defined = sa.hasParam("Defined"); final Player activator = sa.getActivatingPlayer(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if (tgt != null) { if (!tgt.getTargetPlayers().isEmpty()) { diff --git a/src/main/java/forge/card/ability/ai/ChooseCardAi.java b/src/main/java/forge/card/ability/ai/ChooseCardAi.java index 0e58dd794d1..7144ad273f7 100644 --- a/src/main/java/forge/card/ability/ai/ChooseCardAi.java +++ b/src/main/java/forge/card/ability/ai/ChooseCardAi.java @@ -9,7 +9,7 @@ import forge.CardLists; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCombat; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -23,7 +23,7 @@ public class ChooseCardAi extends SpellAbilityAi { @Override protected boolean canPlayAI(final Player ai, SpellAbility sa) { final Card host = sa.getSourceCard(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); final Target tgt = sa.getTarget(); if (tgt != null) { diff --git a/src/main/java/forge/card/ability/ai/ChooseSourceAi.java b/src/main/java/forge/card/ability/ai/ChooseSourceAi.java index ac6308d4012..51181bf2171 100644 --- a/src/main/java/forge/card/ability/ai/ChooseSourceAi.java +++ b/src/main/java/forge/card/ability/ai/ChooseSourceAi.java @@ -13,7 +13,7 @@ import forge.card.ability.SpellAbilityAi; import forge.card.cost.Cost; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCost; import forge.game.phase.PhaseType; @@ -65,7 +65,7 @@ public class ChooseSourceAi extends SpellAbilityAi { } } if (sa.hasParam("AILogic")) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if (sa.getParam("AILogic").equals("NeedsPrevention")) { if (!game.getStack().isEmpty()) { final SpellAbility topStack = game.getStack().peekAbility(); diff --git a/src/main/java/forge/card/ability/ai/CloneAi.java b/src/main/java/forge/card/ability/ai/CloneAi.java index f50f5a19846..5bf3b9d44f5 100644 --- a/src/main/java/forge/card/ability/ai/CloneAi.java +++ b/src/main/java/forge/card/ability/ai/CloneAi.java @@ -7,7 +7,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -18,7 +18,7 @@ public class CloneAi extends SpellAbilityAi { protected boolean canPlayAI(Player ai, SpellAbility sa) { final Target tgt = sa.getTarget(); final Card source = sa.getSourceCard(); - final GameState game = source.getGame(); + final Game game = source.getGame(); boolean useAbility = true; diff --git a/src/main/java/forge/card/ability/ai/ControlGainAi.java b/src/main/java/forge/card/ability/ai/ControlGainAi.java index 212f9b5404f..fa9f5add494 100644 --- a/src/main/java/forge/card/ability/ai/ControlGainAi.java +++ b/src/main/java/forge/card/ability/ai/ControlGainAi.java @@ -29,7 +29,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -183,7 +183,7 @@ public class ControlGainAi extends SpellAbilityAi { @Override public boolean chkAIDrawback(SpellAbility sa, final Player ai) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if ((sa.getTarget() == null) || !sa.getTarget().doesTarget()) { if (sa.hasParam("AllValid")) { List tgtCards = CardLists.filterControlledBy(game.getCardsIn(ZoneType.Battlefield), ai.getOpponent()); diff --git a/src/main/java/forge/card/ability/ai/CounterAi.java b/src/main/java/forge/card/ability/ai/CounterAi.java index 24eb70741e8..17b56ec66de 100644 --- a/src/main/java/forge/card/ability/ai/CounterAi.java +++ b/src/main/java/forge/card/ability/ai/CounterAi.java @@ -7,7 +7,7 @@ import forge.card.cardfactory.CardFactoryUtil; import forge.card.cost.Cost; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilMana; import forge.game.player.Player; @@ -20,7 +20,7 @@ public class CounterAi extends SpellAbilityAi { boolean toReturn = true; final Cost abCost = sa.getPayCosts(); final Card source = sa.getSourceCard(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if (game.getStack().isEmpty()) { return false; } @@ -110,7 +110,7 @@ public class CounterAi extends SpellAbilityAi { final Target tgt = sa.getTarget(); if (tgt != null) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if (game.getStack().isEmpty()) { return false; } diff --git a/src/main/java/forge/card/ability/ai/DamageAiBase.java b/src/main/java/forge/card/ability/ai/DamageAiBase.java index d0c44e7a781..130ead4bd9e 100644 --- a/src/main/java/forge/card/ability/ai/DamageAiBase.java +++ b/src/main/java/forge/card/ability/ai/DamageAiBase.java @@ -8,7 +8,7 @@ import forge.Card; import forge.CardPredicates; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCombat; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -17,7 +17,7 @@ import forge.game.zone.ZoneType; public abstract class DamageAiBase extends SpellAbilityAi { protected boolean shouldTgtP(final Player comp, final SpellAbility sa, final int d, final boolean noPrevention) { int restDamage = d; - final GameState game = comp.getGame(); + final Game game = comp.getGame(); final Player enemy = comp.getOpponent(); if (!sa.canTarget(enemy)) { return false; diff --git a/src/main/java/forge/card/ability/ai/DamageDealAi.java b/src/main/java/forge/card/ability/ai/DamageDealAi.java index bbc156af84d..7ea0e8554d1 100644 --- a/src/main/java/forge/card/ability/ai/DamageDealAi.java +++ b/src/main/java/forge/card/ability/ai/DamageDealAi.java @@ -14,7 +14,7 @@ import forge.card.cost.Cost; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCombat; @@ -232,7 +232,7 @@ public class DamageDealAi extends DamageAiBase { final boolean isTrigger, final boolean mandatory) { final Card source = saMe.getSourceCard(); final boolean noPrevention = saMe.hasParam("NoPrevention"); - final GameState game = source.getGame(); + final Game game = source.getGame(); final PhaseHandler phase = game.getPhaseHandler(); final boolean divided = saMe.hasParam("DividedAsYouChoose"); diff --git a/src/main/java/forge/card/ability/ai/DamagePreventAi.java b/src/main/java/forge/card/ability/ai/DamagePreventAi.java index d931be29026..b30cfcceed6 100644 --- a/src/main/java/forge/card/ability/ai/DamagePreventAi.java +++ b/src/main/java/forge/card/ability/ai/DamagePreventAi.java @@ -11,7 +11,7 @@ import forge.card.ability.SpellAbilityAi; import forge.card.cost.Cost; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCombat; @@ -26,7 +26,7 @@ public class DamagePreventAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { final Card hostCard = sa.getSourceCard(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); boolean chance = false; final Cost cost = sa.getPayCosts(); @@ -180,7 +180,7 @@ public class DamagePreventAi extends SpellAbilityAi { final Target tgt = sa.getTarget(); tgt.resetTargets(); // filter AIs battlefield by what I can target - final GameState game = ai.getGame(); + final Game game = ai.getGame(); List targetables = game.getCardsIn(ZoneType.Battlefield); targetables = CardLists.getValidCards(targetables, tgt.getValidTgts(), ai, sa.getSourceCard()); final List compTargetables = CardLists.filterControlledBy(targetables, ai); diff --git a/src/main/java/forge/card/ability/ai/DrawAi.java b/src/main/java/forge/card/ability/ai/DrawAi.java index 5e5ad620d8d..2079b3207da 100644 --- a/src/main/java/forge/card/ability/ai/DrawAi.java +++ b/src/main/java/forge/card/ability/ai/DrawAi.java @@ -31,7 +31,7 @@ import forge.card.cost.PaymentDecision; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilMana; @@ -55,7 +55,7 @@ public class DrawAi extends SpellAbilityAi { final Target tgt = sa.getTarget(); final Card source = sa.getSourceCard(); final Cost abCost = sa.getPayCosts(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if (abCost != null) { // AI currently disabled for these costs @@ -140,7 +140,7 @@ public class DrawAi extends SpellAbilityAi { final Target tgt = sa.getTarget(); final Card source = sa.getSourceCard(); final boolean drawback = (sa instanceof AbilitySub); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); Player opp = ai.getOpponent(); int computerHandSize = ai.getCardsIn(ZoneType.Hand).size(); diff --git a/src/main/java/forge/card/ability/ai/EffectAi.java b/src/main/java/forge/card/ability/ai/EffectAi.java index 59440627650..2c1b1bbfbf4 100644 --- a/src/main/java/forge/card/ability/ai/EffectAi.java +++ b/src/main/java/forge/card/ability/ai/EffectAi.java @@ -10,7 +10,7 @@ import forge.CardLists; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCombat; import forge.game.phase.CombatUtil; @@ -23,7 +23,7 @@ import forge.util.MyRandom; public class EffectAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); final Random r = MyRandom.getRandom(); boolean randomReturn = r.nextFloat() <= .6667; final Player opp = ai.getOpponent(); diff --git a/src/main/java/forge/card/ability/ai/FogAi.java b/src/main/java/forge/card/ability/ai/FogAi.java index f3aa94e6b0b..dd83302f09e 100644 --- a/src/main/java/forge/card/ability/ai/FogAi.java +++ b/src/main/java/forge/card/ability/ai/FogAi.java @@ -3,7 +3,7 @@ package forge.card.ability.ai; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCombat; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -15,7 +15,7 @@ public class FogAi extends SpellAbilityAi { */ @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); // AI should only activate this during Human's Declare Blockers phase if (game.getPhaseHandler().isPlayerTurn(sa.getActivatingPlayer())) { return false; @@ -42,7 +42,7 @@ public class FogAi extends SpellAbilityAi { public boolean chkAIDrawback(SpellAbility sa, Player ai) { // AI should only activate this during Human's turn boolean chance; - final GameState game = ai.getGame(); + final Game game = ai.getGame(); // should really check if other player is attacking this player if (ai.isOpponentOf(game.getPhaseHandler().getPlayerTurn())) { @@ -56,7 +56,7 @@ public class FogAi extends SpellAbilityAi { @Override protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { - final GameState game = aiPlayer.getGame(); + final Game game = aiPlayer.getGame(); boolean chance; if (game.getPhaseHandler().isPlayerTurn(sa.getActivatingPlayer().getOpponent())) { chance = game.getPhaseHandler().getPhase().isBefore(PhaseType.COMBAT_FIRST_STRIKE_DAMAGE); diff --git a/src/main/java/forge/card/ability/ai/LifeGainAi.java b/src/main/java/forge/card/ability/ai/LifeGainAi.java index 66dedc681e8..32185768807 100644 --- a/src/main/java/forge/card/ability/ai/LifeGainAi.java +++ b/src/main/java/forge/card/ability/ai/LifeGainAi.java @@ -9,7 +9,7 @@ import forge.card.cost.Cost; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCost; @@ -34,7 +34,7 @@ public class LifeGainAi extends SpellAbilityAi { final Random r = MyRandom.getRandom(); final Cost abCost = sa.getPayCosts(); final Card source = sa.getSourceCard(); - final GameState game = source.getGame(); + final Game game = source.getGame(); final int life = ai.getLife(); final String amountStr = sa.getParam("LifeAmount"); int lifeAmount = 0; diff --git a/src/main/java/forge/card/ability/ai/PermanentCreatureAi.java b/src/main/java/forge/card/ability/ai/PermanentCreatureAi.java index baf785ce31a..7179132e4cb 100644 --- a/src/main/java/forge/card/ability/ai/PermanentCreatureAi.java +++ b/src/main/java/forge/card/ability/ai/PermanentCreatureAi.java @@ -9,7 +9,7 @@ import forge.Card; import forge.CardPredicates; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -27,7 +27,7 @@ public class PermanentCreatureAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { String logic = sa.getParam("AILogic"); - GameState game = aiPlayer.getGame(); + Game game = aiPlayer.getGame(); if ("ZeroToughness".equals(logic)) { // If Creature has Zero Toughness, make sure some static ability is in play diff --git a/src/main/java/forge/card/ability/ai/PhasesAi.java b/src/main/java/forge/card/ability/ai/PhasesAi.java index 279e9d4da7c..3bb617406e6 100644 --- a/src/main/java/forge/card/ability/ai/PhasesAi.java +++ b/src/main/java/forge/card/ability/ai/PhasesAi.java @@ -9,7 +9,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.util.MyRandom; @@ -133,7 +133,7 @@ public class PhasesAi extends SpellAbilityAi { * a boolean. * @return a boolean. */ - private boolean phasesUnpreferredTargeting(final GameState game, final SpellAbility sa, final boolean mandatory) { + private boolean phasesUnpreferredTargeting(final Game game, final SpellAbility sa, final boolean mandatory) { final Card source = sa.getSourceCard(); final Target tgt = sa.getTarget(); diff --git a/src/main/java/forge/card/ability/ai/ProtectAi.java b/src/main/java/forge/card/ability/ai/ProtectAi.java index d747e9abf34..1ca8df3891e 100644 --- a/src/main/java/forge/card/ability/ai/ProtectAi.java +++ b/src/main/java/forge/card/ability/ai/ProtectAi.java @@ -13,7 +13,7 @@ import forge.card.ability.SpellAbilityAi; import forge.card.cost.Cost; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCost; @@ -66,7 +66,7 @@ public class ProtectAi extends SpellAbilityAi { */ private static List getProtectCreatures(final Player ai, final SpellAbility sa) { final ArrayList gains = AbilityUtils.getProtectionList(sa); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); List list = ai.getCreaturesInPlay(); list = CardLists.filter(list, new Predicate() { @@ -111,7 +111,7 @@ public class ProtectAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { final Card hostCard = sa.getSourceCard(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); // if there is no target and host card isn't in play, don't activate if ((sa.getTarget() == null) && !hostCard.isInPlay()) { return false; @@ -171,7 +171,7 @@ public class ProtectAi extends SpellAbilityAi { } // protectPlayAI() private boolean protectTgtAI(final Player ai, final SpellAbility sa, final boolean mandatory) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if (!mandatory && game.getPhaseHandler().getPhase().isAfter(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY)) { return false; } @@ -250,7 +250,7 @@ public class ProtectAi extends SpellAbilityAi { } // protectTgtAI() private static boolean protectMandatoryTarget(final Player ai, final SpellAbility sa, final boolean mandatory) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); List list = game.getCardsIn(ZoneType.Battlefield); final Target tgt = sa.getTarget(); diff --git a/src/main/java/forge/card/ability/ai/PumpAi.java b/src/main/java/forge/card/ability/ai/PumpAi.java index 937bb86c91f..175a35a63f8 100644 --- a/src/main/java/forge/card/ability/ai/PumpAi.java +++ b/src/main/java/forge/card/ability/ai/PumpAi.java @@ -17,7 +17,7 @@ import forge.card.cost.CostTapType; import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityRestriction; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCost; @@ -48,7 +48,7 @@ public class PumpAi extends PumpAiBase { @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { final Cost cost = sa.getPayCosts(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); final PhaseHandler ph = game.getPhaseHandler(); final List keywords = sa.hasParam("KW") ? Arrays.asList(sa.getParam("KW").split(" & ")) : new ArrayList(); final String numDefense = sa.hasParam("NumDef") ? sa.getParam("NumDef") : ""; @@ -181,7 +181,7 @@ public class PumpAi extends PumpAiBase { private boolean pumpTgtAI(final Player ai, final SpellAbility sa, final int defense, final int attack, final boolean mandatory) { final List keywords = sa.hasParam("KW") ? Arrays.asList(sa.getParam("KW").split(" & ")) : new ArrayList(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if (!mandatory && !sa.isTrigger() @@ -284,7 +284,7 @@ public class PumpAi extends PumpAiBase { } // pumpTgtAI() private boolean pumpMandatoryTarget(final Player ai, final SpellAbility sa, final boolean mandatory) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); List list = game.getCardsIn(ZoneType.Battlefield); final Target tgt = sa.getTarget(); final Player opp = ai.getOpponent(); diff --git a/src/main/java/forge/card/ability/ai/PumpAiBase.java b/src/main/java/forge/card/ability/ai/PumpAiBase.java index 55c621017c2..5b1864a7d1b 100644 --- a/src/main/java/forge/card/ability/ai/PumpAiBase.java +++ b/src/main/java/forge/card/ability/ai/PumpAiBase.java @@ -13,7 +13,7 @@ import forge.CardPredicates; import forge.CardUtil; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCombat; @@ -51,7 +51,7 @@ public abstract class PumpAiBase extends SpellAbilityAi { * @return true, if is useful keyword */ public boolean isUsefulCurseKeyword(final Player ai, final String keyword, final Card card, final SpellAbility sa) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); final PhaseHandler ph = game.getPhaseHandler(); final Player human = ai.getOpponent(); //int attack = getNumAttack(sa); @@ -157,7 +157,7 @@ public abstract class PumpAiBase extends SpellAbilityAi { * @return true, if is useful keyword */ public boolean isUsefulPumpKeyword(final Player ai, final String keyword, final Card card, final SpellAbility sa, final int attack) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); final PhaseHandler ph = game.getPhaseHandler(); final Player opp = ai.getOpponent(); //int defense = getNumDefense(sa); @@ -384,7 +384,7 @@ public abstract class PumpAiBase extends SpellAbilityAi { protected boolean shouldPumpCard(final Player ai, final SpellAbility sa, final Card c, final int defense, final int attack, final List keywords) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); PhaseHandler phase = game.getPhaseHandler(); if (!c.canBeTargetedBy(sa)) { @@ -503,7 +503,7 @@ public abstract class PumpAiBase extends SpellAbilityAi { */ protected List getCurseCreatures(final Player ai, final SpellAbility sa, final int defense, final int attack, final List keywords) { List list = ai.getOpponent().getCreaturesInPlay(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); list = CardLists.getTargetableCards(list, sa); if (list.isEmpty()) { diff --git a/src/main/java/forge/card/ability/ai/PumpAllAi.java b/src/main/java/forge/card/ability/ai/PumpAllAi.java index 8b6cf164882..07886f06cec 100644 --- a/src/main/java/forge/card/ability/ai/PumpAllAi.java +++ b/src/main/java/forge/card/ability/ai/PumpAllAi.java @@ -11,7 +11,7 @@ import forge.CardLists; import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCombat; @@ -29,7 +29,7 @@ public class PumpAllAi extends PumpAiBase { protected boolean canPlayAI(final Player ai, final SpellAbility sa) { String valid = ""; final Card source = sa.getSourceCard(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); final int power = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumAtt"), sa); final int defense = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumDef"), sa); diff --git a/src/main/java/forge/card/ability/ai/RegenerateAi.java b/src/main/java/forge/card/ability/ai/RegenerateAi.java index 06f99e4a436..2e817e7f8b2 100644 --- a/src/main/java/forge/card/ability/ai/RegenerateAi.java +++ b/src/main/java/forge/card/ability/ai/RegenerateAi.java @@ -28,7 +28,7 @@ import forge.card.ability.SpellAbilityAi; import forge.card.cost.Cost; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCombat; @@ -59,7 +59,7 @@ public class RegenerateAi extends SpellAbilityAi { protected boolean canPlayAI(Player ai, SpellAbility sa) { final Card hostCard = sa.getSourceCard(); final Cost abCost = sa.getPayCosts(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); boolean chance = false; if (abCost != null) { @@ -174,7 +174,7 @@ public class RegenerateAi extends SpellAbilityAi { private static boolean regenMandatoryTarget(final Player ai, final SpellAbility sa, final boolean mandatory) { final Card hostCard = sa.getSourceCard(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); final Target tgt = sa.getTarget(); tgt.resetTargets(); // filter AIs battlefield by what I can target diff --git a/src/main/java/forge/card/ability/ai/RegenerateAllAi.java b/src/main/java/forge/card/ability/ai/RegenerateAllAi.java index ba24543ebb4..870b083290c 100644 --- a/src/main/java/forge/card/ability/ai/RegenerateAllAi.java +++ b/src/main/java/forge/card/ability/ai/RegenerateAllAi.java @@ -9,7 +9,7 @@ import forge.CardPredicates; import forge.card.ability.SpellAbilityAi; import forge.card.cost.Cost; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCost; @@ -24,7 +24,7 @@ public class RegenerateAllAi extends SpellAbilityAi { final Card hostCard = sa.getSourceCard(); boolean chance = false; final Cost abCost = sa.getPayCosts(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if (abCost != null) { // AI currently disabled for these costs if (!ComputerUtilCost.checkSacrificeCost(ai, abCost, hostCard)) { diff --git a/src/main/java/forge/card/ability/ai/TapAiBase.java b/src/main/java/forge/card/ability/ai/TapAiBase.java index c26f0de0d65..3be8f8faca0 100644 --- a/src/main/java/forge/card/ability/ai/TapAiBase.java +++ b/src/main/java/forge/card/ability/ai/TapAiBase.java @@ -12,7 +12,7 @@ import forge.CardPredicates.Presets; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCard; import forge.game.phase.CombatUtil; @@ -114,7 +114,7 @@ public abstract class TapAiBase extends SpellAbilityAi { */ protected boolean tapPrefTargeting(final Player ai, final Card source, final Target tgt, final SpellAbility sa, final boolean mandatory) { final Player opp = ai.getOpponent(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); List tapList = opp.getCardsIn(ZoneType.Battlefield); tapList = CardLists.filter(tapList, Presets.UNTAPPED); tapList = CardLists.getValidCards(tapList, tgt.getValidTgts(), source.getController(), source); @@ -240,7 +240,7 @@ public abstract class TapAiBase extends SpellAbilityAi { protected boolean tapUnpreferredTargeting(final Player ai, final SpellAbility sa, final boolean mandatory) { final Card source = sa.getSourceCard(); final Target tgt = sa.getTarget(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); List list = game.getCardsIn(ZoneType.Battlefield); list = CardLists.getValidCards(list, tgt.getValidTgts(), source.getController(), source); diff --git a/src/main/java/forge/card/ability/ai/TapAllAi.java b/src/main/java/forge/card/ability/ai/TapAllAi.java index 4fbdcee25b1..2ded0dbc056 100644 --- a/src/main/java/forge/card/ability/ai/TapAllAi.java +++ b/src/main/java/forge/card/ability/ai/TapAllAi.java @@ -12,7 +12,7 @@ import forge.CardPredicates.Presets; import forge.card.ability.SpellAbilityAi; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.CombatUtil; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -32,7 +32,7 @@ public class TapAllAi extends SpellAbilityAi { final Card source = sa.getSourceCard(); final Player opp = ai.getOpponent(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if (game.getPhaseHandler().getPhase().isAfter(PhaseType.COMBAT_BEGIN)) { return false; @@ -108,7 +108,7 @@ public class TapAllAi extends SpellAbilityAi { * @return a {@link forge.CardList} object. */ private List getTapAllTargets(final String valid, final Card source) { - final GameState game = source.getGame(); + final Game game = source.getGame(); List tmpList = game.getCardsIn(ZoneType.Battlefield); tmpList = CardLists.getValidCards(tmpList, valid, source.getController(), source); tmpList = CardLists.filter(tmpList, Presets.UNTAPPED); diff --git a/src/main/java/forge/card/ability/ai/TokenAi.java b/src/main/java/forge/card/ability/ai/TokenAi.java index f55c7433b65..66af9c553e5 100644 --- a/src/main/java/forge/card/ability/ai/TokenAi.java +++ b/src/main/java/forge/card/ability/ai/TokenAi.java @@ -8,7 +8,7 @@ import forge.card.ability.SpellAbilityAi; import forge.card.cost.Cost; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilMana; @@ -66,7 +66,7 @@ public class TokenAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player ai, SpellAbility sa) { final Cost cost = sa.getPayCosts(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); readParameters(sa); if (ComputerUtil.preventRunAwayActivations(sa)) { diff --git a/src/main/java/forge/card/ability/effects/AbandonEffect.java b/src/main/java/forge/card/ability/effects/AbandonEffect.java index ea6735d3be3..f314b61f083 100644 --- a/src/main/java/forge/card/ability/effects/AbandonEffect.java +++ b/src/main/java/forge/card/ability/effects/AbandonEffect.java @@ -4,7 +4,7 @@ import forge.Card; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.trigger.TriggerType; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -19,7 +19,7 @@ public class AbandonEffect extends SpellAbilityEffect { Card source = sa.getSourceCard(); Player controller = source.getController(); - final GameState game = controller.getGame(); + final Game game = controller.getGame(); game.getTriggerHandler().suppressMode(TriggerType.ChangesZone); controller.getZone(ZoneType.Command).remove(source); diff --git a/src/main/java/forge/card/ability/effects/AnimateAllEffect.java b/src/main/java/forge/card/ability/effects/AnimateAllEffect.java index c004f5a0ea2..14f41a6cdae 100644 --- a/src/main/java/forge/card/ability/effects/AnimateAllEffect.java +++ b/src/main/java/forge/card/ability/effects/AnimateAllEffect.java @@ -18,7 +18,7 @@ import forge.card.spellability.Target; import forge.card.staticability.StaticAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -43,7 +43,7 @@ public class AnimateAllEffect extends AnimateEffectBase { if (sa.hasParam("Toughness")) { toughness = AbilityUtils.calculateAmount(host, sa.getParam("Toughness"), sa); } - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); // Every Animate event needs a unique time stamp final long timestamp = game.getNextTimestamp(); diff --git a/src/main/java/forge/card/ability/effects/AnimateEffect.java b/src/main/java/forge/card/ability/effects/AnimateEffect.java index b2e5281eab0..6cb24d40ad6 100644 --- a/src/main/java/forge/card/ability/effects/AnimateEffect.java +++ b/src/main/java/forge/card/ability/effects/AnimateEffect.java @@ -17,7 +17,7 @@ import forge.card.spellability.Target; import forge.card.staticability.StaticAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; -import forge.game.GameState; +import forge.game.Game; public class AnimateEffect extends AnimateEffectBase { @@ -53,7 +53,7 @@ public class AnimateEffect extends AnimateEffectBase { toughness = AbilityUtils.calculateAmount(host, sa.getParam("Toughness"), sa); } - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); // Every Animate event needs a unique time stamp final long timestamp = game.getNextTimestamp(); diff --git a/src/main/java/forge/card/ability/effects/AttachEffect.java b/src/main/java/forge/card/ability/effects/AttachEffect.java index d19ec768140..3576dbf9680 100644 --- a/src/main/java/forge/card/ability/effects/AttachEffect.java +++ b/src/main/java/forge/card/ability/effects/AttachEffect.java @@ -13,7 +13,7 @@ import forge.card.ability.SpellAbilityEffect; import forge.card.ability.ai.AttachAi; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.gui.GuiChoose; @@ -184,7 +184,7 @@ public class AttachEffect extends SpellAbilityEffect { return false; } aura.setActivatingPlayer(source.getController()); - final GameState game = source.getGame(); + final Game game = source.getGame(); final Target tgt = aura.getTarget(); if (source.getController().isHuman()) { diff --git a/src/main/java/forge/card/ability/effects/BecomesBlockedEffect.java b/src/main/java/forge/card/ability/effects/BecomesBlockedEffect.java index ff6e764ed5d..6f23e47fe1f 100644 --- a/src/main/java/forge/card/ability/effects/BecomesBlockedEffect.java +++ b/src/main/java/forge/card/ability/effects/BecomesBlockedEffect.java @@ -13,7 +13,7 @@ import forge.card.spellability.Ability; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.card.trigger.TriggerType; -import forge.game.GameState; +import forge.game.Game; public class BecomesBlockedEffect extends SpellAbilityEffect { @@ -32,7 +32,7 @@ public class BecomesBlockedEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final Target tgt = sa.getTarget(); for (final Card c : getTargetCards(sa)) { if ((tgt == null) || c.canBeTargetedBy(sa)) { diff --git a/src/main/java/forge/card/ability/effects/ChangeZoneAllEffect.java b/src/main/java/forge/card/ability/effects/ChangeZoneAllEffect.java index 5a7beb63563..9787092152a 100644 --- a/src/main/java/forge/card/ability/effects/ChangeZoneAllEffect.java +++ b/src/main/java/forge/card/ability/effects/ChangeZoneAllEffect.java @@ -14,7 +14,7 @@ import forge.CardPredicates; import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.gui.GuiChoose; @@ -44,7 +44,7 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect { List cards = new ArrayList(); List tgtPlayers = getTargetPlayersEmptyAsDefault(sa); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); if ((tgtPlayers == null) || tgtPlayers.isEmpty() || sa.hasParam("UseAllOriginZones")) { cards = game.getCardsIn(origin); diff --git a/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java b/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java index 20ec04e867c..ee2c3607780 100644 --- a/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java +++ b/src/main/java/forge/card/ability/effects/ChangeZoneEffect.java @@ -21,7 +21,7 @@ import forge.card.spellability.SpellAbilityStackInstance; import forge.card.spellability.Target; import forge.card.trigger.TriggerType; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.player.Player; import forge.game.zone.Zone; @@ -375,7 +375,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { final Target tgt = sa.getTarget(); final Player player = sa.getActivatingPlayer(); final Card hostCard = sa.getSourceCard(); - final GameState game = player.getGame(); + final Game game = player.getGame(); final ZoneType destination = ZoneType.smartValueOf(sa.getParam("Destination")); final List origin = ZoneType.listValueOf(sa.getParam("Origin")); @@ -619,7 +619,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { final List movedCards = new ArrayList(); final boolean defined = sa.hasParam("Defined"); final boolean optional = sa.hasParam("Optional"); - final GameState game = player.getGame(); + final Game game = player.getGame(); final Target tgt = sa.getTarget(); if (tgt != null) { @@ -923,7 +923,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect { * object. * @param game */ - private static void removeFromStack(final SpellAbility tgtSA, final SpellAbility srcSA, final SpellAbilityStackInstance si, final GameState game) { + private static void removeFromStack(final SpellAbility tgtSA, final SpellAbility srcSA, final SpellAbilityStackInstance si, final Game game) { game.getStack().remove(si); if (srcSA.hasParam("Destination")) { diff --git a/src/main/java/forge/card/ability/effects/ChooseCardEffect.java b/src/main/java/forge/card/ability/effects/ChooseCardEffect.java index 278b5815b10..909a7f05ba3 100644 --- a/src/main/java/forge/card/ability/effects/ChooseCardEffect.java +++ b/src/main/java/forge/card/ability/effects/ChooseCardEffect.java @@ -13,7 +13,7 @@ import forge.card.ability.SpellAbilityEffect; import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.util.Aggregates; @@ -34,7 +34,7 @@ public class ChooseCardEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Card host = sa.getSourceCard(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final ArrayList chosen = new ArrayList(); final Target tgt = sa.getTarget(); diff --git a/src/main/java/forge/card/ability/effects/ChooseColorEffect.java b/src/main/java/forge/card/ability/effects/ChooseColorEffect.java index d836dcdb35a..d42c35fefa0 100644 --- a/src/main/java/forge/card/ability/effects/ChooseColorEffect.java +++ b/src/main/java/forge/card/ability/effects/ChooseColorEffect.java @@ -12,7 +12,7 @@ import forge.Constant; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -67,7 +67,7 @@ public class ChooseColorEffect extends SpellAbilityEffect { } else { List chosen = new ArrayList(); Player ai = sa.getActivatingPlayer(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); Player opp = ai.getOpponent(); if (sa.hasParam("AILogic")) { final String logic = sa.getParam("AILogic"); diff --git a/src/main/java/forge/card/ability/effects/ChooseSourceEffect.java b/src/main/java/forge/card/ability/effects/ChooseSourceEffect.java index 836814b3c94..e087892f5a1 100644 --- a/src/main/java/forge/card/ability/effects/ChooseSourceEffect.java +++ b/src/main/java/forge/card/ability/effects/ChooseSourceEffect.java @@ -15,7 +15,7 @@ import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityStackInstance; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCombat; import forge.game.player.Player; @@ -38,7 +38,7 @@ public class ChooseSourceEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Card host = sa.getSourceCard(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final Target tgt = sa.getTarget(); final List tgtPlayers = getTargetPlayers(sa); @@ -174,7 +174,7 @@ public class ChooseSourceEffect extends SpellAbilityEffect { } } - private Card ChooseCardOnStack(SpellAbility sa, Player ai, GameState game) { + private Card ChooseCardOnStack(SpellAbility sa, Player ai, Game game) { for (SpellAbilityStackInstance si : game.getStack()) { final Card source = si.getSourceCard(); final SpellAbility abilityOnStack = si.getSpellAbility(); diff --git a/src/main/java/forge/card/ability/effects/CleanUpEffect.java b/src/main/java/forge/card/ability/effects/CleanUpEffect.java index b8a21d6354a..1a6f1022fb5 100644 --- a/src/main/java/forge/card/ability/effects/CleanUpEffect.java +++ b/src/main/java/forge/card/ability/effects/CleanUpEffect.java @@ -5,7 +5,7 @@ import forge.Card; import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; public class CleanUpEffect extends SpellAbilityEffect { @@ -15,7 +15,7 @@ public class CleanUpEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { Card source = sa.getSourceCard(); - final GameState game = source.getGame(); + final Game game = source.getGame(); if (sa.hasParam("ClearRemembered")) { source.clearRemembered(); diff --git a/src/main/java/forge/card/ability/effects/CloneEffect.java b/src/main/java/forge/card/ability/effects/CloneEffect.java index 6e4bbc725ce..a78079f396d 100644 --- a/src/main/java/forge/card/ability/effects/CloneEffect.java +++ b/src/main/java/forge/card/ability/effects/CloneEffect.java @@ -18,7 +18,7 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; -import forge.game.GameState; +import forge.game.Game; import forge.gui.GuiDialog; import forge.properties.ForgePreferences.FPref; @@ -200,7 +200,7 @@ public class CloneEffect extends SpellAbilityEffect { } }; - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); String duration = sa.getParam("Duration"); if (duration.equals("UntilEndOfTurn")) { game.getEndOfTurn().addUntil(unclone); diff --git a/src/main/java/forge/card/ability/effects/ControlGainEffect.java b/src/main/java/forge/card/ability/effects/ControlGainEffect.java index 0fc2360cb91..2f5f5054ebc 100644 --- a/src/main/java/forge/card/ability/effects/ControlGainEffect.java +++ b/src/main/java/forge/card/ability/effects/ControlGainEffect.java @@ -12,7 +12,7 @@ import forge.card.mana.ManaCost; import forge.card.spellability.Ability; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -97,7 +97,7 @@ public class ControlGainEffect extends SpellAbilityEffect { controllers = new ArrayList(); final Player newController = controllers.isEmpty() ? sa.getActivatingPlayer() : controllers.get(0); - final GameState game = newController.getGame(); + final Game game = newController.getGame(); if (sa.hasParam("AllValid")) { tgtCards = game.getCardsIn(ZoneType.Battlefield); @@ -202,7 +202,7 @@ public class ControlGainEffect extends SpellAbilityEffect { @Override public void run() { - final GameState game = hostCard.getGame(); + final Game game = hostCard.getGame(); final Ability ability = new Ability(hostCard, ManaCost.ZERO) { @Override public void resolve() { diff --git a/src/main/java/forge/card/ability/effects/ControlPlayerEffect.java b/src/main/java/forge/card/ability/effects/ControlPlayerEffect.java index c593c085795..c7911fa741f 100644 --- a/src/main/java/forge/card/ability/effects/ControlPlayerEffect.java +++ b/src/main/java/forge/card/ability/effects/ControlPlayerEffect.java @@ -5,7 +5,7 @@ import java.util.List; import forge.Command; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.util.Lang; @@ -26,7 +26,7 @@ public class ControlPlayerEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Player activator = sa.getActivatingPlayer(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); List tgtPlayers = getTargetPlayers(sa); diff --git a/src/main/java/forge/card/ability/effects/CopyPermanentEffect.java b/src/main/java/forge/card/ability/effects/CopyPermanentEffect.java index b8604d8b70e..3ca8de4e69f 100644 --- a/src/main/java/forge/card/ability/effects/CopyPermanentEffect.java +++ b/src/main/java/forge/card/ability/effects/CopyPermanentEffect.java @@ -24,7 +24,7 @@ import forge.card.mana.ManaCost; import forge.card.spellability.Ability; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -55,7 +55,7 @@ public class CopyPermanentEffect extends SpellAbilityEffect { @Override public void resolve(final SpellAbility sa) { final Card hostCard = sa.getSourceCard(); - final GameState game = hostCard.getGame(); + final Game game = hostCard.getGame(); final ArrayList keywords = new ArrayList(); if (sa.hasParam("Keywords")) { keywords.addAll(Arrays.asList(sa.getParam("Keywords").split(" & "))); diff --git a/src/main/java/forge/card/ability/effects/CounterEffect.java b/src/main/java/forge/card/ability/effects/CounterEffect.java index e01b09a67c8..251f3212fd3 100644 --- a/src/main/java/forge/card/ability/effects/CounterEffect.java +++ b/src/main/java/forge/card/ability/effects/CounterEffect.java @@ -7,7 +7,7 @@ import java.util.List; import forge.Card; import forge.card.ability.SpellAbilityEffect; import forge.card.cardfactory.CardFactoryUtil; -import forge.game.GameState; +import forge.game.Game; import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityStackInstance; import forge.card.spellability.SpellPermanent; @@ -17,7 +17,7 @@ import forge.gui.GuiChoose; public class CounterEffect extends SpellAbilityEffect { @Override protected String getStackDescription(SpellAbility sa) { - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final StringBuilder sb = new StringBuilder(); final List sas; @@ -62,7 +62,7 @@ public class CounterEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); // TODO Before this resolves we should see if any of our targets are // still on the stack final List sas; @@ -139,7 +139,7 @@ public class CounterEffect extends SpellAbilityEffect { * @param sa */ private void removeFromStack(final SpellAbility tgtSA, final SpellAbility srcSA, final SpellAbilityStackInstance si) { - final GameState game = tgtSA.getActivatingPlayer().getGame(); + final Game game = tgtSA.getActivatingPlayer().getGame(); game.getStack().remove(si); String destination = srcSA.hasParam("Destination") ? srcSA.getParam("Destination") : "Graveyard"; diff --git a/src/main/java/forge/card/ability/effects/CountersPutAllEffect.java b/src/main/java/forge/card/ability/effects/CountersPutAllEffect.java index 1f66a4aadd2..5c0fe2fe562 100644 --- a/src/main/java/forge/card/ability/effects/CountersPutAllEffect.java +++ b/src/main/java/forge/card/ability/effects/CountersPutAllEffect.java @@ -9,7 +9,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -43,7 +43,7 @@ public class CountersPutAllEffect extends SpellAbilityEffect { final int counterAmount = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("CounterNum"), sa); final String valid = sa.getParam("ValidCards"); final ZoneType zone = sa.hasParam("ValidZone") ? ZoneType.smartValueOf(sa.getParam("ValidZone")) : ZoneType.Battlefield; - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); List cards = game.getCardsIn(zone); cards = CardLists.getValidCards(cards, valid, sa.getSourceCard().getController(), sa.getSourceCard()); diff --git a/src/main/java/forge/card/ability/effects/CountersRemoveAllEffect.java b/src/main/java/forge/card/ability/effects/CountersRemoveAllEffect.java index 2565cdb1d25..2b823122cd9 100644 --- a/src/main/java/forge/card/ability/effects/CountersRemoveAllEffect.java +++ b/src/main/java/forge/card/ability/effects/CountersRemoveAllEffect.java @@ -9,7 +9,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -47,7 +47,7 @@ public class CountersRemoveAllEffect extends SpellAbilityEffect { int counterAmount = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("CounterNum"), sa); final String valid = sa.getParam("ValidCards"); final ZoneType zone = sa.hasParam("ValidZone") ? ZoneType.smartValueOf(sa.getParam("ValidZone")) : ZoneType.Battlefield; - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); List cards = game.getCardsIn(zone); cards = CardLists.getValidCards(cards, valid, sa.getSourceCard().getController(), sa.getSourceCard()); diff --git a/src/main/java/forge/card/ability/effects/CountersRemoveEffect.java b/src/main/java/forge/card/ability/effects/CountersRemoveEffect.java index e13c50eca33..36c495b4eff 100644 --- a/src/main/java/forge/card/ability/effects/CountersRemoveEffect.java +++ b/src/main/java/forge/card/ability/effects/CountersRemoveEffect.java @@ -10,7 +10,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.zone.Zone; import forge.game.zone.ZoneType; import forge.gui.GuiChoose; @@ -55,7 +55,7 @@ public class CountersRemoveEffect extends SpellAbilityEffect { public void resolve(SpellAbility sa) { final Card card = sa.getSourceCard(); - final GameState game = card.getGame(); + final Game game = card.getGame(); final String type = sa.getParam("CounterType"); int counterAmount = 0; if (!sa.getParam("CounterNum").equals("All") && !sa.getParam("CounterNum").equals("Remembered")) { diff --git a/src/main/java/forge/card/ability/effects/DamageAllEffect.java b/src/main/java/forge/card/ability/effects/DamageAllEffect.java index e3c39c30122..a694de55df2 100644 --- a/src/main/java/forge/card/ability/effects/DamageAllEffect.java +++ b/src/main/java/forge/card/ability/effects/DamageAllEffect.java @@ -9,7 +9,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -46,7 +46,7 @@ public class DamageAllEffect extends SpellAbilityEffect { final List definedSources = AbilityUtils.getDefinedCards(sa.getSourceCard(), sa.getParam("DamageSource"), sa); final Card card = definedSources.get(0); final Card source = sa.getSourceCard(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final String damage = sa.getParam("NumDmg"); final int dmg = AbilityUtils.calculateAmount(sa.getSourceCard(), damage, sa); diff --git a/src/main/java/forge/card/ability/effects/DamagePreventAllEffect.java b/src/main/java/forge/card/ability/effects/DamagePreventAllEffect.java index 0387ffba651..c00628ddd0c 100644 --- a/src/main/java/forge/card/ability/effects/DamagePreventAllEffect.java +++ b/src/main/java/forge/card/ability/effects/DamagePreventAllEffect.java @@ -7,7 +7,7 @@ import forge.Card; import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -19,7 +19,7 @@ public class DamagePreventAllEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Card source = sa.getSourceCard(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final int numDam = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("Amount"), sa); String players = ""; diff --git a/src/main/java/forge/card/ability/effects/DebuffAllEffect.java b/src/main/java/forge/card/ability/effects/DebuffAllEffect.java index d34c014d6a4..07495a5c4ba 100644 --- a/src/main/java/forge/card/ability/effects/DebuffAllEffect.java +++ b/src/main/java/forge/card/ability/effects/DebuffAllEffect.java @@ -9,7 +9,7 @@ import forge.CardLists; import forge.Command; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.zone.ZoneType; public class DebuffAllEffect extends SpellAbilityEffect { @@ -40,7 +40,7 @@ public class DebuffAllEffect extends SpellAbilityEffect { public void resolve(SpellAbility sa) { final Card hostCard = sa.getSourceCard(); final List kws = sa.hasParam("Keywords") ? Arrays.asList(sa.getParam("Keywords").split(" & ")) : new ArrayList(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); String valid = ""; diff --git a/src/main/java/forge/card/ability/effects/DebuffEffect.java b/src/main/java/forge/card/ability/effects/DebuffEffect.java index 681910e12ae..7d367096141 100644 --- a/src/main/java/forge/card/ability/effects/DebuffEffect.java +++ b/src/main/java/forge/card/ability/effects/DebuffEffect.java @@ -9,7 +9,7 @@ import forge.Card; import forge.Command; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; public class DebuffEffect extends SpellAbilityEffect { @@ -56,7 +56,7 @@ public class DebuffEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final List kws = sa.hasParam("Keywords") ? Arrays.asList(sa.getParam("Keywords").split(" & ")) : new ArrayList(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final long timestamp = game.getNextTimestamp(); for (final Card tgtC : getTargetCards(sa)) { diff --git a/src/main/java/forge/card/ability/effects/DestroyAllEffect.java b/src/main/java/forge/card/ability/effects/DestroyAllEffect.java index f36bee2b82a..fc29cf0b141 100644 --- a/src/main/java/forge/card/ability/effects/DestroyAllEffect.java +++ b/src/main/java/forge/card/ability/effects/DestroyAllEffect.java @@ -9,7 +9,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -48,7 +48,7 @@ public class DestroyAllEffect extends SpellAbilityEffect { final boolean noRegen = sa.hasParam("NoRegen"); final Card card = sa.getSourceCard(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final Target tgt = sa.getTarget(); Player targetPlayer = null; diff --git a/src/main/java/forge/card/ability/effects/DestroyEffect.java b/src/main/java/forge/card/ability/effects/DestroyEffect.java index 2444a73110c..f9028296365 100644 --- a/src/main/java/forge/card/ability/effects/DestroyEffect.java +++ b/src/main/java/forge/card/ability/effects/DestroyEffect.java @@ -9,7 +9,7 @@ import forge.CardUtil; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; public class DestroyEffect extends SpellAbilityEffect { /* (non-Javadoc) @@ -69,7 +69,7 @@ public class DestroyEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Card card = sa.getSourceCard(); - final GameState game = card.getGame(); + final Game game = card.getGame(); final boolean remDestroyed = sa.hasParam("RememberDestroyed"); if (remDestroyed) { diff --git a/src/main/java/forge/card/ability/effects/DigEffect.java b/src/main/java/forge/card/ability/effects/DigEffect.java index 61381dbf9a9..6e1e2b78bc3 100644 --- a/src/main/java/forge/card/ability/effects/DigEffect.java +++ b/src/main/java/forge/card/ability/effects/DigEffect.java @@ -13,7 +13,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.player.Player; import forge.game.zone.PlayerZone; @@ -52,7 +52,7 @@ public class DigEffect extends SpellAbilityEffect { public void resolve(SpellAbility sa) { final Card host = sa.getSourceCard(); final Player player = sa.getActivatingPlayer(); - final GameState game = player.getGame(); + final Game game = player.getGame(); Player choser = player; int numToDig = AbilityUtils.calculateAmount(host, sa.getParam("DigNum"), sa); final ZoneType destZone1 = sa.hasParam("DestinationZone") ? ZoneType.smartValueOf(sa.getParam("DestinationZone")) @@ -365,7 +365,7 @@ public class DigEffect extends SpellAbilityEffect { * a {@link forge.CardList} object. * @return a {@link forge.CardList} object. */ - private List sharesNameWithCardOnBattlefield(final GameState game, final List list) { + private List sharesNameWithCardOnBattlefield(final Game game, final List list) { final List toReturn = new ArrayList(); final List play = game.getCardsIn(ZoneType.Battlefield); for (final Card c : list) { diff --git a/src/main/java/forge/card/ability/effects/DigUntilEffect.java b/src/main/java/forge/card/ability/effects/DigUntilEffect.java index 12b120c7569..8027b8cd0e0 100644 --- a/src/main/java/forge/card/ability/effects/DigUntilEffect.java +++ b/src/main/java/forge/card/ability/effects/DigUntilEffect.java @@ -11,7 +11,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.PlayerZone; import forge.game.zone.ZoneType; @@ -137,7 +137,7 @@ public class DigUntilEffect extends SpellAbilityEffect { if (revealed.size() > 0) { GuiChoose.one(p + " revealed: ", revealed); } - final GameState game = p.getGame(); + final Game game = p.getGame(); if (foundDest != null) { // Allow ordering of found cards diff --git a/src/main/java/forge/card/ability/effects/EffectEffect.java b/src/main/java/forge/card/ability/effects/EffectEffect.java index bdfd67aa67f..57356ac3e48 100644 --- a/src/main/java/forge/card/ability/effects/EffectEffect.java +++ b/src/main/java/forge/card/ability/effects/EffectEffect.java @@ -13,7 +13,7 @@ import forge.card.spellability.SpellAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerType; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -37,7 +37,7 @@ public class EffectEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Card hostCard = sa.getSourceCard(); - final GameState game = hostCard.getGame(); + final Game game = hostCard.getGame(); String[] effectAbilities = null; String[] effectTriggers = null; diff --git a/src/main/java/forge/card/ability/effects/EncodeEffect.java b/src/main/java/forge/card/ability/effects/EncodeEffect.java index 5d45d0ff183..1ea3d451066 100644 --- a/src/main/java/forge/card/ability/effects/EncodeEffect.java +++ b/src/main/java/forge/card/ability/effects/EncodeEffect.java @@ -8,7 +8,7 @@ import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -29,7 +29,7 @@ public class EncodeEffect extends SpellAbilityEffect { public void resolve(SpellAbility sa) { final Card host = sa.getSourceCard(); final Player player = sa.getActivatingPlayer(); - final GameState game = player.getGame(); + final Game game = player.getGame(); // make list of creatures that controller has on Battlefield List choices = game.getCardsIn(ZoneType.Battlefield); diff --git a/src/main/java/forge/card/ability/effects/EndTurnEffect.java b/src/main/java/forge/card/ability/effects/EndTurnEffect.java index 749b97f367f..dfa0eb8958d 100644 --- a/src/main/java/forge/card/ability/effects/EndTurnEffect.java +++ b/src/main/java/forge/card/ability/effects/EndTurnEffect.java @@ -4,7 +4,7 @@ package forge.card.ability.effects; import forge.Card; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; public class EndTurnEffect extends SpellAbilityEffect { @@ -19,7 +19,7 @@ public class EndTurnEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { - GameState game = sa.getActivatingPlayer().getGame(); + Game game = sa.getActivatingPlayer().getGame(); // Steps taken from gatherer's rulings on Time Stop. // 1) All spells and abilities on the stack are exiled. This includes // Time Stop, though it will continue to resolve. It also includes diff --git a/src/main/java/forge/card/ability/effects/ManaEffect.java b/src/main/java/forge/card/ability/effects/ManaEffect.java index b95330c7c13..8a392263d02 100644 --- a/src/main/java/forge/card/ability/effects/ManaEffect.java +++ b/src/main/java/forge/card/ability/effects/ManaEffect.java @@ -13,7 +13,7 @@ import forge.card.spellability.AbilityManaPart; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.game.GameActionUtil; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -39,7 +39,7 @@ public class ManaEffect extends SpellAbilityEffect { final List tgtPlayers = getTargetPlayers(sa); final Target tgt = sa.getTarget(); final boolean optional = sa.hasParam("Optional"); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); if (optional) { if (!GuiDialog.confirm(sa.getSourceCard(), "Do you want to add mana to your mana pool?")) { diff --git a/src/main/java/forge/card/ability/effects/PlaneswalkEffect.java b/src/main/java/forge/card/ability/effects/PlaneswalkEffect.java index f8be7507c95..32b8184a745 100644 --- a/src/main/java/forge/card/ability/effects/PlaneswalkEffect.java +++ b/src/main/java/forge/card/ability/effects/PlaneswalkEffect.java @@ -6,7 +6,7 @@ import forge.Card; import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; /** @@ -20,7 +20,7 @@ public class PlaneswalkEffect extends SpellAbilityEffect { */ @Override public void resolve(SpellAbility sa) { - GameState game = sa.getActivatingPlayer().getGame(); + Game game = sa.getActivatingPlayer().getGame(); for(Player p : game.getPlayers()) { diff --git a/src/main/java/forge/card/ability/effects/PlayEffect.java b/src/main/java/forge/card/ability/effects/PlayEffect.java index 956dc17e6c4..f1d8d424118 100644 --- a/src/main/java/forge/card/ability/effects/PlayEffect.java +++ b/src/main/java/forge/card/ability/effects/PlayEffect.java @@ -19,7 +19,7 @@ import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityRestriction; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCard; import forge.game.player.HumanPlay; @@ -55,7 +55,7 @@ public class PlayEffect extends SpellAbilityEffect { public void resolve(SpellAbility sa) { final Card source = sa.getSourceCard(); Player activator = sa.getActivatingPlayer(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); boolean optional = sa.hasParam("Optional"); boolean remember = sa.hasParam("RememberPlayed"); boolean wasFaceDown = false; diff --git a/src/main/java/forge/card/ability/effects/ProtectAllEffect.java b/src/main/java/forge/card/ability/effects/ProtectAllEffect.java index 73a964e8af3..6bf3c817aa6 100644 --- a/src/main/java/forge/card/ability/effects/ProtectAllEffect.java +++ b/src/main/java/forge/card/ability/effects/ProtectAllEffect.java @@ -12,7 +12,7 @@ import forge.card.MagicColor; import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.gui.GuiChoose; @@ -40,7 +40,7 @@ public class ProtectAllEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Card host = sa.getSourceCard(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final boolean isChoice = sa.getParam("Gains").contains("Choice"); final ArrayList choices = AbilityUtils.getProtectionList(sa); diff --git a/src/main/java/forge/card/ability/effects/ProtectEffect.java b/src/main/java/forge/card/ability/effects/ProtectEffect.java index 98e5a385b95..7ca54a65a3b 100644 --- a/src/main/java/forge/card/ability/effects/ProtectEffect.java +++ b/src/main/java/forge/card/ability/effects/ProtectEffect.java @@ -12,7 +12,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.player.Player; import forge.gui.GuiChoose; @@ -97,7 +97,7 @@ public class ProtectEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Card host = sa.getSourceCard(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final boolean isChoice = sa.getParam("Gains").contains("Choice"); final ArrayList choices = AbilityUtils.getProtectionList(sa); diff --git a/src/main/java/forge/card/ability/effects/PumpAllEffect.java b/src/main/java/forge/card/ability/effects/PumpAllEffect.java index c4e62b29e8e..b9c0c8dbed8 100644 --- a/src/main/java/forge/card/ability/effects/PumpAllEffect.java +++ b/src/main/java/forge/card/ability/effects/PumpAllEffect.java @@ -10,7 +10,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -18,7 +18,7 @@ public class PumpAllEffect extends SpellAbilityEffect { private void applyPumpAll(final SpellAbility sa, final List list, final int a, final int d, final List keywords, final ArrayList affectedZones) { - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final long timestamp = game.getNextTimestamp(); final ArrayList kws = new ArrayList(); final ArrayList hiddenkws = new ArrayList(); @@ -115,7 +115,7 @@ public class PumpAllEffect extends SpellAbilityEffect { List list; final List tgtPlayers = getTargetPlayersEmptyAsDefault(sa); final ArrayList affectedZones = new ArrayList(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); if (sa.hasParam("PumpZone")) { for (final String zone : sa.getParam("PumpZone").split(",")) { diff --git a/src/main/java/forge/card/ability/effects/PumpEffect.java b/src/main/java/forge/card/ability/effects/PumpEffect.java index 40906c4d438..c1bd3552103 100644 --- a/src/main/java/forge/card/ability/effects/PumpEffect.java +++ b/src/main/java/forge/card/ability/effects/PumpEffect.java @@ -13,7 +13,7 @@ import forge.card.ability.SpellAbilityEffect; import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.util.Aggregates; @@ -27,7 +27,7 @@ public class PumpEffect extends SpellAbilityEffect { && !sa.getSourceCard().isInPlay()) { return; } - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final long timestamp = game.getNextTimestamp(); final ArrayList kws = new ArrayList(); @@ -88,7 +88,7 @@ public class PumpEffect extends SpellAbilityEffect { } private void applyPump(final SpellAbility sa, final Player p, final List keywords) { - final GameState game = p.getGame(); + final Game game = p.getGame(); for (int i = 0; i < keywords.size(); i++) { p.addKeyword(keywords.get(i)); } @@ -189,7 +189,7 @@ public class PumpEffect extends SpellAbilityEffect { List tgtCards = new ArrayList(); final ArrayList untargetedCards = new ArrayList(); final Target tgt = sa.getTarget(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); List tgtPlayers = new ArrayList(); String pumpRemembered = null; String pumpForget = null; diff --git a/src/main/java/forge/card/ability/effects/RegenerateAllEffect.java b/src/main/java/forge/card/ability/effects/RegenerateAllEffect.java index 4636a266061..7e6a66fab77 100644 --- a/src/main/java/forge/card/ability/effects/RegenerateAllEffect.java +++ b/src/main/java/forge/card/ability/effects/RegenerateAllEffect.java @@ -7,7 +7,7 @@ import forge.CardLists; import forge.Command; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.zone.ZoneType; public class RegenerateAllEffect extends SpellAbilityEffect { @@ -20,7 +20,7 @@ public class RegenerateAllEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Card hostCard = sa.getSourceCard(); - final GameState game = hostCard.getGame(); + final Game game = hostCard.getGame(); String valid = ""; if (sa.hasParam("ValidCards")) { diff --git a/src/main/java/forge/card/ability/effects/RegenerateEffect.java b/src/main/java/forge/card/ability/effects/RegenerateEffect.java index 56ef7485994..b071bb7cb45 100644 --- a/src/main/java/forge/card/ability/effects/RegenerateEffect.java +++ b/src/main/java/forge/card/ability/effects/RegenerateEffect.java @@ -8,7 +8,7 @@ import forge.Command; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; public class RegenerateEffect extends SpellAbilityEffect { @@ -45,7 +45,7 @@ public class RegenerateEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Target tgt = sa.getTarget(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); for (final Card tgtC : getTargetCards(sa)) { final Command untilEOT = new Command() { diff --git a/src/main/java/forge/card/ability/effects/RemoveFromCombatEffect.java b/src/main/java/forge/card/ability/effects/RemoveFromCombatEffect.java index 6cb00313018..982c7e25309 100644 --- a/src/main/java/forge/card/ability/effects/RemoveFromCombatEffect.java +++ b/src/main/java/forge/card/ability/effects/RemoveFromCombatEffect.java @@ -8,7 +8,7 @@ import forge.Card; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; public class RemoveFromCombatEffect extends SpellAbilityEffect { @@ -29,7 +29,7 @@ public class RemoveFromCombatEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Player activator = sa.getActivatingPlayer(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); final Target tgt = sa.getTarget(); diff --git a/src/main/java/forge/card/ability/effects/RepeatEachEffect.java b/src/main/java/forge/card/ability/effects/RepeatEachEffect.java index a442b84bb02..75c0ed59cae 100644 --- a/src/main/java/forge/card/ability/effects/RepeatEachEffect.java +++ b/src/main/java/forge/card/ability/effects/RepeatEachEffect.java @@ -13,7 +13,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.gui.GuiChoose; @@ -32,7 +32,7 @@ public class RepeatEachEffect extends SpellAbilityEffect { repeat.setActivatingPlayer(sa.getActivatingPlayer()); ((AbilitySub) repeat).setParent(sa); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); boolean useImprinted = sa.hasParam("UseImprinted"); boolean loopOverCards = false; diff --git a/src/main/java/forge/card/ability/effects/RepeatEffect.java b/src/main/java/forge/card/ability/effects/RepeatEffect.java index 6eb5d4e50e4..1b18d4c472d 100644 --- a/src/main/java/forge/card/ability/effects/RepeatEffect.java +++ b/src/main/java/forge/card/ability/effects/RepeatEffect.java @@ -11,7 +11,7 @@ import forge.card.ability.SpellAbilityEffect; import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.util.Expressions; @@ -70,7 +70,7 @@ public class RepeatEffect extends SpellAbilityEffect { private boolean checkRepeatConditions(final SpellAbility sa) { //boolean doAgain = false; final Player activator = sa.getActivatingPlayer(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); if (sa.hasParam("RepeatPresent")) { diff --git a/src/main/java/forge/card/ability/effects/RestartGameEffect.java b/src/main/java/forge/card/ability/effects/RestartGameEffect.java index 4fca4e0e609..ea769dbcc89 100644 --- a/src/main/java/forge/card/ability/effects/RestartGameEffect.java +++ b/src/main/java/forge/card/ability/effects/RestartGameEffect.java @@ -16,7 +16,7 @@ import forge.card.trigger.TriggerType; import forge.game.GameAction; import forge.game.GameAge; import forge.game.GameNew; -import forge.game.GameState; +import forge.game.Game; import forge.game.RegisteredPlayer; import forge.game.player.Player; import forge.game.zone.PlayerZone; @@ -30,7 +30,7 @@ public class RestartGameEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Player activator = sa.getActivatingPlayer(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); List players = game.getPlayers(); Map> playerLibraries = new HashMap>(); diff --git a/src/main/java/forge/card/ability/effects/RollPlanarDiceEffect.java b/src/main/java/forge/card/ability/effects/RollPlanarDiceEffect.java index 5d8da025aaa..eb5ea868014 100644 --- a/src/main/java/forge/card/ability/effects/RollPlanarDiceEffect.java +++ b/src/main/java/forge/card/ability/effects/RollPlanarDiceEffect.java @@ -2,7 +2,7 @@ package forge.card.ability.effects; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.PlanarDice; import forge.game.player.Player; import forge.gui.GuiDialog; @@ -20,7 +20,7 @@ public class RollPlanarDiceEffect extends SpellAbilityEffect { public void resolve(SpellAbility sa) { boolean countedTowardsCost = !sa.hasParam("NotCountedTowardsCost"); final Player activator = sa.getActivatingPlayer(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); if(countedTowardsCost) { game.getPhaseHandler().incPlanarDiceRolledthisTurn(); diff --git a/src/main/java/forge/card/ability/effects/SacrificeAllEffect.java b/src/main/java/forge/card/ability/effects/SacrificeAllEffect.java index 95a3695e235..164c2c987ba 100644 --- a/src/main/java/forge/card/ability/effects/SacrificeAllEffect.java +++ b/src/main/java/forge/card/ability/effects/SacrificeAllEffect.java @@ -7,7 +7,7 @@ import forge.Card; import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -36,7 +36,7 @@ public class SacrificeAllEffect extends SpellAbilityEffect { public void resolve(SpellAbility sa) { final Card card = sa.getSourceCard(); final Player activator = sa.getActivatingPlayer(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); String valid = ""; diff --git a/src/main/java/forge/card/ability/effects/SacrificeEffect.java b/src/main/java/forge/card/ability/effects/SacrificeEffect.java index a66ee50d13e..9f4e6c8c5ec 100644 --- a/src/main/java/forge/card/ability/effects/SacrificeEffect.java +++ b/src/main/java/forge/card/ability/effects/SacrificeEffect.java @@ -8,7 +8,7 @@ import forge.CardPredicates; import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.util.Aggregates; @@ -19,7 +19,7 @@ public class SacrificeEffect extends SpellAbilityEffect { public void resolve(SpellAbility sa) { final Card card = sa.getSourceCard(); final Player activator = sa.getActivatingPlayer(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); // Expand Sacrifice keyword here depending on what we need out of it. final String num = sa.hasParam("Amount") ? sa.getParam("Amount") : "1"; diff --git a/src/main/java/forge/card/ability/effects/TapAllEffect.java b/src/main/java/forge/card/ability/effects/TapAllEffect.java index 5a64c2ac6fb..e715cdfceea 100644 --- a/src/main/java/forge/card/ability/effects/TapAllEffect.java +++ b/src/main/java/forge/card/ability/effects/TapAllEffect.java @@ -8,7 +8,7 @@ import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.AbilitySub; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -29,7 +29,7 @@ public class TapAllEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { final Player activator = sa.getActivatingPlayer(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); final Card card = sa.getSourceCard(); final boolean remTapped = sa.hasParam("RememberTapped"); if (remTapped) { diff --git a/src/main/java/forge/card/ability/effects/TapOrUntapAllEffect.java b/src/main/java/forge/card/ability/effects/TapOrUntapAllEffect.java index 69dfa66416b..0480745be9c 100644 --- a/src/main/java/forge/card/ability/effects/TapOrUntapAllEffect.java +++ b/src/main/java/forge/card/ability/effects/TapOrUntapAllEffect.java @@ -9,7 +9,7 @@ import forge.CardLists; import forge.card.ability.AbilityUtils; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.gui.GuiChoose; @@ -45,7 +45,7 @@ public class TapOrUntapAllEffect extends SpellAbilityEffect { public void resolve(SpellAbility sa) { List validCards = getTargetCards(sa); final Player activator = sa.getActivatingPlayer(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); List targetedPlayers = getTargetPlayersEmptyAsDefault(sa); diff --git a/src/main/java/forge/card/ability/effects/TokenEffect.java b/src/main/java/forge/card/ability/effects/TokenEffect.java index a3d3012b171..5a2f417c65d 100644 --- a/src/main/java/forge/card/ability/effects/TokenEffect.java +++ b/src/main/java/forge/card/ability/effects/TokenEffect.java @@ -30,7 +30,7 @@ import forge.card.cardfactory.CardFactory; import forge.card.spellability.SpellAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; -import forge.game.GameState; +import forge.game.Game; import forge.game.event.GameEventTokenCreated; import forge.game.player.Player; import forge.gui.GuiChoose; @@ -276,7 +276,7 @@ public class TokenEffect extends SpellAbilityEffect { } } - final GameState game = controller.getGame(); + final Game game = controller.getGame(); for (final Card c : tokens) { if (this.tokenTapped) { c.setTapped(true); diff --git a/src/main/java/forge/card/ability/effects/UnattachAllEffect.java b/src/main/java/forge/card/ability/effects/UnattachAllEffect.java index baf2b388549..c4692c8e71f 100644 --- a/src/main/java/forge/card/ability/effects/UnattachAllEffect.java +++ b/src/main/java/forge/card/ability/effects/UnattachAllEffect.java @@ -9,7 +9,7 @@ import forge.CardLists; import forge.GameEntity; import forge.card.ability.SpellAbilityEffect; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -150,7 +150,7 @@ public class UnattachAllEffect extends SpellAbilityEffect { @Override public void resolve(SpellAbility sa) { Card source = sa.getSourceCard(); - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final List targets = getTargetObjects(sa); // If Cast Targets will be checked on the Stack diff --git a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java index 31a51120fce..db905443f9c 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryCreatures.java @@ -43,7 +43,7 @@ import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCombat; import forge.game.player.Player; @@ -284,7 +284,7 @@ public class CardFactoryCreatures { @Override public void run() { - final GameState game = card.getGame(); + final Game game = card.getGame(); int intermSumPower = 0; int intermSumToughness = 0; // intermSumPower = intermSumToughness = 0; @@ -343,7 +343,7 @@ public class CardFactoryCreatures { final Ability sacOrSac = new Ability(card, ManaCost.NO_COST) { @Override public void resolve() { - final GameState game = player.getGame(); + final Game game = player.getGame(); if (player.isHuman()) { final InputSelectCards target = new InputSelectCardsForDreadnought(player, 0, Integer.MAX_VALUE); // Input String toDisplay = cardName + " - Select any number of creatures to sacrifice.\n" + diff --git a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java index a6ef571cdd9..278092606ca 100644 --- a/src/main/java/forge/card/cardfactory/CardFactorySorceries.java +++ b/src/main/java/forge/card/cardfactory/CardFactorySorceries.java @@ -33,7 +33,7 @@ import forge.card.spellability.SpellAbility; import forge.control.input.InputPayManaExecuteCommands; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.AiController; import forge.game.player.Player; import forge.game.player.PlayerControllerAi; @@ -50,7 +50,7 @@ import forge.gui.GuiChoose; */ public class CardFactorySorceries { - private static final void balanceLands(GameState game, Spell card) { + private static final void balanceLands(Game game, Spell card) { List> lands = new ArrayList>(); for (Player p : game.getPlayers()) { @@ -88,7 +88,7 @@ public class CardFactorySorceries { } } - private static final void balanceHands(GameState game, Spell spell) { + private static final void balanceHands(Game game, Spell spell) { int min = Integer.MAX_VALUE; for (Player p : game.getPlayers()) { min = Math.min(min, p.getZone(ZoneType.Hand).size()); @@ -116,7 +116,7 @@ public class CardFactorySorceries { } } - private static final void balanceCreatures(GameState game, Spell card) { + private static final void balanceCreatures(Game game, Spell card) { List> creats = new ArrayList>(); for (Player p : game.getPlayers()) { @@ -160,7 +160,7 @@ public class CardFactorySorceries { @Override public void resolve() { - final GameState game = this.getActivatingPlayer().getGame(); + final Game game = this.getActivatingPlayer().getGame(); balanceLands(game, this); balanceHands(game, this); balanceCreatures(game, this); @@ -211,7 +211,7 @@ public class CardFactorySorceries { @Override public void resolve() { final Player p = card.getController(); - final GameState game = p.getGame(); + final Game game = p.getGame(); int baseCMC = -1; final Card[] newArtifact = new Card[1]; diff --git a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java index 694359c4ef9..2045d41f21a 100644 --- a/src/main/java/forge/card/cardfactory/CardFactoryUtil.java +++ b/src/main/java/forge/card/cardfactory/CardFactoryUtil.java @@ -63,7 +63,7 @@ import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerType; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCost; import forge.game.phase.PhaseHandler; @@ -423,7 +423,7 @@ public class CardFactoryUtil { @Override public void resolve() { - final GameState game = sourceCard.getGame(); + final Game game = sourceCard.getGame(); final Card c = game.getAction().exile(sourceCard); int counters = AbilityUtils.calculateAmount(c, timeCounters, this); @@ -1001,7 +1001,7 @@ public class CardFactoryUtil { final String[] l = s.split("/"); final String m = extractOperators(s); - final GameState game = player.getGame(); + final Game game = player.getGame(); // count valid cards in any specified zone/s if (l[0].startsWith("Valid") && !l[0].contains("Valid ")) { @@ -1130,7 +1130,7 @@ public class CardFactoryUtil { final Player cc = c.getController(); final Player ccOpp = cc.getOpponent(); - final GameState game = c.getGame(); + final Game game = c.getGame(); final Player activePlayer = game.getPhaseHandler().getPlayerTurn(); @@ -1597,7 +1597,7 @@ public class CardFactoryUtil { private static List getCardListForXCount(final Card c, final Player cc, final Player ccOpp, final String[] sq) { List someCards = new ArrayList(); - final GameState game = c.getGame(); + final Game game = c.getGame(); // Generic Zone-based counting // Count$QualityAndZones.Subquality @@ -2769,7 +2769,7 @@ public class CardFactoryUtil { final Ability haunterDiesSetup = new Ability(card, ManaCost.ZERO) { @Override public void resolve() { - final GameState game = card.getGame(); + final Game game = card.getGame(); this.setActivatingPlayer(card.getController()); final List creats = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Presets.CREATURES); for (int i = 0; i < creats.size(); i++) { @@ -3095,7 +3095,7 @@ public class CardFactoryUtil { @Override public void run() { - final GameState game = card.getGame(); + final Game game = card.getGame(); final List cardsInPlay = CardLists.getType(game.getCardsIn(ZoneType.Battlefield), "World"); cardsInPlay.remove(card); for (int i = 0; i < cardsInPlay.size(); i++) { @@ -3180,7 +3180,7 @@ public class CardFactoryUtil { private void devour(Card eater, Card dinner) { - final GameState game = eater.getGame(); + final Game game = eater.getGame(); eater.addDevoured(dinner); game.getAction().sacrifice(dinner, null); final HashMap runParams = new HashMap(); diff --git a/src/main/java/forge/card/cost/CostDamage.java b/src/main/java/forge/card/cost/CostDamage.java index cea2ddfd6ca..bcea5cd1a2f 100644 --- a/src/main/java/forge/card/cost/CostDamage.java +++ b/src/main/java/forge/card/cost/CostDamage.java @@ -20,7 +20,7 @@ package forge.card.cost; import forge.Card; import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.gui.GuiDialog; @@ -76,7 +76,7 @@ public class CostDamage extends CostPart { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final String amount = this.getAmount(); final Player activator = ability.getActivatingPlayer(); final int life = activator.getLife(); diff --git a/src/main/java/forge/card/cost/CostDiscard.java b/src/main/java/forge/card/cost/CostDiscard.java index cc6716b2144..9812d97fdbc 100644 --- a/src/main/java/forge/card/cost/CostDiscard.java +++ b/src/main/java/forge/card/cost/CostDiscard.java @@ -29,7 +29,7 @@ import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.AiController; import forge.game.player.Player; import forge.game.player.PlayerControllerAi; @@ -158,7 +158,7 @@ public class CostDiscard extends CostPartWithList { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final Player activator = ability.getActivatingPlayer(); final Card source = ability.getSourceCard(); List handList = new ArrayList(activator.getCardsIn(ZoneType.Hand)); diff --git a/src/main/java/forge/card/cost/CostExile.java b/src/main/java/forge/card/cost/CostExile.java index d8b92182d0b..5a4dabba3ae 100644 --- a/src/main/java/forge/card/cost/CostExile.java +++ b/src/main/java/forge/card/cost/CostExile.java @@ -29,7 +29,7 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityStackInstance; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -154,7 +154,7 @@ public class CostExile extends CostPartWithList { public final boolean canPay(final SpellAbility ability) { final Player activator = ability.getActivatingPlayer(); final Card source = ability.getSourceCard(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); List typeList = new ArrayList(); if (this.getType().equals("All")) { @@ -207,7 +207,7 @@ public class CostExile extends CostPartWithList { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final String amount = this.getAmount(); final Card source = ability.getSourceCard(); Integer c = this.convertAmount(); @@ -335,7 +335,7 @@ public class CostExile extends CostPartWithList { return true; } - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); ArrayList saList = new ArrayList(); ArrayList descList = new ArrayList(); diff --git a/src/main/java/forge/card/cost/CostExileAndPay.java b/src/main/java/forge/card/cost/CostExileAndPay.java index 52cc20a1424..676fb34e408 100644 --- a/src/main/java/forge/card/cost/CostExileAndPay.java +++ b/src/main/java/forge/card/cost/CostExileAndPay.java @@ -7,7 +7,7 @@ import forge.Card; import forge.CardLists; import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellPermanent; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCost; import forge.game.player.Player; @@ -93,7 +93,7 @@ public class CostExileAndPay extends CostPartWithList { * @see forge.card.cost.CostPart#payHuman(forge.card.spellability.SpellAbility, forge.game.GameState) */ @Override - public boolean payHuman(SpellAbility ability, GameState game) { + public boolean payHuman(SpellAbility ability, Game game) { List validGrave = CardLists.getValidCards(ability.getActivatingPlayer().getZone(ZoneType.Graveyard), "Creature", ability.getActivatingPlayer(), ability.getSourceCard()); Card selectedCard = GuiChoose.oneOrNone("Choose a creature card to exile.", validGrave); diff --git a/src/main/java/forge/card/cost/CostGainLife.java b/src/main/java/forge/card/cost/CostGainLife.java index 99098931881..86238c28cb5 100644 --- a/src/main/java/forge/card/cost/CostGainLife.java +++ b/src/main/java/forge/card/cost/CostGainLife.java @@ -23,7 +23,7 @@ import java.util.List; import forge.Card; import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.gui.GuiChoose; @@ -116,7 +116,7 @@ public class CostGainLife extends CostPart { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final Card source = ability.getSourceCard(); final String amount = this.getAmount(); final Player activator = ability.getActivatingPlayer(); diff --git a/src/main/java/forge/card/cost/CostMill.java b/src/main/java/forge/card/cost/CostMill.java index 133648d1d43..e831f44502e 100644 --- a/src/main/java/forge/card/cost/CostMill.java +++ b/src/main/java/forge/card/cost/CostMill.java @@ -22,7 +22,7 @@ import java.util.List; import forge.Card; import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.PlayerZone; import forge.game.zone.ZoneType; @@ -88,7 +88,7 @@ public class CostMill extends CostPartWithList { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final String amount = this.getAmount(); Integer c = this.convertAmount(); final Card source = ability.getSourceCard(); diff --git a/src/main/java/forge/card/cost/CostPart.java b/src/main/java/forge/card/cost/CostPart.java index b2bd33a5719..e3c28767727 100644 --- a/src/main/java/forge/card/cost/CostPart.java +++ b/src/main/java/forge/card/cost/CostPart.java @@ -22,7 +22,7 @@ import org.apache.commons.lang3.StringUtils; import forge.Card; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; /** @@ -192,7 +192,7 @@ public abstract class CostPart { * @param game * @return true, if successful */ - public abstract boolean payHuman(SpellAbility ability, GameState game); + public abstract boolean payHuman(SpellAbility ability, Game game); /* * (non-Javadoc) diff --git a/src/main/java/forge/card/cost/CostPartMana.java b/src/main/java/forge/card/cost/CostPartMana.java index 6fd6a247edb..e60f16ae094 100644 --- a/src/main/java/forge/card/cost/CostPartMana.java +++ b/src/main/java/forge/card/cost/CostPartMana.java @@ -28,7 +28,7 @@ import forge.card.spellability.SpellAbility; import forge.control.input.InputPayMana; import forge.control.input.InputPayManaOfCostPayment; import forge.control.input.InputPayManaX; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilMana; import forge.game.player.Player; @@ -107,7 +107,7 @@ public class CostPartMana extends CostPart { } @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final Card source = ability.getSourceCard(); ManaCostBeingPaid toPay = new ManaCostBeingPaid(getManaToPay(), restriction); diff --git a/src/main/java/forge/card/cost/CostPayLife.java b/src/main/java/forge/card/cost/CostPayLife.java index cf048ee6ed0..973d1626633 100644 --- a/src/main/java/forge/card/cost/CostPayLife.java +++ b/src/main/java/forge/card/cost/CostPayLife.java @@ -20,7 +20,7 @@ package forge.card.cost; import forge.Card; import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.gui.GuiDialog; @@ -111,7 +111,7 @@ public class CostPayLife extends CostPart { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final Card source = ability.getSourceCard(); final String amount = this.getAmount(); final Player activator = ability.getActivatingPlayer(); diff --git a/src/main/java/forge/card/cost/CostPayment.java b/src/main/java/forge/card/cost/CostPayment.java index a02afb793c6..54a4d9c3bab 100644 --- a/src/main/java/forge/card/cost/CostPayment.java +++ b/src/main/java/forge/card/cost/CostPayment.java @@ -23,7 +23,7 @@ import java.util.List; import java.util.Map; import forge.Card; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; /** @@ -104,7 +104,7 @@ public class CostPayment { * * @return a boolean. */ - public boolean payCost(final GameState game) { + public boolean payCost(final Game game) { for (final CostPart part : this.cost.getCostParts()) { if ( false == part.payHuman(this.ability, game) ) { return false; @@ -167,7 +167,7 @@ public class CostPayment { * * @return a boolean. */ - public final boolean payComputerCosts(final Player ai, final GameState game) { + public final boolean payComputerCosts(final Player ai, final Game game) { // canPayAdditionalCosts now Player Agnostic // Just in case it wasn't set, but honestly it shouldn't have gotten diff --git a/src/main/java/forge/card/cost/CostPutCounter.java b/src/main/java/forge/card/cost/CostPutCounter.java index 8a1507e96ee..c600ad3d015 100644 --- a/src/main/java/forge/card/cost/CostPutCounter.java +++ b/src/main/java/forge/card/cost/CostPutCounter.java @@ -28,7 +28,7 @@ import forge.Singletons; import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; import forge.control.input.InputSelectCards; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -248,7 +248,7 @@ public class CostPutCounter extends CostPartWithList { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final Card source = ability.getSourceCard(); Integer c = getNumberOfCounters(ability); diff --git a/src/main/java/forge/card/cost/CostRemoveCounter.java b/src/main/java/forge/card/cost/CostRemoveCounter.java index f42b1a341ad..9f65eb528b1 100644 --- a/src/main/java/forge/card/cost/CostRemoveCounter.java +++ b/src/main/java/forge/card/cost/CostRemoveCounter.java @@ -29,7 +29,7 @@ import forge.Singletons; import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; import forge.control.input.InputSelectCards; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.gui.GuiChoose; @@ -115,7 +115,7 @@ public class CostRemoveCounter extends CostPartWithList { } @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final String amount = this.getAmount(); final Card source = ability.getSourceCard(); Integer c = this.convertAmount(); diff --git a/src/main/java/forge/card/cost/CostReturn.java b/src/main/java/forge/card/cost/CostReturn.java index 1b73352feb7..17ffd83fc7a 100644 --- a/src/main/java/forge/card/cost/CostReturn.java +++ b/src/main/java/forge/card/cost/CostReturn.java @@ -26,7 +26,7 @@ import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -120,7 +120,7 @@ public class CostReturn extends CostPartWithList { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final String amount = this.getAmount(); final Card source = ability.getSourceCard(); Integer c = this.convertAmount(); diff --git a/src/main/java/forge/card/cost/CostReveal.java b/src/main/java/forge/card/cost/CostReveal.java index ab16062b236..9f69aaea5f9 100644 --- a/src/main/java/forge/card/cost/CostReveal.java +++ b/src/main/java/forge/card/cost/CostReveal.java @@ -29,7 +29,7 @@ import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.AiController; import forge.game.player.Player; import forge.game.player.PlayerControllerAi; @@ -140,7 +140,7 @@ public class CostReveal extends CostPartWithList { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final Player activator = ability.getActivatingPlayer(); final Card source = ability.getSourceCard(); final String amount = this.getAmount(); diff --git a/src/main/java/forge/card/cost/CostSacrifice.java b/src/main/java/forge/card/cost/CostSacrifice.java index 539cd90edc3..5fabfd2a2fe 100644 --- a/src/main/java/forge/card/cost/CostSacrifice.java +++ b/src/main/java/forge/card/cost/CostSacrifice.java @@ -26,7 +26,7 @@ import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -129,7 +129,7 @@ public class CostSacrifice extends CostPartWithList { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final String amount = this.getAmount(); final Card source = ability.getSourceCard(); final String type = this.getType(); diff --git a/src/main/java/forge/card/cost/CostTap.java b/src/main/java/forge/card/cost/CostTap.java index 1d58b94bf4f..5608da9065f 100644 --- a/src/main/java/forge/card/cost/CostTap.java +++ b/src/main/java/forge/card/cost/CostTap.java @@ -19,7 +19,7 @@ package forge.card.cost; import forge.Card; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; /** @@ -92,7 +92,7 @@ public class CostTap extends CostPart { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { // if (!canPay(ability, source, ability.getActivatingPlayer(), // payment.getCost())) // return false; diff --git a/src/main/java/forge/card/cost/CostTapType.java b/src/main/java/forge/card/cost/CostTapType.java index e823993a08b..4cf6a665862 100644 --- a/src/main/java/forge/card/cost/CostTapType.java +++ b/src/main/java/forge/card/cost/CostTapType.java @@ -30,7 +30,7 @@ import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -158,7 +158,7 @@ public class CostTapType extends CostPartWithList { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { List typeList = new ArrayList(ability.getActivatingPlayer().getCardsIn(ZoneType.Battlefield)); String type = this.getType(); boolean sameType = false; diff --git a/src/main/java/forge/card/cost/CostUnattach.java b/src/main/java/forge/card/cost/CostUnattach.java index 41ec7e3d1fa..477209f941c 100644 --- a/src/main/java/forge/card/cost/CostUnattach.java +++ b/src/main/java/forge/card/cost/CostUnattach.java @@ -22,7 +22,7 @@ import java.util.List; import forge.Card; import forge.CardLists; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.gui.GuiDialog; @@ -96,7 +96,7 @@ public class CostUnattach extends CostPartWithList { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { final Card source = ability.getSourceCard(); Player activator = ability.getActivatingPlayer(); Card cardToUnattach = findCardToUnattach(source, activator, ability); diff --git a/src/main/java/forge/card/cost/CostUntap.java b/src/main/java/forge/card/cost/CostUntap.java index 6252e0b97be..40355a0c918 100644 --- a/src/main/java/forge/card/cost/CostUntap.java +++ b/src/main/java/forge/card/cost/CostUntap.java @@ -19,7 +19,7 @@ package forge.card.cost; import forge.Card; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; /** @@ -84,7 +84,7 @@ public class CostUntap extends CostPart { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { // if (!canPay(ability, source, ability.getActivatingPlayer(), // payment.getCost())) // return false; diff --git a/src/main/java/forge/card/cost/CostUntapType.java b/src/main/java/forge/card/cost/CostUntapType.java index c3a6926da08..a4e85c578f2 100644 --- a/src/main/java/forge/card/cost/CostUntapType.java +++ b/src/main/java/forge/card/cost/CostUntapType.java @@ -26,7 +26,7 @@ import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -132,7 +132,7 @@ public class CostUntapType extends CostPartWithList { * forge.Card, forge.card.cost.Cost_Payment) */ @Override - public final boolean payHuman(final SpellAbility ability, final GameState game) { + public final boolean payHuman(final SpellAbility ability, final Game game) { List typeList = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), this.getType().split(";"), ability.getActivatingPlayer(), ability.getSourceCard()); typeList = CardLists.filter(typeList, Presets.TAPPED); diff --git a/src/main/java/forge/card/mana/ManaCostBeingPaid.java b/src/main/java/forge/card/mana/ManaCostBeingPaid.java index 5721954cd06..300652be02a 100644 --- a/src/main/java/forge/card/mana/ManaCostBeingPaid.java +++ b/src/main/java/forge/card/mana/ManaCostBeingPaid.java @@ -36,7 +36,7 @@ import forge.card.ColorSet; import forge.card.MagicColor; import forge.card.spellability.SpellAbility; import forge.card.staticability.StaticAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.gui.GuiChoose; @@ -494,7 +494,7 @@ public class ManaCostBeingPaid { } public final void applySpellCostChange(final SpellAbility sa) { - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); // Beached final Card originalCard = sa.getSourceCard(); final SpellAbility spell = sa; diff --git a/src/main/java/forge/card/replacement/ReplacementEffect.java b/src/main/java/forge/card/replacement/ReplacementEffect.java index 0835769264d..e0140defee7 100644 --- a/src/main/java/forge/card/replacement/ReplacementEffect.java +++ b/src/main/java/forge/card/replacement/ReplacementEffect.java @@ -26,7 +26,7 @@ import forge.card.TriggerReplacementBase; import forge.card.ability.AbilityUtils; import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.util.Expressions; @@ -172,11 +172,11 @@ public abstract class ReplacementEffect extends TriggerReplacementBase { * * @return a boolean. */ - public boolean requirementsCheck(GameState game) { + public boolean requirementsCheck(Game game) { return this.requirementsCheck(game, this.getMapParams()); } - public boolean requirementsCheck(GameState game, Map params) { + public boolean requirementsCheck(Game game, Map params) { if (this.isSuppressed()) { return false; // Effect removed by effect diff --git a/src/main/java/forge/card/replacement/ReplacementHandler.java b/src/main/java/forge/card/replacement/ReplacementHandler.java index 65af3304b1b..27623233b85 100644 --- a/src/main/java/forge/card/replacement/ReplacementHandler.java +++ b/src/main/java/forge/card/replacement/ReplacementHandler.java @@ -30,7 +30,7 @@ import forge.GameEventType; import forge.card.ability.AbilityFactory; import forge.card.ability.AbilityUtils; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.player.HumanPlay; import forge.game.player.Player; @@ -58,7 +58,7 @@ public class ReplacementHandler { } else { decider = ((Card) affected).getController(); } - final GameState game = decider.getGame(); + final Game game = decider.getGame(); if (runParams.get("Event").equals("Moved")) { ReplacementResult res = run(runParams, ReplacementLayer.Control, decider, game); @@ -97,7 +97,7 @@ public class ReplacementHandler { * the run params,same as for triggers. * @return true if the event was replaced. */ - public ReplacementResult run(final HashMap runParams, final ReplacementLayer layer, final Player decider, final GameState game) { + public ReplacementResult run(final HashMap runParams, final ReplacementLayer layer, final Player decider, final Game game) { final List possibleReplacers = new ArrayList(); // Round up Non-static replacement effects ("Until EOT," or @@ -181,7 +181,7 @@ public class ReplacementHandler { * the replacement effect to run */ private ReplacementResult executeReplacement(final Map runParams, - final ReplacementEffect replacementEffect, final Player decider, final GameState game) { + final ReplacementEffect replacementEffect, final Player decider, final Game game) { final Map mapParams = replacementEffect.getMapParams(); SpellAbility effectSA = null; diff --git a/src/main/java/forge/card/spellability/Ability.java b/src/main/java/forge/card/spellability/Ability.java index b28db2993dc..8f818ff51ce 100644 --- a/src/main/java/forge/card/spellability/Ability.java +++ b/src/main/java/forge/card/spellability/Ability.java @@ -22,7 +22,7 @@ import com.esotericsoftware.minlog.Log; import forge.Card; import forge.card.cost.Cost; import forge.card.mana.ManaCost; -import forge.game.GameState; +import forge.game.Game; /** *

@@ -71,7 +71,7 @@ public abstract class Ability extends SpellAbility { /** {@inheritDoc} */ @Override public boolean canPlay() { - final GameState game = getActivatingPlayer().getGame(); + final Game game = getActivatingPlayer().getGame(); if (game.getStack().isSplitSecondOnStack() && !this.isManaAbility()) { return false; } diff --git a/src/main/java/forge/card/spellability/AbilityActivated.java b/src/main/java/forge/card/spellability/AbilityActivated.java index 9a8f91ef504..221c036861b 100644 --- a/src/main/java/forge/card/spellability/AbilityActivated.java +++ b/src/main/java/forge/card/spellability/AbilityActivated.java @@ -23,7 +23,7 @@ import forge.Card; import forge.card.cost.Cost; import forge.card.cost.CostPayment; import forge.card.staticability.StaticAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -85,7 +85,7 @@ public abstract class AbilityActivated extends SpellAbility implements java.io.S player = this.getSourceCard().getController(); } - final GameState game = player.getGame(); + final Game game = player.getGame(); if (game.getStack().isSplitSecondOnStack() && !this.isManaAbility()) { return false; } diff --git a/src/main/java/forge/card/spellability/HumanPlaySpellAbility.java b/src/main/java/forge/card/spellability/HumanPlaySpellAbility.java index 0079a093a19..fd373b58900 100644 --- a/src/main/java/forge/card/spellability/HumanPlaySpellAbility.java +++ b/src/main/java/forge/card/spellability/HumanPlaySpellAbility.java @@ -26,7 +26,7 @@ import forge.CardCharacteristicName; import forge.card.ability.AbilityUtils; import forge.card.cost.CostPartMana; import forge.card.cost.CostPayment; -import forge.game.GameState; +import forge.game.Game; import forge.game.zone.Zone; /** @@ -48,7 +48,7 @@ public class HumanPlaySpellAbility { public final void fillRequirements(boolean isAlreadyTargeted, boolean isFree, boolean skipStack) { - final GameState game = ability.getActivatingPlayer().getGame(); + final Game game = ability.getActivatingPlayer().getGame(); // used to rollback Zone fromZone = null; @@ -129,7 +129,7 @@ public class HumanPlaySpellAbility { private void rollbackAbility(Zone fromZone, int zonePosition) { // cancel ability during target choosing - final GameState game = ability.getActivatingPlayer().getGame(); + final Game game = ability.getActivatingPlayer().getGame(); final Card c = ability.getSourceCard(); // split cards transform back to full form if targeting is canceled diff --git a/src/main/java/forge/card/spellability/Spell.java b/src/main/java/forge/card/spellability/Spell.java index fbe8ef07afe..27dc1e6655c 100644 --- a/src/main/java/forge/card/spellability/Spell.java +++ b/src/main/java/forge/card/spellability/Spell.java @@ -27,7 +27,7 @@ import forge.card.cost.Cost; import forge.card.cost.CostPayment; import forge.card.staticability.StaticAbility; import forge.error.BugReporter; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.util.Expressions; @@ -68,7 +68,7 @@ public abstract class Spell extends SpellAbility implements java.io.Serializable /** {@inheritDoc} */ @Override public boolean canPlay() { - final GameState game = getActivatingPlayer().getGame(); + final Game game = getActivatingPlayer().getGame(); if (game.getStack().isSplitSecondOnStack()) { return false; } @@ -120,7 +120,7 @@ public abstract class Spell extends SpellAbility implements java.io.Serializable @Override public boolean canPlayAI() { final Card card = this.getSourceCard(); - final GameState game = getActivatingPlayer().getGame(); + final Game game = getActivatingPlayer().getGame(); if (card.getSVar("NeedsToPlay").length() > 0) { final String needsToPlay = card.getSVar("NeedsToPlay"); List list = game.getCardsIn(ZoneType.Battlefield); diff --git a/src/main/java/forge/card/spellability/SpellAbility.java b/src/main/java/forge/card/spellability/SpellAbility.java index 7a158cbfb63..242ee4da843 100644 --- a/src/main/java/forge/card/spellability/SpellAbility.java +++ b/src/main/java/forge/card/spellability/SpellAbility.java @@ -34,7 +34,7 @@ import forge.card.cost.Cost; import forge.card.cost.CostPartMana; import forge.card.mana.Mana; import forge.card.mana.ManaCost; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.util.TextUtil; @@ -1345,7 +1345,7 @@ public abstract class SpellAbility implements ISpellAbility { public List knownDetermineDefined(final String defined) { final List ret = new ArrayList(); final List list = AbilityUtils.getDefinedCards(getSourceCard(), defined, this); - final GameState game = getActivatingPlayer().getGame(); + final Game game = getActivatingPlayer().getGame(); for (final Card c : list) { final Card actualCard = game.getCardState(c); diff --git a/src/main/java/forge/card/spellability/SpellAbilityCondition.java b/src/main/java/forge/card/spellability/SpellAbilityCondition.java index 16449830767..431681391a5 100644 --- a/src/main/java/forge/card/spellability/SpellAbilityCondition.java +++ b/src/main/java/forge/card/spellability/SpellAbilityCondition.java @@ -28,7 +28,7 @@ import forge.CardLists; import forge.card.MagicColor; import forge.card.ability.AbilityUtils; import forge.card.cardfactory.CardFactoryUtil; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -176,7 +176,7 @@ public class SpellAbilityCondition extends SpellAbilityVariables { System.out.println(sa.getSourceCard().getName() + " Did not have activator set in SpellAbility_Condition.checkConditions()"); } - final GameState game = activator.getGame(); + final Game game = activator.getGame(); if (this.isHellbent() && !activator.hasHellbent()) return false; if (this.isThreshold() && !activator.hasThreshold()) return false; diff --git a/src/main/java/forge/card/spellability/SpellAbilityRestriction.java b/src/main/java/forge/card/spellability/SpellAbilityRestriction.java index f6603459b73..4cd57a245a8 100644 --- a/src/main/java/forge/card/spellability/SpellAbilityRestriction.java +++ b/src/main/java/forge/card/spellability/SpellAbilityRestriction.java @@ -25,7 +25,7 @@ import forge.Card; import forge.CardLists; import forge.card.ability.AbilityUtils; import forge.card.cardfactory.CardFactoryUtil; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.PhaseType; import forge.game.player.Player; import forge.game.zone.Zone; @@ -227,7 +227,7 @@ public class SpellAbilityRestriction extends SpellAbilityVariables { */ public final boolean checkTimingRestrictions(final Card c, final SpellAbility sa) { Player activator = sa.getActivatingPlayer(); - final GameState game = activator.getGame(); + final Game game = activator.getGame(); if (this.isPlayerTurn() && !game.getPhaseHandler().isPlayerTurn(activator)) { return false; @@ -303,7 +303,7 @@ public class SpellAbilityRestriction extends SpellAbilityVariables { System.out.println(c.getName() + " Did not have activator set in SpellAbilityRestriction.canPlay()"); } - final GameState game = activator.getGame(); + final Game game = activator.getGame(); if (this.isSorcerySpeed() && !activator.canCastSorcery()) { return false; diff --git a/src/main/java/forge/card/spellability/SpellPermanent.java b/src/main/java/forge/card/spellability/SpellPermanent.java index a6d432b1537..8e3f5dafae3 100644 --- a/src/main/java/forge/card/spellability/SpellPermanent.java +++ b/src/main/java/forge/card/spellability/SpellPermanent.java @@ -37,7 +37,7 @@ import forge.card.replacement.ReplaceMoved; import forge.card.replacement.ReplacementEffect; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerType; -import forge.game.GameState; +import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCost; @@ -94,7 +94,7 @@ public class SpellPermanent extends Spell { final Card card = this.getSourceCard(); ManaCost mana = this.getPayCosts().getTotalMana(); final Player ai = getActivatingPlayer(); - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if (mana.countX() > 0) { // Set PayX here to maximum value. final int xPay = ComputerUtilMana.determineLeftoverMana(this, ai); @@ -215,7 +215,7 @@ public class SpellPermanent extends Spell { public static boolean checkETBEffects(final Card card, final SpellAbility sa, final ApiType api, final Player ai) { boolean rightapi = false; - final GameState game = ai.getGame(); + final Game game = ai.getGame(); if (card.isCreature() && game.getStaticEffects().getGlobalRuleChange(GlobalRuleChange.noCreatureETBTriggers)) { diff --git a/src/main/java/forge/card/spellability/Target.java b/src/main/java/forge/card/spellability/Target.java index 621a20a43aa..344f738c69b 100644 --- a/src/main/java/forge/card/spellability/Target.java +++ b/src/main/java/forge/card/spellability/Target.java @@ -25,7 +25,7 @@ import java.util.List; import forge.Card; import forge.card.CardType; import forge.card.ability.AbilityUtils; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -665,7 +665,7 @@ public class Target { * @return a boolean. */ public final boolean hasCandidates(final SpellAbility sa, final boolean isTargeted) { - final GameState game = sa.getSourceCard().getGame(); + final Game game = sa.getSourceCard().getGame(); for (Player player : game.getPlayers()) { if (sa.canTarget(player)) { return true; @@ -720,7 +720,7 @@ public class Target { * @return a List. */ public final List getAllCandidates(final SpellAbility sa, final boolean isTargeted) { - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); List candidates = new ArrayList(); for (Player player : game.getPlayers()) { if (sa.canTarget(player)) { diff --git a/src/main/java/forge/card/spellability/TargetSelection.java b/src/main/java/forge/card/spellability/TargetSelection.java index 71fa77777e1..6f26cc4aba1 100644 --- a/src/main/java/forge/card/spellability/TargetSelection.java +++ b/src/main/java/forge/card/spellability/TargetSelection.java @@ -27,7 +27,7 @@ import forge.CardLists; import forge.Singletons; import forge.card.ability.AbilityUtils; import forge.control.input.InputSelectTargets; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.Zone; import forge.game.zone.ZoneType; @@ -137,7 +137,7 @@ public class TargetSelection { */ private final List getValidCardsToTarget() { final Target tgt = this.getTgt(); - final GameState game = ability.getActivatingPlayer().getGame(); + final Game game = ability.getActivatingPlayer().getGame(); final List zone = tgt.getZone(); final boolean canTgtStack = zone.contains(ZoneType.Stack); @@ -269,7 +269,7 @@ public class TargetSelection { */ private final boolean chooseCardFromList(final List choices, final boolean targeted, final boolean mandatory) { // Send in a list of valid cards, and popup a choice box to target - final GameState game = ability.getActivatingPlayer().getGame(); + final Game game = ability.getActivatingPlayer().getGame(); final List crdsBattle = new ArrayList(); final List crdsExile = new ArrayList(); @@ -340,7 +340,7 @@ public class TargetSelection { // Find what's targetable, then allow human to choose final List selectOptions = new ArrayList(); - final GameState game = ability.getActivatingPlayer().getGame(); + final Game game = ability.getActivatingPlayer().getGame(); for (SpellAbilityStackInstance si : game.getStack()) { SpellAbility abilityOnStack = si.getSpellAbility(); if (ability.equals(abilityOnStack)) { diff --git a/src/main/java/forge/card/staticability/StaticAbilityContinuous.java b/src/main/java/forge/card/staticability/StaticAbilityContinuous.java index d40946c0c43..b2094098930 100644 --- a/src/main/java/forge/card/staticability/StaticAbilityContinuous.java +++ b/src/main/java/forge/card/staticability/StaticAbilityContinuous.java @@ -38,7 +38,7 @@ import forge.card.spellability.AbilityActivated; import forge.card.spellability.SpellAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; -import forge.game.GameState; +import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -63,7 +63,7 @@ public class StaticAbilityContinuous { final StaticEffect se = new StaticEffect(); final List affectedCards = StaticAbilityContinuous.getAffectedCards(stAb); final ArrayList affectedPlayers = StaticAbilityContinuous.getAffectedPlayers(stAb); - final GameState game = hostCard.getGame(); + final Game game = hostCard.getGame(); se.setAffectedCards(affectedCards); se.setAffectedPlayers(affectedPlayers); @@ -484,7 +484,7 @@ public class StaticAbilityContinuous { private static List getAffectedCards(final StaticAbility stAb) { final HashMap params = stAb.getMapParams(); final Card hostCard = stAb.getHostCard(); - final GameState game = hostCard.getGame(); + final Game game = hostCard.getGame(); final Player controller = hostCard.getController(); if (params.containsKey("CharacteristicDefining")) { diff --git a/src/main/java/forge/card/trigger/Trigger.java b/src/main/java/forge/card/trigger/Trigger.java index 576f409766b..403039ae5a2 100644 --- a/src/main/java/forge/card/trigger/Trigger.java +++ b/src/main/java/forge/card/trigger/Trigger.java @@ -27,7 +27,7 @@ import forge.card.TriggerReplacementBase; import forge.card.spellability.Ability; import forge.card.spellability.OptionalCost; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -164,7 +164,7 @@ public abstract class Trigger extends TriggerReplacementBase { * * @return a boolean. */ - public final boolean phasesCheck(final GameState game) { + public final boolean phasesCheck(final Game game) { PhaseHandler phaseHandler = game.getPhaseHandler(); if (null != validPhases) { if (!validPhases.contains(phaseHandler.getPhase())) { @@ -206,7 +206,7 @@ public abstract class Trigger extends TriggerReplacementBase { * * @return a boolean. */ - public final boolean requirementsCheck(GameState game) { + public final boolean requirementsCheck(Game game) { return this.requirementsCheck(game, this.getRunParams()); } @@ -220,7 +220,7 @@ public abstract class Trigger extends TriggerReplacementBase { * a {@link java.util.HashMap} object. * @return a boolean. */ - public final boolean requirementsCheck(GameState game, final Map runParams) { + public final boolean requirementsCheck(Game game, final Map runParams) { if (this.mapParams.containsKey("APlayerHasMoreLifeThanEachOther")) { int highestLife = -50; // Negative base just in case a few Lich's or Platinum Angels are running around diff --git a/src/main/java/forge/card/trigger/TriggerHandler.java b/src/main/java/forge/card/trigger/TriggerHandler.java index 324416d6c7c..0a4566c374a 100644 --- a/src/main/java/forge/card/trigger/TriggerHandler.java +++ b/src/main/java/forge/card/trigger/TriggerHandler.java @@ -32,7 +32,7 @@ import forge.card.mana.ManaCost; import forge.card.spellability.Ability; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; -import forge.game.GameState; +import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.ai.ComputerUtil; import forge.game.phase.PhaseType; @@ -45,13 +45,13 @@ public class TriggerHandler { private final ArrayList delayedTriggers = new ArrayList(); private final List waitingTriggers = new ArrayList(); - private final GameState game; + private final Game game; /** * TODO: Write javadoc for Constructor. * @param gameState */ - public TriggerHandler(GameState gameState) { + public TriggerHandler(Game gameState) { game = gameState; } diff --git a/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java b/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java index 4b0806dc747..47736be1c95 100644 --- a/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java +++ b/src/main/java/forge/card/trigger/TriggerSpellAbilityCast.java @@ -22,7 +22,7 @@ import forge.card.cost.Cost; import forge.card.spellability.OptionalCost; import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityStackInstance; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; /** @@ -56,7 +56,7 @@ public class TriggerSpellAbilityCast extends Trigger { public final boolean performTest(final java.util.Map runParams2) { final SpellAbility spellAbility = (SpellAbility) runParams2.get("CastSA"); final Card cast = spellAbility.getSourceCard(); - final GameState game = cast.getGame(); + final Game game = cast.getGame(); final SpellAbilityStackInstance si = game.getStack().getInstanceFromSpellAbility(spellAbility); if (this.getMode() == TriggerType.SpellCast) { diff --git a/src/main/java/forge/card/trigger/WrappedAbility.java b/src/main/java/forge/card/trigger/WrappedAbility.java index 1f1ce2c39f6..5d2d788db1d 100644 --- a/src/main/java/forge/card/trigger/WrappedAbility.java +++ b/src/main/java/forge/card/trigger/WrappedAbility.java @@ -15,7 +15,7 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityRestriction; import forge.card.spellability.Target; import forge.card.spellability.TargetChoices; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.player.HumanPlay; import forge.game.player.Player; @@ -348,7 +348,7 @@ public class WrappedAbility extends Ability implements ISpellAbility { // ////////////////////////////////////// @Override public void resolve() { - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); if (!(regtrig instanceof TriggerAlways)) { // State triggers don't have "Intervening If" diff --git a/src/main/java/forge/control/FControl.java b/src/main/java/forge/control/FControl.java index 3fd7884e98b..3242ea0f9b6 100644 --- a/src/main/java/forge/control/FControl.java +++ b/src/main/java/forge/control/FControl.java @@ -38,7 +38,7 @@ import forge.Constant.Preferences; import forge.Singletons; import forge.control.KeyboardShortcuts.Shortcut; import forge.control.input.InputQueue; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.AiProfileUtil; import forge.game.player.LobbyPlayer; import forge.game.player.Player; @@ -347,8 +347,8 @@ public enum FControl { return server; } - private GameState game; - public GameState getObservedGame() { + private Game game; + public Game getObservedGame() { return game; } @@ -359,7 +359,7 @@ public enum FControl { private final FControlGameEventHandler fcVisitor = new FControlGameEventHandler(this); - public void attachToGame(GameState game0) { + public void attachToGame(Game game0) { // TODO: Detach from other game we might be looking at inputQueue = new InputQueue(); diff --git a/src/main/java/forge/control/input/InputAttack.java b/src/main/java/forge/control/input/InputAttack.java index be48ae016b4..7df21fe27e6 100644 --- a/src/main/java/forge/control/input/InputAttack.java +++ b/src/main/java/forge/control/input/InputAttack.java @@ -26,7 +26,7 @@ import com.google.common.collect.Iterables; import forge.Card; import forge.CardPredicates; import forge.GameEntity; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.CombatUtil; import forge.game.player.Player; import forge.game.zone.Zone; @@ -47,7 +47,7 @@ public class InputAttack extends InputSyncronizedBase { private static final long serialVersionUID = 7849903731842214245L; - private final GameState game; + private final Game game; private List defenders; private GameEntity currentDefender; private final Player player; diff --git a/src/main/java/forge/control/input/InputConfirmMulligan.java b/src/main/java/forge/control/input/InputConfirmMulligan.java index c5d96e43dab..d3e84dc36af 100644 --- a/src/main/java/forge/control/input/InputConfirmMulligan.java +++ b/src/main/java/forge/control/input/InputConfirmMulligan.java @@ -21,7 +21,7 @@ import java.util.ArrayList; import java.util.List; import forge.Card; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.gui.GuiDialog; @@ -56,7 +56,7 @@ public class InputConfirmMulligan extends InputSyncronizedBase { /** {@inheritDoc} */ @Override public final void showMessage() { - GameState game = player.getGame(); + Game game = player.getGame(); StringBuilder sb = new StringBuilder(); if( startingPlayer == player ) { diff --git a/src/main/java/forge/control/input/InputPayMana.java b/src/main/java/forge/control/input/InputPayMana.java index cb75b6ff91d..a37a07d9538 100644 --- a/src/main/java/forge/control/input/InputPayMana.java +++ b/src/main/java/forge/control/input/InputPayMana.java @@ -15,7 +15,7 @@ import forge.card.mana.ManaCostBeingPaid; import forge.card.mana.ManaCostShard; import forge.card.spellability.AbilityManaPart; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.HumanPlay; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -33,7 +33,7 @@ public abstract class InputPayMana extends InputSyncronizedBase { protected int phyLifeToLose = 0; protected final Player player; - protected final GameState game; + protected final Game game; protected ManaCostBeingPaid manaCost; protected final SpellAbility saPaidFor; diff --git a/src/main/java/forge/control/input/InputPayManaSimple.java b/src/main/java/forge/control/input/InputPayManaSimple.java index 6e9b33ae649..c66af677e9c 100644 --- a/src/main/java/forge/control/input/InputPayManaSimple.java +++ b/src/main/java/forge/control/input/InputPayManaSimple.java @@ -20,7 +20,7 @@ package forge.control.input; import forge.Card; import forge.card.mana.ManaCostBeingPaid; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.view.ButtonUtil; @@ -36,7 +36,7 @@ public class InputPayManaSimple extends InputPayMana { private final Card originalCard; private final String originalManaCost; - public InputPayManaSimple(final GameState game, final SpellAbility sa, final ManaCostBeingPaid manaCostToPay) { + public InputPayManaSimple(final Game game, final SpellAbility sa, final ManaCostBeingPaid manaCostToPay) { super(sa); this.originalManaCost = manaCostToPay.toString(); // Change this.originalCard = sa.getSourceCard(); diff --git a/src/main/java/forge/control/input/InputQueue.java b/src/main/java/forge/control/input/InputQueue.java index 4b88bf17e2f..09bc9f91f73 100644 --- a/src/main/java/forge/control/input/InputQueue.java +++ b/src/main/java/forge/control/input/InputQueue.java @@ -20,7 +20,7 @@ package forge.control.input; import java.util.concurrent.BlockingDeque; import java.util.concurrent.LinkedBlockingDeque; -import forge.game.GameState; +import forge.game.Game; import forge.util.MyObservable; /** @@ -77,7 +77,7 @@ public class InputQueue extends MyObservable implements java.io.Serializable { * * @return a {@link forge.control.input.InputBase} object. */ - public final Input getActualInput(GameState game) { + public final Input getActualInput(Game game) { Input topMost = inputStack.peek(); // incoming input to Control if (topMost != null && !game.isGameOver() ) return topMost; diff --git a/src/main/java/forge/game/GameState.java b/src/main/java/forge/game/Game.java similarity index 95% rename from src/main/java/forge/game/GameState.java rename to src/main/java/forge/game/Game.java index 5bc78366d2f..8bd3be1efe5 100644 --- a/src/main/java/forge/game/GameState.java +++ b/src/main/java/forge/game/Game.java @@ -56,7 +56,7 @@ import forge.game.zone.ZoneType; /** * Represents the state of a single game, a new instance is created for each game. */ -public class GameState { +public class Game { private final GameType type; private final List roIngamePlayers; private final List allPlayers; @@ -83,7 +83,7 @@ public class GameState { private long timestamp = 0; public final GameAction action; - private final MatchState match; + private final Match match; private GameAge age = GameAge.BeforeMulligan; /** @@ -92,7 +92,7 @@ public class GameState { * @param match0 * @param input */ - public GameState(List players0, GameType t, MatchState match0) { /* no more zones to map here */ + public Game(List players0, GameType t, Match match0) { /* no more zones to map here */ type = t; match = match0; List players = new ArrayList(); @@ -479,7 +479,7 @@ public class GameState { return action; } - public final MatchState getMatch() { + public final Match getMatch() { return match; } diff --git a/src/main/java/forge/game/GameAction.java b/src/main/java/forge/game/GameAction.java index 1cf32d7def4..12a5ea735c5 100644 --- a/src/main/java/forge/game/GameAction.java +++ b/src/main/java/forge/game/GameAction.java @@ -89,9 +89,9 @@ public class GameAction { *

*/ - private final GameState game; + private final Game game; - public GameAction(GameState game0) { + public GameAction(Game game0) { game = game0; } @@ -793,7 +793,7 @@ public class GameAction { * * @return a boolean. */ - private final GameEndReason checkEndGameState(final GameState game) { + private final GameEndReason checkEndGameState(final Game game) { GameEndReason reason = null; // award loses as SBE @@ -894,7 +894,7 @@ public class GameAction { // card state effects like Glorious Anthem for (final String effect : game.getStaticEffects().getStateBasedMap().keySet()) { - final Function com = GameActionUtil.getCommands().get(effect); + final Function com = GameActionUtil.getCommands().get(effect); com.apply(game); } diff --git a/src/main/java/forge/game/GameActionUtil.java b/src/main/java/forge/game/GameActionUtil.java index 5643325e270..219cadf2ede 100644 --- a/src/main/java/forge/game/GameActionUtil.java +++ b/src/main/java/forge/game/GameActionUtil.java @@ -93,7 +93,7 @@ public final class GameActionUtil { @Override public void resolve() { - final GameState game =controller.getGame(); + final Game game =controller.getGame(); final List topOfLibrary = controller.getCardsIn(ZoneType.Library); final List revealed = new ArrayList(); @@ -133,7 +133,7 @@ public final class GameActionUtil { private static final class CascadeExecutor implements Command { private final Card c; - private final GameState game; + private final Game game; private final Player controller; private static final long serialVersionUID = -845154812215847505L; @@ -143,7 +143,7 @@ public final class GameActionUtil { * @param controller * @param c */ - private CascadeExecutor(Player controller, Card c, final GameState game) { + private CascadeExecutor(Player controller, Card c, final Game game) { this.controller = controller; this.c = c; this.game = game; @@ -326,7 +326,7 @@ public final class GameActionUtil { public static void executePlayCardEffects(final SpellAbility sa) { // (called from MagicStack.java) - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final Command cascade = new CascadeExecutor(sa.getActivatingPlayer(), sa.getSourceCard(), game); cascade.run(); final Command ripple = new RippleExecutor(sa.getActivatingPlayer(), sa.getSourceCard()); @@ -481,7 +481,7 @@ public final class GameActionUtil { private static void playerCombatDamageScalpelexis(final Card c) { final Player player = c.getController(); final Player opponent = player.getOpponent(); - final GameState game = player.getGame(); + final Game game = player.getGame(); if (c.getNetAttack() > 0) { final Ability ability = new Ability(c, ManaCost.ZERO) { @@ -553,9 +553,9 @@ public final class GameActionUtil { } /** stores the Command. */ - private static Function umbraStalker = new Function() { + private static Function umbraStalker = new Function() { @Override - public Object apply(GameState game) { + public Object apply(Game game) { // get all creatures final List cards = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), CardPredicates.nameEquals("Umbra Stalker")); for (final Card c : cards) { @@ -570,10 +570,10 @@ public final class GameActionUtil { }; /** Constant oldManOfTheSea. */ - private static Function oldManOfTheSea = new Function() { + private static Function oldManOfTheSea = new Function() { @Override - public Object apply(GameState game) { + public Object apply(Game game) { final List list = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), CardPredicates.nameEquals("Old Man of the Sea")); for (final Card oldman : list) { if (!oldman.getGainControlTargets().isEmpty()) { @@ -590,10 +590,10 @@ public final class GameActionUtil { }; // Old Man of the Sea /** Constant liuBei. */ - private static Function liuBei = new Function() { + private static Function liuBei = new Function() { @Override - public Object apply(GameState game) { + public Object apply(Game game) { final List list = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), CardPredicates.nameEquals("Liu Bei, Lord of Shu")); if (list.size() > 0) { @@ -626,7 +626,7 @@ public final class GameActionUtil { }; // Liu_Bei /** Constant commands. */ - private final static HashMap> commands = new HashMap>(); + private final static HashMap> commands = new HashMap>(); static { // Please add cards in alphabetical order so they are easier to find @@ -643,7 +643,7 @@ public final class GameActionUtil { * * @return the commands */ - public static Map> getCommands() { + public static Map> getCommands() { return GameActionUtil.commands; } @@ -653,7 +653,7 @@ public final class GameActionUtil { * * @return the stLandManaAbilities */ - public static void grantBasicLandsManaAbilities(GameState game) { + public static void grantBasicLandsManaAbilities(Game game) { /* * for future use boolean naked = * AllZoneUtil.isCardInPlay("Naked Singularity"); boolean twist = diff --git a/src/main/java/forge/game/GameNew.java b/src/main/java/forge/game/GameNew.java index 64dd4cfef6f..8618913897c 100644 --- a/src/main/java/forge/game/GameNew.java +++ b/src/main/java/forge/game/GameNew.java @@ -219,7 +219,7 @@ public class GameNew { * their decks and other special starting conditions. * @param forceAnte Forces ante on or off no matter what your preferences */ - public static void newGame(final GameState game, final boolean canRandomFoil, boolean useAnte) { + public static void newGame(final Game game, final boolean canRandomFoil, boolean useAnte) { Card.resetUniqueNumber(); // need this code here, otherwise observables fail @@ -304,7 +304,7 @@ public class GameNew { } } - static List> chooseCardsForAnte(final GameState game) { + static List> chooseCardsForAnte(final Game game) { List> anteed = new ArrayList>(); for (final Player p : game.getPlayers()) { diff --git a/src/main/java/forge/game/MatchState.java b/src/main/java/forge/game/Match.java similarity index 90% rename from src/main/java/forge/game/MatchState.java rename to src/main/java/forge/game/Match.java index 1b215fbc64f..b27cfc194ce 100644 --- a/src/main/java/forge/game/MatchState.java +++ b/src/main/java/forge/game/Match.java @@ -21,7 +21,7 @@ import forge.util.Aggregates; * */ -public class MatchState { +public class Match { private final List players; private final GameType gameType; @@ -31,7 +31,7 @@ public class MatchState { private boolean useAnte = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ANTE); - private GameState currentGame = null; + private Game currentGame = null; private final List gamesPlayed = new ArrayList(); private final List gamesPlayedRo; @@ -39,13 +39,13 @@ public class MatchState { /** * This should become constructor once. */ - public MatchState(GameType type, List players0) { + public Match(GameType type, List players0) { gamesPlayedRo = Collections.unmodifiableList(gamesPlayed); players = Collections.unmodifiableList(Lists.newArrayList(players0)); gameType = type; } - public MatchState(GameType type, List players0, Boolean overrideAnte) { + public Match(GameType type, List players0, Boolean overrideAnte) { this(type, players0); if( overrideAnte != null ) this.useAnte = overrideAnte.booleanValue(); @@ -83,7 +83,7 @@ public class MatchState { */ public void startRound() { - currentGame = new GameState(players, gameType, this); + currentGame = new Game(players, gameType, this); Singletons.getControl().attachToGame(currentGame); @@ -136,7 +136,7 @@ public class MatchState { return gamesPlayedRo; } - public GameState getCurrentGame() { + public Game getCurrentGame() { return currentGame; } @@ -206,7 +206,7 @@ public class MatchState { } - private Player determineFirstTurnPlayer(final GameOutcome lastGameOutcome, final GameState game) { + private Player determineFirstTurnPlayer(final GameOutcome lastGameOutcome, final Game game) { // Only cut/coin toss if it's the first game of the match Player goesFirst = null; diff --git a/src/main/java/forge/game/ai/AiAttackController.java b/src/main/java/forge/game/ai/AiAttackController.java index 62a38a06cd1..0489b682e3d 100644 --- a/src/main/java/forge/game/ai/AiAttackController.java +++ b/src/main/java/forge/game/ai/AiAttackController.java @@ -29,7 +29,7 @@ import forge.CounterType; import forge.GameEntity; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerType; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.Combat; import forge.game.phase.CombatUtil; import forge.game.player.Player; @@ -481,7 +481,7 @@ public class AiAttackController { // randomInt is used so that the computer doesn't always // do the same thing on turn 3 if he had the same creatures in play // I know this is a little confusing - GameState game = ai.getGame(); + Game game = ai.getGame(); this.random.setSeed(game.getPhaseHandler().getTurn() + this.randomInt); diff --git a/src/main/java/forge/game/ai/AiController.java b/src/main/java/forge/game/ai/AiController.java index 178419b5a2b..542ecbe115c 100644 --- a/src/main/java/forge/game/ai/AiController.java +++ b/src/main/java/forge/game/ai/AiController.java @@ -44,7 +44,7 @@ import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellPermanent; import forge.game.GameActionUtil; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.CombatUtil; import forge.game.phase.PhaseType; import forge.game.player.Player; @@ -65,8 +65,8 @@ import forge.util.MyRandom; public class AiController { private final Player player; - private final GameState game; - public GameState getGame() + private final Game game; + public Game getGame() { return game; } @@ -81,7 +81,7 @@ public class AiController { * Constructor for ComputerAI_General. *

*/ - public AiController(final Player computerPlayer, final GameState game0) { + public AiController(final Player computerPlayer, final Game game0) { player = computerPlayer; game = game0; } @@ -871,7 +871,7 @@ public class AiController { } } - private void playSpellAbilities(final GameState game) + private void playSpellAbilities(final Game game) { SpellAbility sa; do { diff --git a/src/main/java/forge/game/ai/ComputerUtil.java b/src/main/java/forge/game/ai/ComputerUtil.java index d40956eb97b..26d152da238 100644 --- a/src/main/java/forge/game/ai/ComputerUtil.java +++ b/src/main/java/forge/game/ai/ComputerUtil.java @@ -49,7 +49,7 @@ import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbilityStackInstance; import forge.card.spellability.Target; import forge.error.BugReporter; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.Combat; import forge.game.phase.CombatUtil; import forge.game.phase.PhaseHandler; @@ -81,7 +81,7 @@ public class ComputerUtil { * a {@link forge.card.spellability.SpellAbility} object. * @return a boolean. */ - public static boolean handlePlayingSpellAbility(final Player ai, final SpellAbility sa, final GameState game) { + public static boolean handlePlayingSpellAbility(final Player ai, final SpellAbility sa, final Game game) { if (sa instanceof AbilityStatic) { final Cost cost = sa.getPayCosts(); @@ -225,7 +225,7 @@ public class ComputerUtil { * @param sa * a {@link forge.card.spellability.SpellAbility} object. */ - public static final void playStack(final SpellAbility sa, final Player ai, final GameState game) { + public static final void playStack(final SpellAbility sa, final Player ai, final Game game) { sa.setActivatingPlayer(ai); if (!ComputerUtilCost.canPayCost(sa, ai)) return; @@ -273,7 +273,7 @@ public class ComputerUtil { * @param sa * a {@link forge.card.spellability.SpellAbility} object. */ - public static final void playSpellAbilityWithoutPayingManaCost(final Player ai, final SpellAbility sa, final GameState game) { + public static final void playSpellAbilityWithoutPayingManaCost(final Player ai, final SpellAbility sa, final Game game) { final SpellAbility newSA = sa.copyWithNoManaCost(); newSA.setActivatingPlayer(ai); @@ -300,7 +300,7 @@ public class ComputerUtil { * @param sa * a {@link forge.card.spellability.SpellAbility} object. */ - public static final void playNoStack(final Player ai, final SpellAbility sa, final GameState game) { + public static final void playNoStack(final Player ai, final SpellAbility sa, final Game game) { sa.setActivatingPlayer(ai); // TODO: We should really restrict what doesn't use the Stack if (ComputerUtilCost.canPayCost(sa, ai)) { @@ -465,7 +465,7 @@ public class ComputerUtil { */ public static List chooseExileFrom(final Player ai, final ZoneType zone, final String type, final Card activate, final Card target, final int amount) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); List typeList = new ArrayList(); if (zone.equals(ZoneType.Stack)) { for (SpellAbilityStackInstance si : game.getStack()) { @@ -725,7 +725,7 @@ public class ComputerUtil { } final Player controller = card.getController(); - final GameState game = controller.getGame(); + final Game game = controller.getGame(); final List l = controller.getCardsIn(ZoneType.Battlefield); for (final Card c : l) { for (final SpellAbility sa : c.getSpellAbilities()) { @@ -788,7 +788,7 @@ public class ComputerUtil { int prevented = 0; final Player controller = card.getController(); - final GameState game = controller.getGame(); + final Game game = controller.getGame(); final List l = controller.getCardsIn(ZoneType.Battlefield); for (final Card c : l) { @@ -955,7 +955,7 @@ public class ComputerUtil { return true; } - final GameState game = ai.getGame(); + final Game game = ai.getGame(); final List landsInPlay = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield), CardPredicates.Presets.LANDS); final List landsInHand = CardLists.filter(ai.getCardsIn(ZoneType.Hand), CardPredicates.Presets.LANDS); final List nonLandsInHand = CardLists.getNotType(ai.getCardsIn(ZoneType.Hand), "Land"); @@ -999,7 +999,7 @@ public class ComputerUtil { * @return a boolean (returns true if it's better to wait until blockers are declared). */ public static boolean waitForBlocking(final SpellAbility sa) { - final GameState game = sa.getActivatingPlayer().getGame(); + final Game game = sa.getActivatingPlayer().getGame(); final PhaseHandler ph = game.getPhaseHandler(); return (sa.getSourceCard().isCreature() @@ -1155,7 +1155,7 @@ public class ComputerUtil { * @since 1.0.15 */ public static ArrayList predictThreatenedObjects(final Player aiPlayer, final SpellAbility sa) { - final GameState game = aiPlayer.getGame(); + final Game game = aiPlayer.getGame(); final ArrayList objects = new ArrayList(); if (game.getStack().isEmpty()) { return objects; @@ -1479,7 +1479,7 @@ public class ComputerUtil { } public static String chooseSomeType(Player ai, String kindOfType, String logic, List invalidTypes) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); String chosen = ""; if( kindOfType.equals("Card")) { // TODO diff --git a/src/main/java/forge/game/ai/ComputerUtilCombat.java b/src/main/java/forge/game/ai/ComputerUtilCombat.java index 855712d0c35..e51401a1cb5 100644 --- a/src/main/java/forge/game/ai/ComputerUtilCombat.java +++ b/src/main/java/forge/game/ai/ComputerUtilCombat.java @@ -40,7 +40,7 @@ import forge.card.staticability.StaticAbility; import forge.card.trigger.Trigger; import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerType; -import forge.game.GameState; +import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.phase.Combat; import forge.game.phase.CombatUtil; @@ -417,7 +417,7 @@ public class ComputerUtilCombat { */ public static int dealsDamageAsBlocker(final Card attacker, final Card defender) { - final GameState game = attacker.getGame(); + final Game game = attacker.getGame(); if (attacker.getName().equals("Sylvan Basilisk") && !defender.hasKeyword("Indestructible")) { return 0; } @@ -550,7 +550,7 @@ public class ComputerUtilCombat { * @return a boolean. */ public static boolean attackerWouldBeDestroyed(Player ai, final Card attacker) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); final List blockers = game.getCombat().getBlockers(attacker); for (final Card defender : blockers) { @@ -581,7 +581,7 @@ public class ComputerUtilCombat { */ public static boolean combatTriggerWillTrigger(final Card attacker, final Card defender, final Trigger trigger, Combat combat) { - final GameState game = attacker.getGame(); + final Game game = attacker.getGame(); final HashMap trigParams = trigger.getMapParams(); boolean willTrigger = false; final Card source = trigger.getHostCard(); @@ -703,7 +703,7 @@ public class ComputerUtilCombat { power += defender.getKeywordMagnitude("Bushido"); - final GameState game = attacker.getGame(); + final Game game = attacker.getGame(); // look out for continuous static abilities that only care for blocking // creatures final List cardList = game.getCardsIn(ZoneType.Battlefield); @@ -831,7 +831,7 @@ public class ComputerUtilCombat { } toughness += defender.getKeywordMagnitude("Bushido"); - final GameState game = attacker.getGame(); + final Game game = attacker.getGame(); final ArrayList theTriggers = new ArrayList(); for (Card card : game.getCardsIn(ZoneType.Battlefield)) { theTriggers.addAll(card.getTriggers()); @@ -953,7 +953,7 @@ public class ComputerUtilCombat { } } - final GameState game = attacker.getGame(); + final Game game = attacker.getGame(); final ArrayList theTriggers = new ArrayList(); for (Card card : game.getCardsIn(ZoneType.Battlefield)) { theTriggers.addAll(card.getTriggers()); @@ -1113,7 +1113,7 @@ public class ComputerUtilCombat { } } - final GameState game = attacker.getGame(); + final Game game = attacker.getGame(); final ArrayList theTriggers = new ArrayList(); for (Card card : game.getCardsIn(ZoneType.Battlefield)) { theTriggers.addAll(card.getTriggers()); @@ -1268,7 +1268,7 @@ public class ComputerUtilCombat { * @return a boolean. */ public static boolean checkDestroyBlockerTrigger(final Card attacker, final Card defender) { - final GameState game = attacker.getGame(); + final Game game = attacker.getGame(); final ArrayList theTriggers = new ArrayList(); for (Card card : game.getCardsIn(ZoneType.Battlefield)) { theTriggers.addAll(card.getTriggers()); @@ -1510,7 +1510,7 @@ public class ComputerUtilCombat { * @return a boolean. */ public static boolean blockerWouldBeDestroyed(Player ai, final Card blocker) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); // TODO THis function only checks if a single attacker at a time would destroy a blocker // This needs to expand to tally up damage final List attackers = game.getCombat().getAttackersBlockedBy(blocker); @@ -1543,7 +1543,7 @@ public class ComputerUtilCombat { */ public static boolean canDestroyBlocker(Player ai, final Card defender, final Card attacker, final Combat combat, final boolean withoutAbilities) { - final GameState game = ai.getGame(); + final Game game = ai.getGame(); int flankingMagnitude = 0; if (attacker.hasKeyword("Flanking") && !defender.hasKeyword("Flanking")) { @@ -1851,7 +1851,7 @@ public class ComputerUtilCombat { public final static int predictDamageTo(final Player target, final int damage, final Card source, final boolean isCombat) { - final GameState game = target.getGame(); + final Game game = target.getGame(); int restDamage = damage; restDamage = target.staticReplaceDamage(restDamage, source, isCombat); diff --git a/src/main/java/forge/game/limited/GauntletMini.java b/src/main/java/forge/game/limited/GauntletMini.java index 17d455d2eef..40a513765ae 100644 --- a/src/main/java/forge/game/limited/GauntletMini.java +++ b/src/main/java/forge/game/limited/GauntletMini.java @@ -27,7 +27,7 @@ import forge.Singletons; import forge.control.Lobby; import forge.deck.Deck; import forge.game.GameType; -import forge.game.MatchState; +import forge.game.Match; import forge.game.RegisteredPlayer; import forge.gui.SOverlayUtils; @@ -165,7 +165,7 @@ public class GauntletMini { Lobby lobby = Singletons.getControl().getLobby(); starter.add(RegisteredPlayer.fromDeck(humanDeck).setPlayer(lobby.getGuiPlayer())); starter.add(aiOpponents.get(currentRound - 1).setPlayer(lobby.getAiPlayer())); - final MatchState mc = new MatchState(gauntletType, starter); + final Match mc = new Match(gauntletType, starter); FThreads.invokeInEdtLater(new Runnable(){ @Override public void run() { diff --git a/src/main/java/forge/game/phase/Cleanup.java b/src/main/java/forge/game/phase/Cleanup.java index 45691be2ecd..5cfea5cb1cb 100644 --- a/src/main/java/forge/game/phase/Cleanup.java +++ b/src/main/java/forge/game/phase/Cleanup.java @@ -17,7 +17,7 @@ */ package forge.game.phase; -import forge.game.GameState; +import forge.game.Game; /** *

@@ -32,6 +32,6 @@ public class Cleanup extends Phase { /** Constant serialVersionUID=-6993476643509826990L. */ private static final long serialVersionUID = -6993476643509826990L; - public Cleanup(final GameState game) { super(game); } + public Cleanup(final Game game) { super(game); } } // end class Cleanup diff --git a/src/main/java/forge/game/phase/CombatUtil.java b/src/main/java/forge/game/phase/CombatUtil.java index 12e908d02c7..3efad5c9ea4 100644 --- a/src/main/java/forge/game/phase/CombatUtil.java +++ b/src/main/java/forge/game/phase/CombatUtil.java @@ -46,7 +46,7 @@ import forge.card.spellability.Ability; import forge.card.spellability.AbilityStatic; import forge.card.staticability.StaticAbility; import forge.card.trigger.TriggerType; -import forge.game.GameState; +import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCard; @@ -96,7 +96,7 @@ public class CombatUtil { if (!CombatUtil.canBlockMoreCreatures(blocker, combat.getAttackersBlockedBy(blocker))) { return false; } - final GameState game = blocker.getGame(); + final Game game = blocker.getGame(); for (final Card c : game.getCardsIn(ZoneType.Battlefield)) { for (final String keyword : c.getKeyword()) { @@ -767,7 +767,7 @@ public class CombatUtil { */ public static boolean canAttack(final Card c, final GameEntity def, final Combat combat) { int cntAttackers = combat.getAttackers().size(); - final GameState game = c.getGame(); + final Game game = c.getGame(); for (final Card card : game.getCardsIn(ZoneType.Battlefield)) { for (final String keyword : card.getKeyword()) { @@ -821,7 +821,7 @@ public class CombatUtil { } public static boolean canAttack(final Card c) { - final GameState game = c.getGame(); + final Game game = c.getGame(); if (c.isTapped() || c.isPhasedOut() || (c.hasSickness() && !c.hasKeyword("CARDNAME can attack as though it had haste.")) || game.getPhaseHandler().getPhase().isAfter(PhaseType.COMBAT_DECLARE_ATTACKERS)) { @@ -947,7 +947,7 @@ public class CombatUtil { if (c.isTapped() && !Untap.canUntap(c)) { return false; } - final GameState game = c.getGame(); + final Game game = c.getGame(); // CantBeActivated static abilities for (final Card ca : game.getCardsIn(ZoneType.listValueOf("Battlefield,Command"))) { final ArrayList staticAbilities = ca.getStaticAbilities(); @@ -985,7 +985,7 @@ public class CombatUtil { * @param bLast * a boolean. */ - public static boolean checkPropagandaEffects(final GameState game, final Card c) { + public static boolean checkPropagandaEffects(final Game game, final Card c) { Cost attackCost = new Cost(ManaCost.ZERO, true); // Sort abilities to apply them in proper order for (Card card : game.getCardsIn(ZoneType.listValueOf("Battlefield,Command"))) { @@ -1024,7 +1024,7 @@ public class CombatUtil { * @param c * a {@link forge.Card} object. */ - public static void checkDeclareAttackers(final GameState game, final Card c) { + public static void checkDeclareAttackers(final Game game, final Card c) { // Run triggers final HashMap runParams = new HashMap(); runParams.put("Attacker", c); @@ -1142,7 +1142,7 @@ public class CombatUtil { * @param cl * a {@link forge.CardList} object. */ - public static void checkDeclareBlockers(GameState game, final List cl) { + public static void checkDeclareBlockers(Game game, final List cl) { for (final Card c : cl) { if (!c.getDamageHistory().getCreatureBlockedThisCombat()) { for (final Ability ab : CardFactoryUtil.getBushidoEffects(c)) { @@ -1172,7 +1172,7 @@ public class CombatUtil { * @param b * a {@link forge.Card} object. */ - public static void checkBlockedAttackers(final GameState game, final Card a, final List blockers) { + public static void checkBlockedAttackers(final Game game, final Card a, final List blockers) { if (blockers.isEmpty()) { return; @@ -1274,7 +1274,7 @@ public class CombatUtil { * @param magnitude * a int. */ - public static void executeExaltedAbility(final GameState game, final Card c, final int magnitude) { + public static void executeExaltedAbility(final Game game, final Card c, final int magnitude) { final Card crd = c; Ability ability; @@ -1382,7 +1382,7 @@ public class CombatUtil { * @param numBlockers * - the number of creatures blocking this rampaging creature */ - private static void executeRampageAbility(final GameState game, final Card c, final int magnitude, final int numBlockers) { + private static void executeRampageAbility(final Game game, final Card c, final int magnitude, final int numBlockers) { final Card crd = c; final int pump = magnitude; Ability ability; diff --git a/src/main/java/forge/game/phase/EndOfCombat.java b/src/main/java/forge/game/phase/EndOfCombat.java index 79ea75e11e4..cb01fe0554d 100644 --- a/src/main/java/forge/game/phase/EndOfCombat.java +++ b/src/main/java/forge/game/phase/EndOfCombat.java @@ -17,7 +17,7 @@ */ package forge.game.phase; -import forge.game.GameState; +import forge.game.Game; /** *

@@ -32,6 +32,6 @@ public class EndOfCombat extends Phase { /** Constant serialVersionUID=3035250030566186842L. */ private static final long serialVersionUID = 3035250030566186842L; - public EndOfCombat(final GameState game) { super(game); } + public EndOfCombat(final Game game) { super(game); } } // end class EndOfCombat diff --git a/src/main/java/forge/game/phase/EndOfTurn.java b/src/main/java/forge/game/phase/EndOfTurn.java index 8cfa3d40ea8..dbf3ed23a9d 100644 --- a/src/main/java/forge/game/phase/EndOfTurn.java +++ b/src/main/java/forge/game/phase/EndOfTurn.java @@ -21,7 +21,7 @@ import forge.Card; import forge.card.mana.ManaCost; import forge.card.spellability.Ability; import forge.card.spellability.SpellAbility; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.GameLossReason; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -39,7 +39,7 @@ public class EndOfTurn extends Phase { /** Constant serialVersionUID=-3656715295379727275L. */ private static final long serialVersionUID = -3656715295379727275L; - public EndOfTurn(final GameState game) { super(game); } + public EndOfTurn(final Game game) { super(game); } /** *

* Handles all the hardcoded events that happen "at end of turn". diff --git a/src/main/java/forge/game/phase/Phase.java b/src/main/java/forge/game/phase/Phase.java index 95737306f11..df31a8223e5 100644 --- a/src/main/java/forge/game/phase/Phase.java +++ b/src/main/java/forge/game/phase/Phase.java @@ -24,7 +24,7 @@ import java.util.List; import com.google.common.collect.Lists; import forge.Command; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; @@ -40,9 +40,9 @@ public abstract class Phase implements java.io.Serializable { private static final long serialVersionUID = 4665309652476851977L; - protected final GameState game; + protected final Game game; - public Phase(final GameState game0) { + public Phase(final Game game0) { game = game0; } diff --git a/src/main/java/forge/game/phase/PhaseHandler.java b/src/main/java/forge/game/phase/PhaseHandler.java index 3c63f8dd31e..145df1c19d7 100644 --- a/src/main/java/forge/game/phase/PhaseHandler.java +++ b/src/main/java/forge/game/phase/PhaseHandler.java @@ -31,7 +31,7 @@ import forge.Singletons; import forge.CardPredicates.Presets; import forge.card.trigger.TriggerType; import forge.game.GameAge; -import forge.game.GameState; +import forge.game.Game; import forge.game.GameType; import forge.game.event.GameEventEndOfTurn; import forge.game.event.GameEventGameRestarted; @@ -84,9 +84,9 @@ public class PhaseHandler extends MyObservable implements java.io.Serializable { /** The need to next phase. */ private boolean givePriorityToPlayer = false; - private final transient GameState game; + private final transient Game game; - public PhaseHandler(final GameState game0) { + public PhaseHandler(final Game game0) { game = game0; } diff --git a/src/main/java/forge/game/phase/PhaseUtil.java b/src/main/java/forge/game/phase/PhaseUtil.java index 9798c6a2098..108c6655428 100644 --- a/src/main/java/forge/game/phase/PhaseUtil.java +++ b/src/main/java/forge/game/phase/PhaseUtil.java @@ -31,7 +31,7 @@ import forge.card.spellability.Ability; import forge.card.spellability.AbilityStatic; import forge.card.staticability.StaticAbility; import forge.card.trigger.TriggerType; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCost; import forge.game.player.HumanPlay; @@ -81,7 +81,7 @@ public class PhaseUtil { * handleDeclareAttackers. *

*/ - public static void handleDeclareAttackers(final GameState game) { + public static void handleDeclareAttackers(final Game game) { final Combat combat = game.getCombat(); combat.verifyCreaturesInPlay(); @@ -119,7 +119,7 @@ public class PhaseUtil { *

* @param game */ - public static void handleAttackingTriggers(GameState game) { + public static void handleAttackingTriggers(Game game) { final List list = game.getCombat().getAttackers(); game.getStack().freezeStack(); // Then run other Attacker bonuses @@ -158,7 +158,7 @@ public class PhaseUtil { * * @param game */ - public static void handleDeclareBlockers(GameState game) { + public static void handleDeclareBlockers(Game game) { final Combat combat = game.getCombat(); combat.verifyCreaturesInPlay(); diff --git a/src/main/java/forge/game/phase/Untap.java b/src/main/java/forge/game/phase/Untap.java index 220ff63a888..a62dc5a5d25 100644 --- a/src/main/java/forge/game/phase/Untap.java +++ b/src/main/java/forge/game/phase/Untap.java @@ -32,7 +32,7 @@ import forge.CounterType; import forge.GameEntity; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtilCard; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -51,7 +51,7 @@ import forge.gui.GuiDialog; public class Untap extends Phase { private static final long serialVersionUID = 4515266331266259123L; - public Untap(final GameState game0) { + public Untap(final Game game0) { super(game0); } diff --git a/src/main/java/forge/game/phase/Upkeep.java b/src/main/java/forge/game/phase/Upkeep.java index f50256ad019..59cee163c5f 100644 --- a/src/main/java/forge/game/phase/Upkeep.java +++ b/src/main/java/forge/game/phase/Upkeep.java @@ -40,7 +40,7 @@ import forge.card.spellability.SpellAbility; import forge.control.input.InputPayManaExecuteCommands; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCombat; @@ -67,7 +67,7 @@ import forge.gui.GuiDialog; public class Upkeep extends Phase { private static final long serialVersionUID = 6906459482978819354L; - public Upkeep(final GameState game) { super(game); } + public Upkeep(final Game game) { super(game); } /** *

@@ -110,7 +110,7 @@ public class Upkeep extends Phase { * upkeepBraidOfFire. *

*/ - private static void upkeepBraidOfFire(final GameState game) { + private static void upkeepBraidOfFire(final Game game) { final Player player = game.getPhaseHandler().getPlayerTurn(); final List braids = player.getCardsIn(ZoneType.Battlefield, "Braid of Fire"); @@ -153,7 +153,7 @@ public class Upkeep extends Phase { * upkeepEcho. *

*/ - private static void upkeepEcho(final GameState game) { + private static void upkeepEcho(final Game game) { List list = game.getPhaseHandler().getPlayerTurn().getCardsIn(ZoneType.Battlefield); list = CardLists.filter(list, new Predicate() { @Override @@ -206,7 +206,7 @@ public class Upkeep extends Phase { * upkeepUpkeepCost. *

*/ - private static void upkeepUpkeepCost(final GameState game) { + private static void upkeepUpkeepCost(final Game game) { final List list = game.getPhaseHandler().getPlayerTurn().getCardsIn(ZoneType.Battlefield); @@ -362,7 +362,7 @@ public class Upkeep extends Phase { * upkeepTheAbyss. *

*/ - private static void upkeepTheAbyss(final GameState game) { + private static void upkeepTheAbyss(final Game game) { /* * At the beginning of each player's upkeep, destroy target nonartifact * creature that player controls of his or her choice. It can't be @@ -428,7 +428,7 @@ public class Upkeep extends Phase { * upkeepDropOfHoney. *

*/ - private static void upkeepDropOfHoney(final GameState game) { + private static void upkeepDropOfHoney(final Game game) { /* * At the beginning of your upkeep, destroy the creature with the least * power. It can't be regenerated. If two or more creatures are tied for @@ -590,7 +590,7 @@ public class Upkeep extends Phase { * upkeepVanishing. *

*/ - private static void upkeepVanishing(final GameState game) { + private static void upkeepVanishing(final Game game) { final Player player = game.getPhaseHandler().getPlayerTurn(); List list = player.getCardsIn(ZoneType.Battlefield); @@ -628,7 +628,7 @@ public class Upkeep extends Phase { * upkeepFading. *

*/ - private static void upkeepFading(final GameState game) { + private static void upkeepFading(final Game game) { final Player player = game.getPhaseHandler().getPlayerTurn(); List list = player.getCardsIn(ZoneType.Battlefield); @@ -671,7 +671,7 @@ public class Upkeep extends Phase { * upkeepOathOfDruids. *

*/ - private static void upkeepOathOfDruids(final GameState game) { + private static void upkeepOathOfDruids(final Game game) { final List oathList = CardLists.filter(game .getCardsIn(ZoneType.Battlefield), CardPredicates.nameEquals("Oath of Druids")); if (oathList.isEmpty()) { @@ -680,7 +680,7 @@ public class Upkeep extends Phase { final Player player = game.getPhaseHandler().getPlayerTurn(); - if (GameState.compareTypeAmountInPlay(player, "Creature") < 0) { + if (Game.compareTypeAmountInPlay(player, "Creature") < 0) { for (int i = 0; i < oathList.size(); i++) { final Card oath = oathList.get(i); final Ability ability = new Ability(oath, ManaCost.ZERO) { @@ -690,7 +690,7 @@ public class Upkeep extends Phase { final PlayerZone battlefield = player.getZone(ZoneType.Battlefield); boolean oathFlag = true; - if (GameState.compareTypeAmountInPlay(player, "Creature") < 0) { + if (Game.compareTypeAmountInPlay(player, "Creature") < 0) { if (player.isHuman()) { final StringBuilder question = new StringBuilder(); question.append("Reveal cards from the top of your library and place "); @@ -753,7 +753,7 @@ public class Upkeep extends Phase { * upkeepOathOfGhouls. *

*/ - private static void upkeepOathOfGhouls(final GameState game) { + private static void upkeepOathOfGhouls(final Game game) { final List oathList = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), CardPredicates.nameEquals("Oath of Ghouls")); if (oathList.isEmpty()) { return; @@ -761,14 +761,14 @@ public class Upkeep extends Phase { final Player player = game.getPhaseHandler().getPlayerTurn(); - if (GameState.compareTypeAmountInGraveyard(player, "Creature") > 0) { + if (Game.compareTypeAmountInGraveyard(player, "Creature") > 0) { for (int i = 0; i < oathList.size(); i++) { final Ability ability = new Ability(oathList.get(0), ManaCost.ZERO) { @Override public void resolve() { final List graveyardCreatures = CardLists.filter(player.getCardsIn(ZoneType.Graveyard), CardPredicates.Presets.CREATURES); - if (GameState.compareTypeAmountInGraveyard(player, "Creature") > 0) { + if (Game.compareTypeAmountInGraveyard(player, "Creature") > 0) { Card card = null; if (player.isHuman()) { card = GuiChoose.oneOrNone("Pick a creature to return to hand", graveyardCreatures); @@ -799,7 +799,7 @@ public class Upkeep extends Phase { * upkeepPowerSurge. *

*/ - private static void upkeepPowerSurge(final GameState game) { + private static void upkeepPowerSurge(final Game game) { /* * At the beginning of each player's upkeep, Power Surge deals X damage * to that player, where X is the number of untapped lands he or she @@ -835,7 +835,7 @@ public class Upkeep extends Phase { * upkeepTangleWire. *

*/ - private static void upkeepTangleWire(final GameState game) { + private static void upkeepTangleWire(final Game game) { final Player player = game.getPhaseHandler().getPlayerTurn(); final List wires = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), CardPredicates.nameEquals("Tangle Wire")); @@ -901,7 +901,7 @@ public class Upkeep extends Phase { * upkeepBlazeCounters. *

*/ - private static void upkeepBlazeCounters(final GameState game) { + private static void upkeepBlazeCounters(final Game game) { final Player player = game.getPhaseHandler().getPlayerTurn(); List blaze = player.getCardsIn(ZoneType.Battlefield); diff --git a/src/main/java/forge/game/player/HumanPlay.java b/src/main/java/forge/game/player/HumanPlay.java index 8bd4ce4769a..86582f46724 100644 --- a/src/main/java/forge/game/player/HumanPlay.java +++ b/src/main/java/forge/game/player/HumanPlay.java @@ -45,7 +45,7 @@ import forge.control.input.InputPayManaSimple; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; import forge.game.GameActionUtil; -import forge.game.GameState; +import forge.game.Game; import forge.game.zone.ZoneType; import forge.gui.GuiChoose; import forge.gui.GuiDialog; @@ -191,7 +191,7 @@ public class HumanPlay { * @param sa * a {@link forge.card.spellability.SpellAbility} object. */ - public static final void playSaWithoutPayingManaCost(final GameState game, final SpellAbility sa) { + public static final void playSaWithoutPayingManaCost(final Game game, final SpellAbility sa) { FThreads.assertExecutedByEdt(false); final Card source = sa.getSourceCard(); @@ -280,7 +280,7 @@ public class HumanPlay { * a {@link forge.Command} object. * @param sourceAbility TODO */ - public static boolean payCostDuringAbilityResolve(final SpellAbility ability, final Cost cost, SpellAbility sourceAbility, final GameState game) { + public static boolean payCostDuringAbilityResolve(final SpellAbility ability, final Cost cost, SpellAbility sourceAbility, final Game game) { // Only human player pays this way final Player p = ability.getActivatingPlayer(); diff --git a/src/main/java/forge/game/player/LobbyPlayer.java b/src/main/java/forge/game/player/LobbyPlayer.java index 81f5609bd58..ddf017de60c 100644 --- a/src/main/java/forge/game/player/LobbyPlayer.java +++ b/src/main/java/forge/game/player/LobbyPlayer.java @@ -1,6 +1,6 @@ package forge.game.player; -import forge.game.GameState; +import forge.game.Game; /** * This means a player's part unchanged for all games. @@ -76,7 +76,7 @@ public abstract class LobbyPlayer implements IHasIcon { this.avatarIndex = avatarIndex; } - public abstract Player getPlayer(GameState gameState); // factory method to create player + public abstract Player getPlayer(Game gameState); // factory method to create player public abstract PlayerController createControllerFor(Player p); public abstract void hear(LobbyPlayer player, String message); diff --git a/src/main/java/forge/game/player/LobbyPlayerAi.java b/src/main/java/forge/game/player/LobbyPlayerAi.java index 7f7184a2382..a7e9f5033c7 100644 --- a/src/main/java/forge/game/player/LobbyPlayerAi.java +++ b/src/main/java/forge/game/player/LobbyPlayerAi.java @@ -1,7 +1,7 @@ package forge.game.player; import forge.Singletons; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.AiProfileUtil; import forge.properties.ForgePreferences.FPref; @@ -31,7 +31,7 @@ public class LobbyPlayerAi extends LobbyPlayer { } @Override - public Player getPlayer(GameState game) { + public Player getPlayer(Game game) { Player ai = new Player(getName(), game); ai.setFirstController(createControllerFor(ai)); diff --git a/src/main/java/forge/game/player/LobbyPlayerHuman.java b/src/main/java/forge/game/player/LobbyPlayerHuman.java index 468450f3ed9..a79ef8eb74e 100644 --- a/src/main/java/forge/game/player/LobbyPlayerHuman.java +++ b/src/main/java/forge/game/player/LobbyPlayerHuman.java @@ -1,6 +1,6 @@ package forge.game.player; -import forge.game.GameState; +import forge.game.Game; import forge.gui.FNetOverlay; public class LobbyPlayerHuman extends LobbyPlayer { @@ -19,7 +19,7 @@ public class LobbyPlayerHuman extends LobbyPlayer { } @Override - public Player getPlayer(GameState game) { + public Player getPlayer(Game game) { Player player = new Player(getName(), game); player.setFirstController(new PlayerControllerHuman(game, player, this)); return player; diff --git a/src/main/java/forge/game/player/LobbyPlayerRemote.java b/src/main/java/forge/game/player/LobbyPlayerRemote.java index 6529879b6bd..ff18e885dce 100644 --- a/src/main/java/forge/game/player/LobbyPlayerRemote.java +++ b/src/main/java/forge/game/player/LobbyPlayerRemote.java @@ -2,7 +2,7 @@ package forge.game.player; import org.apache.commons.lang.NotImplementedException; -import forge.game.GameState; +import forge.game.Game; import forge.net.client.INetClient; import forge.net.protocol.toclient.ChatPacketClt; @@ -24,7 +24,7 @@ public class LobbyPlayerRemote extends LobbyPlayer { * @see forge.game.player.LobbyPlayer#getPlayer(forge.game.GameState) */ @Override - public Player getPlayer(GameState gameState) { + public Player getPlayer(Game gameState) { // Cannot create remote players yet throw new NotImplementedException(); } diff --git a/src/main/java/forge/game/player/Player.java b/src/main/java/forge/game/player/Player.java index da50513dc52..aaf8fbebcd0 100644 --- a/src/main/java/forge/game/player/Player.java +++ b/src/main/java/forge/game/player/Player.java @@ -55,7 +55,7 @@ import forge.card.spellability.Target; import forge.card.staticability.StaticAbility; import forge.card.trigger.TriggerType; import forge.game.GameActionUtil; -import forge.game.GameState; +import forge.game.Game; import forge.game.GlobalRuleChange; import forge.game.event.GameEventCardDiscarded; import forge.game.event.GameEventDrawCard; @@ -172,7 +172,7 @@ public class Player extends GameEntity implements Comparable { ZoneType.Library, ZoneType.Graveyard, ZoneType.Hand, ZoneType.Exile, ZoneType.Command, ZoneType.Ante, ZoneType.Sideboard, ZoneType.PlanarDeck,ZoneType.SchemeDeck)); - protected final GameState game; + protected final Game game; public final PlayerOutcome getOutcome() { return stats.getOutcome(); @@ -190,7 +190,7 @@ public class Player extends GameEntity implements Comparable { * @param myPoisonCounters * a int. */ - public Player(String name, GameState game0) { + public Player(String name, Game game0) { game = game0; for (final ZoneType z : Player.ALL_ZONES) { final PlayerZone toPut = z == ZoneType.Battlefield @@ -219,7 +219,7 @@ public class Player extends GameEntity implements Comparable { } @Override - public GameState getGame() { // I'll probably regret about this + public Game getGame() { // I'll probably regret about this return game; } diff --git a/src/main/java/forge/game/player/PlayerController.java b/src/main/java/forge/game/player/PlayerController.java index 99add61bcf3..469abca9a91 100644 --- a/src/main/java/forge/game/player/PlayerController.java +++ b/src/main/java/forge/game/player/PlayerController.java @@ -14,7 +14,7 @@ import forge.card.replacement.ReplacementEffect; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.deck.Deck; -import forge.game.GameState; +import forge.game.Game; import forge.game.GameType; import forge.game.phase.PhaseType; import forge.game.zone.ZoneType; @@ -27,13 +27,13 @@ import forge.game.zone.ZoneType; */ public abstract class PlayerController { - protected final GameState game; + protected final Game game; private PhaseType autoPassUntil = null; protected final Player player; protected final LobbyPlayer lobbyPlayer; - public PlayerController(GameState game0, Player p, LobbyPlayer lp) { + public PlayerController(Game game0, Player p, LobbyPlayer lp) { game = game0; player = p; lobbyPlayer = lp; diff --git a/src/main/java/forge/game/player/PlayerControllerAi.java b/src/main/java/forge/game/player/PlayerControllerAi.java index 187eb1ad43c..e8ab8307ab8 100644 --- a/src/main/java/forge/game/player/PlayerControllerAi.java +++ b/src/main/java/forge/game/player/PlayerControllerAi.java @@ -20,7 +20,7 @@ import forge.card.spellability.Spell; import forge.card.spellability.SpellAbility; import forge.card.spellability.Target; import forge.deck.Deck; -import forge.game.GameState; +import forge.game.Game; import forge.game.GameType; import forge.game.ai.AiController; import forge.game.ai.ComputerUtil; @@ -38,7 +38,7 @@ import forge.util.Aggregates; public class PlayerControllerAi extends PlayerController { private final AiController brains; - public PlayerControllerAi(GameState game, Player p, LobbyPlayer lp) { + public PlayerControllerAi(Game game, Player p, LobbyPlayer lp) { super(game, p, lp); brains = new AiController(p, game); diff --git a/src/main/java/forge/game/player/PlayerControllerHuman.java b/src/main/java/forge/game/player/PlayerControllerHuman.java index 28043044383..d62c4f3a533 100644 --- a/src/main/java/forge/game/player/PlayerControllerHuman.java +++ b/src/main/java/forge/game/player/PlayerControllerHuman.java @@ -30,7 +30,7 @@ import forge.control.input.InputSynchronized; import forge.deck.CardPool; import forge.deck.Deck; import forge.deck.DeckSection; -import forge.game.GameState; +import forge.game.Game; import forge.game.GameType; import forge.game.phase.PhaseType; import forge.game.zone.ZoneType; @@ -51,7 +51,7 @@ import forge.util.TextUtil; public class PlayerControllerHuman extends PlayerController { - public PlayerControllerHuman(GameState game0, Player p, LobbyPlayer lp) { + public PlayerControllerHuman(Game game0, Player p, LobbyPlayer lp) { super(game0, p, lp); } diff --git a/src/main/java/forge/game/zone/MagicStack.java b/src/main/java/forge/game/zone/MagicStack.java index 9246597dad1..06fa1b36ac5 100644 --- a/src/main/java/forge/game/zone/MagicStack.java +++ b/src/main/java/forge/game/zone/MagicStack.java @@ -54,7 +54,7 @@ import forge.control.input.InputPayManaExecuteCommands; import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCardsFromList; import forge.game.GameActionUtil; -import forge.game.GameState; +import forge.game.Game; import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCost; @@ -86,13 +86,13 @@ public class MagicStack extends MyObservable implements Iterable lastTurnCast = new ArrayList(); private Card curResolvingCard = null; - private final GameState game; + private final Game game; /** * TODO: Write javadoc for Constructor. * @param gameState */ - public MagicStack(GameState gameState) { + public MagicStack(Game gameState) { game = gameState; } diff --git a/src/main/java/forge/game/zone/PlayerZoneBattlefield.java b/src/main/java/forge/game/zone/PlayerZoneBattlefield.java index abbd504abd4..723699fbba7 100644 --- a/src/main/java/forge/game/zone/PlayerZoneBattlefield.java +++ b/src/main/java/forge/game/zone/PlayerZoneBattlefield.java @@ -35,7 +35,7 @@ import forge.card.spellability.SpellAbility; import forge.card.staticability.StaticAbility; import forge.card.trigger.ZCTrigger; import forge.game.GameActionUtil; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; /** @@ -115,7 +115,7 @@ public class PlayerZoneBattlefield extends PlayerZone { } }*/ - final GameState game = c.getGame(); + final Game game = c.getGame(); if (this.trigger) { c.setSickness(true); // summoning sickness c.executeTrigger(ZCTrigger.ENTERFIELD); @@ -214,7 +214,7 @@ public class PlayerZoneBattlefield extends PlayerZone { } }*/ - final GameState game = c.getGame(); + final Game game = c.getGame(); if (this.leavesTrigger) { c.executeTrigger(ZCTrigger.LEAVEFIELD); @@ -227,7 +227,7 @@ public class PlayerZoneBattlefield extends PlayerZone { tempEffect = effect; game.getStaticEffects().removeStateBasedEffect(effect); // this is to make sure cards reset correctly - final Function comm = GameActionUtil.getCommands().get(tempEffect); + final Function comm = GameActionUtil.getCommands().get(tempEffect); comm.apply(game); } } diff --git a/src/main/java/forge/gui/GuiDisplayUtil.java b/src/main/java/forge/gui/GuiDisplayUtil.java index e3345753003..d4e53ad3249 100644 --- a/src/main/java/forge/gui/GuiDisplayUtil.java +++ b/src/main/java/forge/gui/GuiDisplayUtil.java @@ -45,7 +45,7 @@ import forge.card.spellability.AbilityManaPart; import forge.card.spellability.SpellAbility; import forge.card.trigger.TriggerType; import forge.control.input.InputSelectCardsFromList; -import forge.game.GameState; +import forge.game.Game; import forge.game.GameType; import forge.game.PlanarDice; import forge.game.phase.PhaseType; @@ -140,7 +140,7 @@ public final class GuiDisplayUtil { private static void setupGameState(final int humanLife, final int computerLife, final Map humanCardTexts, final Map aiCardTexts, final String tChangePlayer, final String tChangePhase) { - final GameState game = getGame(); + final Game game = getGame(); game.getAction().invoke(new Runnable() { @Override public void run() { @@ -293,7 +293,7 @@ public final class GuiDisplayUtil { * @since 1.0.15 */ public static void devModeTapPerm() { - final GameState game = getGame(); + final Game game = getGame(); game.getAction().invoke(new Runnable() { @Override public void run() { @@ -317,7 +317,7 @@ public final class GuiDisplayUtil { * @since 1.0.15 */ public static void devModeUntapPerm() { - final GameState game = getGame(); + final Game game = getGame(); @@ -410,7 +410,7 @@ public final class GuiDisplayUtil { final Card forgeCard = c.toForgeCard(p); - final GameState game = getGame(); + final Game game = getGame(); if (forgeCard.getType().contains("Land")) { forgeCard.setOwner(p); game.getAction().moveToPlay(forgeCard); @@ -497,7 +497,7 @@ public final class GuiDisplayUtil { } public static void devModePlaneswalkTo() { - final GameState game = getGame(); + final Game game = getGame(); if (game.getMatch().getGameType() != GameType.Planechase) { return; } final Player p = game.getPhaseHandler().getPlayerTurn(); @@ -526,7 +526,7 @@ public final class GuiDisplayUtil { }); } - private static GameState getGame() { + private static Game getGame() { return Singletons.getControl().getObservedGame(); } diff --git a/src/main/java/forge/gui/InputProxy.java b/src/main/java/forge/gui/InputProxy.java index 05b819b1156..f7b4171b432 100644 --- a/src/main/java/forge/gui/InputProxy.java +++ b/src/main/java/forge/gui/InputProxy.java @@ -25,7 +25,7 @@ import forge.Card; import forge.FThreads; import forge.Singletons; import forge.control.input.Input; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; /** @@ -40,11 +40,11 @@ public class InputProxy implements Observer { /** The input. */ private AtomicReference input = new AtomicReference(); - private GameState game = null; + private Game game = null; // private static final boolean DEBUG_INPUT = true; // false; - public void setGame(GameState game0) { + public void setGame(Game game0) { game = game0; Singletons.getControl().getInputQueue().addObserver(this); } diff --git a/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java b/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java index 490c2fed159..8cecee59df8 100644 --- a/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java +++ b/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletContests.java @@ -18,7 +18,7 @@ import forge.control.Lobby; import forge.deck.Deck; import forge.deck.DeckgenUtil; import forge.game.GameType; -import forge.game.MatchState; +import forge.game.Match; import forge.game.RegisteredPlayer; import forge.gauntlet.GauntletData; import forge.gauntlet.GauntletIO; @@ -123,7 +123,7 @@ public enum CSubmenuGauntletContests implements ICDoc { starter.add(RegisteredPlayer.fromDeck(gd.getUserDeck()).setPlayer(lobby.getGuiPlayer())); starter.add(RegisteredPlayer.fromDeck(aiDeck).setPlayer(lobby.getAiPlayer())); - final MatchState mc = new MatchState(GameType.Gauntlet, starter); + final Match mc = new Match(GameType.Gauntlet, starter); FThreads.invokeInEdtLater(new Runnable(){ @Override public void run() { diff --git a/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletLoad.java b/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletLoad.java index 3588f56e246..3e8c481a1d1 100644 --- a/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletLoad.java +++ b/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletLoad.java @@ -15,7 +15,7 @@ import forge.Singletons; import forge.control.Lobby; import forge.deck.Deck; import forge.game.GameType; -import forge.game.MatchState; +import forge.game.Match; import forge.game.RegisteredPlayer; import forge.gauntlet.GauntletData; import forge.gauntlet.GauntletIO; @@ -115,7 +115,7 @@ public enum CSubmenuGauntletLoad implements ICDoc { starter.add(RegisteredPlayer.fromDeck(gd.getUserDeck()).setPlayer(lobby.getGuiPlayer())); starter.add(RegisteredPlayer.fromDeck(aiDeck).setPlayer(lobby.getAiPlayer())); - final MatchState mc = new MatchState(GameType.Gauntlet, starter); + final Match mc = new Match(GameType.Gauntlet, starter); FThreads.invokeInEdtLater(new Runnable(){ @Override public void run() { diff --git a/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletQuick.java b/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletQuick.java index b1a56eb5832..04328d0ba81 100644 --- a/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletQuick.java +++ b/src/main/java/forge/gui/home/gauntlet/CSubmenuGauntletQuick.java @@ -18,7 +18,7 @@ import forge.deck.Deck; import forge.deck.DeckgenUtil; import forge.deck.DeckgenUtil.DeckTypes; import forge.game.GameType; -import forge.game.MatchState; +import forge.game.Match; import forge.game.RegisteredPlayer; import forge.gauntlet.GauntletData; import forge.gauntlet.GauntletIO; @@ -149,7 +149,7 @@ public enum CSubmenuGauntletQuick implements ICDoc { starter.add(RegisteredPlayer.fromDeck(gd.getUserDeck()).setPlayer(lobby.getGuiPlayer())); starter.add(RegisteredPlayer.fromDeck(aiDeck).setPlayer(lobby.getAiPlayer())); - final MatchState mc = new MatchState(GameType.Gauntlet, starter); + final Match mc = new Match(GameType.Gauntlet, starter); FThreads.invokeInEdtLater(new Runnable(){ @Override public void run() { diff --git a/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java b/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java index 4f817ffdf66..8798b3b7657 100644 --- a/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java +++ b/src/main/java/forge/gui/home/quest/SSubmenuQuestUtil.java @@ -17,7 +17,7 @@ import forge.control.FControl; import forge.control.Lobby; import forge.deck.Deck; import forge.game.GameType; -import forge.game.MatchState; +import forge.game.Match; import forge.game.RegisteredPlayer; import forge.game.player.LobbyPlayer; import forge.gui.GuiChoose; @@ -440,7 +440,7 @@ public class SSubmenuQuestUtil { aiPlayer.setIconImageKey(event.getIconImageKey()); starter.add(aiStart.setPlayer(aiPlayer)); - final MatchState mc = new MatchState(GameType.Quest, starter, forceAnte); + final Match mc = new Match(GameType.Quest, starter, forceAnte); FThreads.invokeInEdtLater(new Runnable(){ @Override public void run() { diff --git a/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java b/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java index 5bbc04251d2..e245ac886d6 100644 --- a/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java +++ b/src/main/java/forge/gui/home/sanctioned/CSubmenuConstructed.java @@ -12,7 +12,7 @@ import forge.FThreads; import forge.Singletons; import forge.control.Lobby; import forge.game.GameType; -import forge.game.MatchState; +import forge.game.Match; import forge.game.RegisteredPlayer; import forge.game.player.LobbyPlayer; import forge.gui.SOverlayUtils; @@ -119,7 +119,7 @@ public enum CSubmenuConstructed implements ICDoc { List players = new ArrayList(); players.add(pscRight.setPlayer(rightPlayer)); players.add(pscLeft.setPlayer(leftPlayer)); - final MatchState mc = new MatchState(gameType, players); + final Match mc = new Match(gameType, players); SOverlayUtils.startGameOverlay(); SOverlayUtils.showOverlay(); diff --git a/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java b/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java index 777fc8aece3..88e19e9e02a 100644 --- a/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java +++ b/src/main/java/forge/gui/home/sanctioned/CSubmenuDraft.java @@ -17,7 +17,7 @@ import forge.control.Lobby; import forge.deck.Deck; import forge.deck.DeckGroup; import forge.game.GameType; -import forge.game.MatchState; +import forge.game.Match; import forge.game.RegisteredPlayer; import forge.game.limited.BoosterDraft; import forge.game.limited.LimitedPoolType; @@ -136,7 +136,7 @@ public enum CSubmenuDraft implements ICDoc { starter.add(RegisteredPlayer.fromDeck(humanDeck).setPlayer(lobby.getGuiPlayer())); starter.add(RegisteredPlayer.fromDeck(aiDeck).setPlayer(lobby.getAiPlayer())); - final MatchState mc = new MatchState(GameType.Draft, starter); + final Match mc = new Match(GameType.Draft, starter); FThreads.invokeInEdtLater(new Runnable(){ @Override public void run() { diff --git a/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java b/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java index 83bdc351898..2fd5626dca3 100644 --- a/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java +++ b/src/main/java/forge/gui/home/variant/CSubmenuArchenemy.java @@ -19,7 +19,7 @@ import forge.deck.Deck; import forge.deck.DeckSection; import forge.deck.DeckgenUtil; import forge.game.GameType; -import forge.game.MatchState; +import forge.game.Match; import forge.game.RegisteredPlayer; import forge.gui.GuiDialog; import forge.gui.SOverlayUtils; @@ -234,7 +234,7 @@ public enum CSubmenuArchenemy implements ICDoc { } } - final MatchState mc = new MatchState(GameType.Archenemy, players); + final Match mc = new Match(GameType.Archenemy, players); FThreads.invokeInEdtLater(new Runnable(){ @Override public void run() { diff --git a/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java b/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java index befd4cf4bf2..df2539d3db8 100644 --- a/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java +++ b/src/main/java/forge/gui/home/variant/CSubmenuPlanechase.java @@ -19,7 +19,7 @@ import forge.deck.Deck; import forge.deck.DeckSection; import forge.deck.DeckgenUtil; import forge.game.GameType; -import forge.game.MatchState; +import forge.game.Match; import forge.game.RegisteredPlayer; import forge.game.player.LobbyPlayer; import forge.gui.GuiDialog; @@ -215,7 +215,7 @@ public enum CSubmenuPlanechase implements ICDoc { SOverlayUtils.startGameOverlay(); SOverlayUtils.showOverlay(); - final MatchState mc = new MatchState(GameType.Planechase, helper); + final Match mc = new Match(GameType.Planechase, helper); FThreads.invokeInEdtLater(new Runnable(){ @Override public void run() { diff --git a/src/main/java/forge/gui/home/variant/CSubmenuVanguard.java b/src/main/java/forge/gui/home/variant/CSubmenuVanguard.java index 3943e8e28e2..003fff9eb33 100644 --- a/src/main/java/forge/gui/home/variant/CSubmenuVanguard.java +++ b/src/main/java/forge/gui/home/variant/CSubmenuVanguard.java @@ -17,7 +17,7 @@ import forge.control.Lobby; import forge.deck.Deck; import forge.deck.DeckSection; import forge.game.GameType; -import forge.game.MatchState; +import forge.game.Match; import forge.game.RegisteredPlayer; import forge.game.player.LobbyPlayer; import forge.gui.GuiDialog; @@ -177,7 +177,7 @@ public enum CSubmenuVanguard implements ICDoc { LobbyPlayer player = i == 0 ? lobby.getGuiPlayer() : lobby.getAiPlayer(); helper.add(RegisteredPlayer.forVanguard(playerDecks.get(i), playerAvatars.get(i)).setPlayer(player)); } - final MatchState mc = new MatchState(GameType.Vanguard, helper); + final Match mc = new Match(GameType.Vanguard, helper); FThreads.invokeInEdtLater(new Runnable(){ @Override public void run() { diff --git a/src/main/java/forge/gui/match/ControlWinLose.java b/src/main/java/forge/gui/match/ControlWinLose.java index 1c9f3936216..0facf6de60d 100644 --- a/src/main/java/forge/gui/match/ControlWinLose.java +++ b/src/main/java/forge/gui/match/ControlWinLose.java @@ -13,7 +13,7 @@ import forge.control.FControl; import forge.deck.Deck; import forge.game.GameOutcome; import forge.game.GameType; -import forge.game.MatchState; +import forge.game.Match; import forge.game.RegisteredPlayer; import forge.game.player.Player; import forge.game.zone.ZoneType; @@ -31,11 +31,11 @@ import forge.properties.ForgePreferences.FPref; */ public class ControlWinLose { private final ViewWinLose view; - protected final MatchState match; + protected final Match match; /** @param v   ViewWinLose * @param match */ - public ControlWinLose(final ViewWinLose v, MatchState match) { + public ControlWinLose(final ViewWinLose v, Match match) { this.view = v; this.match = match; addListeners(); diff --git a/src/main/java/forge/gui/match/GauntletWinLose.java b/src/main/java/forge/gui/match/GauntletWinLose.java index b041dde181b..108d4009432 100644 --- a/src/main/java/forge/gui/match/GauntletWinLose.java +++ b/src/main/java/forge/gui/match/GauntletWinLose.java @@ -27,7 +27,7 @@ import javax.swing.SwingConstants; import net.miginfocom.swing.MigLayout; import forge.Singletons; import forge.deck.Deck; -import forge.game.MatchState; +import forge.game.Match; import forge.game.player.LobbyPlayer; import forge.gauntlet.GauntletData; import forge.gauntlet.GauntletIO; @@ -46,7 +46,7 @@ public class GauntletWinLose extends ControlWinLose { * @param view0 ViewWinLose object * @param match */ - public GauntletWinLose(final ViewWinLose view0, MatchState match) { + public GauntletWinLose(final ViewWinLose view0, Match match) { super(view0, match); } diff --git a/src/main/java/forge/gui/match/LimitedWinLose.java b/src/main/java/forge/gui/match/LimitedWinLose.java index 17dfee8db54..1d354974ffa 100644 --- a/src/main/java/forge/gui/match/LimitedWinLose.java +++ b/src/main/java/forge/gui/match/LimitedWinLose.java @@ -25,7 +25,7 @@ import javax.swing.JLabel; import javax.swing.SwingConstants; import forge.Singletons; -import forge.game.MatchState; +import forge.game.Match; import forge.game.limited.GauntletMini; import forge.gui.SOverlayUtils; import forge.gui.toolbox.FSkin; @@ -52,9 +52,9 @@ public class LimitedWinLose extends ControlWinLose { * Instantiates a new limited mode win/lose handler. * * @param view0 {@link forge.gui.match.ViewWinLose} - * @param match {@link forge.game.MatchState} + * @param match {@link forge.game.Match} */ - public LimitedWinLose(final ViewWinLose view0, MatchState match) { + public LimitedWinLose(final ViewWinLose view0, Match match) { super(view0, match); this.view = view0; gauntlet = Singletons.getModel().getGauntletMini(); diff --git a/src/main/java/forge/gui/match/QuestWinLose.java b/src/main/java/forge/gui/match/QuestWinLose.java index bf7a099d08c..32dc2216baf 100644 --- a/src/main/java/forge/gui/match/QuestWinLose.java +++ b/src/main/java/forge/gui/match/QuestWinLose.java @@ -42,7 +42,7 @@ import forge.control.FControl; import forge.game.GameEndReason; import forge.game.GameFormat; import forge.game.GameOutcome; -import forge.game.MatchState; +import forge.game.Match; import forge.game.player.GameLossReason; import forge.game.player.LobbyPlayer; import forge.game.player.Player; @@ -103,7 +103,7 @@ public class QuestWinLose extends ControlWinLose { * @param view0 ViewWinLose object * @param match2 */ - public QuestWinLose(final ViewWinLose view0, MatchState match2) { + public QuestWinLose(final ViewWinLose view0, Match match2) { super(view0, match2); this.view = view0; qData = Singletons.getModel().getQuest(); diff --git a/src/main/java/forge/gui/match/VAssignDamage.java b/src/main/java/forge/gui/match/VAssignDamage.java index 49b74ff77fa..74a726f7d04 100644 --- a/src/main/java/forge/gui/match/VAssignDamage.java +++ b/src/main/java/forge/gui/match/VAssignDamage.java @@ -39,7 +39,7 @@ import net.miginfocom.swing.MigLayout; import forge.Card; import forge.CounterType; import forge.GameEntity; -import forge.game.MatchState; +import forge.game.Match; import forge.game.player.Player; import forge.gui.SOverlayUtils; import forge.gui.toolbox.FButton; @@ -431,7 +431,7 @@ public class VAssignDamage { if ( source == null ) { if ( defender instanceof Player ) { Player p = (Player)defender; - lethalDamage = attackerHasInfect ? MatchState.getPoisonCountersAmountToLose() - p.getPoisonCounters() : p.getLife(); + lethalDamage = attackerHasInfect ? Match.getPoisonCountersAmountToLose() - p.getPoisonCounters() : p.getLife(); } else if ( defender instanceof Card ) { // planeswalker Card pw = (Card)defender; lethalDamage = pw.getCounters(CounterType.LOYALTY); diff --git a/src/main/java/forge/gui/match/ViewWinLose.java b/src/main/java/forge/gui/match/ViewWinLose.java index 05250e8e3d9..27929ad4d95 100644 --- a/src/main/java/forge/gui/match/ViewWinLose.java +++ b/src/main/java/forge/gui/match/ViewWinLose.java @@ -19,7 +19,7 @@ import forge.GameLog; import forge.GameLogEntry; import forge.GameEventType; import forge.Singletons; -import forge.game.MatchState; +import forge.game.Match; import forge.game.player.LobbyPlayer; import forge.game.player.PlayerStatistics; import forge.gui.toolbox.FButton; @@ -42,7 +42,7 @@ public class ViewWinLose { private final JPanel pnlOutcomes = new JPanel(new MigLayout("wrap, align center")); @SuppressWarnings("serial") - public ViewWinLose(MatchState match) { + public ViewWinLose(Match match) { final JPanel overlay = FOverlay.SINGLETON_INSTANCE.getPanel(); final JPanel pnlLeft = new JPanel(); @@ -190,7 +190,7 @@ public class ViewWinLose { lblStats.setText(o.message); } - private String composeTitle(MatchState match) { + private String composeTitle(Match match) { LobbyPlayer guiPlayer = Singletons.getControl().getLobby().getGuiPlayer(); int nHumansInGame = 0; for(Pair pps : match.getLastGameOutcome()) { diff --git a/src/main/java/forge/gui/match/controllers/CCombat.java b/src/main/java/forge/gui/match/controllers/CCombat.java index 45e24106cf4..37d0e71fad9 100644 --- a/src/main/java/forge/gui/match/controllers/CCombat.java +++ b/src/main/java/forge/gui/match/controllers/CCombat.java @@ -5,7 +5,7 @@ import java.util.List; import forge.Card; import forge.Command; import forge.GameEntity; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.Combat; import forge.game.player.Player; import forge.gui.framework.ICDoc; @@ -22,7 +22,7 @@ public enum CCombat implements ICDoc { /** */ SINGLETON_INSTANCE; - private GameState game; + private Game game; /* (non-Javadoc) * @see forge.gui.framework.ICDoc#getCommandOnSelect() @@ -50,7 +50,7 @@ public enum CCombat implements ICDoc { VCombat.SINGLETON_INSTANCE.updateCombat(game.getCombat().getAttackers().size(), getCombatDescription(game.getCombat())); } - public void setModel(GameState game) + public void setModel(Game game) { this.game = game; diff --git a/src/main/java/forge/gui/match/controllers/CDock.java b/src/main/java/forge/gui/match/controllers/CDock.java index a5ed0cfe714..5c736c2033d 100644 --- a/src/main/java/forge/gui/match/controllers/CDock.java +++ b/src/main/java/forge/gui/match/controllers/CDock.java @@ -34,7 +34,7 @@ import forge.Singletons; import forge.CardPredicates.Presets; import forge.Command; import forge.deck.Deck; -import forge.game.GameState; +import forge.game.Game; import forge.game.phase.CombatUtil; import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseType; @@ -65,9 +65,9 @@ public enum CDock implements ICDoc { SINGLETON_INSTANCE; private int arcState; - private GameState game; + private Game game; - public void setModel(GameState game0, LobbyPlayer player0) { + public void setModel(Game game0, LobbyPlayer player0) { game = game0; } diff --git a/src/main/java/forge/gui/match/controllers/CMessage.java b/src/main/java/forge/gui/match/controllers/CMessage.java index 2cb63999617..ea91ba048cd 100644 --- a/src/main/java/forge/gui/match/controllers/CMessage.java +++ b/src/main/java/forge/gui/match/controllers/CMessage.java @@ -29,8 +29,8 @@ import java.util.Observer; import javax.swing.JButton; import forge.Command; -import forge.game.GameState; -import forge.game.MatchState; +import forge.game.Game; +import forge.game.Match; import forge.gui.InputProxy; import forge.gui.framework.ICDoc; import forge.gui.framework.SDisplayUtil; @@ -71,7 +71,7 @@ public enum CMessage implements ICDoc, Observer { } } }; - private GameState game; + private Game game; private void _initButton(JButton button, ActionListener onClick) { // remove to ensure listeners don't accumulate over many initializations @@ -119,7 +119,7 @@ public enum CMessage implements ICDoc, Observer { */ @Override public void update(Observable o, Object arg) { - MatchState match = game.getMatch(); + Match match = game.getMatch(); view.getLblGames().setText( match.getGameType().toString() + ": Game #" + (match.getPlayedGames().size() + 1) @@ -142,7 +142,7 @@ public enum CMessage implements ICDoc, Observer { * TODO: Write javadoc for this method. * @param match */ - public void setModel(GameState game0) { + public void setModel(Game game0) { game = game0; game.getPhaseHandler().addObserver(this); update(null, null); diff --git a/src/main/java/forge/gui/match/nonsingleton/CField.java b/src/main/java/forge/gui/match/nonsingleton/CField.java index 36e1142a68a..02eaf439b16 100644 --- a/src/main/java/forge/gui/match/nonsingleton/CField.java +++ b/src/main/java/forge/gui/match/nonsingleton/CField.java @@ -37,7 +37,7 @@ import forge.card.cardfactory.CardFactoryUtil; import forge.card.spellability.SpellAbility; import forge.control.input.Input; import forge.control.input.InputPayMana; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.HumanPlay; import forge.game.player.LobbyPlayer; import forge.game.player.Player; @@ -150,7 +150,7 @@ public class CField implements ICDoc { if (player.getLobbyPlayer() != CField.this.viewer) { return; } - final GameState game = player.getGame(); + final Game game = player.getGame(); // TODO: "can play" check needed! // should I check for who owns these cards? Are there any abilities to be played from opponent's graveyard? diff --git a/src/main/java/forge/gui/match/views/VPlayers.java b/src/main/java/forge/gui/match/views/VPlayers.java index f8fa077d248..3e850be2f3e 100644 --- a/src/main/java/forge/gui/match/views/VPlayers.java +++ b/src/main/java/forge/gui/match/views/VPlayers.java @@ -29,7 +29,7 @@ import javax.swing.border.MatteBorder; import net.miginfocom.swing.MigLayout; import forge.Card; import forge.Singletons; -import forge.game.GameState; +import forge.game.Game; import forge.game.player.Player; import forge.game.zone.ZoneType; import forge.gui.framework.DragCell; @@ -175,7 +175,7 @@ public enum VPlayers implements IVDoc { /** * @param game */ - public void updateStormLabel(GameState game) { + public void updateStormLabel(Game game) { // No need to update if this panel isn't showing if (!parentCell.getSelected().equals(this)) { return; }