Mass renamed classes: GameState -> Game, MatchController (aka MatchState) -> Match

This commit is contained in:
Maxmtg
2013-05-29 12:54:24 +00:00
parent 85fe60c458
commit 40a8f66b52
182 changed files with 526 additions and 526 deletions

4
.gitattributes vendored
View File

@@ -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/deck/package-info.java svneol=native#text/plain
src/main/java/forge/error/ExceptionHandler.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/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/GameAction.java svneol=native#text/plain
src/main/java/forge/game/GameActionUtil.java svneol=native#text/plain src/main/java/forge/game/GameActionUtil.java svneol=native#text/plain
src/main/java/forge/game/GameAge.java -text 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/GameFormat.java -text
src/main/java/forge/game/GameNew.java -text src/main/java/forge/game/GameNew.java -text
src/main/java/forge/game/GameOutcome.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/GameType.java -text
src/main/java/forge/game/GlobalRuleChange.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/PlanarDice.java -text
src/main/java/forge/game/RegisteredPlayer.java -text src/main/java/forge/game/RegisteredPlayer.java -text
src/main/java/forge/game/ai/AiAttackController.java svneol=native#text/plain src/main/java/forge/game/ai/AiAttackController.java svneol=native#text/plain

View File

@@ -62,7 +62,7 @@ import forge.card.staticability.StaticAbility;
import forge.card.trigger.Trigger; import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerType; import forge.card.trigger.TriggerType;
import forge.card.trigger.ZCTrigger; import forge.card.trigger.ZCTrigger;
import forge.game.GameState; import forge.game.Game;
import forge.game.GlobalRuleChange; import forge.game.GlobalRuleChange;
import forge.game.event.GameEventCardDamaged; import forge.game.event.GameEventCardDamaged;
import forge.game.event.GameEventCardEquipped; import forge.game.event.GameEventCardEquipped;
@@ -7360,7 +7360,7 @@ public class Card extends GameEntity implements Comparable<Card> {
additionalLog = String.format("(Removing %d Loyalty Counters)", damageToAdd); additionalLog = String.format("(Removing %d Loyalty Counters)", damageToAdd);
} else { } else {
final GameState game = source.getGame(); final Game game = source.getGame();
final String s = this + " - destroy"; final String s = this + " - destroy";
@@ -8111,7 +8111,7 @@ public class Card extends GameEntity implements Comparable<Card> {
if (getController() == viewer && isInZone(ZoneType.Battlefield)) { if (getController() == viewer && isInZone(ZoneType.Battlefield)) {
return true; return true;
} }
final GameState game = this.getGame(); final Game game = this.getGame();
if (getController() == viewer && hasKeyword("You may look at this card.")) { if (getController() == viewer && hasKeyword("You may look at this card.")) {
return true; return true;
} }
@@ -8244,7 +8244,7 @@ public class Card extends GameEntity implements Comparable<Card> {
* Fetch GameState for this card from references to players who may own or control this card. * Fetch GameState for this card from references to players who may own or control this card.
*/ */
@Override @Override
public GameState getGame() { public Game getGame() {
Player controller = getController(); Player controller = getController();
if (null != controller) if (null != controller)

View File

@@ -30,7 +30,7 @@ import forge.card.ability.ApiType;
import forge.card.spellability.AbilityManaPart; import forge.card.spellability.AbilityManaPart;
import forge.card.spellability.AbilitySub; import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.properties.NewConstants; import forge.properties.NewConstants;
@@ -71,7 +71,7 @@ public final class CardUtil {
*/ */
public static List<Card> getThisTurnEntered(final ZoneType to, final ZoneType from, final String valid, final Card src) { public static List<Card> getThisTurnEntered(final ZoneType to, final ZoneType from, final String valid, final Card src) {
List<Card> res = new ArrayList<Card>(); List<Card> res = new ArrayList<Card>();
final GameState game = src.getGame(); final Game game = src.getGame();
if (to != ZoneType.Stack) { if (to != ZoneType.Stack) {
for (Player p : game.getPlayers()) { for (Player p : game.getPlayers()) {
res.addAll(p.getZone(to).getCardsAddedThisTurn(from)); res.addAll(p.getZone(to).getCardsAddedThisTurn(from));
@@ -87,7 +87,7 @@ public final class CardUtil {
public static List<Card> getThisTurnCast(final String valid, final Card src) { public static List<Card> getThisTurnCast(final String valid, final Card src) {
List<Card> res = new ArrayList<Card>(); List<Card> res = new ArrayList<Card>();
final GameState game = src.getGame(); final Game game = src.getGame();
res.addAll(game.getStack().getCardsCastThisTurn()); res.addAll(game.getStack().getCardsCastThisTurn());
res = CardLists.getValidCards(res, valid, src.getController(), src); res = CardLists.getValidCards(res, valid, src.getController(), src);
@@ -97,7 +97,7 @@ public final class CardUtil {
public static List<Card> getLastTurnCast(final String valid, final Card src) { public static List<Card> getLastTurnCast(final String valid, final Card src) {
List<Card> res = new ArrayList<Card>(); List<Card> res = new ArrayList<Card>();
final GameState game = src.getGame(); final Game game = src.getGame();
res.addAll(game.getStack().getCardsCastLastTurn()); res.addAll(game.getStack().getCardsCastLastTurn());
res = CardLists.getValidCards(res, valid, src.getController(), src); res = CardLists.getValidCards(res, valid, src.getController(), src);
@@ -162,7 +162,7 @@ public final class CardUtil {
public static List<Card> getRadiance(final Card source, final Card origin, final String[] valid) { public static List<Card> getRadiance(final Card source, final Card origin, final String[] valid) {
final List<Card> res = new ArrayList<Card>(); final List<Card> res = new ArrayList<Card>();
final GameState game = source.getGame(); final Game game = source.getGame();
ColorSet cs = CardUtil.getColors(origin); ColorSet cs = CardUtil.getColors(origin);
for (byte color : MagicColor.WUBRG) { for (byte color : MagicColor.WUBRG) {
if(!cs.hasAnyColor(color)) if(!cs.hasAnyColor(color))
@@ -233,7 +233,7 @@ public final class CardUtil {
if (validCard.startsWith("Defined.")) { if (validCard.startsWith("Defined.")) {
cards = AbilityUtils.getDefinedCards(card, validCard.replace("Defined.", ""), abMana); cards = AbilityUtils.getDefinedCards(card, validCard.replace("Defined.", ""), abMana);
} else { } else {
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
cards = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), validCard, abMana.getActivatingPlayer(), card); cards = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), validCard, abMana.getActivatingPlayer(), card);
} }

View File

@@ -20,7 +20,7 @@ package forge;
import java.util.ArrayList; import java.util.ArrayList;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.util.MyObservable; import forge.util.MyObservable;
@@ -426,5 +426,5 @@ public abstract class GameEntity extends MyObservable {
return this.name; return this.name;
} }
public abstract GameState getGame(); public abstract Game getGame();
} }

View File

@@ -28,7 +28,7 @@ import com.esotericsoftware.minlog.Log;
import forge.card.TriggerReplacementBase; import forge.card.TriggerReplacementBase;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.staticability.StaticAbility; import forge.card.staticability.StaticAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.GlobalRuleChange; import forge.game.GlobalRuleChange;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -370,7 +370,7 @@ public class StaticEffects {
* </p> * </p>
* @param game * @param game
*/ */
public final void rePopulateStateBasedList(GameState game) { public final void rePopulateStateBasedList(Game game) {
this.reset(); this.reset();
final List<Card> cards = game.getCardsIn(ZoneType.Battlefield); final List<Card> cards = game.getCardsIn(ZoneType.Battlefield);

View File

@@ -12,7 +12,7 @@ import forge.GameEntity;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.cardfactory.CardFactoryUtil; import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.Zone; import forge.game.zone.Zone;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -156,7 +156,7 @@ public abstract class TriggerReplacementBase {
protected boolean meetsCommonRequirements(Map<String, String> params) { protected boolean meetsCommonRequirements(Map<String, String> params) {
final Player hostController = this.getHostCard().getController(); 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("Metalcraft")) && !hostController.hasMetalcraft()) return false;
if ("True".equalsIgnoreCase(params.get("Threshold")) && !hostController.hasThreshold()) return false; if ("True".equalsIgnoreCase(params.get("Threshold")) && !hostController.hasThreshold()) return false;

View File

@@ -21,7 +21,7 @@ import forge.card.spellability.Ability;
import forge.card.spellability.AbilityStatic; import forge.card.spellability.AbilityStatic;
import forge.card.spellability.AbilitySub; import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
import forge.game.player.HumanPlay; import forge.game.player.HumanPlay;
@@ -79,7 +79,7 @@ public class AbilityUtils {
public static List<Card> getDefinedCards(final Card hostCard, final String def, final SpellAbility sa) { public static List<Card> getDefinedCards(final Card hostCard, final String def, final SpellAbility sa) {
final List<Card> cards = new ArrayList<Card>(); final List<Card> cards = new ArrayList<Card>();
final String defined = (def == null) ? "Self" : def; // default to Self final String defined = (def == null) ? "Self" : def; // default to Self
final GameState game = hostCard.getGame(); final Game game = hostCard.getGame();
Card c = null; Card c = null;
@@ -287,7 +287,7 @@ public class AbilityUtils {
public static int calculateAmount(final Card card, String amount, final SpellAbility ability) { public static int calculateAmount(final Card card, String amount, final SpellAbility ability) {
// return empty strings and constants // return empty strings and constants
if (StringUtils.isBlank(amount)) { return 0; } if (StringUtils.isBlank(amount)) { return 0; }
final GameState game = card.getController().getGame(); final Game game = card.getController().getGame();
// Strip and save sign for calculations // Strip and save sign for calculations
final boolean startsWithPlus = amount.charAt(0) == '+'; final boolean startsWithPlus = amount.charAt(0) == '+';
@@ -696,7 +696,7 @@ public class AbilityUtils {
public static List<Player> getDefinedPlayers(final Card card, final String def, final SpellAbility sa) { public static List<Player> getDefinedPlayers(final Card card, final String def, final SpellAbility sa) {
final List<Player> players = new ArrayList<Player>(); final List<Player> players = new ArrayList<Player>();
final String defined = (def == null) ? "You" : def; final String defined = (def == null) ? "You" : def;
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
if (defined.equals("Targeted")) { if (defined.equals("Targeted")) {
final SpellAbility saTargeting = sa.getSATargetingPlayer(); final SpellAbility saTargeting = sa.getSATargetingPlayer();
@@ -943,7 +943,7 @@ public class AbilityUtils {
final SpellAbility sa) { final SpellAbility sa) {
final ArrayList<SpellAbility> sas = new ArrayList<SpellAbility>(); final ArrayList<SpellAbility> sas = new ArrayList<SpellAbility>();
final String defined = (def == null) ? "Self" : def; // default to Self 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; SpellAbility s = null;
@@ -1034,7 +1034,7 @@ public class AbilityUtils {
AbilityUtils.resolveApiAbility(sa, usedStack, sa.getActivatingPlayer().getGame()); 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(); final AbilitySub abSub = sa.getSubAbility();
if (abSub == null || sa.isWrapper()) { if (abSub == null || sa.isWrapper()) {
// every resolving spellAbility will end here // every resolving spellAbility will end here
@@ -1050,7 +1050,7 @@ public class AbilityUtils {
AbilityUtils.resolveApiAbility(abSub, usedStack, game); 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 // check conditions
if (sa.getConditions().areMet(sa)) { if (sa.getConditions().areMet(sa)) {
if (sa.isWrapper() || StringUtils.isBlank(sa.getParam("UnlessCost"))) { if (sa.isWrapper() || StringUtils.isBlank(sa.getParam("UnlessCost"))) {
@@ -1063,7 +1063,7 @@ public class AbilityUtils {
resolveSubAbilities(sa, usedStack, game); 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(); final Card source = sa.getSourceCard();
String unlessCost = sa.getParam("UnlessCost"); String unlessCost = sa.getParam("UnlessCost");
unlessCost = unlessCost.trim(); unlessCost = unlessCost.trim();

View File

@@ -10,7 +10,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -33,7 +33,7 @@ public class AnimateAi extends SpellAbilityAi {
protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) {
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
final GameState game = aiPlayer.getGame(); final Game game = aiPlayer.getGame();
// TODO - add some kind of check to answer // TODO - add some kind of check to answer
// "Am I going to attack with this?" // "Am I going to attack with this?"

View File

@@ -8,7 +8,7 @@ import forge.CardLists;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
@@ -20,7 +20,7 @@ public class BecomesBlockedAi extends SpellAbilityAi {
protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) {
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
final Target tgt = sa.getTarget(); 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) if (!game.getPhaseHandler().is(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY)
|| !game.getPhaseHandler().getPlayerTurn().isOpponentOf(aiPlayer)) { || !game.getPhaseHandler().getPlayerTurn().isOpponentOf(aiPlayer)) {

View File

@@ -27,7 +27,7 @@ import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.card.trigger.TriggerType; import forge.card.trigger.TriggerType;
import forge.game.GameState; import forge.game.Game;
import forge.game.GlobalRuleChange; import forge.game.GlobalRuleChange;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilBlock; import forge.game.ai.ComputerUtilBlock;
@@ -1065,7 +1065,7 @@ public class ChangeZoneAi extends SpellAbilityAi {
final Card card = sa.getSourceCard(); final Card card = sa.getSourceCard();
final boolean defined = sa.hasParam("Defined"); final boolean defined = sa.hasParam("Defined");
final Player activator = sa.getActivatingPlayer(); final Player activator = sa.getActivatingPlayer();
final GameState game = ai.getGame(); final Game game = ai.getGame();
if (tgt != null) { if (tgt != null) {
if (!tgt.getTargetPlayers().isEmpty()) { if (!tgt.getTargetPlayers().isEmpty()) {

View File

@@ -9,7 +9,7 @@ import forge.CardLists;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
@@ -23,7 +23,7 @@ public class ChooseCardAi extends SpellAbilityAi {
@Override @Override
protected boolean canPlayAI(final Player ai, SpellAbility sa) { protected boolean canPlayAI(final Player ai, SpellAbility sa) {
final Card host = sa.getSourceCard(); final Card host = sa.getSourceCard();
final GameState game = ai.getGame(); final Game game = ai.getGame();
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
if (tgt != null) { if (tgt != null) {

View File

@@ -13,7 +13,7 @@ import forge.card.ability.SpellAbilityAi;
import forge.card.cost.Cost; import forge.card.cost.Cost;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
@@ -65,7 +65,7 @@ public class ChooseSourceAi extends SpellAbilityAi {
} }
} }
if (sa.hasParam("AILogic")) { if (sa.hasParam("AILogic")) {
final GameState game = ai.getGame(); final Game game = ai.getGame();
if (sa.getParam("AILogic").equals("NeedsPrevention")) { if (sa.getParam("AILogic").equals("NeedsPrevention")) {
if (!game.getStack().isEmpty()) { if (!game.getStack().isEmpty()) {
final SpellAbility topStack = game.getStack().peekAbility(); final SpellAbility topStack = game.getStack().peekAbility();

View File

@@ -7,7 +7,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
@@ -18,7 +18,7 @@ public class CloneAi extends SpellAbilityAi {
protected boolean canPlayAI(Player ai, SpellAbility sa) { protected boolean canPlayAI(Player ai, SpellAbility sa) {
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
final GameState game = source.getGame(); final Game game = source.getGame();
boolean useAbility = true; boolean useAbility = true;

View File

@@ -29,7 +29,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
@@ -183,7 +183,7 @@ public class ControlGainAi extends SpellAbilityAi {
@Override @Override
public boolean chkAIDrawback(SpellAbility sa, final Player ai) { 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.getTarget() == null) || !sa.getTarget().doesTarget()) {
if (sa.hasParam("AllValid")) { if (sa.hasParam("AllValid")) {
List<Card> tgtCards = CardLists.filterControlledBy(game.getCardsIn(ZoneType.Battlefield), ai.getOpponent()); List<Card> tgtCards = CardLists.filterControlledBy(game.getCardsIn(ZoneType.Battlefield), ai.getOpponent());

View File

@@ -7,7 +7,7 @@ import forge.card.cardfactory.CardFactoryUtil;
import forge.card.cost.Cost; import forge.card.cost.Cost;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
import forge.game.ai.ComputerUtilMana; import forge.game.ai.ComputerUtilMana;
import forge.game.player.Player; import forge.game.player.Player;
@@ -20,7 +20,7 @@ public class CounterAi extends SpellAbilityAi {
boolean toReturn = true; boolean toReturn = true;
final Cost abCost = sa.getPayCosts(); final Cost abCost = sa.getPayCosts();
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
final GameState game = ai.getGame(); final Game game = ai.getGame();
if (game.getStack().isEmpty()) { if (game.getStack().isEmpty()) {
return false; return false;
} }
@@ -110,7 +110,7 @@ public class CounterAi extends SpellAbilityAi {
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
if (tgt != null) { if (tgt != null) {
final GameState game = ai.getGame(); final Game game = ai.getGame();
if (game.getStack().isEmpty()) { if (game.getStack().isEmpty()) {
return false; return false;
} }

View File

@@ -8,7 +8,7 @@ import forge.Card;
import forge.CardPredicates; import forge.CardPredicates;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
@@ -17,7 +17,7 @@ import forge.game.zone.ZoneType;
public abstract class DamageAiBase extends SpellAbilityAi { public abstract class DamageAiBase extends SpellAbilityAi {
protected boolean shouldTgtP(final Player comp, final SpellAbility sa, final int d, final boolean noPrevention) { protected boolean shouldTgtP(final Player comp, final SpellAbility sa, final int d, final boolean noPrevention) {
int restDamage = d; int restDamage = d;
final GameState game = comp.getGame(); final Game game = comp.getGame();
final Player enemy = comp.getOpponent(); final Player enemy = comp.getOpponent();
if (!sa.canTarget(enemy)) { if (!sa.canTarget(enemy)) {
return false; return false;

View File

@@ -14,7 +14,7 @@ import forge.card.cost.Cost;
import forge.card.spellability.AbilitySub; import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
@@ -232,7 +232,7 @@ public class DamageDealAi extends DamageAiBase {
final boolean isTrigger, final boolean mandatory) { final boolean isTrigger, final boolean mandatory) {
final Card source = saMe.getSourceCard(); final Card source = saMe.getSourceCard();
final boolean noPrevention = saMe.hasParam("NoPrevention"); final boolean noPrevention = saMe.hasParam("NoPrevention");
final GameState game = source.getGame(); final Game game = source.getGame();
final PhaseHandler phase = game.getPhaseHandler(); final PhaseHandler phase = game.getPhaseHandler();
final boolean divided = saMe.hasParam("DividedAsYouChoose"); final boolean divided = saMe.hasParam("DividedAsYouChoose");

View File

@@ -11,7 +11,7 @@ import forge.card.ability.SpellAbilityAi;
import forge.card.cost.Cost; import forge.card.cost.Cost;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
@@ -26,7 +26,7 @@ public class DamagePreventAi extends SpellAbilityAi {
@Override @Override
protected boolean canPlayAI(Player ai, SpellAbility sa) { protected boolean canPlayAI(Player ai, SpellAbility sa) {
final Card hostCard = sa.getSourceCard(); final Card hostCard = sa.getSourceCard();
final GameState game = ai.getGame(); final Game game = ai.getGame();
boolean chance = false; boolean chance = false;
final Cost cost = sa.getPayCosts(); final Cost cost = sa.getPayCosts();
@@ -180,7 +180,7 @@ public class DamagePreventAi extends SpellAbilityAi {
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
tgt.resetTargets(); tgt.resetTargets();
// filter AIs battlefield by what I can target // filter AIs battlefield by what I can target
final GameState game = ai.getGame(); final Game game = ai.getGame();
List<Card> targetables = game.getCardsIn(ZoneType.Battlefield); List<Card> targetables = game.getCardsIn(ZoneType.Battlefield);
targetables = CardLists.getValidCards(targetables, tgt.getValidTgts(), ai, sa.getSourceCard()); targetables = CardLists.getValidCards(targetables, tgt.getValidTgts(), ai, sa.getSourceCard());
final List<Card> compTargetables = CardLists.filterControlledBy(targetables, ai); final List<Card> compTargetables = CardLists.filterControlledBy(targetables, ai);

View File

@@ -31,7 +31,7 @@ import forge.card.cost.PaymentDecision;
import forge.card.spellability.AbilitySub; import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
import forge.game.ai.ComputerUtilMana; import forge.game.ai.ComputerUtilMana;
@@ -55,7 +55,7 @@ public class DrawAi extends SpellAbilityAi {
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
final Cost abCost = sa.getPayCosts(); final Cost abCost = sa.getPayCosts();
final GameState game = ai.getGame(); final Game game = ai.getGame();
if (abCost != null) { if (abCost != null) {
// AI currently disabled for these costs // AI currently disabled for these costs
@@ -140,7 +140,7 @@ public class DrawAi extends SpellAbilityAi {
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
final boolean drawback = (sa instanceof AbilitySub); final boolean drawback = (sa instanceof AbilitySub);
final GameState game = ai.getGame(); final Game game = ai.getGame();
Player opp = ai.getOpponent(); Player opp = ai.getOpponent();
int computerHandSize = ai.getCardsIn(ZoneType.Hand).size(); int computerHandSize = ai.getCardsIn(ZoneType.Hand).size();

View File

@@ -10,7 +10,7 @@ import forge.CardLists;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
import forge.game.phase.CombatUtil; import forge.game.phase.CombatUtil;
@@ -23,7 +23,7 @@ import forge.util.MyRandom;
public class EffectAi extends SpellAbilityAi { public class EffectAi extends SpellAbilityAi {
@Override @Override
protected boolean canPlayAI(Player ai, SpellAbility sa) { protected boolean canPlayAI(Player ai, SpellAbility sa) {
final GameState game = ai.getGame(); final Game game = ai.getGame();
final Random r = MyRandom.getRandom(); final Random r = MyRandom.getRandom();
boolean randomReturn = r.nextFloat() <= .6667; boolean randomReturn = r.nextFloat() <= .6667;
final Player opp = ai.getOpponent(); final Player opp = ai.getOpponent();

View File

@@ -3,7 +3,7 @@ package forge.card.ability.ai;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
@@ -15,7 +15,7 @@ public class FogAi extends SpellAbilityAi {
*/ */
@Override @Override
protected boolean canPlayAI(Player ai, SpellAbility sa) { 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 // AI should only activate this during Human's Declare Blockers phase
if (game.getPhaseHandler().isPlayerTurn(sa.getActivatingPlayer())) { if (game.getPhaseHandler().isPlayerTurn(sa.getActivatingPlayer())) {
return false; return false;
@@ -42,7 +42,7 @@ public class FogAi extends SpellAbilityAi {
public boolean chkAIDrawback(SpellAbility sa, Player ai) { public boolean chkAIDrawback(SpellAbility sa, Player ai) {
// AI should only activate this during Human's turn // AI should only activate this during Human's turn
boolean chance; boolean chance;
final GameState game = ai.getGame(); final Game game = ai.getGame();
// should really check if other player is attacking this player // should really check if other player is attacking this player
if (ai.isOpponentOf(game.getPhaseHandler().getPlayerTurn())) { if (ai.isOpponentOf(game.getPhaseHandler().getPlayerTurn())) {
@@ -56,7 +56,7 @@ public class FogAi extends SpellAbilityAi {
@Override @Override
protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) {
final GameState game = aiPlayer.getGame(); final Game game = aiPlayer.getGame();
boolean chance; boolean chance;
if (game.getPhaseHandler().isPlayerTurn(sa.getActivatingPlayer().getOpponent())) { if (game.getPhaseHandler().isPlayerTurn(sa.getActivatingPlayer().getOpponent())) {
chance = game.getPhaseHandler().getPhase().isBefore(PhaseType.COMBAT_FIRST_STRIKE_DAMAGE); chance = game.getPhaseHandler().getPhase().isBefore(PhaseType.COMBAT_FIRST_STRIKE_DAMAGE);

View File

@@ -9,7 +9,7 @@ import forge.card.cost.Cost;
import forge.card.spellability.AbilitySub; import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
@@ -34,7 +34,7 @@ public class LifeGainAi extends SpellAbilityAi {
final Random r = MyRandom.getRandom(); final Random r = MyRandom.getRandom();
final Cost abCost = sa.getPayCosts(); final Cost abCost = sa.getPayCosts();
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
final GameState game = source.getGame(); final Game game = source.getGame();
final int life = ai.getLife(); final int life = ai.getLife();
final String amountStr = sa.getParam("LifeAmount"); final String amountStr = sa.getParam("LifeAmount");
int lifeAmount = 0; int lifeAmount = 0;

View File

@@ -9,7 +9,7 @@ import forge.Card;
import forge.CardPredicates; import forge.CardPredicates;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
@@ -27,7 +27,7 @@ public class PermanentCreatureAi extends SpellAbilityAi {
@Override @Override
protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) {
String logic = sa.getParam("AILogic"); String logic = sa.getParam("AILogic");
GameState game = aiPlayer.getGame(); Game game = aiPlayer.getGame();
if ("ZeroToughness".equals(logic)) { if ("ZeroToughness".equals(logic)) {
// If Creature has Zero Toughness, make sure some static ability is in play // If Creature has Zero Toughness, make sure some static ability is in play

View File

@@ -9,7 +9,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.util.MyRandom; import forge.util.MyRandom;
@@ -133,7 +133,7 @@ public class PhasesAi extends SpellAbilityAi {
* a boolean. * a boolean.
* @return 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 Card source = sa.getSourceCard();
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();

View File

@@ -13,7 +13,7 @@ import forge.card.ability.SpellAbilityAi;
import forge.card.cost.Cost; import forge.card.cost.Cost;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
@@ -66,7 +66,7 @@ public class ProtectAi extends SpellAbilityAi {
*/ */
private static List<Card> getProtectCreatures(final Player ai, final SpellAbility sa) { private static List<Card> getProtectCreatures(final Player ai, final SpellAbility sa) {
final ArrayList<String> gains = AbilityUtils.getProtectionList(sa); final ArrayList<String> gains = AbilityUtils.getProtectionList(sa);
final GameState game = ai.getGame(); final Game game = ai.getGame();
List<Card> list = ai.getCreaturesInPlay(); List<Card> list = ai.getCreaturesInPlay();
list = CardLists.filter(list, new Predicate<Card>() { list = CardLists.filter(list, new Predicate<Card>() {
@@ -111,7 +111,7 @@ public class ProtectAi extends SpellAbilityAi {
@Override @Override
protected boolean canPlayAI(Player ai, SpellAbility sa) { protected boolean canPlayAI(Player ai, SpellAbility sa) {
final Card hostCard = sa.getSourceCard(); 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 there is no target and host card isn't in play, don't activate
if ((sa.getTarget() == null) && !hostCard.isInPlay()) { if ((sa.getTarget() == null) && !hostCard.isInPlay()) {
return false; return false;
@@ -171,7 +171,7 @@ public class ProtectAi extends SpellAbilityAi {
} // protectPlayAI() } // protectPlayAI()
private boolean protectTgtAI(final Player ai, final SpellAbility sa, final boolean mandatory) { 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)) { if (!mandatory && game.getPhaseHandler().getPhase().isAfter(PhaseType.COMBAT_DECLARE_BLOCKERS_INSTANT_ABILITY)) {
return false; return false;
} }
@@ -250,7 +250,7 @@ public class ProtectAi extends SpellAbilityAi {
} // protectTgtAI() } // protectTgtAI()
private static boolean protectMandatoryTarget(final Player ai, final SpellAbility sa, final boolean mandatory) { private static boolean protectMandatoryTarget(final Player ai, final SpellAbility sa, final boolean mandatory) {
final GameState game = ai.getGame(); final Game game = ai.getGame();
List<Card> list = game.getCardsIn(ZoneType.Battlefield); List<Card> list = game.getCardsIn(ZoneType.Battlefield);
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();

View File

@@ -17,7 +17,7 @@ import forge.card.cost.CostTapType;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityRestriction; import forge.card.spellability.SpellAbilityRestriction;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
@@ -48,7 +48,7 @@ public class PumpAi extends PumpAiBase {
@Override @Override
protected boolean canPlayAI(Player ai, SpellAbility sa) { protected boolean canPlayAI(Player ai, SpellAbility sa) {
final Cost cost = sa.getPayCosts(); final Cost cost = sa.getPayCosts();
final GameState game = ai.getGame(); final Game game = ai.getGame();
final PhaseHandler ph = game.getPhaseHandler(); final PhaseHandler ph = game.getPhaseHandler();
final List<String> keywords = sa.hasParam("KW") ? Arrays.asList(sa.getParam("KW").split(" & ")) : new ArrayList<String>(); final List<String> keywords = sa.hasParam("KW") ? Arrays.asList(sa.getParam("KW").split(" & ")) : new ArrayList<String>();
final String numDefense = sa.hasParam("NumDef") ? sa.getParam("NumDef") : ""; 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) { private boolean pumpTgtAI(final Player ai, final SpellAbility sa, final int defense, final int attack, final boolean mandatory) {
final List<String> keywords = sa.hasParam("KW") ? Arrays.asList(sa.getParam("KW").split(" & ")) : new ArrayList<String>(); final List<String> keywords = sa.hasParam("KW") ? Arrays.asList(sa.getParam("KW").split(" & ")) : new ArrayList<String>();
final GameState game = ai.getGame(); final Game game = ai.getGame();
if (!mandatory if (!mandatory
&& !sa.isTrigger() && !sa.isTrigger()
@@ -284,7 +284,7 @@ public class PumpAi extends PumpAiBase {
} // pumpTgtAI() } // pumpTgtAI()
private boolean pumpMandatoryTarget(final Player ai, final SpellAbility sa, final boolean mandatory) { private boolean pumpMandatoryTarget(final Player ai, final SpellAbility sa, final boolean mandatory) {
final GameState game = ai.getGame(); final Game game = ai.getGame();
List<Card> list = game.getCardsIn(ZoneType.Battlefield); List<Card> list = game.getCardsIn(ZoneType.Battlefield);
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
final Player opp = ai.getOpponent(); final Player opp = ai.getOpponent();

View File

@@ -13,7 +13,7 @@ import forge.CardPredicates;
import forge.CardUtil; import forge.CardUtil;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
@@ -51,7 +51,7 @@ public abstract class PumpAiBase extends SpellAbilityAi {
* @return true, if is useful keyword * @return true, if is useful keyword
*/ */
public boolean isUsefulCurseKeyword(final Player ai, final String keyword, final Card card, final SpellAbility sa) { 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 PhaseHandler ph = game.getPhaseHandler();
final Player human = ai.getOpponent(); final Player human = ai.getOpponent();
//int attack = getNumAttack(sa); //int attack = getNumAttack(sa);
@@ -157,7 +157,7 @@ public abstract class PumpAiBase extends SpellAbilityAi {
* @return true, if is useful keyword * @return true, if is useful keyword
*/ */
public boolean isUsefulPumpKeyword(final Player ai, final String keyword, final Card card, final SpellAbility sa, final int attack) { 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 PhaseHandler ph = game.getPhaseHandler();
final Player opp = ai.getOpponent(); final Player opp = ai.getOpponent();
//int defense = getNumDefense(sa); //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, protected boolean shouldPumpCard(final Player ai, final SpellAbility sa, final Card c, final int defense, final int attack,
final List<String> keywords) { final List<String> keywords) {
final GameState game = ai.getGame(); final Game game = ai.getGame();
PhaseHandler phase = game.getPhaseHandler(); PhaseHandler phase = game.getPhaseHandler();
if (!c.canBeTargetedBy(sa)) { if (!c.canBeTargetedBy(sa)) {
@@ -503,7 +503,7 @@ public abstract class PumpAiBase extends SpellAbilityAi {
*/ */
protected List<Card> getCurseCreatures(final Player ai, final SpellAbility sa, final int defense, final int attack, final List<String> keywords) { protected List<Card> getCurseCreatures(final Player ai, final SpellAbility sa, final int defense, final int attack, final List<String> keywords) {
List<Card> list = ai.getOpponent().getCreaturesInPlay(); List<Card> list = ai.getOpponent().getCreaturesInPlay();
final GameState game = ai.getGame(); final Game game = ai.getGame();
list = CardLists.getTargetableCards(list, sa); list = CardLists.getTargetableCards(list, sa);
if (list.isEmpty()) { if (list.isEmpty()) {

View File

@@ -11,7 +11,7 @@ import forge.CardLists;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
@@ -29,7 +29,7 @@ public class PumpAllAi extends PumpAiBase {
protected boolean canPlayAI(final Player ai, final SpellAbility sa) { protected boolean canPlayAI(final Player ai, final SpellAbility sa) {
String valid = ""; String valid = "";
final Card source = sa.getSourceCard(); 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 power = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumAtt"), sa);
final int defense = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumDef"), sa); final int defense = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("NumDef"), sa);

View File

@@ -28,7 +28,7 @@ import forge.card.ability.SpellAbilityAi;
import forge.card.cost.Cost; import forge.card.cost.Cost;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
@@ -59,7 +59,7 @@ public class RegenerateAi extends SpellAbilityAi {
protected boolean canPlayAI(Player ai, SpellAbility sa) { protected boolean canPlayAI(Player ai, SpellAbility sa) {
final Card hostCard = sa.getSourceCard(); final Card hostCard = sa.getSourceCard();
final Cost abCost = sa.getPayCosts(); final Cost abCost = sa.getPayCosts();
final GameState game = ai.getGame(); final Game game = ai.getGame();
boolean chance = false; boolean chance = false;
if (abCost != null) { 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) { private static boolean regenMandatoryTarget(final Player ai, final SpellAbility sa, final boolean mandatory) {
final Card hostCard = sa.getSourceCard(); final Card hostCard = sa.getSourceCard();
final GameState game = ai.getGame(); final Game game = ai.getGame();
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
tgt.resetTargets(); tgt.resetTargets();
// filter AIs battlefield by what I can target // filter AIs battlefield by what I can target

View File

@@ -9,7 +9,7 @@ import forge.CardPredicates;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.cost.Cost; import forge.card.cost.Cost;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
@@ -24,7 +24,7 @@ public class RegenerateAllAi extends SpellAbilityAi {
final Card hostCard = sa.getSourceCard(); final Card hostCard = sa.getSourceCard();
boolean chance = false; boolean chance = false;
final Cost abCost = sa.getPayCosts(); final Cost abCost = sa.getPayCosts();
final GameState game = ai.getGame(); final Game game = ai.getGame();
if (abCost != null) { if (abCost != null) {
// AI currently disabled for these costs // AI currently disabled for these costs
if (!ComputerUtilCost.checkSacrificeCost(ai, abCost, hostCard)) { if (!ComputerUtilCost.checkSacrificeCost(ai, abCost, hostCard)) {

View File

@@ -12,7 +12,7 @@ import forge.CardPredicates.Presets;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.phase.CombatUtil; 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) { protected boolean tapPrefTargeting(final Player ai, final Card source, final Target tgt, final SpellAbility sa, final boolean mandatory) {
final Player opp = ai.getOpponent(); final Player opp = ai.getOpponent();
final GameState game = ai.getGame(); final Game game = ai.getGame();
List<Card> tapList = opp.getCardsIn(ZoneType.Battlefield); List<Card> tapList = opp.getCardsIn(ZoneType.Battlefield);
tapList = CardLists.filter(tapList, Presets.UNTAPPED); tapList = CardLists.filter(tapList, Presets.UNTAPPED);
tapList = CardLists.getValidCards(tapList, tgt.getValidTgts(), source.getController(), source); 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) { protected boolean tapUnpreferredTargeting(final Player ai, final SpellAbility sa, final boolean mandatory) {
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
final GameState game = ai.getGame(); final Game game = ai.getGame();
List<Card> list = game.getCardsIn(ZoneType.Battlefield); List<Card> list = game.getCardsIn(ZoneType.Battlefield);
list = CardLists.getValidCards(list, tgt.getValidTgts(), source.getController(), source); list = CardLists.getValidCards(list, tgt.getValidTgts(), source.getController(), source);

View File

@@ -12,7 +12,7 @@ import forge.CardPredicates.Presets;
import forge.card.ability.SpellAbilityAi; import forge.card.ability.SpellAbilityAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.phase.CombatUtil; import forge.game.phase.CombatUtil;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
import forge.game.player.Player; import forge.game.player.Player;
@@ -32,7 +32,7 @@ public class TapAllAi extends SpellAbilityAi {
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
final Player opp = ai.getOpponent(); final Player opp = ai.getOpponent();
final GameState game = ai.getGame(); final Game game = ai.getGame();
if (game.getPhaseHandler().getPhase().isAfter(PhaseType.COMBAT_BEGIN)) { if (game.getPhaseHandler().getPhase().isAfter(PhaseType.COMBAT_BEGIN)) {
return false; return false;
@@ -108,7 +108,7 @@ public class TapAllAi extends SpellAbilityAi {
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
private List<Card> getTapAllTargets(final String valid, final Card source) { private List<Card> getTapAllTargets(final String valid, final Card source) {
final GameState game = source.getGame(); final Game game = source.getGame();
List<Card> tmpList = game.getCardsIn(ZoneType.Battlefield); List<Card> tmpList = game.getCardsIn(ZoneType.Battlefield);
tmpList = CardLists.getValidCards(tmpList, valid, source.getController(), source); tmpList = CardLists.getValidCards(tmpList, valid, source.getController(), source);
tmpList = CardLists.filter(tmpList, Presets.UNTAPPED); tmpList = CardLists.filter(tmpList, Presets.UNTAPPED);

View File

@@ -8,7 +8,7 @@ import forge.card.ability.SpellAbilityAi;
import forge.card.cost.Cost; import forge.card.cost.Cost;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
import forge.game.ai.ComputerUtilMana; import forge.game.ai.ComputerUtilMana;
@@ -66,7 +66,7 @@ public class TokenAi extends SpellAbilityAi {
@Override @Override
protected boolean canPlayAI(Player ai, SpellAbility sa) { protected boolean canPlayAI(Player ai, SpellAbility sa) {
final Cost cost = sa.getPayCosts(); final Cost cost = sa.getPayCosts();
final GameState game = ai.getGame(); final Game game = ai.getGame();
readParameters(sa); readParameters(sa);
if (ComputerUtil.preventRunAwayActivations(sa)) { if (ComputerUtil.preventRunAwayActivations(sa)) {

View File

@@ -4,7 +4,7 @@ import forge.Card;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.trigger.TriggerType; import forge.card.trigger.TriggerType;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -19,7 +19,7 @@ public class AbandonEffect extends SpellAbilityEffect {
Card source = sa.getSourceCard(); Card source = sa.getSourceCard();
Player controller = source.getController(); Player controller = source.getController();
final GameState game = controller.getGame(); final Game game = controller.getGame();
game.getTriggerHandler().suppressMode(TriggerType.ChangesZone); game.getTriggerHandler().suppressMode(TriggerType.ChangesZone);
controller.getZone(ZoneType.Command).remove(source); controller.getZone(ZoneType.Command).remove(source);

View File

@@ -18,7 +18,7 @@ import forge.card.spellability.Target;
import forge.card.staticability.StaticAbility; import forge.card.staticability.StaticAbility;
import forge.card.trigger.Trigger; import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerHandler;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -43,7 +43,7 @@ public class AnimateAllEffect extends AnimateEffectBase {
if (sa.hasParam("Toughness")) { if (sa.hasParam("Toughness")) {
toughness = AbilityUtils.calculateAmount(host, sa.getParam("Toughness"), sa); 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 // Every Animate event needs a unique time stamp
final long timestamp = game.getNextTimestamp(); final long timestamp = game.getNextTimestamp();

View File

@@ -17,7 +17,7 @@ import forge.card.spellability.Target;
import forge.card.staticability.StaticAbility; import forge.card.staticability.StaticAbility;
import forge.card.trigger.Trigger; import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerHandler;
import forge.game.GameState; import forge.game.Game;
public class AnimateEffect extends AnimateEffectBase { public class AnimateEffect extends AnimateEffectBase {
@@ -53,7 +53,7 @@ public class AnimateEffect extends AnimateEffectBase {
toughness = AbilityUtils.calculateAmount(host, sa.getParam("Toughness"), sa); 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 // Every Animate event needs a unique time stamp
final long timestamp = game.getNextTimestamp(); final long timestamp = game.getNextTimestamp();

View File

@@ -13,7 +13,7 @@ import forge.card.ability.SpellAbilityEffect;
import forge.card.ability.ai.AttachAi; import forge.card.ability.ai.AttachAi;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
@@ -184,7 +184,7 @@ public class AttachEffect extends SpellAbilityEffect {
return false; return false;
} }
aura.setActivatingPlayer(source.getController()); aura.setActivatingPlayer(source.getController());
final GameState game = source.getGame(); final Game game = source.getGame();
final Target tgt = aura.getTarget(); final Target tgt = aura.getTarget();
if (source.getController().isHuman()) { if (source.getController().isHuman()) {

View File

@@ -13,7 +13,7 @@ import forge.card.spellability.Ability;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.card.trigger.TriggerType; import forge.card.trigger.TriggerType;
import forge.game.GameState; import forge.game.Game;
public class BecomesBlockedEffect extends SpellAbilityEffect { public class BecomesBlockedEffect extends SpellAbilityEffect {
@@ -32,7 +32,7 @@ public class BecomesBlockedEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
for (final Card c : getTargetCards(sa)) { for (final Card c : getTargetCards(sa)) {
if ((tgt == null) || c.canBeTargetedBy(sa)) { if ((tgt == null) || c.canBeTargetedBy(sa)) {

View File

@@ -14,7 +14,7 @@ import forge.CardPredicates;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
@@ -44,7 +44,7 @@ public class ChangeZoneAllEffect extends SpellAbilityEffect {
List<Card> cards = new ArrayList<Card>(); List<Card> cards = new ArrayList<Card>();
List<Player> tgtPlayers = getTargetPlayersEmptyAsDefault(sa); List<Player> tgtPlayers = getTargetPlayersEmptyAsDefault(sa);
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
if ((tgtPlayers == null) || tgtPlayers.isEmpty() || sa.hasParam("UseAllOriginZones")) { if ((tgtPlayers == null) || tgtPlayers.isEmpty() || sa.hasParam("UseAllOriginZones")) {
cards = game.getCardsIn(origin); cards = game.getCardsIn(origin);

View File

@@ -21,7 +21,7 @@ import forge.card.spellability.SpellAbilityStackInstance;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.card.trigger.TriggerType; import forge.card.trigger.TriggerType;
import forge.control.input.InputSelectCardsFromList; import forge.control.input.InputSelectCardsFromList;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.Zone; import forge.game.zone.Zone;
@@ -375,7 +375,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
final Player player = sa.getActivatingPlayer(); final Player player = sa.getActivatingPlayer();
final Card hostCard = sa.getSourceCard(); final Card hostCard = sa.getSourceCard();
final GameState game = player.getGame(); final Game game = player.getGame();
final ZoneType destination = ZoneType.smartValueOf(sa.getParam("Destination")); final ZoneType destination = ZoneType.smartValueOf(sa.getParam("Destination"));
final List<ZoneType> origin = ZoneType.listValueOf(sa.getParam("Origin")); final List<ZoneType> origin = ZoneType.listValueOf(sa.getParam("Origin"));
@@ -619,7 +619,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
final List<Card> movedCards = new ArrayList<Card>(); final List<Card> movedCards = new ArrayList<Card>();
final boolean defined = sa.hasParam("Defined"); final boolean defined = sa.hasParam("Defined");
final boolean optional = sa.hasParam("Optional"); final boolean optional = sa.hasParam("Optional");
final GameState game = player.getGame(); final Game game = player.getGame();
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
if (tgt != null) { if (tgt != null) {
@@ -923,7 +923,7 @@ public class ChangeZoneEffect extends SpellAbilityEffect {
* object. * object.
* @param game * @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); game.getStack().remove(si);
if (srcSA.hasParam("Destination")) { if (srcSA.hasParam("Destination")) {

View File

@@ -13,7 +13,7 @@ import forge.card.ability.SpellAbilityEffect;
import forge.card.cardfactory.CardFactoryUtil; import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.util.Aggregates; import forge.util.Aggregates;
@@ -34,7 +34,7 @@ public class ChooseCardEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card host = sa.getSourceCard(); final Card host = sa.getSourceCard();
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
final ArrayList<Card> chosen = new ArrayList<Card>(); final ArrayList<Card> chosen = new ArrayList<Card>();
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();

View File

@@ -12,7 +12,7 @@ import forge.Constant;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -67,7 +67,7 @@ public class ChooseColorEffect extends SpellAbilityEffect {
} else { } else {
List<String> chosen = new ArrayList<String>(); List<String> chosen = new ArrayList<String>();
Player ai = sa.getActivatingPlayer(); Player ai = sa.getActivatingPlayer();
final GameState game = ai.getGame(); final Game game = ai.getGame();
Player opp = ai.getOpponent(); Player opp = ai.getOpponent();
if (sa.hasParam("AILogic")) { if (sa.hasParam("AILogic")) {
final String logic = sa.getParam("AILogic"); final String logic = sa.getParam("AILogic");

View File

@@ -15,7 +15,7 @@ import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityStackInstance; import forge.card.spellability.SpellAbilityStackInstance;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
import forge.game.player.Player; import forge.game.player.Player;
@@ -38,7 +38,7 @@ public class ChooseSourceEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card host = sa.getSourceCard(); final Card host = sa.getSourceCard();
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
final List<Player> tgtPlayers = getTargetPlayers(sa); final List<Player> 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()) { for (SpellAbilityStackInstance si : game.getStack()) {
final Card source = si.getSourceCard(); final Card source = si.getSourceCard();
final SpellAbility abilityOnStack = si.getSpellAbility(); final SpellAbility abilityOnStack = si.getSpellAbility();

View File

@@ -5,7 +5,7 @@ import forge.Card;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
public class CleanUpEffect extends SpellAbilityEffect { public class CleanUpEffect extends SpellAbilityEffect {
@@ -15,7 +15,7 @@ public class CleanUpEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
Card source = sa.getSourceCard(); Card source = sa.getSourceCard();
final GameState game = source.getGame(); final Game game = source.getGame();
if (sa.hasParam("ClearRemembered")) { if (sa.hasParam("ClearRemembered")) {
source.clearRemembered(); source.clearRemembered();

View File

@@ -18,7 +18,7 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.card.trigger.Trigger; import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerHandler;
import forge.game.GameState; import forge.game.Game;
import forge.gui.GuiDialog; import forge.gui.GuiDialog;
import forge.properties.ForgePreferences.FPref; 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"); String duration = sa.getParam("Duration");
if (duration.equals("UntilEndOfTurn")) { if (duration.equals("UntilEndOfTurn")) {
game.getEndOfTurn().addUntil(unclone); game.getEndOfTurn().addUntil(unclone);

View File

@@ -12,7 +12,7 @@ import forge.card.mana.ManaCost;
import forge.card.spellability.Ability; import forge.card.spellability.Ability;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -97,7 +97,7 @@ public class ControlGainEffect extends SpellAbilityEffect {
controllers = new ArrayList<Player>(); controllers = new ArrayList<Player>();
final Player newController = controllers.isEmpty() ? sa.getActivatingPlayer() : controllers.get(0); final Player newController = controllers.isEmpty() ? sa.getActivatingPlayer() : controllers.get(0);
final GameState game = newController.getGame(); final Game game = newController.getGame();
if (sa.hasParam("AllValid")) { if (sa.hasParam("AllValid")) {
tgtCards = game.getCardsIn(ZoneType.Battlefield); tgtCards = game.getCardsIn(ZoneType.Battlefield);
@@ -202,7 +202,7 @@ public class ControlGainEffect extends SpellAbilityEffect {
@Override @Override
public void run() { public void run() {
final GameState game = hostCard.getGame(); final Game game = hostCard.getGame();
final Ability ability = new Ability(hostCard, ManaCost.ZERO) { final Ability ability = new Ability(hostCard, ManaCost.ZERO) {
@Override @Override
public void resolve() { public void resolve() {

View File

@@ -5,7 +5,7 @@ import java.util.List;
import forge.Command; import forge.Command;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.util.Lang; import forge.util.Lang;
@@ -26,7 +26,7 @@ public class ControlPlayerEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Player activator = sa.getActivatingPlayer(); final Player activator = sa.getActivatingPlayer();
final GameState game = activator.getGame(); final Game game = activator.getGame();
List<Player> tgtPlayers = getTargetPlayers(sa); List<Player> tgtPlayers = getTargetPlayers(sa);

View File

@@ -24,7 +24,7 @@ import forge.card.mana.ManaCost;
import forge.card.spellability.Ability; import forge.card.spellability.Ability;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -55,7 +55,7 @@ public class CopyPermanentEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(final SpellAbility sa) { public void resolve(final SpellAbility sa) {
final Card hostCard = sa.getSourceCard(); final Card hostCard = sa.getSourceCard();
final GameState game = hostCard.getGame(); final Game game = hostCard.getGame();
final ArrayList<String> keywords = new ArrayList<String>(); final ArrayList<String> keywords = new ArrayList<String>();
if (sa.hasParam("Keywords")) { if (sa.hasParam("Keywords")) {
keywords.addAll(Arrays.asList(sa.getParam("Keywords").split(" & "))); keywords.addAll(Arrays.asList(sa.getParam("Keywords").split(" & ")));

View File

@@ -7,7 +7,7 @@ import java.util.List;
import forge.Card; import forge.Card;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.cardfactory.CardFactoryUtil; import forge.card.cardfactory.CardFactoryUtil;
import forge.game.GameState; import forge.game.Game;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityStackInstance; import forge.card.spellability.SpellAbilityStackInstance;
import forge.card.spellability.SpellPermanent; import forge.card.spellability.SpellPermanent;
@@ -17,7 +17,7 @@ import forge.gui.GuiChoose;
public class CounterEffect extends SpellAbilityEffect { public class CounterEffect extends SpellAbilityEffect {
@Override @Override
protected String getStackDescription(SpellAbility sa) { protected String getStackDescription(SpellAbility sa) {
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
final StringBuilder sb = new StringBuilder(); final StringBuilder sb = new StringBuilder();
final List<SpellAbility> sas; final List<SpellAbility> sas;
@@ -62,7 +62,7 @@ public class CounterEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { 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 // TODO Before this resolves we should see if any of our targets are
// still on the stack // still on the stack
final List<SpellAbility> sas; final List<SpellAbility> sas;
@@ -139,7 +139,7 @@ public class CounterEffect extends SpellAbilityEffect {
* @param sa * @param sa
*/ */
private void removeFromStack(final SpellAbility tgtSA, final SpellAbility srcSA, final SpellAbilityStackInstance si) { 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); game.getStack().remove(si);
String destination = srcSA.hasParam("Destination") ? srcSA.getParam("Destination") : "Graveyard"; String destination = srcSA.hasParam("Destination") ? srcSA.getParam("Destination") : "Graveyard";

View File

@@ -9,7 +9,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; 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 int counterAmount = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("CounterNum"), sa);
final String valid = sa.getParam("ValidCards"); final String valid = sa.getParam("ValidCards");
final ZoneType zone = sa.hasParam("ValidZone") ? ZoneType.smartValueOf(sa.getParam("ValidZone")) : ZoneType.Battlefield; 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<Card> cards = game.getCardsIn(zone); List<Card> cards = game.getCardsIn(zone);
cards = CardLists.getValidCards(cards, valid, sa.getSourceCard().getController(), sa.getSourceCard()); cards = CardLists.getValidCards(cards, valid, sa.getSourceCard().getController(), sa.getSourceCard());

View File

@@ -9,7 +9,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -47,7 +47,7 @@ public class CountersRemoveAllEffect extends SpellAbilityEffect {
int counterAmount = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("CounterNum"), sa); int counterAmount = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("CounterNum"), sa);
final String valid = sa.getParam("ValidCards"); final String valid = sa.getParam("ValidCards");
final ZoneType zone = sa.hasParam("ValidZone") ? ZoneType.smartValueOf(sa.getParam("ValidZone")) : ZoneType.Battlefield; 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<Card> cards = game.getCardsIn(zone); List<Card> cards = game.getCardsIn(zone);
cards = CardLists.getValidCards(cards, valid, sa.getSourceCard().getController(), sa.getSourceCard()); cards = CardLists.getValidCards(cards, valid, sa.getSourceCard().getController(), sa.getSourceCard());

View File

@@ -10,7 +10,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.zone.Zone; import forge.game.zone.Zone;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
@@ -55,7 +55,7 @@ public class CountersRemoveEffect extends SpellAbilityEffect {
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card card = sa.getSourceCard(); final Card card = sa.getSourceCard();
final GameState game = card.getGame(); final Game game = card.getGame();
final String type = sa.getParam("CounterType"); final String type = sa.getParam("CounterType");
int counterAmount = 0; int counterAmount = 0;
if (!sa.getParam("CounterNum").equals("All") && !sa.getParam("CounterNum").equals("Remembered")) { if (!sa.getParam("CounterNum").equals("All") && !sa.getParam("CounterNum").equals("Remembered")) {

View File

@@ -9,7 +9,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -46,7 +46,7 @@ public class DamageAllEffect extends SpellAbilityEffect {
final List<Card> definedSources = AbilityUtils.getDefinedCards(sa.getSourceCard(), sa.getParam("DamageSource"), sa); final List<Card> definedSources = AbilityUtils.getDefinedCards(sa.getSourceCard(), sa.getParam("DamageSource"), sa);
final Card card = definedSources.get(0); final Card card = definedSources.get(0);
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
final String damage = sa.getParam("NumDmg"); final String damage = sa.getParam("NumDmg");
final int dmg = AbilityUtils.calculateAmount(sa.getSourceCard(), damage, sa); final int dmg = AbilityUtils.calculateAmount(sa.getSourceCard(), damage, sa);

View File

@@ -7,7 +7,7 @@ import forge.Card;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -19,7 +19,7 @@ public class DamagePreventAllEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card source = sa.getSourceCard(); 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); final int numDam = AbilityUtils.calculateAmount(sa.getSourceCard(), sa.getParam("Amount"), sa);
String players = ""; String players = "";

View File

@@ -9,7 +9,7 @@ import forge.CardLists;
import forge.Command; import forge.Command;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
public class DebuffAllEffect extends SpellAbilityEffect { public class DebuffAllEffect extends SpellAbilityEffect {
@@ -40,7 +40,7 @@ public class DebuffAllEffect extends SpellAbilityEffect {
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card hostCard = sa.getSourceCard(); final Card hostCard = sa.getSourceCard();
final List<String> kws = sa.hasParam("Keywords") ? Arrays.asList(sa.getParam("Keywords").split(" & ")) : new ArrayList<String>(); final List<String> kws = sa.hasParam("Keywords") ? Arrays.asList(sa.getParam("Keywords").split(" & ")) : new ArrayList<String>();
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
String valid = ""; String valid = "";

View File

@@ -9,7 +9,7 @@ import forge.Card;
import forge.Command; import forge.Command;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
public class DebuffEffect extends SpellAbilityEffect { public class DebuffEffect extends SpellAbilityEffect {
@@ -56,7 +56,7 @@ public class DebuffEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final List<String> kws = sa.hasParam("Keywords") ? Arrays.asList(sa.getParam("Keywords").split(" & ")) : new ArrayList<String>(); final List<String> kws = sa.hasParam("Keywords") ? Arrays.asList(sa.getParam("Keywords").split(" & ")) : new ArrayList<String>();
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
final long timestamp = game.getNextTimestamp(); final long timestamp = game.getNextTimestamp();
for (final Card tgtC : getTargetCards(sa)) { for (final Card tgtC : getTargetCards(sa)) {

View File

@@ -9,7 +9,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -48,7 +48,7 @@ public class DestroyAllEffect extends SpellAbilityEffect {
final boolean noRegen = sa.hasParam("NoRegen"); final boolean noRegen = sa.hasParam("NoRegen");
final Card card = sa.getSourceCard(); final Card card = sa.getSourceCard();
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
Player targetPlayer = null; Player targetPlayer = null;

View File

@@ -9,7 +9,7 @@ import forge.CardUtil;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
public class DestroyEffect extends SpellAbilityEffect { public class DestroyEffect extends SpellAbilityEffect {
/* (non-Javadoc) /* (non-Javadoc)
@@ -69,7 +69,7 @@ public class DestroyEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card card = sa.getSourceCard(); final Card card = sa.getSourceCard();
final GameState game = card.getGame(); final Game game = card.getGame();
final boolean remDestroyed = sa.hasParam("RememberDestroyed"); final boolean remDestroyed = sa.hasParam("RememberDestroyed");
if (remDestroyed) { if (remDestroyed) {

View File

@@ -13,7 +13,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.PlayerZone; import forge.game.zone.PlayerZone;
@@ -52,7 +52,7 @@ public class DigEffect extends SpellAbilityEffect {
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card host = sa.getSourceCard(); final Card host = sa.getSourceCard();
final Player player = sa.getActivatingPlayer(); final Player player = sa.getActivatingPlayer();
final GameState game = player.getGame(); final Game game = player.getGame();
Player choser = player; Player choser = player;
int numToDig = AbilityUtils.calculateAmount(host, sa.getParam("DigNum"), sa); int numToDig = AbilityUtils.calculateAmount(host, sa.getParam("DigNum"), sa);
final ZoneType destZone1 = sa.hasParam("DestinationZone") ? ZoneType.smartValueOf(sa.getParam("DestinationZone")) 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. * a {@link forge.CardList} object.
* @return a {@link forge.CardList} object. * @return a {@link forge.CardList} object.
*/ */
private List<Card> sharesNameWithCardOnBattlefield(final GameState game, final List<Card> list) { private List<Card> sharesNameWithCardOnBattlefield(final Game game, final List<Card> list) {
final List<Card> toReturn = new ArrayList<Card>(); final List<Card> toReturn = new ArrayList<Card>();
final List<Card> play = game.getCardsIn(ZoneType.Battlefield); final List<Card> play = game.getCardsIn(ZoneType.Battlefield);
for (final Card c : list) { for (final Card c : list) {

View File

@@ -11,7 +11,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.PlayerZone; import forge.game.zone.PlayerZone;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -137,7 +137,7 @@ public class DigUntilEffect extends SpellAbilityEffect {
if (revealed.size() > 0) { if (revealed.size() > 0) {
GuiChoose.one(p + " revealed: ", revealed); GuiChoose.one(p + " revealed: ", revealed);
} }
final GameState game = p.getGame(); final Game game = p.getGame();
if (foundDest != null) { if (foundDest != null) {
// Allow ordering of found cards // Allow ordering of found cards

View File

@@ -13,7 +13,7 @@ import forge.card.spellability.SpellAbility;
import forge.card.trigger.Trigger; import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerHandler;
import forge.card.trigger.TriggerType; import forge.card.trigger.TriggerType;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -37,7 +37,7 @@ public class EffectEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card hostCard = sa.getSourceCard(); final Card hostCard = sa.getSourceCard();
final GameState game = hostCard.getGame(); final Game game = hostCard.getGame();
String[] effectAbilities = null; String[] effectAbilities = null;
String[] effectTriggers = null; String[] effectTriggers = null;

View File

@@ -8,7 +8,7 @@ import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.trigger.Trigger; import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerHandler;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -29,7 +29,7 @@ public class EncodeEffect extends SpellAbilityEffect {
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card host = sa.getSourceCard(); final Card host = sa.getSourceCard();
final Player player = sa.getActivatingPlayer(); final Player player = sa.getActivatingPlayer();
final GameState game = player.getGame(); final Game game = player.getGame();
// make list of creatures that controller has on Battlefield // make list of creatures that controller has on Battlefield
List<Card> choices = game.getCardsIn(ZoneType.Battlefield); List<Card> choices = game.getCardsIn(ZoneType.Battlefield);

View File

@@ -4,7 +4,7 @@ package forge.card.ability.effects;
import forge.Card; import forge.Card;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
public class EndTurnEffect extends SpellAbilityEffect { public class EndTurnEffect extends SpellAbilityEffect {
@@ -19,7 +19,7 @@ public class EndTurnEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
GameState game = sa.getActivatingPlayer().getGame(); Game game = sa.getActivatingPlayer().getGame();
// Steps taken from gatherer's rulings on Time Stop. // Steps taken from gatherer's rulings on Time Stop.
// 1) All spells and abilities on the stack are exiled. This includes // 1) All spells and abilities on the stack are exiled. This includes
// Time Stop, though it will continue to resolve. It also includes // Time Stop, though it will continue to resolve. It also includes

View File

@@ -13,7 +13,7 @@ import forge.card.spellability.AbilityManaPart;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameActionUtil; import forge.game.GameActionUtil;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -39,7 +39,7 @@ public class ManaEffect extends SpellAbilityEffect {
final List<Player> tgtPlayers = getTargetPlayers(sa); final List<Player> tgtPlayers = getTargetPlayers(sa);
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
final boolean optional = sa.hasParam("Optional"); final boolean optional = sa.hasParam("Optional");
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
if (optional) { if (optional) {
if (!GuiDialog.confirm(sa.getSourceCard(), "Do you want to add mana to your mana pool?")) { if (!GuiDialog.confirm(sa.getSourceCard(), "Do you want to add mana to your mana pool?")) {

View File

@@ -6,7 +6,7 @@ import forge.Card;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
/** /**
@@ -20,7 +20,7 @@ public class PlaneswalkEffect extends SpellAbilityEffect {
*/ */
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
GameState game = sa.getActivatingPlayer().getGame(); Game game = sa.getActivatingPlayer().getGame();
for(Player p : game.getPlayers()) for(Player p : game.getPlayers())
{ {

View File

@@ -19,7 +19,7 @@ import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.Spell; import forge.card.spellability.Spell;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityRestriction; import forge.card.spellability.SpellAbilityRestriction;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.player.HumanPlay; import forge.game.player.HumanPlay;
@@ -55,7 +55,7 @@ public class PlayEffect extends SpellAbilityEffect {
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
Player activator = sa.getActivatingPlayer(); Player activator = sa.getActivatingPlayer();
final GameState game = activator.getGame(); final Game game = activator.getGame();
boolean optional = sa.hasParam("Optional"); boolean optional = sa.hasParam("Optional");
boolean remember = sa.hasParam("RememberPlayed"); boolean remember = sa.hasParam("RememberPlayed");
boolean wasFaceDown = false; boolean wasFaceDown = false;

View File

@@ -12,7 +12,7 @@ import forge.card.MagicColor;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
@@ -40,7 +40,7 @@ public class ProtectAllEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card host = sa.getSourceCard(); 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 boolean isChoice = sa.getParam("Gains").contains("Choice");
final ArrayList<String> choices = AbilityUtils.getProtectionList(sa); final ArrayList<String> choices = AbilityUtils.getProtectionList(sa);

View File

@@ -12,7 +12,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.player.Player; import forge.game.player.Player;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
@@ -97,7 +97,7 @@ public class ProtectEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card host = sa.getSourceCard(); 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 boolean isChoice = sa.getParam("Gains").contains("Choice");
final ArrayList<String> choices = AbilityUtils.getProtectionList(sa); final ArrayList<String> choices = AbilityUtils.getProtectionList(sa);

View File

@@ -10,7 +10,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.cardfactory.CardFactoryUtil; import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -18,7 +18,7 @@ public class PumpAllEffect extends SpellAbilityEffect {
private void applyPumpAll(final SpellAbility sa, final List<Card> list, final int a, private void applyPumpAll(final SpellAbility sa, final List<Card> list, final int a,
final int d, final List<String> keywords, final ArrayList<ZoneType> affectedZones) { final int d, final List<String> keywords, final ArrayList<ZoneType> affectedZones) {
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
final long timestamp = game.getNextTimestamp(); final long timestamp = game.getNextTimestamp();
final ArrayList<String> kws = new ArrayList<String>(); final ArrayList<String> kws = new ArrayList<String>();
final ArrayList<String> hiddenkws = new ArrayList<String>(); final ArrayList<String> hiddenkws = new ArrayList<String>();
@@ -115,7 +115,7 @@ public class PumpAllEffect extends SpellAbilityEffect {
List<Card> list; List<Card> list;
final List<Player> tgtPlayers = getTargetPlayersEmptyAsDefault(sa); final List<Player> tgtPlayers = getTargetPlayersEmptyAsDefault(sa);
final ArrayList<ZoneType> affectedZones = new ArrayList<ZoneType>(); final ArrayList<ZoneType> affectedZones = new ArrayList<ZoneType>();
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
if (sa.hasParam("PumpZone")) { if (sa.hasParam("PumpZone")) {
for (final String zone : sa.getParam("PumpZone").split(",")) { for (final String zone : sa.getParam("PumpZone").split(",")) {

View File

@@ -13,7 +13,7 @@ import forge.card.ability.SpellAbilityEffect;
import forge.card.cardfactory.CardFactoryUtil; import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.util.Aggregates; import forge.util.Aggregates;
@@ -27,7 +27,7 @@ public class PumpEffect extends SpellAbilityEffect {
&& !sa.getSourceCard().isInPlay()) { && !sa.getSourceCard().isInPlay()) {
return; return;
} }
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
final long timestamp = game.getNextTimestamp(); final long timestamp = game.getNextTimestamp();
final ArrayList<String> kws = new ArrayList<String>(); final ArrayList<String> kws = new ArrayList<String>();
@@ -88,7 +88,7 @@ public class PumpEffect extends SpellAbilityEffect {
} }
private void applyPump(final SpellAbility sa, final Player p, final List<String> keywords) { private void applyPump(final SpellAbility sa, final Player p, final List<String> keywords) {
final GameState game = p.getGame(); final Game game = p.getGame();
for (int i = 0; i < keywords.size(); i++) { for (int i = 0; i < keywords.size(); i++) {
p.addKeyword(keywords.get(i)); p.addKeyword(keywords.get(i));
} }
@@ -189,7 +189,7 @@ public class PumpEffect extends SpellAbilityEffect {
List<Card> tgtCards = new ArrayList<Card>(); List<Card> tgtCards = new ArrayList<Card>();
final ArrayList<Card> untargetedCards = new ArrayList<Card>(); final ArrayList<Card> untargetedCards = new ArrayList<Card>();
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
List<Player> tgtPlayers = new ArrayList<Player>(); List<Player> tgtPlayers = new ArrayList<Player>();
String pumpRemembered = null; String pumpRemembered = null;
String pumpForget = null; String pumpForget = null;

View File

@@ -7,7 +7,7 @@ import forge.CardLists;
import forge.Command; import forge.Command;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
public class RegenerateAllEffect extends SpellAbilityEffect { public class RegenerateAllEffect extends SpellAbilityEffect {
@@ -20,7 +20,7 @@ public class RegenerateAllEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card hostCard = sa.getSourceCard(); final Card hostCard = sa.getSourceCard();
final GameState game = hostCard.getGame(); final Game game = hostCard.getGame();
String valid = ""; String valid = "";
if (sa.hasParam("ValidCards")) { if (sa.hasParam("ValidCards")) {

View File

@@ -8,7 +8,7 @@ import forge.Command;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
public class RegenerateEffect extends SpellAbilityEffect { public class RegenerateEffect extends SpellAbilityEffect {
@@ -45,7 +45,7 @@ public class RegenerateEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
for (final Card tgtC : getTargetCards(sa)) { for (final Card tgtC : getTargetCards(sa)) {
final Command untilEOT = new Command() { final Command untilEOT = new Command() {

View File

@@ -8,7 +8,7 @@ import forge.Card;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.Target; import forge.card.spellability.Target;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
public class RemoveFromCombatEffect extends SpellAbilityEffect { public class RemoveFromCombatEffect extends SpellAbilityEffect {
@@ -29,7 +29,7 @@ public class RemoveFromCombatEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Player activator = sa.getActivatingPlayer(); final Player activator = sa.getActivatingPlayer();
final GameState game = activator.getGame(); final Game game = activator.getGame();
final Target tgt = sa.getTarget(); final Target tgt = sa.getTarget();

View File

@@ -13,7 +13,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.AbilitySub; import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
@@ -32,7 +32,7 @@ public class RepeatEachEffect extends SpellAbilityEffect {
repeat.setActivatingPlayer(sa.getActivatingPlayer()); repeat.setActivatingPlayer(sa.getActivatingPlayer());
((AbilitySub) repeat).setParent(sa); ((AbilitySub) repeat).setParent(sa);
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
boolean useImprinted = sa.hasParam("UseImprinted"); boolean useImprinted = sa.hasParam("UseImprinted");
boolean loopOverCards = false; boolean loopOverCards = false;

View File

@@ -11,7 +11,7 @@ import forge.card.ability.SpellAbilityEffect;
import forge.card.cardfactory.CardFactoryUtil; import forge.card.cardfactory.CardFactoryUtil;
import forge.card.spellability.AbilitySub; import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.util.Expressions; import forge.util.Expressions;
@@ -70,7 +70,7 @@ public class RepeatEffect extends SpellAbilityEffect {
private boolean checkRepeatConditions(final SpellAbility sa) { private boolean checkRepeatConditions(final SpellAbility sa) {
//boolean doAgain = false; //boolean doAgain = false;
final Player activator = sa.getActivatingPlayer(); final Player activator = sa.getActivatingPlayer();
final GameState game = activator.getGame(); final Game game = activator.getGame();
if (sa.hasParam("RepeatPresent")) { if (sa.hasParam("RepeatPresent")) {

View File

@@ -16,7 +16,7 @@ import forge.card.trigger.TriggerType;
import forge.game.GameAction; import forge.game.GameAction;
import forge.game.GameAge; import forge.game.GameAge;
import forge.game.GameNew; import forge.game.GameNew;
import forge.game.GameState; import forge.game.Game;
import forge.game.RegisteredPlayer; import forge.game.RegisteredPlayer;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.PlayerZone; import forge.game.zone.PlayerZone;
@@ -30,7 +30,7 @@ public class RestartGameEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Player activator = sa.getActivatingPlayer(); final Player activator = sa.getActivatingPlayer();
final GameState game = activator.getGame(); final Game game = activator.getGame();
List<Player> players = game.getPlayers(); List<Player> players = game.getPlayers();
Map<Player, List<Card>> playerLibraries = new HashMap<Player, List<Card>>(); Map<Player, List<Card>> playerLibraries = new HashMap<Player, List<Card>>();

View File

@@ -2,7 +2,7 @@ package forge.card.ability.effects;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.PlanarDice; import forge.game.PlanarDice;
import forge.game.player.Player; import forge.game.player.Player;
import forge.gui.GuiDialog; import forge.gui.GuiDialog;
@@ -20,7 +20,7 @@ public class RollPlanarDiceEffect extends SpellAbilityEffect {
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
boolean countedTowardsCost = !sa.hasParam("NotCountedTowardsCost"); boolean countedTowardsCost = !sa.hasParam("NotCountedTowardsCost");
final Player activator = sa.getActivatingPlayer(); final Player activator = sa.getActivatingPlayer();
final GameState game = activator.getGame(); final Game game = activator.getGame();
if(countedTowardsCost) { if(countedTowardsCost) {
game.getPhaseHandler().incPlanarDiceRolledthisTurn(); game.getPhaseHandler().incPlanarDiceRolledthisTurn();

View File

@@ -7,7 +7,7 @@ import forge.Card;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -36,7 +36,7 @@ public class SacrificeAllEffect extends SpellAbilityEffect {
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card card = sa.getSourceCard(); final Card card = sa.getSourceCard();
final Player activator = sa.getActivatingPlayer(); final Player activator = sa.getActivatingPlayer();
final GameState game = activator.getGame(); final Game game = activator.getGame();
String valid = ""; String valid = "";

View File

@@ -8,7 +8,7 @@ import forge.CardPredicates;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.util.Aggregates; import forge.util.Aggregates;
@@ -19,7 +19,7 @@ public class SacrificeEffect extends SpellAbilityEffect {
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Card card = sa.getSourceCard(); final Card card = sa.getSourceCard();
final Player activator = sa.getActivatingPlayer(); 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. // Expand Sacrifice keyword here depending on what we need out of it.
final String num = sa.hasParam("Amount") ? sa.getParam("Amount") : "1"; final String num = sa.hasParam("Amount") ? sa.getParam("Amount") : "1";

View File

@@ -8,7 +8,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.AbilitySub; import forge.card.spellability.AbilitySub;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -29,7 +29,7 @@ public class TapAllEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
final Player activator = sa.getActivatingPlayer(); final Player activator = sa.getActivatingPlayer();
final GameState game = activator.getGame(); final Game game = activator.getGame();
final Card card = sa.getSourceCard(); final Card card = sa.getSourceCard();
final boolean remTapped = sa.hasParam("RememberTapped"); final boolean remTapped = sa.hasParam("RememberTapped");
if (remTapped) { if (remTapped) {

View File

@@ -9,7 +9,7 @@ import forge.CardLists;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
@@ -45,7 +45,7 @@ public class TapOrUntapAllEffect extends SpellAbilityEffect {
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
List<Card> validCards = getTargetCards(sa); List<Card> validCards = getTargetCards(sa);
final Player activator = sa.getActivatingPlayer(); final Player activator = sa.getActivatingPlayer();
final GameState game = activator.getGame(); final Game game = activator.getGame();
List<Player> targetedPlayers = getTargetPlayersEmptyAsDefault(sa); List<Player> targetedPlayers = getTargetPlayersEmptyAsDefault(sa);

View File

@@ -30,7 +30,7 @@ import forge.card.cardfactory.CardFactory;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.trigger.Trigger; import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerHandler;
import forge.game.GameState; import forge.game.Game;
import forge.game.event.GameEventTokenCreated; import forge.game.event.GameEventTokenCreated;
import forge.game.player.Player; import forge.game.player.Player;
import forge.gui.GuiChoose; 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) { for (final Card c : tokens) {
if (this.tokenTapped) { if (this.tokenTapped) {
c.setTapped(true); c.setTapped(true);

View File

@@ -9,7 +9,7 @@ import forge.CardLists;
import forge.GameEntity; import forge.GameEntity;
import forge.card.ability.SpellAbilityEffect; import forge.card.ability.SpellAbilityEffect;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -150,7 +150,7 @@ public class UnattachAllEffect extends SpellAbilityEffect {
@Override @Override
public void resolve(SpellAbility sa) { public void resolve(SpellAbility sa) {
Card source = sa.getSourceCard(); Card source = sa.getSourceCard();
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
final List<Object> targets = getTargetObjects(sa); final List<Object> targets = getTargetObjects(sa);
// If Cast Targets will be checked on the Stack // If Cast Targets will be checked on the Stack

View File

@@ -43,7 +43,7 @@ import forge.card.trigger.Trigger;
import forge.card.trigger.TriggerHandler; import forge.card.trigger.TriggerHandler;
import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCards;
import forge.control.input.InputSelectCardsFromList; import forge.control.input.InputSelectCardsFromList;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCombat; import forge.game.ai.ComputerUtilCombat;
import forge.game.player.Player; import forge.game.player.Player;
@@ -284,7 +284,7 @@ public class CardFactoryCreatures {
@Override @Override
public void run() { public void run() {
final GameState game = card.getGame(); final Game game = card.getGame();
int intermSumPower = 0; int intermSumPower = 0;
int intermSumToughness = 0; int intermSumToughness = 0;
// intermSumPower = intermSumToughness = 0; // intermSumPower = intermSumToughness = 0;
@@ -343,7 +343,7 @@ public class CardFactoryCreatures {
final Ability sacOrSac = new Ability(card, ManaCost.NO_COST) { final Ability sacOrSac = new Ability(card, ManaCost.NO_COST) {
@Override @Override
public void resolve() { public void resolve() {
final GameState game = player.getGame(); final Game game = player.getGame();
if (player.isHuman()) { if (player.isHuman()) {
final InputSelectCards target = new InputSelectCardsForDreadnought(player, 0, Integer.MAX_VALUE); // Input final InputSelectCards target = new InputSelectCardsForDreadnought(player, 0, Integer.MAX_VALUE); // Input
String toDisplay = cardName + " - Select any number of creatures to sacrifice.\n" + String toDisplay = cardName + " - Select any number of creatures to sacrifice.\n" +

View File

@@ -33,7 +33,7 @@ import forge.card.spellability.SpellAbility;
import forge.control.input.InputPayManaExecuteCommands; import forge.control.input.InputPayManaExecuteCommands;
import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCards;
import forge.control.input.InputSelectCardsFromList; import forge.control.input.InputSelectCardsFromList;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.AiController; import forge.game.ai.AiController;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.player.PlayerControllerAi; import forge.game.player.PlayerControllerAi;
@@ -50,7 +50,7 @@ import forge.gui.GuiChoose;
*/ */
public class CardFactorySorceries { public class CardFactorySorceries {
private static final void balanceLands(GameState game, Spell card) { private static final void balanceLands(Game game, Spell card) {
List<List<Card>> lands = new ArrayList<List<Card>>(); List<List<Card>> lands = new ArrayList<List<Card>>();
for (Player p : game.getPlayers()) { 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; int min = Integer.MAX_VALUE;
for (Player p : game.getPlayers()) { for (Player p : game.getPlayers()) {
min = Math.min(min, p.getZone(ZoneType.Hand).size()); 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<List<Card>> creats = new ArrayList<List<Card>>(); List<List<Card>> creats = new ArrayList<List<Card>>();
for (Player p : game.getPlayers()) { for (Player p : game.getPlayers()) {
@@ -160,7 +160,7 @@ public class CardFactorySorceries {
@Override @Override
public void resolve() { public void resolve() {
final GameState game = this.getActivatingPlayer().getGame(); final Game game = this.getActivatingPlayer().getGame();
balanceLands(game, this); balanceLands(game, this);
balanceHands(game, this); balanceHands(game, this);
balanceCreatures(game, this); balanceCreatures(game, this);
@@ -211,7 +211,7 @@ public class CardFactorySorceries {
@Override @Override
public void resolve() { public void resolve() {
final Player p = card.getController(); final Player p = card.getController();
final GameState game = p.getGame(); final Game game = p.getGame();
int baseCMC = -1; int baseCMC = -1;
final Card[] newArtifact = new Card[1]; final Card[] newArtifact = new Card[1];

View File

@@ -63,7 +63,7 @@ import forge.card.trigger.TriggerHandler;
import forge.card.trigger.TriggerType; import forge.card.trigger.TriggerType;
import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCards;
import forge.control.input.InputSelectCardsFromList; import forge.control.input.InputSelectCardsFromList;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseHandler;
@@ -423,7 +423,7 @@ public class CardFactoryUtil {
@Override @Override
public void resolve() { public void resolve() {
final GameState game = sourceCard.getGame(); final Game game = sourceCard.getGame();
final Card c = game.getAction().exile(sourceCard); final Card c = game.getAction().exile(sourceCard);
int counters = AbilityUtils.calculateAmount(c, timeCounters, this); int counters = AbilityUtils.calculateAmount(c, timeCounters, this);
@@ -1001,7 +1001,7 @@ public class CardFactoryUtil {
final String[] l = s.split("/"); final String[] l = s.split("/");
final String m = extractOperators(s); final String m = extractOperators(s);
final GameState game = player.getGame(); final Game game = player.getGame();
// count valid cards in any specified zone/s // count valid cards in any specified zone/s
if (l[0].startsWith("Valid") && !l[0].contains("Valid ")) { if (l[0].startsWith("Valid") && !l[0].contains("Valid ")) {
@@ -1130,7 +1130,7 @@ public class CardFactoryUtil {
final Player cc = c.getController(); final Player cc = c.getController();
final Player ccOpp = cc.getOpponent(); final Player ccOpp = cc.getOpponent();
final GameState game = c.getGame(); final Game game = c.getGame();
final Player activePlayer = game.getPhaseHandler().getPlayerTurn(); final Player activePlayer = game.getPhaseHandler().getPlayerTurn();
@@ -1597,7 +1597,7 @@ public class CardFactoryUtil {
private static List<Card> getCardListForXCount(final Card c, final Player cc, final Player ccOpp, final String[] sq) { private static List<Card> getCardListForXCount(final Card c, final Player cc, final Player ccOpp, final String[] sq) {
List<Card> someCards = new ArrayList<Card>(); List<Card> someCards = new ArrayList<Card>();
final GameState game = c.getGame(); final Game game = c.getGame();
// Generic Zone-based counting // Generic Zone-based counting
// Count$QualityAndZones.Subquality // Count$QualityAndZones.Subquality
@@ -2769,7 +2769,7 @@ public class CardFactoryUtil {
final Ability haunterDiesSetup = new Ability(card, ManaCost.ZERO) { final Ability haunterDiesSetup = new Ability(card, ManaCost.ZERO) {
@Override @Override
public void resolve() { public void resolve() {
final GameState game = card.getGame(); final Game game = card.getGame();
this.setActivatingPlayer(card.getController()); this.setActivatingPlayer(card.getController());
final List<Card> creats = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Presets.CREATURES); final List<Card> creats = CardLists.filter(game.getCardsIn(ZoneType.Battlefield), Presets.CREATURES);
for (int i = 0; i < creats.size(); i++) { for (int i = 0; i < creats.size(); i++) {
@@ -3095,7 +3095,7 @@ public class CardFactoryUtil {
@Override @Override
public void run() { public void run() {
final GameState game = card.getGame(); final Game game = card.getGame();
final List<Card> cardsInPlay = CardLists.getType(game.getCardsIn(ZoneType.Battlefield), "World"); final List<Card> cardsInPlay = CardLists.getType(game.getCardsIn(ZoneType.Battlefield), "World");
cardsInPlay.remove(card); cardsInPlay.remove(card);
for (int i = 0; i < cardsInPlay.size(); i++) { for (int i = 0; i < cardsInPlay.size(); i++) {
@@ -3180,7 +3180,7 @@ public class CardFactoryUtil {
private void devour(Card eater, Card dinner) { private void devour(Card eater, Card dinner) {
final GameState game = eater.getGame(); final Game game = eater.getGame();
eater.addDevoured(dinner); eater.addDevoured(dinner);
game.getAction().sacrifice(dinner, null); game.getAction().sacrifice(dinner, null);
final HashMap<String, Object> runParams = new HashMap<String, Object>(); final HashMap<String, Object> runParams = new HashMap<String, Object>();

View File

@@ -20,7 +20,7 @@ package forge.card.cost;
import forge.Card; import forge.Card;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.gui.GuiDialog; import forge.gui.GuiDialog;
@@ -76,7 +76,7 @@ public class CostDamage extends CostPart {
* forge.Card, forge.card.cost.Cost_Payment) * forge.Card, forge.card.cost.Cost_Payment)
*/ */
@Override @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 String amount = this.getAmount();
final Player activator = ability.getActivatingPlayer(); final Player activator = ability.getActivatingPlayer();
final int life = activator.getLife(); final int life = activator.getLife();

View File

@@ -29,7 +29,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCards;
import forge.control.input.InputSelectCardsFromList; import forge.control.input.InputSelectCardsFromList;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.AiController; import forge.game.ai.AiController;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.player.PlayerControllerAi; import forge.game.player.PlayerControllerAi;
@@ -158,7 +158,7 @@ public class CostDiscard extends CostPartWithList {
* forge.Card, forge.card.cost.Cost_Payment) * forge.Card, forge.card.cost.Cost_Payment)
*/ */
@Override @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 Player activator = ability.getActivatingPlayer();
final Card source = ability.getSourceCard(); final Card source = ability.getSourceCard();
List<Card> handList = new ArrayList<Card>(activator.getCardsIn(ZoneType.Hand)); List<Card> handList = new ArrayList<Card>(activator.getCardsIn(ZoneType.Hand));

View File

@@ -29,7 +29,7 @@ import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellAbilityStackInstance; import forge.card.spellability.SpellAbilityStackInstance;
import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCards;
import forge.control.input.InputSelectCardsFromList; import forge.control.input.InputSelectCardsFromList;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -154,7 +154,7 @@ public class CostExile extends CostPartWithList {
public final boolean canPay(final SpellAbility ability) { public final boolean canPay(final SpellAbility ability) {
final Player activator = ability.getActivatingPlayer(); final Player activator = ability.getActivatingPlayer();
final Card source = ability.getSourceCard(); final Card source = ability.getSourceCard();
final GameState game = activator.getGame(); final Game game = activator.getGame();
List<Card> typeList = new ArrayList<Card>(); List<Card> typeList = new ArrayList<Card>();
if (this.getType().equals("All")) { if (this.getType().equals("All")) {
@@ -207,7 +207,7 @@ public class CostExile extends CostPartWithList {
* forge.Card, forge.card.cost.Cost_Payment) * forge.Card, forge.card.cost.Cost_Payment)
*/ */
@Override @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 String amount = this.getAmount();
final Card source = ability.getSourceCard(); final Card source = ability.getSourceCard();
Integer c = this.convertAmount(); Integer c = this.convertAmount();
@@ -335,7 +335,7 @@ public class CostExile extends CostPartWithList {
return true; return true;
} }
final GameState game = sa.getActivatingPlayer().getGame(); final Game game = sa.getActivatingPlayer().getGame();
ArrayList<SpellAbility> saList = new ArrayList<SpellAbility>(); ArrayList<SpellAbility> saList = new ArrayList<SpellAbility>();
ArrayList<String> descList = new ArrayList<String>(); ArrayList<String> descList = new ArrayList<String>();

View File

@@ -7,7 +7,7 @@ import forge.Card;
import forge.CardLists; import forge.CardLists;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.card.spellability.SpellPermanent; import forge.card.spellability.SpellPermanent;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.ai.ComputerUtilCost; import forge.game.ai.ComputerUtilCost;
import forge.game.player.Player; 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) * @see forge.card.cost.CostPart#payHuman(forge.card.spellability.SpellAbility, forge.game.GameState)
*/ */
@Override @Override
public boolean payHuman(SpellAbility ability, GameState game) { public boolean payHuman(SpellAbility ability, Game game) {
List<Card> validGrave = CardLists.getValidCards(ability.getActivatingPlayer().getZone(ZoneType.Graveyard), "Creature", ability.getActivatingPlayer(), ability.getSourceCard()); List<Card> validGrave = CardLists.getValidCards(ability.getActivatingPlayer().getZone(ZoneType.Graveyard), "Creature", ability.getActivatingPlayer(), ability.getSourceCard());
Card selectedCard = GuiChoose.oneOrNone("Choose a creature card to exile.", validGrave); Card selectedCard = GuiChoose.oneOrNone("Choose a creature card to exile.", validGrave);

View File

@@ -23,7 +23,7 @@ import java.util.List;
import forge.Card; import forge.Card;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
@@ -116,7 +116,7 @@ public class CostGainLife extends CostPart {
* forge.Card, forge.card.cost.Cost_Payment) * forge.Card, forge.card.cost.Cost_Payment)
*/ */
@Override @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 Card source = ability.getSourceCard();
final String amount = this.getAmount(); final String amount = this.getAmount();
final Player activator = ability.getActivatingPlayer(); final Player activator = ability.getActivatingPlayer();

View File

@@ -22,7 +22,7 @@ import java.util.List;
import forge.Card; import forge.Card;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.PlayerZone; import forge.game.zone.PlayerZone;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -88,7 +88,7 @@ public class CostMill extends CostPartWithList {
* forge.Card, forge.card.cost.Cost_Payment) * forge.Card, forge.card.cost.Cost_Payment)
*/ */
@Override @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 String amount = this.getAmount();
Integer c = this.convertAmount(); Integer c = this.convertAmount();
final Card source = ability.getSourceCard(); final Card source = ability.getSourceCard();

View File

@@ -22,7 +22,7 @@ import org.apache.commons.lang3.StringUtils;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
/** /**
@@ -192,7 +192,7 @@ public abstract class CostPart {
* @param game * @param game
* @return true, if successful * @return true, if successful
*/ */
public abstract boolean payHuman(SpellAbility ability, GameState game); public abstract boolean payHuman(SpellAbility ability, Game game);
/* /*
* (non-Javadoc) * (non-Javadoc)

View File

@@ -28,7 +28,7 @@ import forge.card.spellability.SpellAbility;
import forge.control.input.InputPayMana; import forge.control.input.InputPayMana;
import forge.control.input.InputPayManaOfCostPayment; import forge.control.input.InputPayManaOfCostPayment;
import forge.control.input.InputPayManaX; import forge.control.input.InputPayManaX;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilMana; import forge.game.ai.ComputerUtilMana;
import forge.game.player.Player; import forge.game.player.Player;
@@ -107,7 +107,7 @@ public class CostPartMana extends CostPart {
} }
@Override @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 Card source = ability.getSourceCard();
ManaCostBeingPaid toPay = new ManaCostBeingPaid(getManaToPay(), restriction); ManaCostBeingPaid toPay = new ManaCostBeingPaid(getManaToPay(), restriction);

View File

@@ -20,7 +20,7 @@ package forge.card.cost;
import forge.Card; import forge.Card;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.gui.GuiDialog; import forge.gui.GuiDialog;
@@ -111,7 +111,7 @@ public class CostPayLife extends CostPart {
* forge.Card, forge.card.cost.Cost_Payment) * forge.Card, forge.card.cost.Cost_Payment)
*/ */
@Override @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 Card source = ability.getSourceCard();
final String amount = this.getAmount(); final String amount = this.getAmount();
final Player activator = ability.getActivatingPlayer(); final Player activator = ability.getActivatingPlayer();

View File

@@ -23,7 +23,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import forge.Card; import forge.Card;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
/** /**
@@ -104,7 +104,7 @@ public class CostPayment {
* *
* @return a boolean. * @return a boolean.
*/ */
public boolean payCost(final GameState game) { public boolean payCost(final Game game) {
for (final CostPart part : this.cost.getCostParts()) { for (final CostPart part : this.cost.getCostParts()) {
if ( false == part.payHuman(this.ability, game) ) { if ( false == part.payHuman(this.ability, game) ) {
return false; return false;
@@ -167,7 +167,7 @@ public class CostPayment {
* *
* @return a boolean. * @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 // canPayAdditionalCosts now Player Agnostic
// Just in case it wasn't set, but honestly it shouldn't have gotten // Just in case it wasn't set, but honestly it shouldn't have gotten

View File

@@ -28,7 +28,7 @@ import forge.Singletons;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCards;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtilCard; import forge.game.ai.ComputerUtilCard;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -248,7 +248,7 @@ public class CostPutCounter extends CostPartWithList {
* forge.Card, forge.card.cost.Cost_Payment) * forge.Card, forge.card.cost.Cost_Payment)
*/ */
@Override @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 Card source = ability.getSourceCard();
Integer c = getNumberOfCounters(ability); Integer c = getNumberOfCounters(ability);

View File

@@ -29,7 +29,7 @@ import forge.Singletons;
import forge.card.ability.AbilityUtils; import forge.card.ability.AbilityUtils;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCards;
import forge.game.GameState; import forge.game.Game;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
import forge.gui.GuiChoose; import forge.gui.GuiChoose;
@@ -115,7 +115,7 @@ public class CostRemoveCounter extends CostPartWithList {
} }
@Override @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 String amount = this.getAmount();
final Card source = ability.getSourceCard(); final Card source = ability.getSourceCard();
Integer c = this.convertAmount(); Integer c = this.convertAmount();

View File

@@ -26,7 +26,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCards;
import forge.control.input.InputSelectCardsFromList; import forge.control.input.InputSelectCardsFromList;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.ComputerUtil; import forge.game.ai.ComputerUtil;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.zone.ZoneType; import forge.game.zone.ZoneType;
@@ -120,7 +120,7 @@ public class CostReturn extends CostPartWithList {
* forge.Card, forge.card.cost.Cost_Payment) * forge.Card, forge.card.cost.Cost_Payment)
*/ */
@Override @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 String amount = this.getAmount();
final Card source = ability.getSourceCard(); final Card source = ability.getSourceCard();
Integer c = this.convertAmount(); Integer c = this.convertAmount();

View File

@@ -29,7 +29,7 @@ import forge.card.ability.AbilityUtils;
import forge.card.spellability.SpellAbility; import forge.card.spellability.SpellAbility;
import forge.control.input.InputSelectCards; import forge.control.input.InputSelectCards;
import forge.control.input.InputSelectCardsFromList; import forge.control.input.InputSelectCardsFromList;
import forge.game.GameState; import forge.game.Game;
import forge.game.ai.AiController; import forge.game.ai.AiController;
import forge.game.player.Player; import forge.game.player.Player;
import forge.game.player.PlayerControllerAi; import forge.game.player.PlayerControllerAi;
@@ -140,7 +140,7 @@ public class CostReveal extends CostPartWithList {
* forge.Card, forge.card.cost.Cost_Payment) * forge.Card, forge.card.cost.Cost_Payment)
*/ */
@Override @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 Player activator = ability.getActivatingPlayer();
final Card source = ability.getSourceCard(); final Card source = ability.getSourceCard();
final String amount = this.getAmount(); final String amount = this.getAmount();

Some files were not shown because too many files have changed in this diff Show More