mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 03:38:01 +00:00
Mass renamed classes: GameState -> Game, MatchController (aka MatchState) -> Match
This commit is contained in:
4
.gitattributes
vendored
4
.gitattributes
vendored
@@ -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
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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?"
|
||||||
|
|||||||
@@ -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)) {
|
||||||
|
|||||||
@@ -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()) {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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()) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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)) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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)) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|
||||||
|
|||||||
@@ -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()) {
|
||||||
|
|||||||
@@ -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)) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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")) {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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");
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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(" & ")));
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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")) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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 = "";
|
||||||
|
|||||||
@@ -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 = "";
|
||||||
|
|
||||||
|
|||||||
@@ -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)) {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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?")) {
|
||||||
|
|||||||
@@ -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())
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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(",")) {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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")) {
|
||||||
|
|||||||
@@ -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() {
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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")) {
|
||||||
|
|||||||
@@ -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>>();
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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 = "";
|
||||||
|
|||||||
@@ -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";
|
||||||
|
|||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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" +
|
||||||
|
|||||||
@@ -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];
|
||||||
|
|
||||||
|
|||||||
@@ -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>();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|||||||
@@ -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>();
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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
Reference in New Issue
Block a user