PlayMain1 cards
Recent discussion on how best to make sure that my pump spells were actually considered by the AI, revealed that there was a hard-coded list of cards the AI would choose to play during Main1.
My suggestion was to modify the bit of AI code that utilized the list, having it search for cards with a property to be played during Main1.
ComputerAI_General:
The list was certainly incomplete, so add the following wherever necessary:
My suggestion was to modify the bit of AI code that utilized the list, having it search for cards with a property to be played during Main1.
ComputerAI_General:
- Code: Select all
private SpellAbility[] getMain1() {
//Card list of all cards to consider
CardList hand = new CardList(AllZone.Computer_Hand.getCards());
hand = hand.filter(new CardListFilter() {
// Beached As Start
public boolean addCard(Card c) {
//Collection<Card> play = playMain1Cards;
if (c.getSVar("PlayMain1").equals("TRUE"))
return true;
if(c.isLand()) return false;
if(c.isCreature() && c.getKeyword().contains("Haste")) return true;
CardList Vengevines = new CardList();
......
The list was certainly incomplete, so add the following wherever necessary:
- Code: Select all
card.setSVar("PlayMain1", "TRUE");
- Code: Select all
SVar:PlayMain1:TRUE
- Code: Select all
//*************** START ********** START *************************
if (cardName.equals("Finest Hour") || cardName.equals("Gaea's Anthem") ||
cardName.equals("Glorious Anthem"))
// no card factory code, cards handled elsewhere,
{
card.setSVar("PlayMain1", "TRUE");
}//*************** END ************ END **************************