- AI will no longer copy its own legendary permanents.

This commit is contained in:
Sloth
2013-04-29 16:11:05 +00:00
parent ef7c3f3308
commit 56f5714af2

View File

@@ -46,7 +46,7 @@ public class CopyPermanentAi extends SpellAbilityAi {
} }
@Override @Override
protected boolean doTriggerAINoCost(AIPlayer aiPlayer, SpellAbility sa, boolean mandatory) { protected boolean doTriggerAINoCost(final AIPlayer aiPlayer, SpellAbility sa, boolean mandatory) {
final Card source = sa.getSourceCard(); final Card source = sa.getSourceCard();
// //// // ////
@@ -68,7 +68,7 @@ public class CopyPermanentAi extends SpellAbilityAi {
abTgt.resetTargets(); abTgt.resetTargets();
// target loop // target loop
while (abTgt.getNumTargeted() < abTgt.getMaxTargets(sa.getSourceCard(), sa)) { while (abTgt.getNumTargeted() < abTgt.getMaxTargets(sa.getSourceCard(), sa)) {
if (list.size() == 0) { if (list.isEmpty()) {
if ((abTgt.getNumTargeted() < abTgt.getMinTargets(sa.getSourceCard(), sa)) if ((abTgt.getNumTargeted() < abTgt.getMinTargets(sa.getSourceCard(), sa))
|| (abTgt.getNumTargeted() == 0)) { || (abTgt.getNumTargeted() == 0)) {
abTgt.resetTargets(); abTgt.resetTargets();
@@ -79,6 +79,12 @@ public class CopyPermanentAi extends SpellAbilityAi {
} }
} }
list = CardLists.filter(list, new Predicate<Card>() {
@Override
public boolean apply(final Card c) {
return !c.isType("Legendary") || c.getController().isOpponentOf(aiPlayer);
}
});
Card choice; Card choice;
if (!CardLists.filter(list, Presets.CREATURES).isEmpty()) { if (!CardLists.filter(list, Presets.CREATURES).isEmpty()) {
choice = ComputerUtilCard.getBestCreatureAI(list); choice = ComputerUtilCard.getBestCreatureAI(list);