- Somewhat better AI for Exhaustion.

This commit is contained in:
Agetian
2017-08-28 04:25:19 +00:00
parent 0f83f23052
commit 59b7f9c775

View File

@@ -16,10 +16,7 @@ import forge.ai.SpellApiToAi;
import forge.game.Game; import forge.game.Game;
import forge.game.GlobalRuleChange; import forge.game.GlobalRuleChange;
import forge.game.ability.ApiType; import forge.game.ability.ApiType;
import forge.game.card.Card; import forge.game.card.*;
import forge.game.card.CardCollection;
import forge.game.card.CardLists;
import forge.game.card.CardPredicates;
import forge.game.combat.CombatUtil; import forge.game.combat.CombatUtil;
import forge.game.phase.PhaseHandler; import forge.game.phase.PhaseHandler;
import forge.game.phase.PhaseType; import forge.game.phase.PhaseType;
@@ -54,9 +51,11 @@ public class EffectAi extends SpellAbilityAi {
} else if (logic.equals("KeepOppCreatsLandsTapped")) { } else if (logic.equals("KeepOppCreatsLandsTapped")) {
for (Player opp : ai.getOpponents()) { for (Player opp : ai.getOpponents()) {
boolean worthHolding = false; boolean worthHolding = false;
if (CardLists.filter(opp.getCardsIn(ZoneType.Battlefield), CardCollectionView oppCreatsLands = CardLists.filter(opp.getCardsIn(ZoneType.Battlefield),
Predicates.and(Predicates.or(CardPredicates.Presets.LANDS, CardPredicates.Presets.CREATURES), Predicates.or(CardPredicates.Presets.LANDS, CardPredicates.Presets.CREATURES));
CardPredicates.Presets.TAPPED)).size() >= 3) { CardCollectionView oppCreatsLandsTapped = CardLists.filter(oppCreatsLands, CardPredicates.Presets.TAPPED);
if (oppCreatsLandsTapped.size() >= 3 || oppCreatsLands.size() == oppCreatsLandsTapped.size()) {
worthHolding = true; worthHolding = true;
} }
if (!worthHolding) { if (!worthHolding) {