- RemAIDeck update: next iteration ("when CARDNAME enters the battlefield, return a creature you control to its owner's hand").

This commit is contained in:
Agetian
2017-10-06 17:16:17 +00:00
parent a45a8a6011
commit fd1f686469
21 changed files with 53 additions and 42 deletions

View File

@@ -700,6 +700,8 @@ public class ComputerUtil {
return sacrificed; // sacrifice none
}
}
boolean exceptSelf = "ExceptSelf".equals(source.getParam("AILogic"));
boolean removedSelf = false;
if (isOptional && source.hasParam("Devour") || source.hasParam("Exploit") || considerSacLogic) {
if (source.hasParam("Exploit")) {
@@ -757,11 +759,22 @@ public class ComputerUtil {
final int max = Math.min(remaining.size(), amount);
if (exceptSelf) {
removedSelf = remaining.remove(source.getHostCard());
}
for (int i = 0; i < max; i++) {
Card c = chooseCardToSacrifice(remaining, ai, destroy);
remaining.remove(c);
sacrificed.add(c);
if (c != null) {
sacrificed.add(c);
}
}
if (sacrificed.isEmpty() && removedSelf) {
sacrificed.add(source.getHostCard());
}
return sacrificed;
}

View File

@@ -1381,7 +1381,7 @@ public class ChangeZoneAi extends SpellAbilityAi {
String logic = sa.getParam("AILogic");
if ("NeverBounceItself".equals(logic)) {
Card source = sa.getHostCard();
if (fetchList.contains(source)) {
if (fetchList.contains(source) && fetchList.size() > 1) {
// For cards that should never be bounced back to hand with their own [e.g. triggered] abilities, such as guild lands.
fetchList.remove(source);
}