diff --git a/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java b/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java index 5358f6e670d..bbe277b07f0 100644 --- a/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/ControlGainAi.java @@ -68,7 +68,6 @@ import forge.util.Aggregates; public class ControlGainAi extends SpellAbilityAi { @Override protected boolean canPlayAI(final Player ai, final SpellAbility sa) { - final List lose = Lists.newArrayList(); if (sa.hasParam("LoseControl")) { diff --git a/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java b/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java index d72eedd0249..c3dea810f1e 100644 --- a/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java +++ b/forge-ai/src/main/java/forge/ai/ability/SkipPhaseAi.java @@ -1,5 +1,6 @@ package forge.ai.ability; +import forge.ai.AiAttackController; import forge.ai.SpellAbilityAi; import forge.game.player.Player; import forge.game.player.PlayerActionConfirmMode; @@ -8,12 +9,23 @@ import forge.game.spellability.SpellAbility; public class SkipPhaseAi extends SpellAbilityAi { @Override protected boolean canPlayAI(Player aiPlayer, SpellAbility sa) { + if (sa.usesTargeting()) { + final Player opp = AiAttackController.choosePreferredDefenderPlayer(aiPlayer); + if (sa.canTarget(opp)) { + sa.resetTargets(); + sa.getTargets().add(opp); + } + else { + return false; + } + } + return true; } @Override protected boolean doTriggerAINoCost(Player aiPlayer, SpellAbility sa, boolean mandatory) { - return mandatory || canPlayAI(aiPlayer, sa); + return canPlayAI(aiPlayer, sa) || mandatory; } @Override