- Updated the quest deck Riddler 4 and improved AI handling of Guilty Conscience.

This commit is contained in:
Sloth
2013-04-20 12:27:11 +00:00
parent 280a9a7d4c
commit acfd320657
2 changed files with 46 additions and 30 deletions

View File

@@ -10,18 +10,24 @@ Deck Type=constructed
4 Arid Mesa 4 Arid Mesa
4 Plateau 4 Plateau
4 Windswept Heath 4 Windswept Heath
3 Scalding Tarn 3 Flooded Strand
6 Plains|M11 1 Plains|M11
1 Mountain|M11 1 Mountain|M11
1 Mox Emerald
1 Mox Sapphire
1 Mox Jet
1 Mox Ruby
1 Mox Pearl
4 Boros Reckoner
4 Spitemare 4 Spitemare
4 Swans of Bryn Argoll 2 Swans of Bryn Argoll
4 Stuffy Doll 4 Stuffy Doll
4 Wall of Hope 2 Wall of Hope
4 Guilty Conscience 4 Guilty Conscience
4 Pyroclasm 4 Pyroclasm
4 Volcanic Fallout 4 Volcanic Fallout
2 Tremor 2 Tremor
2 Chain Reaction 2 Chain Reaction
4 Enlightened Tutor
2 Idyllic Tutor 2 Idyllic Tutor
4 Blasphemous Act
[sideboard] [sideboard]

View File

@@ -395,10 +395,20 @@ public class AttachAi extends SpellAbilityAi {
private static Card attachAISpecificCardPreference(final SpellAbility sa, final List<Card> list, final boolean mandatory, private static Card attachAISpecificCardPreference(final SpellAbility sa, final List<Card> list, final boolean mandatory,
final Card attachSource) { final Card attachSource) {
// I know this isn't much better than Hardcoding, but some cards need it for now // I know this isn't much better than Hardcoding, but some cards need it for now
Player ai = sa.getActivatingPlayer(); final Player ai = sa.getActivatingPlayer();
Card chosen = null; Card chosen = null;
if ("Guilty Conscience".equals(sa.getSourceCard().getName())) { if ("Guilty Conscience".equals(sa.getSourceCard().getName())) {
List<Card> aiStuffies = CardLists.filter(list, Predicates.and(CardPredicates.isController(ai), CardPredicates.nameEquals("Stuffy Doll"))); List<Card> aiStuffies = CardLists.filter(list, new Predicate<Card>() {
@Override
public boolean apply(final Card c) {
// Don't enchant creatures that can survive
if (!c.getController().equals(ai)) {
return false;
}
final String name = c.getName();
return name.equals("Stuffy Doll") || name.equals("Boros Reckoner") || name.equals("Spitemare");
}
});
if (!aiStuffies.isEmpty()) { if (!aiStuffies.isEmpty()) {
chosen = aiStuffies.get(0); chosen = aiStuffies.get(0);
} else { } else {
@@ -407,7 +417,7 @@ public class AttachAi extends SpellAbilityAi {
@Override @Override
public boolean apply(final Card c) { public boolean apply(final Card c) {
// Don't enchant creatures that can survive // Don't enchant creatures that can survive
if (!c.canBeDestroyed() || c.getNetCombatDamage() < c.getNetDefense()) { if (!c.canBeDestroyed() || c.getNetCombatDamage() < c.getNetDefense() || c.isEnchantedBy("Guilty Conscience")) {
return false; return false;
} }
return true; return true;