mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
removed references to Aiplayer methods, next step is class removal
This commit is contained in:
@@ -34,8 +34,10 @@ import forge.control.input.InputPayManaExecuteCommands;
|
||||
import forge.control.input.InputSelectCards;
|
||||
import forge.control.input.InputSelectCardsFromList;
|
||||
import forge.game.GameState;
|
||||
import forge.game.ai.AiController;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerControllerAi;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.gui.GuiChoose;
|
||||
|
||||
@@ -106,7 +108,8 @@ public class CardFactorySorceries {
|
||||
for( Card c : sc.getSelected())
|
||||
p.discard(c, spell);
|
||||
} else {
|
||||
final List<Card> toDiscard = ((AIPlayer)p).getAi().getCardsToDiscard(sac, (String[])null, spell);
|
||||
final AiController ai = ((PlayerControllerAi)p.getController()).getAi();
|
||||
final List<Card> toDiscard = ai.getCardsToDiscard(sac, (String[])null, spell);
|
||||
for (int i = 0; i < toDiscard.size(); i++) {
|
||||
p.discard(toDiscard.get(i), spell);
|
||||
}
|
||||
|
||||
@@ -30,8 +30,10 @@ import forge.card.spellability.SpellAbility;
|
||||
import forge.control.input.InputSelectCards;
|
||||
import forge.control.input.InputSelectCardsFromList;
|
||||
import forge.game.GameState;
|
||||
import forge.game.ai.AiController;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerControllerAi;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.util.Aggregates;
|
||||
|
||||
@@ -279,7 +281,8 @@ public class CostDiscard extends CostPartWithList {
|
||||
if (type.equals("Random")) {
|
||||
return new PaymentDecision(CardLists.getRandomSubList(hand, c));
|
||||
} else {
|
||||
return new PaymentDecision(ai.getAi().getCardsToDiscard(c, type.split(";"), ability));
|
||||
final AiController aic = ((PlayerControllerAi)ai.getController()).getAi();
|
||||
return new PaymentDecision(aic.getCardsToDiscard(c, type.split(";"), ability));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -31,8 +31,10 @@ import forge.card.spellability.SpellAbility;
|
||||
import forge.control.input.InputSelectCards;
|
||||
import forge.control.input.InputSelectCardsFromList;
|
||||
import forge.game.GameState;
|
||||
import forge.game.ai.AiController;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerControllerAi;
|
||||
import forge.game.zone.ZoneType;
|
||||
|
||||
/**
|
||||
@@ -128,7 +130,8 @@ public class CostReveal extends CostPartWithList {
|
||||
}
|
||||
}
|
||||
|
||||
return new PaymentDecision(ai.getAi().getCardsToDiscard(c, type.split(";"), ability));
|
||||
final AiController aic = ((PlayerControllerAi)ai.getController()).getAi();
|
||||
return new PaymentDecision(aic.getCardsToDiscard(c, type.split(";"), ability));
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -70,11 +70,13 @@ import forge.control.input.InputPayManaExecuteCommands;
|
||||
import forge.control.input.InputPayment;
|
||||
import forge.control.input.InputSelectCards;
|
||||
import forge.control.input.InputSelectCardsFromList;
|
||||
import forge.game.ai.AiController;
|
||||
import forge.game.event.CardDamagedEvent;
|
||||
import forge.game.event.LifeLossEvent;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.HumanPlay;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerControllerAi;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.gui.GuiChoose;
|
||||
import forge.gui.GuiDialog;
|
||||
@@ -286,8 +288,8 @@ public final class GameActionUtil {
|
||||
revealed.remove(rippledCards[i]);
|
||||
}
|
||||
} else {
|
||||
AIPlayer ai = (AIPlayer) p;
|
||||
SpellAbility saPlayed = ai.getAi().chooseAndPlaySa(rippledCards[i].getBasicSpells(), false, true);
|
||||
final AiController aic = ((PlayerControllerAi)p.getController()).getAi();
|
||||
SpellAbility saPlayed = aic.chooseAndPlaySa(rippledCards[i].getBasicSpells(), false, true);
|
||||
if ( saPlayed != null )
|
||||
revealed.remove(rippledCards[i]);
|
||||
}
|
||||
|
||||
@@ -804,7 +804,7 @@ public class AiController {
|
||||
if (!player.isUnlimitedHandSize()) {
|
||||
int max = Math.min(player.getZone(ZoneType.Hand).size(), size - player.getMaxHandSize());
|
||||
if( max > 0) {
|
||||
final List<Card> toDiscard = player.getAi().getCardsToDiscard(max, (String[])null, null);
|
||||
final List<Card> toDiscard = getCardsToDiscard(max, (String[])null, null);
|
||||
for (int i = 0; i < toDiscard.size(); i++) {
|
||||
player.discard(toDiscard.get(i), null);
|
||||
}
|
||||
|
||||
@@ -51,6 +51,7 @@ import forge.game.phase.PhaseHandler;
|
||||
import forge.game.phase.PhaseType;
|
||||
import forge.game.player.AIPlayer;
|
||||
import forge.game.player.Player;
|
||||
import forge.game.player.PlayerControllerAi;
|
||||
import forge.game.zone.ZoneType;
|
||||
import forge.gui.GuiChoose;
|
||||
import forge.util.Aggregates;
|
||||
@@ -1238,7 +1239,8 @@ public class ComputerUtil {
|
||||
public static boolean wantMulligan(AIPlayer ai) {
|
||||
final List<Card> handList = ai.getCardsIn(ZoneType.Hand);
|
||||
final boolean hasLittleCmc0Cards = CardLists.getValidCards(handList, "Card.cmcEQ0", ai, null).size() < 2;
|
||||
return (handList.size() > ai.getAi().getIntProperty(AiProps.AI_MULLIGAN_THRESHOLD)) && hasLittleCmc0Cards;
|
||||
final AiController aic = ((PlayerControllerAi)ai.getController()).getAi();
|
||||
return (handList.size() > aic.getIntProperty(AiProps.AI_MULLIGAN_THRESHOLD)) && hasLittleCmc0Cards;
|
||||
|
||||
}
|
||||
|
||||
@@ -1368,7 +1370,8 @@ public class ComputerUtil {
|
||||
*/
|
||||
public static List<Card> getCardsToDiscardFromFriend(AIPlayer aiChooser, Player p, SpellAbility sa, List<Card> validCards, int min, int max) {
|
||||
if (p instanceof AIPlayer) { // ask that ai player what he would like to discard
|
||||
return ((AIPlayer) p).getAi().getCardsToDiscard(min, max, validCards, sa);
|
||||
final AiController aic = ((PlayerControllerAi)p.getController()).getAi();
|
||||
return aic.getCardsToDiscard(min, max, validCards, sa);
|
||||
}
|
||||
// no special options for human or remote friends
|
||||
return getCardsToDiscardFromOpponent(aiChooser, p, sa, validCards, min, max);
|
||||
|
||||
@@ -42,9 +42,4 @@ public class AIPlayer extends Player {
|
||||
super(player, game);
|
||||
controller = new PlayerControllerAi(game, this);
|
||||
}
|
||||
|
||||
public AiController getAi() {
|
||||
return controller instanceof PlayerControllerAi ? ((PlayerControllerAi) controller).getAi() : null;
|
||||
}
|
||||
|
||||
} // end AIPlayer class
|
||||
|
||||
Reference in New Issue
Block a user