mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-19 20:28:00 +00:00
- Added AI support for Mind Grind.
This commit is contained in:
@@ -2,9 +2,12 @@ package forge.card.ability.ai;
|
|||||||
|
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
|
|
||||||
|
import forge.Card;
|
||||||
import forge.card.ability.SpellAbilityAi;
|
import forge.card.ability.SpellAbilityAi;
|
||||||
|
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.ai.ComputerUtilMana;
|
||||||
import forge.game.player.AIPlayer;
|
import forge.game.player.AIPlayer;
|
||||||
import forge.game.player.Player;
|
import forge.game.player.Player;
|
||||||
import forge.game.zone.ZoneType;
|
import forge.game.zone.ZoneType;
|
||||||
@@ -14,6 +17,7 @@ public class DigUntilAi extends SpellAbilityAi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
protected boolean canPlayAI(AIPlayer ai, SpellAbility sa) {
|
||||||
|
Card source = sa.getSourceCard();
|
||||||
double chance = .4; // 40 percent chance with instant speed stuff
|
double chance = .4; // 40 percent chance with instant speed stuff
|
||||||
if (SpellAbilityAi.isSorcerySpeed(sa)) {
|
if (SpellAbilityAi.isSorcerySpeed(sa)) {
|
||||||
chance = .667; // 66.7% chance for sorcery speed (since it will
|
chance = .667; // 66.7% chance for sorcery speed (since it will
|
||||||
@@ -36,6 +40,18 @@ public class DigUntilAi extends SpellAbilityAi {
|
|||||||
libraryOwner = opp;
|
libraryOwner = opp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final String num = sa.getParam("Amount");
|
||||||
|
if ((num != null) && num.equals("X") && source.getSVar(num).equals("Count$xPaid")) {
|
||||||
|
// Set PayX here to maximum value.
|
||||||
|
if (!(sa instanceof AbilitySub) || source.getSVar("PayX").equals("")) {
|
||||||
|
int numCards = ComputerUtilMana.determineLeftoverMana(sa, ai);
|
||||||
|
if (numCards <= 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
source.setSVar("PayX", Integer.toString(numCards));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// return false if nothing to dig into
|
// return false if nothing to dig into
|
||||||
if (libraryOwner.getCardsIn(ZoneType.Library).isEmpty()) {
|
if (libraryOwner.getCardsIn(ZoneType.Library).isEmpty()) {
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
Reference in New Issue
Block a user