Update PeekAndRevealAi.java

This commit is contained in:
Anthony Calosa
2022-05-05 04:42:24 +08:00
committed by GitHub
parent 50e068e047
commit 47168e1de7

View File

@@ -1,7 +1,9 @@
package forge.ai.ability;
import forge.ai.AiAttackController;
import forge.ai.SpellAbilityAi;
import forge.ai.SpellApiToAi;
import forge.game.card.Card;
import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType;
import forge.game.player.Player;
@@ -9,6 +11,7 @@ import forge.game.player.PlayerActionConfirmMode;
import forge.game.spellability.AbilityStatic;
import forge.game.spellability.AbilitySub;
import forge.game.spellability.SpellAbility;
import forge.game.zone.ZoneType;
/**
* TODO: Write javadoc for this type.
@@ -38,6 +41,28 @@ public class PeekAndRevealAi extends SpellAbilityAi {
}
// So far this only appears on Triggers, but will expand
// once things get converted from Dig + NoMove
Player opp = AiAttackController.choosePreferredDefenderPlayer(aiPlayer);
final Card host = sa.getHostCard();
Player libraryOwner = aiPlayer;
if (!willPayCosts(aiPlayer, sa, sa.getPayCosts(), host)) {
return false;
}
if (sa.usesTargeting()) {
sa.resetTargets();
//todo: evaluate valid targets
if (!sa.canTarget(opp)) {
return false;
}
sa.getTargets().add(opp);
libraryOwner = opp;
}
if (libraryOwner.getCardsIn(ZoneType.Library).isEmpty()) {
return false;
}
return true;
}