This commit is contained in:
tool4EvEr
2022-11-01 14:37:51 +01:00
parent 5db8a2c564
commit d954f9dcb3
22 changed files with 32 additions and 64 deletions

View File

@@ -4,8 +4,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import com.google.common.base.Predicates;
import com.google.common.collect.Iterables;
import forge.ai.AiCardMemory;
import forge.ai.ComputerUtilAbility;
@@ -82,7 +80,7 @@ public class ChooseTypeAi extends SpellAbilityAi {
if (maxX > 1) {
CardCollection cre = CardLists.filter(aiPlayer.getCardsIn(ZoneType.Battlefield),
Predicates.and(CardPredicates.isType(chosenType), CardPredicates.Presets.UNTAPPED));
CardPredicates.isType(chosenType), CardPredicates.Presets.UNTAPPED);
if (!cre.isEmpty()) {
for (Card c: cre) {
avgPower += c.getNetPower();

View File

@@ -302,8 +302,8 @@ public class CountersPutAi extends CountersAi {
}
CardCollection oppCreats = CardLists.filter(ai.getOpponents().getCreaturesInPlay(),
Predicates.and(Predicates.not(CardPredicates.hasCounter(CounterType.getType(type))),
CardPredicates.isTargetableBy(sa)));
Predicates.not(CardPredicates.hasCounter(CounterType.getType(type))),
CardPredicates.isTargetableBy(sa));
if (!oppCreats.isEmpty()) {
Card bestCreat = ComputerUtilCard.getBestCreatureAI(oppCreats);

View File

@@ -373,13 +373,8 @@ public class UntapAi extends SpellAbilityAi {
reduced.decreaseShard(ManaCostShard.GENERIC, untappingCards.size());
if (ComputerUtilMana.canPayManaCost(reduced, ab, ai, false)) {
CardCollection manaLandsTapped = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield),
Predicates.and(Presets.LANDS_PRODUCING_MANA, Presets.TAPPED));
manaLandsTapped = CardLists.filter(manaLandsTapped, new Predicate<Card>() {
@Override
public boolean apply(Card card) {
return card.isValid(sa.getParam("ValidTgts"), ai, source, null);
}
});
Presets.LANDS_PRODUCING_MANA, Presets.TAPPED);
manaLandsTapped = CardLists.getValidCards(manaLandsTapped, sa.getParam("ValidTgts"), ai, source, null);
if (!manaLandsTapped.isEmpty()) {
// already have a tapped land, so agree to proceed with untapping it
@@ -388,13 +383,8 @@ public class UntapAi extends SpellAbilityAi {
// pool one additional mana by tapping a land to try to ramp to something
CardCollection manaLands = CardLists.filter(ai.getCardsIn(ZoneType.Battlefield),
Predicates.and(Presets.LANDS_PRODUCING_MANA, Presets.UNTAPPED));
manaLands = CardLists.filter(manaLands, new Predicate<Card>() {
@Override
public boolean apply(Card card) {
return card.isValid(sa.getParam("ValidTgts"), ai, source, null);
}
});
Presets.LANDS_PRODUCING_MANA, Presets.UNTAPPED);
manaLands = CardLists.getValidCards(manaLands, sa.getParam("ValidTgts"), ai, source, null);
if (manaLands.isEmpty()) {
// nothing to untap